6. Elementary calculations#
We saw in § 2 (General architecture of routines FORTRAN) that there were many different elementary calculations in Aster
This large number of types of elementary calculations results from:
the large number of finite elements in structural calculation codes:
2D isoparametric methods in Thermal, Mechanical and Acoustics,
isoparametric 3D in Thermal, Mechanical and Acoustic,
structural elements: beams, shells,…
incompressible elements,
fluid/structure interaction elements,
*…
and the large number of possible calculation options:
mechanical or thermal stiffness,
mass, damping,
geometric rigidity or centrifugal,
stresses, deformations, flows,
surface, volume or linear forces,
change in gravity, thermal expansion,…
In Aster today (01/10/94), we have:
233 types of finite elements (approximately 19,000 catalog lines),
159 elementary calculation options,
This leads to more than 3200 theoretically possible elementary calculations (probably a lot more). Only 3043 of these elementary calculations are actually programmed (about 70,000 lines of FORTRAN).
These 3043 elementary calculations are done in 310 routines TE000i; in fact, several elementary calculations can be implemented in a single TE000i. For example, it is quite easy to set up the programming of all 2D isoparametric elements.
The large volume of code involved in elementary calculations justifies an effort to parametrize these calculations. The objectives of this parametrization are:
simplify the programming of TE000i as much as possible: the data from an elementary calculation « arrives » in the routine in the form desired by the programmer (and described in the catalog of the element [D3.02.01 §7]),
have a single routine (CALCUL) managing all the elementary calculations: constraints, stiffness, thermal « mass »,… This avoids multiplying « loops » on elements, controls and error messages: the « function » CALCULreprésente after all 3500 lines…
impose types of Data Structures common to all the results of elementary calculations: the CHAM_ELEM (fields by elements) and the RESU_ELEM (matrices and elementary vectors).
The assembly of matrices and elementary vectors can then be done in two routines (ASMATR and ASSVEC).
The mechanisms of this parametrization are explained in [D3.02.01].
Documents [D5.04.01] and [D5.04.02] describe how to introduce new elementary calculations.