• Aucun résultat trouvé

Opérateur STAT_NON_LINE Code_Aster

N/A
N/A
Protected

Academic year: 2022

Partager "Opérateur STAT_NON_LINE Code_Aster"

Copied!
49
0
0

Texte intégral

(1)

Opérateur STAT_NON_LINE

1 But

Calculer l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique, d'une structure en non linéaire.

La non-linéarité est liée soit au comportement du matériau (par exemple plastique), soit à la géométrie (par exemple en grands déplacements) soit au contact-frottement. Pour avoir des détails sur la méthode de résolution employée, on se reportera à la documentation de référence [R5.03.01].

L'évolution peut être étudiée en plusieurs travaux successifs (concept ré-entrant), soit en poursuite (le dernier instant calculé est l'instant initial du calcul suivant), soit en reprise en partant d'un instant antérieur.

Si le temps nécessaire pour effectuer le calcul n'est pas suffisant, le programme s'interrompt, mais les résultats déjà calculés sont sauvegardés si une base de données a été définie dans le profil d'étude de l'utilisateur. Produit une structure de données de type evol_noli.

Manuel d'utilisation Fascicule u4.51: Analyse statique

(2)

Table des matières

1 But ... 1

2 Syntaxe ... 5

3 Opérandes ... 12

3.1 Mot clé RESULTAT ... 12

3.2 Opérandes MODELE / CHAM_MATER / CARA_ELEM ... 12

3.3 Mot clé EXCIT ... 12

3.3.1 Opérandes CHARGE ... 12

3.3.2 Opérande FONC_MULT ... 14

3.3.3 Opérande TYPE_CHARGE ... 14

3.4 Mot clé CONTACT ... 15

3.5 Mot-clé SOUS_STRUC ... 15

3.5.1 Opérande CAS_CHARGE ... 15

3.5.2 Opérandes TOUT / SUPER_MAILLE ... 15

3.5.3 Opérande FONC_MULT ... 16

3.6 Mot-clé COMPORTEMENT ... 16

3.7 Mot-clé SCHEMA_THM ... 16

3.8 Mot clé ETAT_INIT ... 16

3.8.1 Opérandes SIGM / VARI / DEPL / STRX ... 17

3.8.2 Opérandes EVOL_NOLI ... 17

3.8.3 Opérande NUME_ORDRE / INST / NUME_DIDI ... 17

3.8.4 Opérande INST_ETAT_INIT ... 18

3.8.5 Opérande PRECISION / CRITERE ... 19

3.9 Mot clé INCREMENT ... 19

3.9.1 Opérande LIST_INST ... 19

3.9.2 Opérandes NUME_INST_INIT / INST_INIT / NUME_INST_FIN / INST_FIN ... 20

3.9.3 Opérande PRECISION ... 21

3.10 Opérande CRIT_QUALITE ... 22

3.11 Opérande METHODE ... 22

3.12 Mot clé NEWTON ... 22

3.12.1 Opérande PREDICTION ... 22

3.12.2 Opérandes MATRICE, REAC_INCR, REAC_ITER, PAS_MINI_ELAS et REAC_ITER_ELAS ... 23

3.12.3 Opérande EVOL_NOLI ... 24

3.12.4 Opérande MATR_RIGI_SYME ... 24

3.13 Mot-clé MODELE_REDUIT ... 25

3.14 Mot clé RECH_LINEAIRE ... 26

Manuel d'utilisation Fascicule u4.51: Analyse statique

(3)

3.14.1 Opérande METHODE ... 26

3.14.2 Opérande RESI_LINE_RELA / ITER_LINE_MAXI ... 26

3.14.3 Opérandes RHO_MIN / RHO_MAX / RHO_EXCL ... 26

3.15 Mot clé PILOTAGE ... 27

3.15.1 Opérande TYPE ... 27

3.15.2 Opérandes NOEUD/GROUP_NO ... 29

3.15.3 Opérandes TOUT/MAILLE/GROUP_MA ... 30

3.15.4 Opérande DIRE_PILO ... 30

3.15.5 Opérande FISSURE ... 31

3.15.6 Opérande NOM_CMP ... 31

3.15.7 Opérande COEF_MULT ... 31

3.15.8 Opérande ETA_PILO_R_MAX / ETA_PILO_R_MIN ... 31

3.15.9 Opérande ETA_PILO_MAX/ETA_PILO_MIN ... 32

3.15.10 Opérande PROJ_BORNES ... 32

3.15.11 Opérande SELECTION ... 33

3.15.12 Opérande EVOL_PARA ... 33

3.16 Mot clé SOLVEUR ... 33

3.17 Mot clé CONVERGENCE ... 33

3.17.1 Opérande RESI_GLOB_RELA/RESI_GLOB_MAXI ... 33

3.17.2 Opérande RESI_COMP_RELA ... 34

3.17.3 Opérande RESI_REFE_RELA ... 35

3.17.4 Opérande ITER_GLOB_MAXI ... 35

3.17.5 Opérande ITER_GLOB_ELAS ... 36

3.17.6 Opérande ARRET ... 36

3.18 Mot-clé CRIT_STAB ... 36

3.18.1 Opérande LIST_INST / INST / PAS_CALC ... 37

3.18.2 Opérande PRECISION/CRITERE ... 37

3.18.3 Opérandes OPTION/CHAR_CRIT/ NMAX_CRIT ... 37

3.18.4 Opérande COEF_DIM_ESPACE ... 38

3.18.5 Opérande RIGI_GEOM ... 38

3.18.6 Opérande MODI_RIGI ... 38

3.18.7 Opérande DDL_EXCLUS ... 38

3.18.8 Opérande DDL_STAB ... 39

3.18.9 Opérande SIGNE ... 39

3.18.10 Opérande PREC_INSTAB ... 40

3.19 Mot-clé ENERGIE ... 40

3.20 Mot clé ARCHIVAGE ... 40

3.20.1 Opérande LIST_INST / INST / PAS_ARCH ... 40

3.20.2 Opérande PRECISION/CRITERE ... 40

Manuel d'utilisation Fascicule u4.51: Analyse statique

(4)

3.20.3 Opérande CHAM_EXCLU ... 41

3.21 Mot clé AFFICHAGE ... 41

3.21.1 Opérande UNITE ... 41

3.21.2 Opérande PAS ... 41

3.21.3 Opérande INFO_RESIDU ... 41

3.21.4 Opérande INFO_TEMPS ... 41

3.22 Mot clé OBSERVATION ... 41

3.22.1 Opérandes LIST_INST/INST/PAS_OBSE/OBSE_ETAT_INIT ... 42

3.22.2 Opérandes PRECISION/CRITERE ... 42

3.22.3 Opérandes NOM_CHAM/NOM_CMP/NOM_VARI ... 42

3.22.4 Opérandes TOUT/NOEUD/GROUP_NOEUD/MAILLE/GROUP_MA ... 43

3.22.5 Observation d'un champ ELGA ... 43

3.22.6 Observation d'un champ NOEU ... 44

3.22.7 Observation d'un champ ELEM ... 44

3.22.8 Contenu de la table ... 45

3.23 Mot clé SUIVI_DDL ... 45

3.24 Contenu de la structure de données EVOL_NOLI ... 46

3.25 Mot-clef MESURE ... 47

3.25.1 Contenu de la table ou du fichier généré ... 47

3.26 Opérande INFO ... 48

3.27 Opérande TITRE ... 48

Manuel d'utilisation Fascicule u4.51: Analyse statique

(5)

2 Syntaxe

statnl[evol_noli] = STAT_NON_LINE

