3. Method of operation: catalogs#
3.1. Modification of the DEFI_MATERIAU catalog#
The purpose of the DEFI_MATERIAU [U4.43.01] operator is to introduce behavior parameters. These parameters may be common to multiple behavior relationships (see example below for behavior relationships VMIS_ISOT_LINE and VMIS_CINE_LINE).
It is therefore necessary to add to the defi_materiau.py catalog (code_aster/cata/commands directory) a factor keyword corresponding to the type of behavior that one wishes to introduce, and under this factor keyword, add simple keywords representing the parameters of this type of behavior.
Example:
ECRO_LINE = FACT (status='f',
D_ SIGM_EPSI = SIMP (status=”o”, typ=”R”,), SY = SIMP (status=”o”, typ=”R”,),),…
means that the two keywords SY and D_ SIGM_EPSI are mandatory for ECRO_LINE (for more details, refer to [U1.03.01]: Supervisor and command language)
3.2. Modifying the C_ RELATION catalog#
You must add to the list returned by C_ RELATION () the name chosen for the behavior relationship you want to introduce (“MA_RELATION” in the example below). The catalog to be modified is c_relation.py (code_aster/cata/commons directory).
Example:
def C_ RELATION (): return ("ELAS ", # COMMUN #
...
"LAIGLE ",
"LEMAITRE ",
"LEMAITRE_IRRA ",
"LEMA_SEUIL ",
"LETK ",
"MA_RELATION ",
"MAZARS ",
"MAZARS_1D ",
...
)
3.3. Add the catalog of the law of behavior#
This catalog should be added to the Bibpyt/Behavior directory.
3.3.1. Contents#
Example: vmis_cine_line.py
law = law/Behaviour (
name = “VMIS_CINE_LINE”,
lc_type = (“MECANIQUE”,),
doc = « » « Von Mises” law - Prager with linear kinematic work hardening [R5.03.02] « « ,
num_lc = 3,
nb_vari = 7,
vari name = (“XCINXX”, “XCINYY”, “”, “”, “XCINZZ”, “XCINXY”, “XCINXZ”,
“XCINYZ”, “INDIPLAS”,),
mc_master = (“ELAS”, “ECRO_LINE”,),
modeling = (“3D”, “AXIS”, “D_ PLAN “,” 1D “,),
deformation = (“PETIT”, “PETIT_REAC”, “”, “”, “GROT_GDEP”, “GDEF_LOG”,),
algo_inte = (“ANALYTIQUE”,),
type_matr_tang = (“PERTURBATION”, “VERIFICATION”,),
properties = None,
syme_matr_tang = (“Yes”,),
ext_vari = None,
deform_ldc = (“OLD”,),
)
This catalog therefore provides a large part of the information relating to behavior:
name: name of the law, same as the one provided for COMPR_INCR/RELATION
num_lc: routine number lc00nn
nb_vari/vari name: number of internal variables, and their names (K8)
mc_mater: keywords used in DEFI_MATERIAU
modeling: possible types of models, for the behaviors of continuous environments: 3D, D_ PLAN, AXIS, C_ PLAN, COMP1D, INCO,, GRADEPSI, GRADVARI,…
deformation: type of possible deformations: “PETIT”, “”, “PETIT_REAC”, “”, “GROT_GDEP”, “GDEF_LOG”, “GDEF_HYPO_ELAS”.
algo_inte: possible integration schemes: implicit (“ANALYTIQUE”, “NEWTON_PERT”…), explicit (“RUNGE_KUTTA”)
type_matr_tang: types of tangent matrices available. In addition to the disturbance matrix, it is also possible to use the secant matrices, and the combination TANGENTE_SECANTE.
properties:
symme_matr_tang:
exte_vari: name of the command variables taken into account
deform_ldc: type of deformation passed at the input of the law of behavior: “OLD”, “MECANIQUE” or “TOTALE” (*cf. § 4)
Note s :
The names of the internal variables for all behaviors are defined in the Python catalog cata_vari.py , in order to name the internal variables of the same meaning identically. This catalog is available in the.bibpyt/Behaviour directory.* For a new behavior, it is desirable to reuse existing names. If new names are added, an error occurs at runtime; you must therefore modify cata_vari.py, justifying your choice when restoreing developments.
The control variables (or « external state variables ») taken into account in the catalog are specific to certain laws of behavior (see § 5.4.3). For now, this list does not describe generic variables such as temperature or drying.
Attention :
When adding a new catalog, check the presence of the addition card at the top of the file. It specifies in which Python library to place the file (here Behavior) :
#@ AJOUT Bad Behavior Behavior
3.3.2. Case of a law compatible with kinematics SIMO_MIEHE#
If the law of behavior is developed to be compatible with a SIMO_MIEHE kinematics, in addition to other kinematics, then two catalogs must be created:
a first catalog corresponding to all cutscenes except SIMO_MIEHE
a second one corresponding only to cutscene SIMO_MIEHE
The distinction between the two catalogs is made through the name, on the following model (number 2 in the 4th position):
vmis_isot_line.py and vmis2isot_line.py, meta_p_il_pt.py and meta2p_il_pt.py, monocristal.py and mono2ristal.py…
The two catalogs are identical except for the doc and deformation attributes:
vmis_isot_line.py:
name = “VMIS_ISOT_LINE”,
doc = « » « Von Mises” law of plasticity with linear work hardening [R5.03.02] « « ,
deformation = (“PETIT”, “PETIT_REAC”, “”, “”, “GROT_GDEP”, “GDEF_LOG”,),
vmis2isot_line.py:
name = “VMIS_ISOT_LINE”,
doc = « » « Von Mises” law of plasticity with linear work hardening for Simo_Miehe [R5.03.02] « « »,
deformation = (“SIMO_MIEHE”,),
and possibly the deform_ldc attribute which cannot take the value “MECANIQUE” for the catalog corresponding to SIMO_MIEHE: it is precisely to allow other kinematics to function according to the deform_ldc = “MECANIQUE” mechanism that this catalog duplication system was set up.
For laws being developed only for SIMO_MIEHE, then it is enough to create a single catalog without changing its name, for example: rousselier.py, visc_isot_line.py…