3. Contents of the objects Jeveux#
3.1. SD_Cham_Mater#
. CHAMP_MAT
This sd_map contains the name of the sd_master (s) affected on each mesh of the mesh.
In the general case, each mesh is affected by only one sd_master. But sometimes, you need to specify a list of sd_mater (when the nonlinear mechanical behavior is obtained by the DEFI_COMPOR [U4.43.06] command).
On each mesh, up to 28 different sd_maters can be assigned.
Note: special management of the reference temperature:
The transformation sd_cham_mater → sd_cham_mater_code requires keeping a correspondence ( sd_mater → reference temperature). The reason for this is the transformation of the function \(\mathit{alpha}(T)\) from the 2 temperatures TREF and TDEF (see routine alfint.f*). This correspondence is no longer ensured automatically since the keyword* AFFE/TEMP_REF was replaced by AFFE_VARC/VALE_REF .This correspondence is restored at the end of the operator AFFE_MATERIAU (routine cmtref.f ). To do this, we write the affected reference temperature in the sd_map. CHAMP_MAT. You store the reference temperature by writing 2 additional (and fictional) sd_mater:(“ACIER”, “TREF ⇒”, “20.50”) . *
Temperature is written in the format F8.2*.*
. COMPOR
This sd_map contains assignment information for the keyword factor AFFE_COMPOR (rccomp.f routine).
The size associated with this map is COMPOR.
The 7 components used are: RELCOM, NBVARI, DEFORM, INCELA, C_ PLAN, XXXX1 and XXXX2
3.2. sd_cham_mater_code#
This sd_card is a copy of the sd_card. CHAMP_MAT. The difference between these 2 sd_cards is that the values of the coded material map are sd_mater_code addresses instead of the sd_mater names.
Note:
This sd_map is created on the Volatile base at the start of the calculation operators (rcmfmc.f routine). Since it contains JEVEUX addresses, it cannot have an unlimited lifespan.
3.3. sd_cham_mater_varc#
Vocabulary, definitions
We call « CVRC » (scalar control variable) a real scalar variable that influences mechanical laws of behavior. Examples: temperature, hydration,…
We call « VARC » (vector control variable) a set of « CVRC » logically linked together.
Example: metallurgical phases of steel: percentages of ferrite, pearlite, bainite,…
The VARC and CVRC are named (K8). To simplify, each isolated CVRC is attached to a VARC with the same name. Access to a scalar command variable (CVRC) is therefore logically done by giving the name of VARC and the name of CVRC.
Examples:
VARC =”M_ ACIER “CVRC =” PBAINITE” => proportion of bainite for steel metallurgy
Note:
even if some CVRCsont are logically linked by VARC, it is necessary that the names of the CVRCsoient all be distinct. The reason is that they are often the parameters of certain material functions (sd_mater). When, for example, a Young’s module is defined as a function of “PBAINITE”, that name should have an « absolute » meaning.
We’ll call nbcvrc the number of CVRCaffectées (even partially) in the sd_cham_master. For example, if the user wrote:
chmat= AFFE_MATERIAU (... AFFE_VARC = (
_F (NOM_VARC =' TEMP ', GROUP_MA =' GM1',...)
_F (NOM_VARC ='M_ ACIER ', GROUP_MA =' GM2',...)
The number of CVRC (nbcvrc) is 8 (1 for the VARC “TEMP” + 7 for the VARC “M_ ACIER “) even if all the CVRCne are not affected on the whole model.
Purpose. CVRCNOM
This vector gives the names of all CVRC affected (even partially) on the model. The order of CVRC in this vector is the order that is also used in the 4 other objects below.
Purpose. CVRCVARC
This vector gives the names from VARCcorrespondant to CVRC.
For each VARC (named novarc), there are 2 cards named:
CART1 = sd_cham_mater (1:8) //'. ' //novarc (1:8) //'.1'
CART2 = sd_cham_mater (1:8) //'. ' //novarc (1:8) //'.2'
CART1 (sd_map (NEUT_R)) contains the reference values (VALE_REF) assigned for the command variable VARC.
CART2 (sd_carte (NEUT_K16)) contains the information needed to evaluate the command variable VARC.
This information is a « tuple » of 7 values (varc, tysd, nomsd, nomsym, prolig, finst)
varc: name of VARC
tysd: type of the affected SD: “EVOL”/”CHAMP”
if tysd= “CHAMP”:
names: name of the field (assumed to be stationary) affected
namsym = proldr = prolag = finst = “”
if tysd= “EVOL”:
namsd: name of the sd_evol_xxx affected
nomsym: symbolic name of the field to be used in the sd nomsd
prolidr: extension « to the right », i.e. clear of the final moment of evol_xxx (“EXCLU”/”CONSTANT”/”/” LINEAIRE “/”)
prolga: extension « to the left », i.e. below the initial moment of evol_xxx (“EXCLU”/”CONSTANT”/”/” LINEAIRE “/”)
finst: name of the sd_function (or sd_formula) to transform the « mechanical calculation time » into « evol_xxx time ». If finst=” “, the « identity » function is used.
INST_EVOL = finst (INST_CALC)
Purpose. CVRCGD
\(V(k)\): name of the quantity associated with the field (or evol_xxxx) assigned for the keme CVRC.
Purpose. CVRCCMP
\(V(k)\): name of the component of the quantity associated with the field (or evol_xxxx) assigned for the keme CVRC.
Example
For example, we could find in these 4 objects:
. CVRCNOM = 'TEMP' 'SECH' '' 'EPSXX' 'EPSYY'...
. CVRCVARC = 'TEMP' 'SECH' '' 'EPSA' 'EPSA'...
. CVRCGD = 'TEMP_R' 'TEMP_R' '' 'EPSI_R' 'EPSI_R'...
. CVRCCMP = 'TEMP' 'TEMP' '' 'EPSXX' 'EPSYY'...