4. Operands#
4.1. Selecting a field#
In order to test a field that can be an isolated field (cham_no or cham_elem or map), or a field extracted from a result, or will use the keywords factors: CHAM_NO, CHAM_ELEM,, CARTE or RESU.
4.1.1. « Isolated » fields#
♦ CHAM_GD = field
Name of the fiel_no, cham_elem or map from which you want to extract a value.
4.1.2. Operand RESULTAT#
♦ RESULTAT = res
Name of the concept, result processed.
4.1.3. Operand NOM_CHAM#
♦/NOM_CHAM = nosymb
Symbolic name of the field to be selected.
4.1.4. Selecting an order number#
♦/NUME_ORDRE = night,
Order number of the field (or parameter) searched for.
/NUME_MODE = number, /INST = inst, /FREQ = freq, /NOEUD_CMP = (node, cmp), /NOM_CAS = nocas, /ANGLE = \(\alpha\),
These keywords make it possible to identify an order number in a result [U4.71.00].
These are called « access variables. »
They are not all valid for all types of results.
When a real value is not accessed (ANGLE, FREQ, INST) the given value should not be ambiguous (cf. [§ 4.7]).
4.2. Selecting a parameter in a result#
To select a parameter in a result, you must specify the desired order number [§ 4.1.4] and give the name of the parameter.
♦ PARA = for
Name of the parameter you are looking for. This name is attached to the type of the concept result processed.
4.3. Selecting a component of a field#
Access to a quantity is done for a fiel_no by:
the name of a group of nodes containing the node that has this quantity (and only itself).
Access to a quantity is done for a cham_elem by:
the name of a group of elements containing the mesh that supports the element (and it alone),
something that specifies:
be the name of a group containing a node of this mesh for the « at nodes » fields (ELNO).
be the number of the point of GAUSS for the cham_elem « at the points of GAUSS » (ELGA).
Access to a quantity is done for a map by:
the name of a group of elements containing the mesh,
♦ GROUP_MA = GMA1
Allows you to designate the mesh for which you want to test the cham_elem or the card.
The group should only contain one stitch.
♦ GROUP_NO = big
Name of the group containing the node whose component you want to check.
The group should be reduced to a single node.
/POINT = nupoint
The nupoint integer specifies the number of the point of GAUSS whose value we want to test (case of cham_elem « at points of GAUSS « ).
◊ SOUS_POINT = nusp
The integer nusp specifies the number of the sub-point from which we want to obtain the value (case of cham_elem with sub-points, used by structural elements: beam, pipes, shells).
In the case of multi-layer plates and shells, the sub-point number corresponds to the level within the set of layers. Each layer is described by a lower, middle, and upper skin. By convention, for \(N\) diapers, this number varies between \(1\) and \(\mathrm{3N}\) where the first point is located at the level of the lower skin of the first layer and the \(\mathrm{3N}\) th point at the level of the upper skin of the last layer (see [R3.07.03] and [R3.07.04] for the number of layers).
In the case of multi-fiber beams, this integer is the number of the fiber whose numbering is described in the documentation [U4.26.01] and [R3.08.08].
In the case of pipes, refer to the description in the document [R3.08.06].
/NOM_CMP = ncmp
Name of the component you want to test [U2.01.04].
/NOM_VARI = unknown
For the internal variable fields (VARI_ *), you can give the name of the internal variable (see [U4.51.11] for the rules for naming internal variables) instead of the name of the component (V1,…).
4.4. Test a field « globally »#
Once a field is selected [§ 4.1], you can test a quantity calculated globally over the entire field. To do this, NOM_CMP must not be entered to allow all the components of the field to be taken into account.
/TYPE_TEST = 'SOMM_ABS'
The sum of the absolute values of the components in the field.
/TYPE_TEST = 'SOMM'
The sum of the values of the components in the field.
/TYPE_TEST = 'MAX'
The maximum value of the components in the field.
/TYPE_TEST = 'MIN'
The minimum of the values of the components of the field.
4.5. Testing the content of an JEVEUX object#
This feature is for Code developers only. To use it, you need to know the names of the JEVEUX objects that make up the user’s concepts. It is intended to check the non-regression of data structures other than RESULTAT, CHAMPS, TABLE, and FONCTION.
4.5.1. Operand NOM#
NOM = name
Name of the object I want to test.
Note:
The objective of this type of test (NOM + * VALE_CALC /_I) is to test an entire vector globally. The « sum » that is tested is unfortunately a bad « check sum » of the object: a permutation within the vector does not change this sum. A more careful test is to print the object in a file (IMPR_CO) and then to test the contents of this file with a real « check sum » (TEST_FICHIER) .
4.5.2. Operands CRITERE and PRECISON#
See below [§ 4.7].
4.6. Keyword factor MAILLAGE.#
This keyword is used to validate code commands that produce (or modify) meshes.
It allows you to test some (integer) characteristics of meshes: number of meshes, nodes, groups of meshes, groups of nodes, number of meshes in a group of elements and number of nodes in a group of nodes.
4.6.1. Operand MAILLAGE#
MAILLAGE = mesh
Name of the mesh you want to test.
4.6.2. Operand CARA#
Allows you to choose the characteristic of the mesh to be tested: “NB_MAILLE”, “”, “NB_NOEUD”, “”, “NB_GROUP_MA”, “NB_GROUP_NO”, “EXI_GROUP_MA” or “EXI_GROUP_NO”.
4.6.3. Operands NOM_GROUP_MA and NOM_GROUP_NO#
These operands are to be used for CARA =” EXI_GROUP_MA “(resp. CARA =” EXI_GROUP_NO”).
They allow you to designate the group you want to test.
In this case, the tested value (VALE_CALC_I or VALE_REFE_I) must contain the number of meshes (or knots) in the group.
4.7. Definition of the non-regression and reference value#
A non-regression test is systematically performed with respect to a previously calculated value, with a very low tolerance: keywords VALE_CALC and TOLE_MACHINE.
As often as possible, a test is added in relation to a reference value in relation to an analytical solution, a value obtained from an external source or other modeling: keywords REFERENCE, VALE_REFE, PRECISION.
♦/VALE_CALC = val
Real non-regression value. This is the value calculated by Code_Aster.
When this value is zero (less than 1.e-16 in absolute value), you must enter the keyword ORDRE_GRANDEUR = ordgrd. It only makes absolute sense.
We then check that: :math: left|mathit {val}right|lemathit {tole}astmathit {ordgrd}
If ORDRE_GRANDEUR is not provided while VALE_CALC is null, the non-regression test is ignored (appears with SKIP in the result file). Attention in this case, a test with VALE_REFE is mandatory.
/VALE_CALC_C = val
Complex non-regression value.
/VALE_CALC_I = val
Non-regression integer value.
/VALE_CALC_K = val
Non-regression character string. Only by TEST_FICHIER and TEST_TABLE.
◊ TOLE_MACHINE = sheet metal
Precision requested (by default 1.D—6) to accept the calculated value compared to the non-regression value (VALE_CALC). See ORDRE_GRANDEUR above.
◊ VALE_ABS
= 'NON' the reference value and the value calculated by Aster are compared as is.
= 'OUI' the reference value and the value calculated by Aster are compared in absolute values.
◊ CRITERE =
Type of test to be performed. Applies to the non-regression test and to the test against a reference value where applicable.
If v is the value extracted, the test will be for:
“RELATIF” on: \(\mid \mathit{val}-v\mid \le \cdot \mid \mathit{val}\mid\)
“ABSOLU” on: \(\mid \mathit{val}-v\mid \le\)
◊ REFERENCE =
/ 'ANALYTIQUE':
|
the reference value provided is « analytical » |
/”SOURCE_EXTERNE”: |
the reference value provided comes from a program other than Code_Aster, from a bibliographic reference, from a measurement, etc. |
/”AUTRE_ASTER”: |
the reference value provided is that obtained by another calculation with Code_Aster (other command, other modeling, calculation option,…) |
It is the presence of the keyword REFERENCE that indicates that we have an external reference and conditions the presence of the keywords VALE_REFE [_I/_C] and PRECISION.
♦ VALE_REFE, VALE_REFE_C, VALE_REFE_I, VALE_REFE_K
Similar to the VALE_CALC keywords above. They define the value obtained by the external source.
◊ PRECISION =
Precision requested (by default 1.D—3) to accept the value calculated with respect to the reference value (VALE_REFE).
Note:
When the order number of a RESULTATse is defined by a real access variable (FREQ, INST, * ANGLE), there should be no ambiguity about this order number. To do this, the user defines a small interval around the requested value using the keywords CRITEREet TOLE_MACHINE.
In this case (« real » access) the keywords * CRITEREet TOLE_MACHINE will therefore expect 2 values each: (crit1, crit2) and (prec1, crit2) and (prec1, prec2) .
crit1 and prec1 refer to the non-regression value.
crit2 and prec2 allow you to choose the interval for searching for the order number.
The default values of crit1 and prec1 are “ RELATIF “and 1.D-6.
The default values of*crit2 and prec2 are “ RELATIF “and 1.D-3.
You cannot explicitly define crit2 and prec2 without defining crit1 and prec1.
Note:
Non-regression tests (keywords VALE_CALC) are systematically ignored in validation tests but they must still be entered (at any value) because required by the order catalog. Validation tests are identified as such by the presence validation tests are identified as such by the presence of validation testlist in their file .export.
However, there is an exception for string tests (VALE_CALC_K) which are not ignored because there is no tolerance/precision on these tests.
4.8. Adding specificity to the tested value#
◊ LEGENDE =
Character string of up to 16 characters describing the test performed.
The user therefore has the possibility to comment on his test.
4.9. Keyword TEST_NAN#
| TEST_NAN =/'NO', [DEFAULT]
/”OUI”,
This keyword is used to validate the functioning of Code_Aster’s \(\mathit{NaN}\) (Not-a-Number). This keyword is to be used only for the purpose of conducting tests. Its use should cause a fatal error in \(\mathit{FPE}\) (Floating Point Exception) in debug mode in TEST_RESU.