# Thermomechanical¶

The analysis type **Thermomechanical** allows the
calculation of the structural and thermal behavior of one or multiple
bodies at once. The thermal and structural result fields are not calculated
simultaneously but sequentially in an iterative process where the results of a
thermal step serve as input for the next structural step.
The stress state of the structure depends
accordingly on the structural constraints and loads as well as
on the thermal expansion under thermal loads.

The results enable you to investigate the structural and thermal behavior of the structure as well the thermal influences on the structural load state of the domain. This is very interesting when dealing with solid bodies that are heated or cooled while constrained by bearings or similar constraints at the same time like for example thermal shrinkage during assembly processes.

In the following the different simulation settings you have to define are described in detail as well as the various options you can add.

## Analysis Type¶

You can choose **steady-sate** if you want to calculate the steady-state behavior of the system
comparable to the *Static* analysis
and *Steady-state heat transfer*
or **transient** if you want to take time dependent effects into consideration in a transient analysis.

## Domain¶

In order to perform an analysis a given geometrical
*domain* you have to
discretize your model by creating a mesh out
of it. Details of CAD handling and Meshing are described
in the *Pre-processing* section.

After you assigned a mesh to the simulation you can add some
optional domain-related settings and have a look on the mesh details.
Please note that if you have an assembly of multiple bodies that are
not fused together, you have to add *Contacts*
if you want to build connections between those independent parts.

## Model¶

In the *model* section everything that
defines the physics of the simulation is specified e.g. material properties,
boundary conditions etc. On the top level you can adapt some generic settings.
For a **Thermomechanical** you can add a gravitational load for
the whole domain.

### Materials¶

In order to define the material properties of the whole domain,
you have to assign exactly one material to every part.
You can choose the material behavior
describing the constitutive law that is used for the stress-strain relation and
the density of the material. Please note that the density is used for
volumetric loads e.g. gravitation. Inertia effects are only considered in
dynamic simulations (*Dynamic*).
Please see the *Materials* section for more details.

#### Initial Conditions¶

For a time dependent behaviour of a solid structure it is important to define the
*Initial Conditions* carefully, since these values determine
the solution of the analysis. In a **Dynamic** analysis the displacement, velocity and acceleration are the time
dependent variables. They define the initial state of the domain before the loads and constraints are applied.
Per default the displacements, velocities and accelerations are initialized as zero length vector.
Thus if you use the default values there will be no displacement and velocity
in the initial state. Additionally an initial stress state can be defined as it is a nonlinear analysis type.
If not changed by the user the stresses are also taken as zero initially. Furthermore if you choose to run a transient
analysis the temperature depends on time. As default it is set to room temperature (293.15 K).

#### Boundary conditions¶

For a **Thermomechanical** analysis you may apply both structural as well as
thermal boundary conditions:

#### Constraints and Loads (Boundary conditions)¶

You can define Constraints (Displacement boundary conditions) and Loads (Force boundary conditions). If you want to determine the position of a part of the domain, add at least one displacement constraint in every coordinate direction. Otherwise it is allowed to move freely in space. This is intended for e.g. drop tests.

In case of missing force boundary conditions (including gravitation), the geometry becomes load-free and apart from the prescribed displacement boundary conditions (constraints) no deformation will evolve. However, this might be intended to determine the strain distribution e.g. in pre-clamped structural components.

Constraint types (Displacement boundary conditions)

Load types (Force boundary conditions)

#### Temperature and Heat flux boundary conditions¶

You can define temperature and thermal load boundary conditions. If you provide a temperature boundary condition on an entity, the temperature value of all contained nodes is set to the given prescribed value. Thermal load boundary conditions define the heatflux into or out of the domain via different mechanisms. Note that a negative heat flux indicates a heat loss to the environment. As a temperature boundary condition prescribes the temperature value on a given part of the domain it is not possible to simultaneously add a thermal load on that part as it would be overconstrained in that case.

Temperature boundary condition types (Thermal Constraints)

Heat flux boundary condition types (Thermal Loads)

## Numerics¶

Under numerics you can set the equation solver of your simulation. The choice highly influences the computational time and the required memory size of the simulation.

## Simulation Control¶

The Simulation Control settings define the overall process of the calculation as for example the timestepping interval and the maximum time you want your simulation to run before it is automatically cancelled.

The description of the analysis type **Thermomechanical** refers to the use of the standard thermomechanical analysis type
via the **physics perspective** or the **solver perspective** choosing the **Code_Aster** solver.
You may as well choose the **Thermomechanical** analysis of the finite element package CalCuliX (CCX), which is only available
via the **solver perspective** (*Thermomechanical analysis CCX*).
See our *Third-party software section* for further information.