8. Validation and maintenance#

Thinking about validation and identification tests can be started very early, even before development itself. We can distinguish between:

  • command files (often simple, using SIMU_POINT_MAT for example) to identify certain parameters (using MACR_RECAL).

  • the tests to be returned: they must make it possible to validate the behavior in all its aspects, for a range of parameter values correctly covering the field of validity. Some tests are almost mandatory:

  • tests of robustness and invariance in relation to a rotation, a change of unit (COMP001, COMP002, COMP003)

  • tests verifying that control variables are taken into account (COMP008, COMP010)

In addition, the developer may have to correct or analyze his behavior following an anomaly encountered during a study. In this case, in addition to the usual debugging techniques, it is possible to use a feature implemented in case of failure to integrate the behavior: the first failed points produce a small command file allowing to replay the scene with SIMU_POINT_MAT, to better analyze the problem, to try other methods. Simply copy the definition of the material; all the other data (stresses, strains, initial internal variables, and deformation increments) can be used to simulate the behavior at the moment and at the point where the failure occurred. For example for the forma03c test:

#———————————————————————–

# test to analyze the integration failure on the mesh<M83>, dot <3>

#———————————————————————–

DEBUT ()

# copy DEFI_MATERIAU (…)

COURBE OF TRACTION

CTRAC = LIRE_FONCTION (UNITE =21, NOM_PARA =” EPSI “, PROL_DROITE =” CONSTANT”,)

MAT = DEFI_MATERIAU (ELAS =_F (E=200000. , NU=0.3), TRACTION =_F (SIGM = CTRAC)

LIST = DEFI_LIST_REEL (DEBUT =1.944000000000000E+02,

INTERVALLE =_F (JUSQU_A = 2.187000000000000E+02, NOMBRE =1))

DEFLIST = DEFI_LIST_INST (DEFI_LIST =_F (LIST_INST = LIST,),

ECHEC =_F (SUBD_NIVEAU =10, SUBD_PAS =4),)

EXX = DEFI_FONCTION (NOM_PARA =” INST “,

VALE =( 1.944000000000000E+02, -9.407813329102166E-04,

2.187000000000000E+02,7.37373776084156800E+06))

EYY = DEFI_FONCTION (NOM_PARA =” INST “,

VALE =( 1.944000000000000E+02, 1.718362911427018E-04,

2.187000000000000E+02, -5.221483651275956E+06))

EZZ = DEFI_FONCTION (NOM_PARA =” INST “,

VALE =( 1.944000000000000E+02, 0.000000000000000E+2,

2.187000000000000E+02, -9.224110429927666E+05))

EXY = DEFI_FONCTION (NOM_PARA =” INST “,

VALE =( 1.944000000000000E+02, 3.621278829822514E-04,

2.187000000000000E+02, -4.710098874951571E+06))

RESU = SIMU_POINT_MAT (INFO =1, MATER = MAT, INCREMENT =_F (LIST_INST = DEFLIST),

EPSI_IMPOSE =_F (EPXX = EXX, EPYY = EYY, EPZZ = EZZ, EPXY = EXY),

SUPPORT =” ELEMENT “, MODELISATION =”C_ PLAN”,

EPSI_INIT =_F (EPXX =-9.407813329102166E-04,

EPYY =1.718362911427018E-04,

EPZZ = 0.000000000000000E+00,

EPXY =3.621278829822514E-04,

EPXZ =0.000000000000000E+00,

EPYZ = 0.000000000000000E+00),

SIGM_INIT =_F (SIXX =-1.887253339740370E+02,

SIYY =-2.497632316081525E+01,

SIZZ = 0.000000000000000E+00,

SIXY =7.537194347798921E+01,

SIXZ =0.000000000000000E+00,

SIYZ = 0.000000000000000E+00),

VARI_INIT =_F (VALE =( 3.93109554545774485E-05,

1.000000000000000E+00,)),

COMPORTEMENT =_F (RELATION =” VMIS_ISOT_TRAC “, ITER_INTE_MAXI =20,),

NEWTON =_F (REAC_ITER =1),)

FIN ()