( RESULTAT = statnl, [evol_noli]

MODELE = mo, [modele]

CHAM_MATER = chmat, [cham_mater]

◊ CARA_ELEM = carac, [cara_elem]

EXCIT = _F(

CHARGE = chi, [char_meca]

FONC_MULT = fi, [fonc/formule]

TYPE_CHARGE = /'FIXE_CSTE' [DEFAUT]

/'FIXE_PILO' /'SUIV_PILO' /'SUIV' /'DIDI' ),

◊ CONTACT = contact, [char_contact]

◊ SOUS_STRUC = _F(

CAS_CHARGE = chi, [char_meca]

/TOUT = 'OUI', [DEFAUT]

/SUPER_MAILLE = lma, [l_maille]

FONC_MULT = fmult, ),

|COMPORTEMENT = _F(voir le document [U4.51.11]),

◊ ETAT_INIT = _F(

/|SIGM = sig, [cham_elem]

|VARI = vain, [cham_elem]

|DEPL = depl, [cham_no]

|STRX = strx, [cham_elem]

|COHE = cohe, [cham_elem]

/EVOL_NOLI = evol, [evol_noli]

/NUME_ORDRE = nuini, [I]

/INST = instini, [R]

◊ PRECISION = /1.0E-3, [DEFAUT]

/prec, [R]

◊ CRITERE = /'RELATIF', [DEFAUT]

/'ABSOLU',

◊ NUME_DIDI = nudidi, [I]

◊ INST_ETAT_INIT = istetaini [R]

),

INCREMENT = _F(

LIST_INST = /litpsr8, [listr8]

/litps, [list_inst]

/NUME_INST_INIT = nuini, [I]

/INST_INIT = instini, [R]

/NUME_INST_FIN = nufin, [I]

/INST_FIN = instfin, [R]

Manuel d'utilisation Fascicule u4.51: Analyse statique

(6)

PRECISION = /1.0E-3, [DEFAUT]

/prec, [R]

),

◊ CRIT_QUALITE = _F(

◊ /ERRE_TEMPS_THM = /'NON' [DEFAUT]

= /'OUI' ),

◊ METHODE = /'NEWTON', [DEFAUT]

/'IMPLEX',

/'NEWTON_KRYLOV', /'MODELE_REDUIT',

◊ NEWTON = _F(

PREDICTION = /'TANGENTE', [DEFAUT]

/'ELASTIQUE', /'EXTRAPOLE', /'DEPL_CALCULE',

EVOL_NOLI = evol_noli, [evol_noli]

MATRICE = /'TANGENTE', [DEFAUT]

/'ELASTIQUE'

REAC_INCR = /1, [DEFAUT]

/mf, [I]

REAC_ITER = /1, [DEFAUT]

/it, [I]

REAC_ITER_ELAS = /0, [DEFAUT]

/it, [I]

PAS_MINI_ELAS = /0, [DEFAUT]

/pasmini, [R]

MATR_RIGI_SYME = /'NON' [DEFAUT]

= /'OUI' ),

◊ MODELE_REDUIT = _F(

PREDICTION = /'TANGENTE', [DEFAUT]

/'ELASTIQUE', /'EXTRAPOLE', /'DEPL_CALCULE',

◊ MATRICE = /'TANGENTE' /'ELASTIQUE'

◊ REAC_INCR = /1 [DEFAUT]

/mf

REAC_ITER = /1 [DEFAUT]

/it

BASE_PRIMAL = mode_empi

DOMAINE_REDUIT = /'NON' [DEFAUT]

/'OUI' Si DOMAINE_REDUIT = 'OUI'

GROUP_NO_INTERF = grno

CORR_COMPLET = /'NON' [DEFAUT]

/'OUI' Si CORR_COMPLET = 'OUI'

GROUP_NO_ENCASTRE = grno

◊ COEF_PENA = /1.0E 6 , [DEFAUT]

/coef_pena [R]

◊ RECH_LINEAIRE = _F(

METHODE = /'CORDE' [DEFAUT]

Manuel d'utilisation Fascicule u4.51: Analyse statique

(7)

/'MIXTE' /'PILOTAGE'

RESI_LINE_RELA = /1.E-1, [DEFAUT]

/reslin, [R]

ITER_LINE_MAXI = /3 [DEFAUT]

/itelin [I]

RHO_MIN = /1.E-2 [DEFAUT]

/rmin [R]

RHO_MAX = /1.E+1 [DEFAUT]

/rmax [R]

RHO_EXCL = /9.E-3 [DEFAUT]

/rexc [R]

),

◊ PILOTAGE = _F(

TYPE = /'DDL_IMPO', /'SAUT_IMPO', /'LONG_ARC', /'SAUT_LONG_ARC' /'ANA_LIM', /'DEFORMATION', /'PRED_ELAS',

TOUT = 'OUI', [DEFAUT]

/GROUP_MA = lgrma, [l_gr_maille]

/ MAILLE = lma, [l_maille]

/NOEUD = no, [noeud]

/GROUP_NO = rno, [gr_noeud]

FISSURE = fiss, [sd_fiss_xfem]

NOM_CMP = nomcmp, [Kn]

/DIRE_PILO = direpilo, [Kn]

COEF_MULT = /1., [DEFAUT]

/cmult, [R]

ETA_PILO_R_MAX = etarmax, [R]

ETA_PILO_R_MIN = etarmin, [R]

ETA_PILO_MAX = etamax, [R]

ETA_PILO_MIN = etamin [R]

PROJ_BORNES = /'OUI' [DEFAUT]

/'NON'

EVOL_PARA = /'SANS' [DEFAUT]

/'DECROISSANT' /'CROISSANT'

SELECTION = /'NORM_INCR_DEPL', [DEFAUT]

/'ANGL_INCR_DEPL', /'RESIDU',

),

◊ SOLVEUR = _F(voir le document [U4.50.01]),

◊ CONVERGENCE = _F(

/RESI_GLOB_RELA = 1.E-6, [DEFAUT]

/ | RESI_GLOB_MAXI = resmax, [R]

| RESI_GLOB_RELA = resrel, [R]

| RESI_COMP_RELA = rescmp, [R]

| RESI_REFE_RELA = resref, [R]

SIGM_REFE = sigref, [R]

EPSI_REFE = sigref, [R]

DEPL_REFE = depref, [R]

EFFORT_REFE = forref, [R]

Manuel d'utilisation Fascicule u4.51: Analyse statique

(8)

MOMENT_REFE = momref, [R]

VARI_REFE = varref, [R]

FLUX_THER_REFE = sigref, [R]

FLUX_HYD1_REFE = sigref, [R]

FLUX_HYD2_REFE = sigref, [R]

ITER_GLOB_ELAS = /25, [DEFAUT]

/maxelas, [I]

ITER_GLOB_MAXI = /10, [DEFAUT]

/maglob, [I]

ARRET = /'OUI', [DEFAUT]

/'NON', ),

◊ CRIT_STAB = _F(

TYPE = /'FLAMBEMENT' [DEFAUT]

= /'STABILITE'

OPTION = /' PLUS_PETITE ', [DEFAUT]

/'BANDE',

/'CALIBRATION', Si OPTION='PLUS_PETITE'

{ ◊ NMAX_CRIT = /3, [DEFAUT]

/nbcrit, [I]

}

Si OPTION='BANDE' {

◊ CHAR_CRIT = intba , [listr8]

}

Si OPTION='CALIBRATION' {

◊ CHAR_CRIT = intba , [listr8]

}

COEF_DIM_ESPACE = /5, [DEFAUT]

/coef, [I]

RIGI_GEOM = /'OUI', [DEFAUT]

= /'NON',

MODI_RIGI = /'NON', [DEFAUT]

= /'OUI', DDL_EXCLUS = list1_ddl DDL_STAB = list2_ddl

/LIST_INST = list_r8, [listr8]

/INST = l_r8, [R]

/PAS_CALC = npas, [I]

◊ PRECISION = /1.E-6, [DEFAUT]

/prec, [R]

◊ CRITERE = /'RELATIF', [DEFAUT]

/'ABSOLU',

SIGNE = /'POSITIF_NEGATIF', [DEFAUT]

= /'POSITIF',

= /'NEGATIF',

PREC_INSTAB = /1.E-6, [DEFAUT]

/prec_instab, [R]

),

◊ ENERGIE = _F()

◊ SCHEMA_THM = _F(

◊ PARM_THETA = 1.0 , [DEFAUT]

Manuel d'utilisation Fascicule u4.51: Analyse statique

(9)

parm_theta , [R]

◊ PARM_ALPHA = 1.0 , [DEFAUT]

parm_alpha , [R]

),

◊ ARCHIVAGE = _F(

/LIST_INST = list_r8, [listr8]

/INST = l_r8, [R]

/PAS_ARCH = npas, [I]

◊ PRECISION = /1.E-6, [DEFAUT]

/prec, [R]

◊ CRITERE = /'RELATIF', [DEFAUT]

/'ABSOLU',

◊ CHAM_EXCLU = list_txt, ),

◊ AFFICHAGE = _F(

◊ UNITE = /unite [I]

◊ INFO_RESIDU = /'NON', [DEFAUT]

/'OUI'

◊ INFO_TEMPS = /'NON', [DEFAUT]

/'OUI' ),

◊ MESURE = _F(

◊ TABLE = /'NON', [DEFAUT]

/'OUI' ◊ UNITE = unit

),

◊ OBSERVATION = _F (

◊ TITRE = titre, [list_k]

♦ NOM_CHAM = |'DEPL',

|'VITE',

|'ACCE',

|'DEPL_ABSOLU',

|'VITE_ABSOLU',

|'ACCE_ABSOLU',

|'SIEF_ELGA',

|'VARI_ELGA',

|'FORC_NODA',

|'CONT_NOEU',

|'CONT_ELEM',

◊ EVAL_CHAM = /'VALE', [DEFAUT]

/'MIN', /'MAX', /'MOY', /'MINI_ABS', /'MAXI_ABS',

◊ NOM_CMP = lnocmp , [l_Kn]

◊ NOM_VARI = lnovari , [l_Kn]

◊ EVAL_CMP = /'VALE', [DEFAUT]

/'FORMULE', { Si EVAL_CMP='FORMULE'

◊ FORMULE = form [formule_aster]

}

{ Si CHAM est de type ELGA (SIEF_ELGA, VARI_ELGA)

◊ TOUT = 'OUI', [DEFAUT]

◊ /GROUP_MA = lgrma, [l_gr_maille]

◊ / MAILLE = lma, [l_maille]

◊ EVAL_ELGA = /'VALE', [DEFAUT]

Manuel d'utilisation Fascicule u4.51: Analyse statique

(10)

/'MIN', /'MAX', { Si EVAL_ELGA ='VALE'

♦ POINT = pi , [I]

◊ SOUS_POINT = spi , [I]

} }

{ Si CHAM est de type ELEM (CONT_ELEM)

◊ TOUT = 'OUI', [DEFAUT]

◊ /GROUP_MA = lgrma, [l_gr_maille]

◊ / MAILLE = lma, [l_maille]

}

{ Si CHAM est de type NOEU

◊ TOUT = 'OUI', [DEFAUT]

◊ /GROUP_MA = lgrma, [l_gr_maille]

◊ / MAILLE = lma, [l_maille]

◊ /NOEUD = no, [noeud]

◊ /GROUP_NO = rno, [gr_noeud]

}

◊ /'OBSE_ETAT_INIT' = /'OUI', [DEFAUT]

/'NON'

◊ /LIST_INST = linst, [listr8]

◊ /INST = linst, [l_R]

◊ /PAS_OBSE = pas , [I]

◊ CRITERE = /'RELATIF', [DEFAUT]

/'ABSOLU', { Si CRITERE = 'RELATIF'

◊ PRECISION = /1.0E-6, [DEFAUT]

/prec, [R]

}

{ Si CRITERE = 'ABSOLU'

♦ PRECISION = prec, [R]

} ),

◊ SUIVI_DDL = _F (

◊ TITRE = titre, [list_k]

♦ NOM_CHAM = |'DEPL', |'VITE', |'ACCE',

|'SIEF_ELGA',

|'VARI_ELGA', |'FORC_NODA',

◊ EVAL_CHAM = /'VALE', [DEFAUT]

/'MIN', /'MAX', /'MOY', / 'MINI_ABS', /'MAXI_ABS',

◊ NOM_CMP = lnocmp , [l_Kn]

◊ NOM_VARI = lnovari , [l_Kn]

◊ EVAL_CMP = /'VALE', [DEFAUT]

/'FORMULE', { Si EVAL_CMP='FORMULE'

◊ FORMULE = form [formule_aster]

}

{ Si CHAM est de type ELGA (SIEF_ELGA, VARI_ELGA)

◊ TOUT = 'OUI', [DEFAUT]

Manuel d'utilisation Fascicule u4.51: Analyse statique

(11)

◊ /GROUP_MA = lgrma, [l_gr_maille]

◊ / MAILLE = lma, [l_maille]

◊ EVAL_ELGA = /'VALE', [DEFAUT]

/'MIN', /'MAX', { Si EVAL_ELGA ='VALE'

♦ POINT = pi , [I]

◊ SOUS_POINT = spi , [I]

} }

{ Si CHAM est de type NOEU

◊ TOUT = 'OUI', [DEFAUT]

◊ /GROUP_MA = lgrma, [l_gr_maille]

◊ / MAILLE = lma, [l_maille]

◊ /NOEUD = no, [noeud]

◊ /GROUP_NO = rno, [gr_noeud]

} ),

◊ INFO = /1, [DEFAUT]

◊ TITRE = /2,tx [Kn]

);

Manuel d'utilisation Fascicule u4.51: Analyse statique

(12)

3 Opérandes

3.1 Mot clé RESULTAT

Dans le cas où l'on souhaite poursuivre un calcul déjà exécuté, RESULTAT indique quel objet est enrichi (voir aussi ETAT_INIT).

3.2 Opérandes MODELE / CHAM_MATER / CARA_ELEM

♦ MODELE = mo

Nom du modèle dont les éléments font l'objet du calcul mécanique.

♦ CHAM_MATER = chmat

Nom du champ de matériau affecté sur le modèle mo. Attention, toutes les mailles principales du modèle doivent être associées à un matériau (sinon erreur fatale avec message peu explicite),

◊ CARA_ELEM = carac

Nom des caractéristiques (carac) des éléments de coque, poutre, tuyau, barre, câble, et éléments discrets affectés sur le modèle mo. Évidemment, ce mot-clé est optionnel : si le modèle ne contient pas de tels éléments, il n'est pas utile ; en revanche, si le modèle contient de tels éléments, il est obligatoire.

3.3 Mot clé EXCIT

♦ EXCIT=_F()

Ce mot clé facteur permet de décrire à chaque occurrence une charge (sollicitations et conditions aux limites), et éventuellement un coefficient multiplicateur et/ou un type de charge.

3.3.1 Opérandes CHARGE

♦ CHARGE =

ch

i

ch

i est le chargement mécanique (comportant éventuellement l'évolution d'un champ de température) précisé à la

i

ème occurrence de EXCIT.

Remarques :

1) Dans un calcul thermo-mécanique, si la température initiale est différente de la température de référence (donnée dans l'opérateur AFFE_MATERIAU ), le champ de déformation associé à l'instant initial peut être incompatible et donc conduire à un état de contraintes et de variables internes associé non nul. Si l'on utilise une relation de comportement incrémentale et si on ne définit pas explicitement un état de contraintes et de variables internes initial (associé à un champ de température initiale différente de la température de référence), le champ de contraintes et de variables internes calculé au premier incrément ne tiendra compte que de la seule variation de température entre l'instant initial et le premier instant, et non des éventuelles contraintes de compatibilité associées à la température initiale. Pour prendre cet état initial en compte, il faut le donner explicitement, par exemple grâce aux mots clés SIGM, DEPL, VARI dans ETAT_INIT . Pour éviter de telles situations qui peuvent conduire à des erreurs de calculs, il vaut mieux commencer un calcul en considérant qu'il faut partir d'un état vierge.

2) Si on réalise un calcul en axisymétrique et que l'on impose des forces nodales, ces efforts doivent être divisés par

