diff --git a/doc/docs/Documentation/User/MultiPhysicsCouplingScheme/Problems/PDEs/index.md b/doc/docs/Documentation/User/MultiPhysicsCouplingScheme/Problems/PDEs/index.md index 227408da..ebafc391 100644 --- a/doc/docs/Documentation/User/MultiPhysicsCouplingScheme/Problems/PDEs/index.md +++ b/doc/docs/Documentation/User/MultiPhysicsCouplingScheme/Problems/PDEs/index.md @@ -522,7 +522,22 @@ The `PDE` problem must be defined by: This example has no parameters or auxiliary variables. +!!! note "Axisymmetric geometry support" + + To enable simulations on axisymmetric geometries, the current definition of the `Problem` class needs to be enhanced. The proposed modification is as follows: + + ```c++ + + PDE phase_filed_pb(phasefield_ope, vars, {coef_phase_field, coef_phase_field}, pst); + phase_filed_pb.setGeometry(Geometry::Axisymmetric); + + ``` + + By default, the geometry will be set to `Geometry::Cartesian` if no specific geometry is defined. + +!!! warning "Defining source terms on axisymmetric geometries" + When defining a source term on an [`Operator`](#operators), ensure that it is multiplied by the radius. This multiplication is automatically handled by all integrators. However, source terms defined in the input datafile will not be automatically adjusted and must be manually multiplied by the radius. diff --git a/doc/docs/Started/Examples/HeatTransfer/example4/img/convergence_analysis_heat_test4.png b/doc/docs/Started/Examples/HeatTransfer/example4/img/convergence_analysis_heat_test4.png new file mode 100644 index 00000000..b98a40de Binary files /dev/null and b/doc/docs/Started/Examples/HeatTransfer/example4/img/convergence_analysis_heat_test4.png differ diff --git a/doc/docs/Started/Examples/HeatTransfer/example4/index.md b/doc/docs/Started/Examples/HeatTransfer/example4/index.md new file mode 100644 index 00000000..430006bf --- /dev/null +++ b/doc/docs/Started/Examples/HeatTransfer/example4/index.md @@ -0,0 +1,83 @@ +# **2D Axisymmetric Heat Transfer Problem with uniform Neumann BCs** + +## __Files__ + +- Comprehensive test file: [main.cpp](https://github.com/Collab4Sloth/SLOTH/tree/master/tests/HeatTransfer/2D/test4/main.cpp) +- Reference results for comparison: [convergence_output_ref.csv](https://github.com/Collab4Sloth/SLOTH/tree/master/tests/HeatTransfer/2D/test4/ref/convergence_output_ref.csv) + +## __Statement of the Problem__ + +This test corresponds to a 2D axisymmetric simulation of heat transfer in a solid. The domain $`\Omega`$ is an axisymmetric domain $`[0,1]\times[0,1]`$. The axis of symmetry is located at $`r=0`$. + +```math +\begin{align} +\rho C_p\frac{\partial T}{\partial t}&=\nabla \cdot k \nabla T + S(r,z,t)\text{ in }\Omega +\end{align} +``` + +In equation (1), $`S(r,z,t)`$ is the source term allowing the exact solution: + +```math + +\begin{align} +T(r,z,t) &= e^{-t} cos (\pi r^2) cos(\pi z) - z +\end{align} + +``` + +A convergence analysis is carried out to ensure the consistency of the results. + +### __Initial condition__ + +The initial condition is given by: + +```math + +\begin{align} +T(r,z) &= cos (\pi r^2) \cos(\pi z) - z +\end{align} + +``` + +## __Boundary Conditions__ + +- Uniform Neumann boundary conditions are prescribed on the upper and lower surfaces. + +```math +\begin{align} +{\bf{n}} \cdot{} k \nabla T &= 1 \text{ on }\Gamma_{bottom} +\\[6pt] + +{\bf{n}} \cdot{} k \nabla T &= -1 \text{ on }\Gamma_{top} +\end{align} +``` + +- Homogeneous Neumann boundary conditions are prescribed on the left and right boundaries. + +```math +\begin{align} + +{\bf{n}} \cdot{} k \nabla T &= 0 \text{ on } \Gamma_{left} \text{ and } \Gamma_{right} + +\end{align} +``` + + +## **Parameters Used for the Test** + +For this test, all physical parameters are equal to one. + +## __Numerical Scheme__ + +- Time integration: Euler Implicit over the interval $`t\in[0,0.01]`$ with a time-step $`\delta t=10^{-3}`$. +- Spatial discretization for convergence analysis: uniform grid with $`N={30, 60, 90, 120}`$ nodes in each spatial direction, with $`\mathcal{Q}_1`$ + +## __Results__ + +Figures 1 shows the results of convergence analysis with $`\mathcal{Q}_1`$. + +
+ ![MMS_heat](img/convergence_analysis_heat_test4.png){ width=500px} +
Figure 1: convergence analysis with $`\mathcal{Q}_1`$ finite elements +
+
\ No newline at end of file diff --git a/doc/docs/Started/Examples/HeatTransfer/index.md b/doc/docs/Started/Examples/HeatTransfer/index.md index 1b1b53b8..c9fffd98 100644 --- a/doc/docs/Started/Examples/HeatTransfer/index.md +++ b/doc/docs/Started/Examples/HeatTransfer/index.md @@ -6,5 +6,6 @@ Verification of the Heat Transfer equation is made with the following tests: - 1D Semi-infinite solid with constant surface heat flux (see [Example 1](example1/index.md)) - 1D Semi-infinite solid with surface convection (see [Example 2](example2/index.md)) - 2D Solid with surface convection and radiation (see [Example 3](example3/index.md)) +- 2D axisymmetric geometry with uniform Neumann BCs(see [Example 4](example4/index.md)) diff --git a/doc/mkdocs.yml.cmake b/doc/mkdocs.yml.cmake index 4a834f71..1fcfc8c5 100644 --- a/doc/mkdocs.yml.cmake +++ b/doc/mkdocs.yml.cmake @@ -126,6 +126,8 @@ nav: - Started/Examples/HeatTransfer/example2/index.md - Example 3: - Started/Examples/HeatTransfer/example3/index.md + - Example 4: + - Started/Examples/HeatTransfer/example4/index.md - CALPHAD: - Started/Examples/Calphad/index.md - Code quality: Started/Quality/quality.md