Thermomechanical Analysis

1. Thermal Bending of Beam

An aluminum beam of length L=1m, height H=0.05m, and thickness t=0.01m is clamped on the left side x=0 and subjected to differential temperature distribution. The beam is modeled by quadratic 2D solid elements (Q8). This simple case produces deformations but no stresses. The analysis is performed on a common mesh in 2 steps:

  • Heat analysis: Calculate temperatures at mesh nodes. Prescribed temperatures at the top are T=50 and at the bottom T=-50.

  • Deformation analysis: With temperatures from above step, calculate deformations and stresses.

The heat analysis mesh and boundary conditions are displayed below, the input being described in the MDL input file heat.mdl:

Heat analysis mesh

Figure 91. Heat analysis mesh


The same mesh is used for the thermally induced deformation analysis, see MDL input file deform.mdl. With temperatures imported from the heat analysis database (see temperatures command in deform.mdl) the linear static deformation analysis computes the deformations. The figure below displays the deformed structure and the temperatures inducing such a deformation (colour contours), the red dots designating nodes for which the comparison with the analytical solution is made:

Deformed mesh and temperatures

Figure 92. Deformed mesh and temperatures


A simple analytical solution for the deformation of a clamped beam subjected to a uniform temperature variation from top to bottom can be found in Roark, "Formulas for Stress and Strain". The maximum tip deflection at x=L is

y = 0.5 α ΔT L2 / t

To execute the test, run the shell script run.sh or launch

b2testrunner -t test .

Results are stored under the directory test.

To view the results, the temperatures have to be copied from the heat analysis database to the deformation analysis database. This is only necessary in case the temperatures are to be plotted in the same database as the deformations for viewing combined temperatures and deformations, as shown in the figure above. This can be done with the Python script cpheat.py:

python
  cpheat.py