Consider a heat source defined as boundary in following mesh:
The “dent” in the right side of the mesh is a 2D, rectangular source |
With height alongside Y-axis defined as $h=8$ meters and width alongside X-axis as $r=0.095$ meters. Since the boundary parallel to Y-axis is axially symmetrical, the two dimensional rectangle will turn into a three dimensional cylinder after the mesh has been rotated by $360°$ with Y-axis boundary as rotation axis.
The source term has to take this into account. Therefore its power has to be scaled - divided by the surface on which it will be delivered to the system.
Following this example. The surface of the cylinder is defined as follows:
$$A=2\pi r(h+r)$$which will result in following surface:
$$A = 2\pi \cdot 0.095 \cdot (8 + 0.095) = 4.83$$in $m^2$.
Let’s assume that the heat supply is defined as 900 W. Than we need to scale this value by the surface obtained from the previous equation:
$$S_{scaled}=900/4.83=186.34$$and this is the value that has to be provided in the project file.
In this example the heat source is introduced as Neumann boundary condition at part of the mesh. First, we can define a parameter called “heater” in the parameters block:
<parameter>
<name>heater</name>
<!--values>900/(2*pi*0.095*(0.095+8)</values-->
<!--values>186.34</values-->
<type>Constant</type>
<value>186.34</value>
</parameter>
Now we can refer to this value in the process variables block:
<process_variable>
<name>temperature</name>
<components>1</components>
<order>1</order>
<initial_condition>293.15</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>Mesh_Boundary</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>293.15</parameter>
</boundary_condition>
<boundary_condition>
<mesh>Mesh_Heat_Source</mesh>
<type>Neumann</type>
<component>0</component>
<parameter>heater</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
Notice how different type of boundary conditions are used for the heat source and rest of the boundary. More details on boundary conditions can be found here.
This article was written by Feliks Kiszkurno. If you are missing something or you find an error please let us know.
Generated with Hugo 0.122.0
in CI job 493443
|
Last revision: September 23, 2024
Commit: [MeL/IO/XDMF] Return also computed parent data type 09baf91
| Edit this page on