Steady state heat transfer in solid materials - NAFEMS Benchmark
In this tutorial, a NAFEMS benchmark test for thermal analysis is set up and simulated. 1
Model definition
Section titled “Model definition”A steady-state thermal analysis is performed with different boundary conditions (BCs) including adiabatic (insulated or zero heat flux), Dirichlet BCs, and finite heat flux by natural convection specified by a known heat transfer coefficient.
The result is a steady-state temperature distribution in the spatial domain. The image below shows the schematic of the spatial domain with BCs.
Output Results
Section titled “Output Results”- Temperature at coordinates , which is on the right boundary exposed to ambient. The benchmark value is .
Material Data
Section titled “Material Data”| Property | Value | Unit |
|---|---|---|
| Density | ||
| Specific heat capacity | ||
| Thermal conductivity |
Boundary conditions
Section titled “Boundary conditions”| Name | Type | Value | Unit |
|---|---|---|---|
| left boundary | heat flux | ||
| bottom boundary | temperature | ||
| right boundary | heat flux | ) | |
| top boundary | heat flux | ) | |
| ambient | temperature | ||
| natural convection | heat transfer coefficient | ||
| front boundary | heat flux | ||
| back boundary | heat flux |
Step-by-step guide
Section titled “Step-by-step guide”Here you’ll find a detailed step-by-step tutorial on how to set up a NAFEMS thermal analysis simulation in Quanscient Allsolve.
Step 1 - Build the geometry
Section titled “Step 1 - Build the geometry”-
Create a new project and name it as
NAFEMS 2D Heat Transfer Benchmark -
Start off with a
boxelement. -
Edit the size of the box:
Name Element type Center point [m] Size [m] Rotation [deg] box Box X: 0X: 0.6X: 0Y: 0Y: 1.0Y: 0Z: 0Z: 0.01Z: 0

Step 2 - Define shared regions
Section titled “Step 2 - Define shared regions”-
Proceed to the
Commonsidebar. -
Define shared regions:
Region name Region type Target ConstantTemperatureSurface Y bottom surface 3NaturalConvectionSurface X and Y top surfaces 2, 4
Step 3 - Define the material
Section titled “Step 3 - Define the material”-
Create a new material in the
Physicssection:Name Abbreviation Description Color Target Solid NAFEMS material Dark grey Volume 1 -
Add properties to the material:
Property Value Density 1Heat capacity 1Thermal conductivity 52

Step 4 - Define variables
Section titled “Step 4 - Define variables”Define variables:
| Name | Description | Expression |
|---|---|---|
| h | Heat transfer coefficient (W/m^2/K) | 750 |
| Tamb | Ambient temperature (K) | 273.15 |
Step 5 - Define physics and boundary conditions
Section titled “Step 5 - Define physics and boundary conditions”-
Go to the
Physicssection. -
Add the
Heat solidphysics.Physics Target Heat solid Default (volume 1) -
Add a
Constraintinteraction to Heat solid:Name Interaction type Target Value Constraint ConstraintConstantTemperatureshared region (surface3)375.15 -
Add a
Heat sourceinteraction to Heat solid:Name Interaction type Target Value Heat source Heat sourceNaturalConvectionshared region (surfaces2, 4)-h * (T - Tamb)
Step 6 - Generate the mesh
Section titled “Step 6 - Generate the mesh”-
Go to the
Simulationssection. -
Create a new mesh.
-
Set Mesh quality to
Expert settings. -
Scroll down to Transfinite meshing and add a
Volumestructured mesh entity: -
Select volume
1as the structured mesh entity target.Structured mesh entity type Target Segments Volumevolume 1A: 1B: 50C: 30With these options, only one element is created in the Z-direction to mimic a 2-dimensional domain. Elements of length are created in the X- and Y-directions.

-
Generate the mesh and check the preview.

Step 7 - Apply simulation settings
Section titled “Step 7 - Apply simulation settings”-
Add a new simulation.
-
Set Analysis type to
Steady state. -
Select the mesh you created in Step 6 as the mesh for your simulation.
-
Add a
Ttemperature field output. -
Add a custom value output, which interpolates temperature at coordinates :
Name Output expression ProbeTemperature interpolate(reg.solid_target, T, [0.3, -0.3, 0])
-
Run the simulation.
-
To check the progress of the simulation, check the
Logs. -
The relative change is increasing with each iteration, so the simulation will not converge.
Abortthe simulation.
Step 8 - Edit the script
Section titled “Step 8 - Edit the script”To solve the convergence issue, the Script needs some modification.
-
Open the
Scriptand toggle onScripting mode. -
Change
fld.Tin the Heat source interaction formulation toqs.dof(fld.T). Save the script.
-
Run the simulation again.
This time the simulation converges within one iteration as seen from the Logs.

Step 9 - See results
Section titled “Step 9 - See results”-
Add a visualization for the
Tfield and render it. The steady-state temperature field distribution becomes visible.
-
To check the
ProbeTemperaturevalue, check theSummary. Temperature at the probe location(0.3, -0.3, 0.0)m is291.77K, which is very close to the benchmark value1 of291.4K.
Result accuracy scales with mesh density. An even more accurate result would be obtained with a finer mesh.