2 

(on travaille sur un secteur d'un radian) par rapport aux chargements réels. De même, si l'on souhaite calculer la résultante des efforts, le résultat est à multiplier par

Manuel d'utilisation Fascicule u4.51: Analyse statique

(13)

2 

pour avoir la résultante totale sur la structure complète. De même en contraintes planes ou en déformation plane, on travaille sur une épaisseur unité : les efforts (sur l'épaisseur) appliqués doivent être divisés par l'épaisseur, les efforts réels sont obtenus en multipliant par l'épaisseur les efforts « du calcul ».

Manuel d'utilisation Fascicule u4.51: Analyse statique

(14)

3.3.2 Opérande FONC_MULT

◊ FONC_MULT =

f

i

f

i est la fonction du temps multiplicatrice du chargement précisé à la ième occurrence de EXCIT.

Le chargement et les conditions aux limites pour

n

occurrences du mot clé facteur EXCIT sont :

ch=

i=1 n

f

i

.ch

i

Pour les conditions de Dirichlet, bien entendu, seule la valeur imposée est multipliée par

f

i. Par défaut :

f

i

=1

.

3.3.3 Opérande TYPE_CHARGE

◊ TYPE_CHARGE = /'FIXE_CSTE', [DEFAUT]

/'SUIV', /'DIDI', /'FIXE_PILO' /'SUIV_PILO'

Par défaut, TYPE_CHARGE vaut 'FIXE_CSTE' : cela correspond à un chargement appliqué sur la géométrie initiale et non piloté. Il peut cependant être une fonction, et, en particulier, dépendre du temps.

Si TYPE_CHARGE vaut 'FIXE_PILO', le chargement est toujours fixe (indépendant de la géométrie) mais sera piloté grâce au mot clé PILOTAGE [§3.15]. Les charges pilotables doivent être issues de l'opérateur AFFE_CHAR_MECA ou AFFE_CHAR_MECA_F (si ce n'est pas une fonction dépendant du temps) et ne pas être affectées du mot clé FONC_MULT. On ne peut pas piloter les chargements de pesanteur, la force centrifuge, les forces de Laplace, les chargements thermiques ou de déformations initiales ou anélastiques, et les conditions de liaison.

Pour avoir des charges pilotées dépendantes de la géométrie (charges dites « suiveuses »), on a TYPE_CHARGE qui vaut 'SUIV_PILO'.

Un chargement fixe n'est réévalué qu'à chaque nouvel instant, et seulement si chi dépend du temps (défini dans AFFE_CHAR_MECA_F et paramétré par l'instant ou bien affecté par FONC_MULT).

Si TYPE_CHARGE vaut 'SUIV', le chargement est dit « suiveur », c'est-à-dire qu'il dépend de la valeur des inconnues : par exemple, la pression, étant un chargement s'appliquant dans la direction normale à une structure, dépend de la géométrie actualisée de celle-ci, et donc des déplacements. Un chargement suiveur est réévalué à chaque itération de l'algorithme de résolution.

Actuellement les chargements qui peuvent être qualifiés de suiveur sont le chargement de pesanteur pour l'élément de CABLE_POULIE, la pression pour les modélisations 3D, 3D_SI, D_PLAN, D_PLAN_SI, AXIS, AXIS_SI, C_PLAN, C_PLAN_SI et pour toutes les modélisations THM (3D_HHM*, 3D_HM*, 3D_JOINT_CT, 3D_THH*, 3D_THHM*, 3D_THM*, AXIS_HHM*, AXIS_HM*, AXIS_THH*, AXIS_THHM*, AXIS_THM*, D_PLAN_HHM*, D_PLAN_HM*, D_PLAN_THH*, D_PLAN_THHM*, D_PLAN_THM*) et la force centrifuge en grands déplacements (mot clé ROTATION dans AFFE_CHAR_MECA). On peut également imposer qu'un chargement de Dirichlet soit suiveur dans le cas de la rigidification d'une partie de la structure par l'utilisation de LIAISON_SOLIDE (voir [U4.44.01]) en grandes transformations.

Manuel d'utilisation Fascicule u4.51: Analyse statique

(15)

Remarques :

La pression peut être définie par une fonction dépendant de la géométrie ( AFFE_CHAR_MECA_F ). Dans le cas suiveur, on peut choisir si cette dépendance se fait par rapport à la géométrie initiale avec les paramètres X , Y , et Z de DEFI_FONCTION ou par rapport à la géométrie réactualisée avec les paramètres XF , YF , et ZF .

Le chargement de type LIAISON_SOLIDE suiveur est strictement incompatible avec le pilotage et la recherche linéaire. Il n'est utilisable qu'avec des éléments finis isoparamétriques 2D et 3D (pas avec les éléments de structures tels que poutre, plaques et coques).

Si TYPE_CHARGE vaut 'DIDI' alors les conditions de Dirichlet (déplacements imposés, conditions linéaires) s'appliqueront sur l'incrément de déplacement à partir de l'instant donné sous ETAT_INIT/NUME_DIDI (par défaut l'instant de reprise du calcul) et non sur le déplacement total. Par exemple pour un déplacement imposé (mot clé DDL_IMPO de l'opérateur AFFE_CHAR_MECA) la condition sera de la forme

u−u

0

= d

u

0 est le déplacement défini par NUME_DIDI et non u=d.

3.4 Mot clé CONTACT

♦ CONTACT = contact

Ce mot clé simple permet d'activer la résolution du contact-frottement ou la prise en compte d'une liaison unilatérale. contact est un concept issu de l'opérateur DEFI_CONTACT [U4.44.11].

Attention :

Ce mot-clé simple n'accepte qu'un seul concept. On ne peut donc pas mélanger dans un même calcul non-linéaire la résolution du contact et la prise en compte d'une liaison unilatérale. On ne peut pas non plus mélanger les différentes formulations (DISCRETE, CONTINUE et XFEM)

3.5 Mot-clé SOUS_STRUC

◊ SOUS_STRUC

Ce mot clé facteur permet de préciser quels sont les chargements à utiliser pour les sous-structures statiques qui font alors obligatoirement partie du modèle. En son absence, les chargements sur les sous structures sont nuls.

Ces chargements s'ajoutent aux chargements « éléments finis » qui peuvent être appliqués sur le reste du modèle. Pour plus de précision concernant l'utilisation de sous-structures (élastiques linéaires) dans une structure non-linéaire, on se reportera à la documentation [U2.07.02] et le cas- test ssnv193a.

3.5.1 Opérande CAS_CHARGE

♦ CAS_CHARGE = nocas

nocas est le nom du cas de charge à utiliser. Voir opérateur MACR_ELEM_STAT [U4.62.01].

3.5.2 Opérandes TOUT / SUPER_MAILLE

♦ /TOUT = 'OUI'

Ce mot clé permet d'affecter le chargement nocas à toutes les sous-structures du modèle.

/SUPER_MAILLE = l_mail

Manuel d'utilisation Fascicule u4.51: Analyse statique

(16)

Ce mot clé facteur permet de n'affecter le chargement nocas qu'à certaines sous-structures.

3.5.3 Opérande FONC_MULT

◊ FONC_MULT =

f

i

f

i est la fonction du temps multiplicatrice du chargement précisé à la ième occurrence de SOUS_STRUCT.

Le comportement de ce mot clé est le même que pour son occurrence dans EXCIT.

3.6 Mot-clé COMPORTEMENT

La syntaxe de ce mot-clé commun à plusieurs commandes est décrite dans le document [U4.51.11].

3.7 Mot-clé SCHEMA_THM

◊ PARM_THETA = 1.0 , [DEFAUT]

parm_theta , [R]

◊ PARM_ALPHA = 1.0 , [DEFAUT]

parm_alpha , [R]

Ce mot-clef permet de gérer les paramètres des schémas THM pour l'hydraulique (PARM_THETA, voir [R7.01.10]) et pour les volumes finis de type SUSHI (PARM_ALPHA, voir [R7.01.34]).

Remarque : le paramètre PARM_THETA est bien distinct de celui défini dans le mot-clé COMPORTEMENT (voir §).

3.8 Mot clé ETAT_INIT

ETAT_INIT

Ce mot-clef permet de définir un état initial de référence. Par défaut, tous les champs sont identiquement nuls. L'état initial peut être défini soit en précisant chaque champ de l'état initial, soit en extraction depuis un concept de type evol_noli préexistant.

Remarques :

Dans le cas où l'utilisateur a spécifié que le concept résultat est réentrant (par le mot réservé reuse ), le mot-clé ETAT_INIT est obligatoire.

Dans le cas où l'on utilise la méthode continue du contact, la reprise de calcul prend automatiquement en compte les états de contact et les seuils de frottement issus du calcul précédent.

Si on utilise un état initial dont le MODELE est différent du MODELE de calcul renseigné dans l'opérateur, Code_Aster procède automatiquement au passage entre les deux modèles :

• Si le modèle de calcul est inclus dans le modèle donné dans l'état initial, les données de l'état initial sont simplement recopiées maille à maille pour tous les champs ;

• Si le modèle donné dans l'état initial est inclus dans le modèle de calcul, Code_Aster commence par copier les valeurs de l'état initial pour les mailles communes puis complète avec la valeur nulle ;

Dans le dernier cas, il faut prendre garde au sens que peut avoir une variable interne nulle initiale dans le calcul.

En grandes déformations, l'utilisateur souhaitant utiliser le formalisme GDEF_LOG avec un champ de contrainte initial (ETAT_INIT) se reportera au cas test SSNP159B. En effet, pour imposer un

Manuel d'utilisation Fascicule u4.51: Analyse statique

(17)

champ de contrainte initial, l'utilisateur doit donner en entrée le tenseur de contrainte défini dans l'espace logarithmique

T

(et non celui de Cauchy

σ

). Les composantes de ce dernier étant stockées en tant que variables internes, il faut utiliser les opérandes VARI et DEPL décrites ci- dessous (ces champs peuvent par exemple être obtenus par la commande CREA_CHAMP [U4.72.04]).

Si les caractéristiques matériaux dépendent fortement des variables de commande, il convient d'être prudent sur la sélection de l'état initial, au risque de ne pas converger. En effet, les comportements élastiques (ELAS_*) existent en deux versions (voir [U4.51.11]). La version élastique « pure » est choisie automatiquement par le code lorsqu'il n'y a pas d'état initial, sinon, on sélectionne la version incrémentale. Or, seule cette dernière est efficace si l'on a de fortes variations des caractéristiques matériaux (élastiques dans ce cas) par rapport aux variables de commande.

Remarque :

Si le calcul a du mal à converger dans ce cas, le plus simple est de créer artificiellement un état de contraintes initiales nul pour forcer la sélection du mode incrémental, ou d'utiliser une matrice purement élastique (opérande NEWTON ), qui permet une convergence certaine au prix d'un grand nombre d'itérations.

3.8.1 Opérandes SIGM / VARI / DEPL / STRX

/ | SIGM = sig

| VARI = vain

| DEPL = depl

| STRX = strx

| COHE = cohe

sig est le champ de contraintes aux points de Gauss, vain est le champ des variables internes aux points de Gauss et depl est le champ des déplacements aux nœuds pris à l'état initial et strx est le champ d’efforts et de déplacements correspondant aux éléments de structures. Le champ cohe est le champ de variables internes cohésives de la loi CZM_LIN_MIX dans le cas d'un calcul XFEM : sa structure, particulière, justifie l'emploi d'un mot-clé distinct de VARI. Si l'un de ces champs n'est pas précisé, il est pris nul par défaut. Ils peuvent par exemple être issus de la commande CREA_CHAMP, ou bien avoir été lus dans un fichier par la commande LIRE_RESU.

3.8.2 Opérandes EVOL_NOLI

/ EVOL_NOLI = evol

Nom du concept de type evol_noli d'où sera extrait l'état initial.

3.8.3 Opérande NUME_ORDRE / INST / NUME_DIDI

◊ / NUME_ORDRE = nuini / INST = instini

Extraction de l'état mécanique initial dans evol à partir du numéro d'archivage NUME_ORDRE ou de l'instant d'archivage INST pour effectuer la poursuite du calcul.

Si NUME_ORDRE ou INST ne sont pas remplis, on prend le dernier numéro archivé existant dans evol.

◊ NUME_DIDI = nudidi

Dans le cas de chargements de type Dirichlet différentiel ('DIDI'), on donne sous NUME_DIDI le numéro d'archivage de l'état mécanique (déplacements) qui sert de référence pour l'application de ces conditions aux limites. Par défaut on prend l'état mécanique défini sous NUME_ORDRE ou INST.

Manuel d'utilisation Fascicule u4.51: Analyse statique

(18)

3.8.4 Opérande INST_ETAT_INIT

◊ INST_ETAT_INIT = istetaini

On peut associer une valeur d'instant istetaini à cet état initial.

Par défaut :

1) Lorsque l'état initial est défini par la donnée des champs (ETAT_INIT avec DEPL/SIGM/VARI), il n'y a pas d'instant associé.

2) Lorsque l'état est donné par un concept evol_noli (ETAT_INIT avec EVOL_NOLI), il s'agit de l'instant dans le précédent calcul (istetaini = instini).

