Skip to content

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

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.

INTRO_nafems2dheattransfer

Output Results

  • Temperature at coordinates (0.3,0.3,0.0) m(0.3, -0.3, 0.0) \rm ~ m, which is on the right boundary exposed to ambient. The benchmark value is 291.4 K291.4 \rm ~ K.

Material Data

PropertyValueUnit
Density1.01.0kg/m3\rm kg/m^3
Specific heat capacity1.01.0J/(kgK)\rm J/(kg K)
Thermal conductivity52.052.0W/(mK)\rm W/(m K)

Boundary conditions

NameTypeValueUnit
left boundaryheat flux0.00.0W/m2\rm W/m^2
bottom boundarytemperature373.15373.15K\rm K
right boundaryheat fluxh(TTamb-h (T - T_{\rm amb})W/m2\rm W/m^2
top boundaryheat fluxh(TTamb-h (T - T_{\rm amb})W/m2\rm W/m^2
ambient (Tamb)(T_{\rm amb})temperature273.15273.15K\rm K
natural convectionheat transfer coefficient (h)(h)750.0750.0W/(m2K)\rm W/(m^2K)
front boundaryheat flux0.00.0W/m2\rm W/m^2
back boundaryheat flux0.00.0W/m2\rm W/m^2

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

  1. Create a new project and name it as

    NAFEMS 2D Heat Transfer Benchmark
  2. Start off with a box element.

  3. Edit the size of the box:

    NameElement typeCenter point [m]Size [m]Rotation [deg]
    boxBoxX: 0X: 0.6X: 0
    Y: 0Y: 1.0Y: 0
    Z: 0Z: 0.01Z: 0

Example image

Step 2 - Define shared regions

  1. Proceed to the Properties section.

  2. Define shared regions:

    Region nameRegion typeTarget
    ConstantTemperatureSurfaceY bottom surface 3
    NaturalConvectionSurfaceX and Y top surfaces 2, 4

Step 3 - Define the material

  1. Create a new material:

    NameAbbreviationDescriptionColorTarget
    SolidNAFEMS materialDark greyVolume 1
  2. Add properties to the material:

    PropertyValue
    Density1
    Heat capacity1
    Thermal conductivity52

Example image

Step 4 - Define shared expressions

Define shared expressions:

Expression typeNameDescriptionExpression
ExpressionhHeat transfer coefficient (W/m^2/K)750
ExpressionTambAmbient temperature (K)273.15

Step 5 - Define physics and boundary conditions

  1. Go to the Physics section.

  2. Add the Heat solid physics.

    PhysicsTarget
    Heat solidDefault (volume 1)
  3. Add a Constraint interaction to Heat solid:

    NameInteraction typeTargetValue
    ConstraintConstraintConstantTemperature shared region (surface 3)375.15
  4. Add a Heat source interaction to Heat solid:

    NameInteraction typeTargetValue
    Heat sourceHeat sourceNaturalConvection shared region (surfaces 2, 4)-h * (T - Tamb)

Step 6 - Generate the mesh

  1. Go to the Simulations section.

  2. Create a new mesh.

  3. Set Mesh quality to Expert settings.

  4. Scroll down to Structured meshing and add a Volume structured mesh entity:

  5. Select volume 1 as the structured mesh entity target.

    Structured mesh entity typeTargetSegments
    Volumevolume 1A: 1
    B: 50
    C: 30

    With these options, only one element is created in the Z-direction to mimic a 2-dimensional domain. Elements of length 0.02 m0.02 ~ \rm m are created in the X- and Y-directions.

    Example image

  6. Generate the mesh and check the preview.

Example image

Step 7 - Apply simulation settings

  1. Add a new simulation.

  2. Set Analysis type to Steady state.

  3. Select the mesh you created in Step 6 as the mesh for your simulation.

  4. Add a T temperature field output.

  5. Add a custom value output, which interpolates temperature at coordinates (0.3,0.3,0.0) m(0.3, -0.3, 0.0) ~ \rm m:

    NameOutput expression
    ProbeTemperatureinterpolate(reg.solid_target, T, [0.3, -0.3, 0])

    Example image

  6. Run the simulation.

  7. To check the progress of the simulation, check the Logs.

  8. The relative change is increasing with each iteration, so the simulation will not converge. Abort the simulation. Example image

Step 8 - Edit the script

To solve the convergence issue, the Script needs some modification.

  1. Open the Script and toggle on Scripting mode.

  2. Change fld.T in the Heat source interaction formulation to qs.dof(fld.T). Save the script.

    Example image

  3. Run the simulation again.

This time the simulation converges within one iteration as seen from the Logs.

Example image

Step 9 - See results

  1. Add a visualization for the T field and render it. The steady-state temperature field distribution becomes visible.

    Example image

  2. To check the ProbeTemperature value, check the Summary. Temperature at the probe location (0.3, -0.3, 0.0) m is 291.77 K, which is very close to the benchmark value1 of 291.4 K.

    Example image

    Result accuracy scales with mesh density. An even more accurate result would be obtained with a finer mesh.

References

Footnotes

  1. A.D. Cameron, J.A. Casey, G.B. Simpson. Benchmark Tests for Thermal Analysis. NAFEMS Documentation. 2