ok, find below my case. My goal is not to run stage 2 (static load case) each time that I modify something in stage 3 (dynamic load case). I have an idea about how FE solvers work, but not so much to know if the stiffness matrix is calculated each stage and if this is a CPU-time eater.
#stage 1: set up and initial state (gravity)
DEBUT(LANG='EN')
mesh1 = LIRE_MAILLAGE(identifier='0:1',
UNITE=7)
mesh2 = LIRE_MAILLAGE(identifier='1:1',
UNITE=8)
mesh3 = LIRE_MAILLAGE(identifier='2:1',
UNITE=2)
msh_complete = ASSE_MAILLAGE(identifier='5:1',
MAILLAGE_1=mesh1,
MAILLAGE_2=mesh2,
OPERATION='SUPERPOSE')
model = AFFE_MODELE(identifier='6:1',
AFFE=(_F(GROUP_MA=('beam', ),
MODELISATION='POU_D_T_GD',
PHENOMENE='MECANIQUE'),
_F(GROUP_MA=('3dA', '3dB'),
MODELISATION='3D',
PHENOMENE='MECANIQUE')),
MAILLAGE=msh_complete)
table = MACR_CARA_POUTRE(identifier='7:1',
GROUP_MA_BORD=('border_ext', ),
GROUP_MA_INTE=('border_int', ),
GROUP_NO=('nodeX', ),
MAILLAGE=mesh3,
NOM='profile',
TABLE_CARA='OUI')
elemprop = AFFE_CARA_ELEM(identifier='8:1',
MODELE=model,
ORIENTATION=_F(CARA='VECT_Y',
GROUP_MA=('beam', ),
VALE=(0.0, -1.0, 0.0)),
POUTRE=_F(GROUP_MA=('beam', ),
NOM_SEC='profile',
SECTION='GENERALE',
TABLE_CARA=table))
alum = DEFI_MATERIAU(identifier='9:1',
ELAS=_F(E=67000000000.0,
NU=0.33,
RHO=2700.0))
steel = DEFI_MATERIAU(identifier='10:1',
ECRO_LINE=_F(D_SIGM_EPSI=2100000000.0,
SY=275000000.0),
ELAS=_F(E=210000000000.0,
NU=0.3,
RHO=7500.0))
fieldmat = AFFE_MATERIAU(identifier='11:1',
AFFE=(_F(GROUP_MA=('beam', ),
MATER=(alum, )),
_F(GROUP_MA=('3dA', '3dB'),
MATER=(steel, ))),
MODELE=model)
fload = DEFI_FONCTION(identifier='12:1',
NOM_PARA='INST',
VALE=(0.0, 0.0, 1.0, 1.0))
listr0 = DEFI_LIST_REEL(identifier='13:1',
DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=1,
NOMBRE=10))
times0 = DEFI_LIST_INST(identifier='14:1',
ADAPTATION=_F(VALE_I=8),
DEFI_LIST=_F(LIST_INST=listr0),
ECHEC=_F(SUBD_PAS=5),
METHODE='AUTO')
BC = AFFE_CHAR_MECA(identifier='15:1',
DDL_IMPO=(_F(DRY=0.0,
DRZ=0.0,
DX=0.0,
DZ=0.0,
GROUP_NO=('supportC', )),
_F(DRY=0.0,
DRZ=0.0,
DX=0.0,
DZ=0.0,
GROUP_NO=('supportD', )),
_F(DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_MA=('fixA', 'fixB'))),
MODELE=model)
binding = AFFE_CHAR_MECA(identifier='17:1',
LIAISON_UNIF=(_F(DDL=('DX', 'DY', 'DZ'),
GROUP_NO=('bracketA1', 'supportA1')),
_F(DDL=('DX', 'DY', 'DZ'),
GROUP_NO=('bracketA2', 'supportA2')),
_F(DDL=('DX', 'DY', 'DZ'),
GROUP_NO=('bracketB1', 'supportB1')),
_F(DDL=('DX', 'DY', 'DZ'),
GROUP_NO=('bracketB2', 'supportB2'))),
MODELE=model)
gravity = AFFE_CHAR_MECA(identifier='18:1',
MODELE=model,
PESANTEUR=_F(DIRECTION=(0.0, 0.0, -1.0),
GRAVITE=9.8))
statnl0 = STAT_NON_LINE(identifier='19:1',
CARA_ELEM=elemprop,
CHAM_MATER=fieldmat,
COMPORTEMENT=(_F(DEFORMATION='GROT_GDEP',
GROUP_MA=('beam', ),
RELATION='ELAS_POUTRE_GR'),
_F(DEFORMATION='SIMO_MIEHE',
GROUP_MA=('3dA', '3dB'),
RELATION='VMIS_ISOT_LINE')),
EXCIT=(_F(CHARGE=BC),
_F(CHARGE=binding),
_F(CHARGE=gravity)),
INCREMENT=_F(LIST_INST=times0),
MODELE=model,
NEWTON=_F(MATR_RIGI_SYME='OUI'))
speed0 = CREA_CHAMP(identifier='21:1',
AFFE=_F(GROUP_NO=('load', ),
NOM_CMP=('DZ', ),
VALE=(-6.261, )),
MODELE=model,
OPERATION='AFFE',
TYPE_CHAM='NOEU_DEPL_R')
IMPR_RESU(identifier='22:1',
FORMAT='RESULTAT',
RESU=_F(CARA_ELEM=elemprop,
GROUP_MA=('beam', ),
INST=(1.0, ),
NOM_CHAM=('DEPL', 'SIEF_ELGA'),
RESULTAT=statnl0),
UNITE=3)
FIN()
#stage2: load case 1 - static load
POURSUITE(LANG='EN')
fload = DEFI_FONCTION(identifier='13:1',
NOM_PARA='INST',
VALE=(1.0, 0.0, 2.0, 1.0))
listr1 = DEFI_LIST_REEL(identifier='14:1',
DEBUT=1.0,
INTERVALLE=_F(JUSQU_A=2,
NOMBRE=10))
times1 = DEFI_LIST_INST(identifier='15:1',
ADAPTATION=_F(VALE_I=8),
DEFI_LIST=_F(LIST_INST=listr1),
ECHEC=_F(SUBD_PAS=5),
METHODE='AUTO')
load = AFFE_CHAR_MECA(identifier='17:1',
FORCE_NODALE=_F(FZ=-14000.0,
GROUP_NO=('load', )),
MODELE=model)
resnonl = STAT_NON_LINE(identifier='19:1',
CARA_ELEM=elemprop,
CHAM_MATER=fieldmat,
COMPORTEMENT=(_F(DEFORMATION='GROT_GDEP',
GROUP_MA=('beam', ),
RELATION='ELAS_POUTRE_GR'),
_F(DEFORMATION='SIMO_MIEHE',
GROUP_MA=('3dA', '3dB'),
RELATION='VMIS_ISOT_LINE')),
EXCIT=(_F(CHARGE=BC),
_F(CHARGE=load,
FONC_MULT=fload),
_F(CHARGE=binding)),
INCREMENT=_F(LIST_INST=times1),
MODELE=model,
NEWTON=_F(MATR_RIGI_SYME='OUI'))
resnonl = CALC_CHAMP(identifier='20:1',
reuse=resnonl,
CRITERES=('SIEQ_ELGA', ),
INST=(2.0, ),
RESULTAT=resnonl)
IMPR_RESU(identifier='21:1',
FORMAT='RESULTAT',
RESU=(_F(GROUP_MA=('beam', ),
INST=(2.0, ),
NOM_CHAM=('DEPL', 'SIEF_ELGA'),
RESULTAT=resnonl),
_F(GROUP_MA=('3dA', ),
INST=(2.0, ),
NOM_CHAM=('SIEQ_ELGA', ),
NOM_CMP=('VMIS', ),
RESULTAT=resnonl,
VALE_MAX='OUI',
VALE_MIN='OUI')),
UNITE=4)
IMPR_RESU(identifier='22:1',
FORMAT='MED',
RESU=_F(INST=(2.0, ),
RESULTAT=resnonl),
UNITE=9)
FIN()
#stage3: load case 2 - dynamic load
POURSUITE(LANG='EN')
listr2 = DEFI_LIST_REEL(identifier='3:2',
DEBUT=2.0,
INTERVALLE=_F(JUSQU_A=3.0,
NOMBRE=10))
times2 = DEFI_LIST_INST(identifier='4:2',
ADAPTATION=_F(VALE_I=8),
DEFI_LIST=_F(LIST_INST=listr2),
ECHEC=_F(SUBD_PAS=5),
METHODE='AUTO')
dynanl1 = DYNA_NON_LINE(identifier='7:2',
CARA_ELEM=elemprop,
CHAM_MATER=fieldmat,
COMPORTEMENT=(_F(DEFORMATION='GROT_GDEP',
GROUP_MA=('beam', ),
RELATION='ELAS_POUTRE_GR'),
_F(DEFORMATION='SIMO_MIEHE',
GROUP_MA=('3dA', '3dB'),
RELATION='VMIS_ISOT_LINE')),
ETAT_INIT=_F(EVOL_NOLI=statnl0,
VITE=speed0),
EXCIT=(_F(CHARGE=BC),
_F(CHARGE=binding)),
INCREMENT=_F(LIST_INST=times2),
MODELE=model,
NEWTON=_F(MATR_RIGI_SYME='OUI'),
SCHEMA_TEMPS=_F(FORMULATION='DEPLACEMENT',
SCHEMA='HHT'))
dynanl1 = CALC_CHAMP(identifier='8:2',
reuse=dynanl1,
CRITERES=('SIEQ_ELGA', ),
INST=(3.0, ),
RESULTAT=dynanl1)
IMPR_RESU(identifier='9:2',
FORMAT='RESULTAT',
RESU=(_F(INST=(3.0, ),
NOM_CHAM=('DEPL', 'SIEF_ELGA'),
RESULTAT=dynanl1),
_F(GROUP_MA=('3dA', ),
INST=(3.0, ),
NOM_CHAM=('SIEQ_ELGA', ),
NOM_CMP=('VMIS', ),
RESULTAT=dynanl1,
VALE_MAX='OUI',
VALE_MIN='OUI')),
UNITE=5)
IMPR_RESU(identifier='10:2',
FORMAT='MED',
RESU=_F(CARA_ELEM=elemprop,
LIST_INST=listr2,
RESULTAT=dynanl1),
UNITE=80)
FIN()