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…