A - Exemple simple (comportement par défaut)

LIST1 = DEFI_LIST_REEL(DEBUT =0.,

INTERVALLE =_F(JUSQU'A = 4., NOMBRE =4)), U = STAT_NON_LINE (INCREMENT =_F(LIST_INST =LIST1)) ,

LIST2 = DEFI_LIST_REEL(DEBUT =4.,

INTERVALLE =_F(JUSQU'A = 10., NOMBRE =6)), U = STAT_NON_LINE(reuse=U,

INCREMENT =_F(LIST_INST =LIST2), ETAT_INIT =_F(EVOL_NOLI =U)) , Premier STAT_NON_LINE : effectue le calcul pour les instants

1

,

2

,

3

et

4s

.

Second STAT_NON_LINE : effectue le calcul pour les instants

5

,

6

,

7

,

8

,

9

et

10s

, l'état initial correspondant au temps

4s

.

B - Exemple pour montrer l'intérêt de INST_ETAT_INIT (deux listes d'instants différentes) LIST1 = DEFI_LIST_REEL(DEBUT =0.,

INTERVALLE =_F(JUSQU'A = 10., NOMBRE =10)), U = STAT_NON_LINE (INCREMENT =_F(LIST_INST =LIST1)) ,

LIST2 = DEFI_LIST_REEL(DEBUT =20.,

INTERVALLE =_F(JUSQU'A = 30., NOMBRE =10)), U = STAT_NON_LINE (reuse=U

INCREMENT =_F(LIST_INST =LIST2), ETAT_INIT =_F(EVOL_NOLI =U,

INST_ETAT_INIT = 20.)) ,

Premier STAT_NON_LINE : effectue le calcul des instants

1

à

10s

.

Second STAT_NON_LINE : effectue le calcul des instants

21

à

30s

, l'état initial correspondant à l'instant

t=10s

du premier STAT_NON_LINE (par défaut INST=10.). Cet état initial correspond pour ce second STAT_NON_LINE à l'instant

t =20s

. (INST_ETAT_INIT=20.).

C - Exemple pour montrer l'intérêt de INST_ETAT_INIT (pratique quand on fait du cyclique) LIST1 = DEFI_LIST_REEL(DEBUT =0.,

INTERVALLE =_F(JUSQU'A = 10., NOMBRE =10)),

U1 = STAT_NON_LINE (INCREMENT =_F( LIST_INST =LIST1)) ,

Manuel d'utilisation Fascicule u4.51: Analyse statique

(19)

U2 = STAT_NON_LINE (INCREMENT =_F( LIST_INST =LIST1), ETAT_INIT =_F( EVOL_NOLI =U1,

INST_ETAT_INIT = 0.)) , Premier STAT_NON_LINE : effectue le calcul des instants

1

à

10s

.

Second STAT_NON_LINE : effectue le calcul des instants

1

à

10s

, l'état initial correspondant à l'instant

t=10s

du premier STAT_NON_LINE (par défaut INST=10.). Cet état initial correspond pour ce second STAT_NON_LINE à l'instant

t =0s

. (INST_ETAT_INIT= 0.).

3.8.5 Opérande PRECISION / CRITERE

PRECISION = prec

Confer [U4.71.00] pour la syntaxe détaillée

Ce paramètre sert à repérer le bon numéro d'ordre (NUME_ORDRE) quand l'utilisateur renseigne l'instant (INST). En effet, les instants dans STAT_NON_LINE sont repérés par un numéro d'ordre (un entier). Si l'utilisateur veut utiliser un instant (un réel) et non un numéro d'ordre pour INST, l'opérande précision permet de sélectionner ce numéro d'ordre.

Exemple:

NUME 1 2 3 4 5 6 7

INST 0,0010 0,0020 0,0030 0,0040 0,0050 0,0060 0,0070

Si l'utilisateur veut sélectionner l'instant correspondant à NUME=4, il lui suffit de dire INST=0,004.

Par contre, pour le deuxième exemple:

NUME 1 2 3 4 5 6 7

INST 0,10000001 0,10000002 0,10000003 0,10000004 0,10000005 0,10000006 0,10000007 Si l'utilisateur veut sélectionner l'instant correspondant à NUME=4, il ne lui suffit pas de dire INST=0,10000004, car l'écart relatif entre les instants vaut

0,10000005−0,10000004

0,10000004 =1E-7

qui est supérieur à la valeur de précision par défaut (

1E-6

). On ne pourra donc pas distinguer NUME=3,4 et 5 (le code s'arrête alors en erreur fatale). Il suffit alors de changer le paramètre PRECISION pour pouvoir sélectionner l'instant (dans l'exemple, PRECISION=1E-8 conviendra).

3.9 Mot clé INCREMENT

♦ INCREMENT=_F()

Définit les intervalles de temps pris dans la méthode incrémentale.

Les instants ainsi définis n'ont de sens physique que pour des relations de comportement où le temps intervient explicitement (visco-élastiques ou visco-plastiques par exemple). Dans les autres cas, ils permettent seulement d'indicer les incréments de charge et de paramétrer l'évolution d'un éventuel champ de température.

3.9.1 Opérande LIST_INST

♦ LIST_INST = /litpsr8, [listr8]

/litps, [list_inst]

Si LIST_INST = litpsr8 [listr8]

Manuel d'utilisation Fascicule u4.51: Analyse statique

(20)

Les instants de calcul sont ceux définis dans le concept litpsr8 par l'opérateur DEFI_LIST_REEL [U4.34.01].

Si LIST_INST = litps [list_inst]

Les instants de calcul sont ceux définis dans le concept litps par l'opérateur DEFI_LIST_INST [U4.34.03].

3.9.2 Opérandes NUME_INST_INIT / INST_INIT / NUME_INST_FIN / INST_FIN

/NUME_INST_INIT = nuini /INST_INIT = instini

L'instant initial du calcul (qui donc n'est pas (re)calculé) est désigné soit par sa valeur (INST_INIT), soit par son numéro d'ordre dans la liste d'instants litps (NUME_INST_INIT). Pour pouvoir accéder par valeur, il est nécessaire que la liste soit ordonnée.

En l'absence des mots clés INST_INIT ou NUME_INST_INIT, le défaut est calculé de la manière suivante :

1) Si un état initial est précisé (opérande ETAT_INIT) et s'il définit un instant correspondant (par EVOL_NOLI ou INST_ETAT_INIT) alors l'instant initial est celui défini par cet état initial,

2) S'il n'y a pas d'état initial (opérande ETAT_INIT absent) ou qu'il ne définit pas d'instant correspondant (les champs sont donnés dans ETAT_INIT sans préciser INST_ETAT_INIT), alors on prend le premier instant de la liste d'instants (NUME_INST_INIT=0).

3) En cas d'archivage (voir mot-clef ARCHIVAGE), l'instant initial en poursuite est le dernier pas archivé et non celui défini dans INST_INIT.

/NUME_INST_FIN = nufin /INST_FIN = instfin

L'instant final (dernier pas calculé) est désigné de la même manière que l'instant initial (soit NUME_INST_FIN, soit INST_FIN), sauf qu'il n'est pas possible de faire référence à l'instant de l'état initial.

Attention :

• Si le redécoupage automatique du pas de temps est activé, NUME_INST_FIN n'en tient pas compte et travaille toujours sur la liste d'instants initial. NUME_INST_INIT et NUME_INST_FIN ne sont actifs qu'à l'initialisation.

• La liste d'instants étant strictement croissante, il peut arriver que certains pas de temps ne soient pas archivés bien que demandés. Par exemple, dans le cas d'une reprise de calcul. Si le calcul en reprise d'un calcul précédent n'a aucun instant supérieur à la première phase de calcul, aucun pas de temps ne sera archivé.

A - Exemple simple (comportement par défaut) LIST = DEFI_LIST_REEL( DEBUT =0.,

INTERVALLE =_F(JUSQU'A= 10., NOMBRE =10)), U = STAT_NON_LINE ( INCREMENT =_F ( LIST_INST =LIST,

INST_FIN =4.)) , U = STAT_NON_LINE( reuse=U,

INCREMENT =_F ( LIST_INST =LIST),

Manuel d'utilisation Fascicule u4.51: Analyse statique

(21)

ETAT_INIT =_F (EVOL_NOLI :U)) ,

Premier STAT_NON_LINE : effectue le calcul pour les instants

1

,

2

,

3

et

4s

.

Second STAT_NON_LINE : effectue le calcul pour les instants

5

,

6

,

7

,

8

,

9

et

10s

, l'état

initial correspondant au temps

4s

. (par défaut INST_INIT=INST_ETAT_INIT=INST=4.).

B - Exemple pour montrer l'intérêt de INST_INIT LIST = DEFI_LIST_REEL( DEBUT =0.,

INTERVALLE = _F (JUSQU'A = 10., NOMBRE =10)), U = STAT_NON_LINE ( INCREMENT = _F( LIST_INST = LIST,

INST_FIN = 4.)) , U = STAT_NON_LINE ( reuse = U,

INCREMENT =_F ( LIST_INST =LIST, INST_INIT =8.),

ETAT_INIT =_F ( EVOL_NOLI =U)) ,

Premier STAT_NON_LINE : effectue le calcul des instants

1

à

4s

.

Second STAT_NON_LINE : effectue le calcul pour les instants

9

et

10s

(ne fait rien pour

t =5, 6,7

et

8s

), l'état initial correspondant au temps

t = 4s

(par défaut INST=4.).

3.9.3 Opérande PRECISION

PRECISION = prec

Cf. [U4.71.00] pour la syntaxe détaillée

Ce paramètre sert à repérer le bon numéro d'ordre (NUME_INST_FIN/NUME_INST_INIT) quand l'utilisateur renseigne l'instant (INST_FIN/INST_INIT). En effet, les instants dans STAT_NON_LINE sont repérés par un numéro d'ordre (un entier). Si l'utilisateur veut utiliser un instant (un réel) et non un numéro d'ordre pour (NUME_INST_*), l'opérande précision permet de sélectionner ce numéro d'ordre.

Exemple:

NUME 1 2 3 4 5 6 7

INST 0,0010 0,0020 0,0030 0,0040 0,0050 0,0060 0,0070

Si l'utilisateur veut sélectionner l'instant correspondant à NUME=4, il lui suffit de dire INST=0,10000004. Par contre, pour le deuxième exemple:

NUME 1 2 3 4 5 6 7

INST 0,10000001 0,10000002 0,10000003 0,10000004 0,10000005 0,10000006 0,10000007 Si l'utilisateur veut sélectionner l'instant correspondant à NUME=4, il ne lui suffit pas de dire INST=0,10000004, car l'écart relatif entre les instants vaut

0,10000005−0,10000004

0,10000004 =1E-7

qui est supérieur à la valeur de précision par défaut (

1E-6

). On ne pourra donc pas distinguer NUME=3,4 et 5 (le code s'arrête alors en erreur fatale). Il suffit alors de changer le paramètre PRECISION pour pouvoir sélectionner l'instant (dans l'exemple, PRECISION=1E-8 conviendra).

Manuel d'utilisation Fascicule u4.51: Analyse statique

(22)

3.10 Opérande CRIT_QUALITE

ERRE_TEMPS_THM = /'NON' [DEFAUT]

/'OUI'

Cet opérande permet d'activer le calcul des indicateurs d'erreur. ERRE_TEMPS_THM est l'indicateur d'erreur temporel pour les modélisations HM instationnaires. Voir [R4.10.05].

3.11 Opérande METHODE

METHODE = /'NEWTON' /'IMPLEX'

/'NEWTON_KRYLOV' /'MODELE_REDUIT'

Permet de choisir la méthode de résolution du problème incrémental non linéaire.

/'NEWTON'

On utilise l'algorithme de Newton-Raphson pour résoudre le problème (voir [R5.03.01]).

/'IMPLEX'

On utilise l'algorithme IMPLEX pour résoudre le problème (voir [R5.03.81]).

/'NEWTON_KRYLOV'

On utilise une version inexacte de l'algorithme de Newton-Raphson ; la précision des résolutions de systèmes linéaires par une méthode itérative est adaptée au cours de chaque pas de chargement (voir [R5.03.01]).

/'MODELE_REDUIT'

On utilise une méthode de réduction de modèle pour faire le calcul non-linéaire (voir [R5.01.05]). Il est nécessaire d'avoir construit une base réduire préalablement (commande DEFI_BASE_REDUITE).

3.12 Mot clé NEWTON

Précise les caractéristiques de la méthode de résolution du problème incrémental non-linéaire (méthode de Newton-Raphson)

3.12.1 Opérande PREDICTION

◊ PREDICTION = /'TANGENTE' /'ELASTIQUE' /'EXTRAPOLE' /'DEPL_CALCULE'

La phase de prédiction (Cf. [R5.03.01]) a pour but de calculer une estimation du champ de déplacements afin de permettre à la méthode de Newton de converger plus rapidement.

Lorsque le mot clé est absent, c'est la matrice tangente en vitesse (option RIGI_MECA_TANG) qui est utilisée si l'on a choisi pour la méthode de Newton une MATRICE='TANGENTE', et c'est la matrice élastique (option RIGI_MECA) qui est utilisée si on a choisi MATRICE='ELASTIQUE'. /'TANGENTE'

On utilise la matrice tangente du problème en vitesse (option RIGI_MECA_TANG).

/'ELASTIQUE'

Manuel d'utilisation Fascicule u4.51: Analyse statique

(23)

On utilise la matrice élastique (option RIGI_MECA).

/'EXTRAPOLE'

On calcule l'estimation de l'incrément de déplacement à partir de l'incrément total obtenu comme solution au pas de temps précédent (pondéré par le rapport des pas de temps). On projette cette estimation sur l'ensemble des champs cinématiquement admissibles (i.e. satisfaisant les conditions aux limites de Dirichlet) selon la norme donnée par la matrice élastique, qui doit donc être calculée.

Cette fonctionnalité est intéressante dans le cas de l'utilisation de schémas d'intégration locale explicite de type Runge-Kutta qui ne fournissent pas de matrice tangente : dans ce cas la méthode de Newton utilise une matrice élastique, mais le nombre d'itérations nécessaires peut être élevé.

L'utilisation de l'extrapolation peut améliorer les performances.

/'DEPL_CALCULE'

Permet de proposer comme déplacement pour la prédiction à chaque pas de temps, le déplacement donné par une histoire mécanique précisée sous le mot clé EVOL_NOLI (§17). Le déplacement est projeté sur l'ensemble des champs cinématiquement admissible, comme pour la méthode EXTRAPOLE.

Remarques:

• Les méthodes 'EXTRAPOLE' et 'DEPL_CALCULE' procèdent à une projection de la solution sur l'ensemble des champs cinématiquement admissibles. On se sert pour cela des conditions aux limites de Dirichlet donné dans le mot-clef EXCIT. Dans ce cas, il n'est pas possible d'utiliser des chargements de Dirichlet de type « cinématique » (opérande AFFE_CHAR_CINE) mais uniquement des chargements de Dirichlet par dualisation (opérande AFFE_CHAR_MECA).

Le risque dans ce cas étant que le champ de déplacement ne soit pas cinématiquement admissible ;

• Les méthodes 'EXTRAPOLE' et 'DEPL_CALCULE' ne prennent pas en compte les termes de contact à la phase de prédiction. Par conséquent, il est conseillé de choisir les méthodes 'ELASTIQUE' et 'TANGENTE' pour des calculs de contact.

• Il est nécessaire que les déplacements utilisés dans 'EXTRAPOLE' et 'DEPL_CALCULE' soient issus de calcul utilisant le même maillage car les conditions limites doivent être cohérentes ;

• Du fait de cette projection sur les conditions limites, ces deux options sont incompatibles avec les fonctionnalités du PILOTAGE .

Attention, du fait de l'impossibilité de « projeter » correctement les conditions limites d'un maillage à l'autre, il est désormais fortement déconseillé d'utiliser 'EXTRAPOLE' et 'DEPL_CALCULE' à partir d'un maillage différent du calcul courant.

Utilité :

• Si on a obtenu une première solution sur le même maillage avec d'autres paramètres matériaux ou un autre comportement, les champs de déplacements peuvent être réutilisés dans le calcul.

• Cela permet de réduire la place mémoire et de conserver ces résultats en vue d'une poursuite ultérieure. Pour un gros calcul, on peut stocker uniquement les déplacements à tous les instants aux formats IDEAS ou MED dans IMPR_RESU. Si on veut recalculer les contraintes et variables internes, on fait un LIRE_RESU au format adéquat puis on utilise DEPL_CALCULE avec ITER_GLOB_MAXI=0 (on effectue une seule itération) et ARRET='NON' (il n'y a pas convergence, on ne vérifie pas l'équilibre). Il est toutefois nécessaire pour des raisons de syntaxe de donner un chargement (éviter les chargements Dirichlet qui imposent une résolution linéaire) ainsi qu'un critère de convergence, même si ces informations ne sont pas prises en compte.

3.12.2 Opérandes MATRICE, REAC_INCR, REAC_ITER, PAS_MINI_ELAS et REAC_ITER_ELAS

Manuel d'utilisation Fascicule u4.51: Analyse statique

(24)

◊ MATRICE = / 'TANGENTE'

◊ REAC_INCR = /1 [DEFAUT]

/mf

◊ REAC_ITER = /1 [DEFAUT]

/it

La matrice utilisée pour les itérations globales de la méthode est la matrice tangente [R5.03.01]. La matrice tangente de prédiction est réévaluée tous les mf incréments de temps (mf positif ou nul) et la matrice tangente cohérente (option FULL_MECA) est réévaluée toutes les it itérations de Newton pour un incrément de temps donné (précisément aux itérations de numéro it, 2it, 3it...).

Donc à la première itération de Newton, on ne réassemble la matrice tangente que si it vaut 1 : sinon on garde la matrice utilisée dans la phase de prédiction. Par convention si it vaut 0 la matrice n'est pas réévaluée durant tout le pas de temps.

PAS_MINI_ELAS = /0. [DEFAUT]

/pasmini [R]

◊ REAC_ITER_ELAS = /0 [DEFAUT]

/it [I]

Ces options permettent de passer de la matrice tangente à la matrice de décharge (i.e en considérant que les non-linéarités n'évoluent pas) lorsque le pas de temps est inférieur à pasmini.

Cette matrice de décharge est la matrice élastique pour les modèles de comportement de type plastique ; pour les modèles d'endommagement elle s'identifie à la matrice sécante.

Comme la convergence avec la matrice élastique est plus lente que celle avec la matrice tangente, le mot clé ITER_GLOB_ELAS sous le mot clé facteur CONVERGENCE permet de définir un nombre d'itérations maximal spécifique à l'utilisation de la matrice élastique et différent de celui associé à l'utilisation de la matrice tangente.

On peut définir une fréquence de réactualisation de la matrice de décharge avec le mot-clé REAC_ITER_ELAS (analogue de REAC_ITER). Si la matrice de décharge ne dépend pas de l'état de déformation (ce qui est le cas pour les matériaux plastiques mais pas pour les modèles d'endommagement), prendre REAC_ITER_ELAS = 0 (puisqu'elle sera la même au cours des itérations).

Utilité :

Cette option peut être utile lorsque le redécoupage automatique du pas de temps ne suffit pas à faire converger un calcul. Par exemple, dans le cas de lois adoucissantes, la matrice tangente peut devenir singulière et il vaut donc mieux utiliser la matrice élastique pour converger.

MATRICE = /'ELASTIQUE'

La matrice utilisée correspond au calcul élastique : elle n'est évaluée qu'une fois à l'instant initial, en début d'algorithme. Cette matrice "élastique" est calculée en utilisant le module d'Young donné sous le mot clé ELAS de l'opérateur DEFI_MATERIAU, et non pas la pente à l'origine de la courbe de traction donnée sous le mot clé TRACTION (et qui sert, elle, dans l'expression des relations de comportement VMIS_ISOT_TRAC, VMIS_ECMI_TRAC, VISC_ISOT_TRAC [U4.51.11]).

3.12.3 Opérande EVOL_NOLI

◊ EVOL_NOLI = evol_noli

Nom du concept de type evol_noli qui servira dans la prédiction par DEPL_CALCULE.

3.12.4 Opérande MATR_RIGI_SYME

MATR_RIGI_SYME = /'NON' [DEFAUT]

= /'OUI'

Cet opérande sert à forcer la symétrie de la matrice de rigidité. Il est utile lorsqu'on utilise simultanément une fonctionnalité utilisant une matrice non-symétrique (formalisme de Simo- Miehe, chargements de type pression suiveuse, etc) et la formulation de contact de type DISCRETE

Manuel d'utilisation Fascicule u4.51: Analyse statique

(25)

ou LIAISON_UNIL (cf. [U4.44.11]). En effet, ces dernières ne peuvent fonctionner qu'avec une matrice de rigidité symétrique. Le fait de rendre la matrice de rigidité symétrique a des conséquences sur la vitesse de convergence, pouvant aller jusqu'à son échec mais ne produira jamais de résultats faux. Si le fait de symétriser la matrice de rigidité rend impossible la convergence de l'algorithme de Newton, l'utilisateur est invité à utiliser une formulation de contact de type CONTINUE, qui fonctionne avec une matrice de rigidité non-symétrique.

3.13 Mot-clé MODELE_REDUIT

Précise les caractéristiques de la méthode de résolution du problème incrémental non-linéaire par une méthode de réduction de modèle (voir [R5.01.05]).

PREDICTION = /'TANGENTE' /'ELASTIQUE' /'EXTRAPOLE' /'DEPL_CALCULE'

◊ MATRICE = /'TANGENTE' /'ELASTIQUE'

◊ REAC_INCR = /1 [DEFAUT]

/mf

REAC_ITER = /1 [DEFAUT]

/it

◊ EVOL_NOLI = evol_noli

BASE_PRIMAL = mode_empi

DOMAINE_REDUIT = /'NON' [DEFAUT]

/'OUI' Si DOMAINE_REDUIT = 'OUI'

♦ GROUP_NO_INTERF = grno

◊ CORR_COMPLET = /'NON' [DEFAUT]

/'OUI' Si CORR_COMPLET = 'OUI'

GROUP_NO_ENCASTRE = grno

◊ COEF_PENA = /1.0E 6 , [DEFAUT]

/coef_pena [R]

Les mots-clefs MATRICE, PREDICTION, REAC_ITER, REAC_INCR et EVOL_NOLI ont la même signification et le même usage que dans le mot-clef facteur NEWTON (voir §3.12).

Il est nécessaire de fournir une base empirique construite sur les déplacements (grâce à l’opérateur DEFI_BASE_REDUITE). Cette base doit avoir été construite sur le même modèle et le même maillage que le calcul STAT_NON_LINE.

La réduction de modèle n'est pas compatible avec les fonctionnalités suivantes:

• Avec le contact et le frottement,

• Avec le pilotage,

• Avec la recherche linéaire,

• Avec les conditions limites dualisées (AFFE_CHAR_MECA): il faut utiliser AFFE_CHAR_CINE,

• Avec les modèles mixtes : la réduction de modèle est uniquement compatible avec des éléments finis en déplacement.

Il est possible d'activer l'hyper-réduction qui utilise une méthode de type dEIM (discrete Empirical Interpolation Method). Dans ce cas, le calcul est réduit sur une zone du maillage restreinte (appelée RID) et construite à l'aide de l'opérateur DEFI_DOMAINE_REDUIT. Il faut donner le groupe de noeuds sur lequel est défini l'interface à l'aide du mot-clef GROUP_NO_INTERF.

Pour améliorer la qualité des résultats en hyper-réduction (DOMAINE_REDUIT='OUI'), il est possible de faire une correction du calcul hyper-réduit par un calcul élément fini détaillé avec CORR_COMPLET='OUI'.

Pour celà, il est nécessaire de définir un groupe de noeuds servant à faire la liaison entre le RID et le reste du modèle avec le mot-clef GROUP_NO_ENCASTRE (défini par exemple dans la commande DEFI_DOMAINE_REDUIT). Ce groupe de noeuds permet d'imposer les conditions limites de Dirichlet

Manuel d'utilisation Fascicule u4.51: Analyse statique

(26)

nécessaire à ce que le problème corrigé soit bien défini. Ces conditions limites étant définies par pénalisation, le coefficient de pénalisation peut être changé par le mot-clef COEF_PENA.

Remarque: cette correction se faisant toujours sur le domaine réduit, elle ne sera pas aussi précise qu'un vrai calcul détaillé (domaine complet). Néanmoins, elle est très utile lorsque l'on change de manière significative les conditions limites entre la définition de la base réduite (phase off-line dans DEFI_BASE_REDUITE ) et le calcul utilisant cette base réduite (phase on-line dans STAT_NON_LINE ).

3.14 Mot clé RECH_LINEAIRE

RECH_LINEAIRE=_F()

La recherche linéaire peut permettre d'améliorer la convergence de la méthode de Newton (Cf. [R5.03.01] pour plus de détails).

Attention :

Il est déconseillé d'utiliser la recherche linéaire avec les déformations GROT_GDEP pour les modélisations COQUE_3D et en présence de contact.

3.14.1 Opérande METHODE

METHODE = /'CORDE' [DEFAUT]

/'MIXTE' /'PILOTAGE'

Permet de choisir la méthode de recherche linéaire, c'est-à-dire l'algorithme de recherche du zéro de la fonctionnelle (voir doc [R5.03.01]). La méthode CORDE (par défaut) est la méthode la plus simple, c'est une méthode sécante unidimensionnelle.

La méthode MIXTE est plus élaborée et utilise une méthode sécante avec des bornes variables.

Elle est plus efficace lorsque la fonctionnelle n'est pas strictement concave (problèmes avec endommagement ou THM par exemple).

La méthode PILOTAGE est réservée au pilotage de type DEFORMATION, PRED_ELAS et LONG_ARC (voir §27). C'est la seule méthode utilisable avec ce type de pilotage. Pour le pilotage de type DDL_IMPO, on peut utiliser CORDE ou MIXTE.

3.14.2 Opérande RESI_LINE_RELA / ITER_LINE_MAXI

RESI_LINE_RELA = /1.E-1 [DEFAUT]

/reslin

◊ ITER_LINE_MAXI = /3 [DEFAUT]

/itelin

Ce sont les paramètres de la recherche linéaire. On donne le nombre d'itérations maximum itelin à effectuer et la précision reslin à atteindre pour réaliser la convergence de la recherche linéaire. Il est conseillé de ne pas utiliser la recherche linéaire avec du contact.

Pour la méthode CORDE, Il n'est pas nécessaire de spécifier une précision ni un nombre d'itérations très élevés, la pratique montrant que deux ou trois itérations de recherche linéaire sont suffisantes.

On peut donc se contenter de demander trois itérations avec la précision par défaut. L'utilisateur ne peut pas mettre plus de 999 itérations de recherche linéaire pour la méthode CORDE.

Par contre, pour la méthode MIXTE, sur des problèmes avec endommagement, plusieurs dizaines d'itérations sont souvent efficaces.

3.14.3 Opérandes RHO_MIN / RHO_MAX / RHO_EXCL

Manuel d'utilisation Fascicule u4.51: Analyse statique

(27)

RHO_MIN = / 1.E-2 [DEFAUT]

/ rmin [R]

◊ RHO_MAX = / 1.E+1 [DEFAUT]

/ rmax [R]

◊ RHO_EXCL = / 9.E-3 [DEFAUT]

/ rexc [R]

Ces mots-clés fixent l'intervalle

I

dans lequel on calcule le coefficient RHO de la recherche linéaire, sous la forme :

I =[ rmin , rmax]−[−rexc , rexc]

[R5.03.01].

3.15 Mot clé PILOTAGE

◊ PILOTAGE =_F()

Lorsque l'intensité

d'une partie du chargement n'est pas connue a priori (chargement dit de référence défini dans AFFE_CHAR_MECA ou AFFE_CHAR_MECA_F avec charge de type FIXE_PILO), le mot clé PILOTAGE permet de piloter ce chargement par l'intermédiaire d'un nœud (ou groupe de nœud) sur lequel on peut imposer différents modes de pilotage (mot clé TYPE).

Attention :

•Avec FIXE_PILO , on ne peut pas utiliser pour le chargement de référence le mot clé FONC_MULT .

•Lorsque le chargement de référence est défini par AFFE_CHAR_MECA_F , ce chargement peut être fonction des variables d'espace mais pas du temps. De même, les changements issus de variables de commande (comme la température) qui dépendent du temps ne sont pas utilisables avec le pilotage.

• Le mot clé PILOTAGE est interdit avec le contact (sauf dans le cas du contact XFEM).

•Il n'est pas possible de faire du PILOTAGE avec PREDICTION='DEPL_CALCULE' ou PREDICTION='EXTRAPOLE' (voir § 22 )

3.15.1 Opérande TYPE

◊ TYPE = /'DDL_IMPO' /'LONG_ARC ' /'ANA_LIM' /'DEFORMATION /'PRED_ELAS' /'SAUT_IMPO' /'SAUT_LONG_ARC'

C'est le type de pilotage effectué. Sept modes de pilotage sont disponibles (Confer [R5.03.80] pour plus de détails) :

/'DDL_IMPO'

Permet d'imposer une valeur donnée d'incrément de déplacement (une seule composante

i

possible) en un unique nœud no (ou d'un groupe de nœuds ne comportant qu'un seul nœud). À chaque incrément de temps, on cherche l'amplitude

du chargement de référence qui permettra de satisfaire la relation incrémentale suivante :

cmult .uino=t

/'SAUT_IMPO'

Reprend le principe de DDL_IMPO mais pour contrôler l'incrément du saut de déplacement entre les lèvres d'une fissure X-FEM. Une seule direction

i

est possible, mais elle peut être définie dans une base locale (normale ou tangente à la fissure). On contrôle la moyenne de cet incrément de saut sur un ensemble de points d'intersection Pa de l'interface avec les arêtes a du maillage. Cet ensemble décrit toute la fissure si GROUP_NO n'est pas renseigné (comportement par défaut), et

Manuel d'utilisation Fascicule u4.51: Analyse statique

(28)

seulement une partie s'il l'est. Attention, ce type de pilotage ne peut être utilisé qu'en modélisation X-FEM.

cmult . 1 N

a=1 N

〚 u

i

〛  P

a

= t

/'LONG_ARC'

Permet de piloter l'intensité  du chargement de référence par la longueur (abscisse curviligne) de la réponse en déplacement d'un groupe de nœuds (à utiliser par exemple lorsqu'on veut contrôler le flambement d'une éprouvette). On vérifie la relation suivante :

cmult .∥ u∥= t

avec

∥ u∥=

n

c

 u

n , c2

 

où n sont les nœuds du pilotage et c les composantes du déplacement des nœuds considérés.

Même si le groupe de nœud du pilotage est réduit à un seul nœud, il faut quand même utiliser GROUP_NO.

/'SAUT_LONG_ARC'

Reprend le principe de LONG_ARC mais pour contrôler la norme de l'incrément du saut de déplacement entre les lèvres d'une fissure X-FEM. On contrôle cette norme en moyenne sur un ensemble de points d'intersection

P

a de l'interface avec les arêtes

a

du maillage. Cet ensemble décrit toute la fissure si GROUP_NO n'est pas renseigné (comportement par défaut), et seulement une partie s'il l'est.

cmult .∥ 〚u〛∥=t avec

∥  〚 u〛∥=N 1

c

a=1N

〚 u

c

〛 P

a

2

où c sont les composantes du déplacement. Même si le groupe de nœud du pilotage est réduit à un seul nœud, il faut quand même utiliser GROUP_NO.

/'ANA_LIM'

Ce mode de pilotage est spécifique au calcul de charge limite (loi NORTON_HOFF) par approche cinématique ( cf. [R7.07.01] pour plus de détail). Si

F

désigne le chargement assemblé piloté, TYPE_CHARGE='FIXE_PILO', alors la fonction de pilotage s'écrit simplement :

P u =F .u =1

Excepté pour le calcul de charge limite, cette fonctionnalité ne présente pas d'intérêt a priori. Pour ce mode de pilotage, aucun autre mot clé n'est à préciser.

L'utilisation de lois de comportement adoucissantes peut conduire à des snap-backs brutaux qui rendent délicat le déroulement du calcul. Les deux modes de pilotage suivants y remédient (Cf.

[R5.03.80] pour plus de détail).

/'DEFORMATION'

DEFORMATION garantit qu'au moins un point de Gauss de la structure voit sa déformation évoluer de façon monotone. On vérifie la relation :

cmult . max

point de Gauss

 ∥˙∥ ˙ .   = t

Ce mode de pilotage est valable pour toutes les lois de comportement y compris en grandes déformations SIMO_MIEHE.

/'PRED_ELAS'

Manuel d'utilisation Fascicule u4.51: Analyse statique

(29)

PRED_ELAS assure qu'au moins un point de Gauss de la structure sorte du seuil d'élasticité linéarisé f pred-elas d'une quantité t

cmult . On vérifie la relation :

cmult . max

point deGauss

f

pred−elas

= t

Ce mode de pilotage est valable uniquement pour les lois ENDO_SCALAIRE (avec la version non locale), ENDO_FISS_EXP (non locale uniquement), ENDO_ISOT_BETON et ENDO_ORTH_BETON (avec la version locale et la version non locale), BARENBLATT, BETON_DOUBLE_DP, CZM_EXP (avec les éléments à discontinuité interne *_ELDI) , CZM_OUV_MIX et CZM_TAC_MIX (éléments d'interface *_INTERFACE), CZM_EXP_REG (éléments de joint *_JOINT ou modélisation X-FEM) et CZM_LIN_REG (éléments de joint).

La fixation du paramètre

cmult

est difficile à définir du premier coup parce que la notion de sortie de critère

t

cmult

n'est pas intuitive et varie selon les lois de comportement. Pour les lois ENDO_SCALAIRE, ENDO_FISS_EXP et ENDO_ISOT_BETON, une version différente de la définition de t

cmult est utilisée, où ce paramètre est lié à l'incrément d'endommagement (voir [R7.01.04]).

Utilisation – Attention :

Lorsqu'on veut utiliser ces deux derniers modes de pilotage, il est indispensable de faire un premier STAT_NON_LINE sans le mot clé PILOTAGE pour amorcer le problème et obtenir un état initial - différent de zéro (sinon division par zéro pour le pilotage par incrément de déformation). On effectue après une reprise à partir de cet état initial non nul et on utilise le pilotage.

De plus, la résolution des deux équations précédentes permet d'obtenir l'intensité du chargement inconnue. Dans certains cas, la résolution de ces équations peut conduire à plusieurs solutions pour l'intensité. On choisit alors toujours la solution qui est la plus proche de

-. C'est pourquoi, lorsqu'on veut imposer un chargement alterné, on est obligé à chaque changement de signe du chargement de réaliser un premier STAT_NON_LINE sans le mot clé PILOTAGE afin d'obtenir un état initial - de traction ou de compression. On effectue ensuite un second STAT_NON_LINE en poursuite à partir de l'état initial précédent avec le mot clé PILOTAGE.

Remarque :

DEFORMATION et PRED_ELAS ne sont pas disponibles pour les éléments de structures.

3.15.2 Opérandes NOEUD/GROUP_NO

/ NOEUD = no / GROUP_NO = grno

À n'utiliser qu'avec 'DDL_IMPO', 'LONG_ARC', 'SAUT_IMPO' ou 'SAUT_LONG_ARC'. Pour 'DDL_IMPO', si on utilise l'opérande GROUP_NO, le groupe de nœuds en question ne doit contenir qu'un seul nœud. Dans les autres cas, on utilise uniquement GROUP_NO (qui peut éventuellement ne contenir qu'un seul nœud). Pour 'SAUT_IMPO' et 'SAUT_LONG_ARC', l'opérande est facultative.

Pour 'DDL_IMPO' et 'LONG_ARC', on donne le nom du nœud ou le nom du groupe de nœuds sur lequel on va imposer le pilotage.

Pour 'SAUT_IMPO' et 'SAUT_LONG_ARC', la définition est plus subtile puisqu'en modélisation X-FEM on ne pilote pas les valeurs sur des nœuds mais sur des points d'intersection entre les

Manuel d'utilisation Fascicule u4.51: Analyse statique

Références

Documents relatifs

On demande de r´ ealiser les mˆ emes graphiques que pour le cas du sch´ ema de Gauß avec l’algorithme du point fixe.

This keyword makes it possible post-to treat certain fields with the nodes or the elements on parts of model moments of a list (known as of observation) generally more refined than

Lorsque le mot clé est absent, c'est la matrice tangente en vitesse (option RIGI_MECA_TANG) qui est utilisée si l'on a choisi pour la méthode de Newton une MATRICE='TANGENTE' ,

On peut supposer que la solution en déplacement pour ce second calcul n'est pas éloignée de celle du premier calcul et donc qu'une bonne prédiction du déplacement pour

Dans le même ordre d'idée d'utiliser un solveur transitoire pour obtenir une réponse statique dont la convergence avec une méthode implicite habituelle est très difficile, on peut

We show that while Runge-Kutta methods cannot preserve polynomial invariants in gen- eral, they can preserve polynomials that are the energy invariant of canonical Hamiltonian

— L'auteur montre Vimpossibilité d'un certain type de formule et exhibe une autre formule de Runge-Kutta pour résoudre des problèmes différentiels du second ordre lorsque les

Nous avons en outre constaté, au rang 4, que selon les exemples tantôt la formule de Boulton (8 t = 1/3, d 2 = 2/3) était meilleure que les formules optimales ci-dessus, tantôt