4. B modeling#
4.1. Characteristics of modeling#
The thermal mesh (or mechanical) is made with elements of the TRIA3 type (resp. TRIA6). We chain an isotropic stationary linear thermal calculation (via THER_LINEAIRE in PLAN_DIAG modeling) and a linear elasticity calculation (via STAT_NON_LINE in C_PLAN modeling).
Spatial error maps for pure thermal and mechanical residue indicators (ERTH_ELEM and ERME_ELEM) are calculated. Beforehand it is necessary to have smoothed the heat flow and the stress field from the Gauss points to the nodes (FLUX_ELNO and SIEF_ELNO) and, to post-process the error map, it must be transformed from a CHAM_ELEM per element to a CHAM_ELEM at the nodes by element. The value of the potential deformation energy (POST_ELEM) is also determined.
Everything is placed in a PYTHON loop allowing the implementation of a free refinement procedure in nb_calc=2 levels (via MACR_ADAP_MAIL option LIBRE =” RAFF_DERA “) coupled to the error map previously unearthed. We pilot this process:
by the component ERTREL of ERTH_ELEM (relative component of the residual indicator) for the thermal mesh,
by the component NUEST of ERME_ELEM (relative component of the residual indicator) for the mechanical mesh.
With the criteria CRIT_RAFF_PE =0.2 and CRIT_DERA_PE =0.1 (20% of the worst elements are refined and 10% of the best are de-refined).
After each thermal calculation, the temperature field of the thermal mesh is of course projected onto the mechanical mesh (via PROJ_CHAMP).
We can thus observe the convergence of energy, the increase in its relative error compared to the errors provided by the indicators (themselves in relative terms and over the whole structure), the variations in the efficiency indices of the indicators and their good verification of the saturation hypothesis.
4.2. Characteristics of the mesh#
Thermal mesh
Initially: 1619 TRIA3, 102 SEG2, 911 knots
After free refinement: 3088 TRIA3, 134 SEG2, 1681 knots
After two free refinements: 6105 TRIA3, 180 SEG2, 3253 knots
Mechanical mesh
Initially: 1619 TRIA6, 102 SEG3, 3443 knots
After free refinement: 2881 TRIA6, 152 SEG3, 6065 knots
After two free refinements: 5319 TRIA6, 180 SEG3, 11097 knots
4.3. Tested sizes and results#
We test the values of the relative error in potential deformation energy with respect to the reference solution (cf. [§2.2]). And this, on the initial mesh and after two free refinements. Since the tests must be multi-platform, the relative tolerance, which is on initial errors set at 10—6%, is deliberately relaxed on errors after two refinements: 10— 4%.
These tests are carried out on variables PYTHON (via TEST_FONCTION) previously inserted into functions ASTER (via FORMULE).
Identification |
Values Code_Aster |
Values of reference |
Tolerance |
Relative variance |
(in%) » |
Variable ASTER |
Variable PYTHON |
||
\({E}_{p}(0)\) |
|
same |
10— 6% |
4.79—12 |
~ 0% « |
|
eren0 |
||
\({E}_{p}(2)\) |
0.459330% |
same |
10— 4% |
—1.03 10—12 |
~ 0% « |
|
eren2 |
4.4. notes#
In thermo-mechanics, different mesh adaptation strategies are available to the user:
adapt the mesh only according to a thermal criterion,
same according to a mechanical criterion,
adapt first according to a thermal criterion, then according to a mechanical criterion (two separate adaptation loops).
adapt jointly according to a thermal and then mechanical criterion (a loop as in this test case),
adapt according to a thermo-mechanical criterion.
In Code_Aster, one does not have access to explicitly thermo-mechanical indicators, although mechanical indicators may incidentally have a thermal dependence.
Depending on the needs of the study (rather thermal or rather mechanical, converging a mesh globally, better taking into account certain boundary conditions…) one of the first four strategies can be implemented in the code.
The best practice during a thermo-mechanical calculation is to use the elements \({P}_{1}\) lumped in thermics and \({P}_{2}\) in mechanics, this leads to the use of two meshes and to interpolate the linear solution thermal field on the quadratic mechanical mesh (via PROJ_CHAMP) .
However, if you want to work with only one mesh, you can easily use one of the first four strategies using option MAJ_CHAM in MACR_ADAP_MAIL. This makes it possible, while adapting the mesh according to a thermal (or mechanical) criterion, to update the complementary mechanical (or thermal) field on the new adapted mesh.