[U2.10.01] Notice d`utilisation du couplage Code_Aster-Zmat

[U2.10.01] Notice d`utilisation du couplage Code_Aster-Zmat
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
Version
default
Date : 12/05/2009 Page : 1/10
Clé : U2.10.01
Révision : 1378
Notice d’utilisation du couplage Code_Aster-Zmat
Résumé :
On décrit ici l’utilisation du couplage entre Code_Aster et Zmat, module d’intégration de comportements du
code Zebulon, de l’ENSMP.
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
Version
default
Date : 12/05/2009 Page : 2/10
Clé : U2.10.01
Révision : 1378
Table des matières
1 Modalités d’utilisation..........................................................................................................................3
1.1 Description de la bibliothèque Zmat.............................................................................................3
1.2 Licence et droits d’accès...............................................................................................................3
1.3 Machines utilisables à EDF R&D..................................................................................................3
1.4 Documentation..............................................................................................................................3
1.5 Limitations et perspectives...........................................................................................................4
2 Utiliser un comportement de la bibliothèque de Zmat.........................................................................5
2.1 Contenu du ficher Zmat................................................................................................................5
2.2 Particularités du ficher de commandes et du profil d’étude de Code_Aster.................................7
2.3 Exemples......................................................................................................................................7
3 Définir un nouveau comportement dans Zmat....................................................................................8
3.1 Ecrire un nouveau comportement dans Zmat...............................................................................8
3.2 Compilation du nouveau comportement.......................................................................................9
3.3 Utilisation du comportement utilisateur.......................................................................................11
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
1
Modalités d’utilisation
1.1
Description de la bibliothèque Zmat
Date : 12/05/2009 Page : 3/10
Clé : U2.10.01
Révision : 1378
Dans le cadre du partenariat EDF (MMC-AMA-LAMSID)-Ecole des Mines (Centre des Matériaux), le
couplage entre Zmat, qui est le module de définition des comportements du code Zebulon, et
Code_Aster a été réalisé. Zmat contient un module d’intégration de lois de comportement et une
bibliothèque de comportements comprenant l’élasto-visco-plasticité, l’endommagement, les modèles
multi-échelle…
De plus, l’utilisateur peut définir son propre comportement, en décrivant les équations régissant ce
comportement à l’aide d’un langage de haut niveau (Zebfront), l’intégration étant ensuite réalisée par
Zmat.
1.2
Licence et droits d’accès
L'utilisation de Zmat pour Code_Aster est prévue, dans la cadre du partenariat Ecole des Mines EDF, pour des calculs de R&D uniquement, ce qui exclut notamment les études IPS. L’extension de
ces conditions d’utilisation à partir de la mise en exploitation de la version 8 (fin 2006) est à l’étude.
Hors de ce cadre, la licence de Zmat peut être acquise auprès du Centre des Matériaux de l’ENSMP.
Pour autant Zmat n’est pas un pré-requis de Code_Aster , on peut construire et utiliser Code_Aster
avec ou sans la bibliothèque Zmat.
La maintenance corrective et évolutive (en particulier par rapport à l’évolution des systèmes
d’exploitation, et des compilateurs) de la bibliothèque Zmat relève de l'ENSMP. Les routines
d'interface sont maintenues par l’équipe de développement de Code_Aster .
1.3
Machines utilisables à EDF R&D
Zmat est physiquement installé sur le serveur de développement centralisé de Code_Aster
(Alphaserveur), ainsi que sur des serveurs Linux départementaux (clp50a8 à AMA, ret20fi à MMC).
Toutefois l’accès à la machine centralisée est nécessaire pour l’accès à la licence d’utilisation.
1.4
Documentation
La documentation de Zmat est disponible sous forme de fichiers au format pdf, dans le répertoire
d’installation de Zmat, en général [ASTER_ROOT]/public/Z8.3/HANDBOOK où [ASTER_ROOT] est
le répertoire principal de l’installation de Code_Aster , et vaut en général /opt/aster ou
/logiciels/aster …
Sur
le
serveur
Aster,
la
documentation
de
Zmat
est
dans
le
répertoire
/aster/local/Z8.3/HANDBOOK .
Les documents relatifs à Zmat sont z_mat_manual.pdf et devel_manual.pdf .
1.5
Précautions d'emploi
L’interface (et le module Zmat) prévoit les variables de commande : température, fluence, corrosion,
séchage, hydratation.
Les comportements sont accessibles en petites déformations (mot clé DEFORMATION='PETIT') ou
en grandes déformations (DEFORMATION='COROTATIONNEL'). Il faut dans ce dernier cas préciser
dans le fichier de données Zmat, ***behavior gen_evp lagrange_rotate (ou
lagrange_polar).
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
Date : 12/05/2009 Page : 4/10
Clé : U2.10.01
Révision : 1378
Remarque sur les performances
L’intégration du comportement en utilisant la bibliothèque Zmat prend 2 à 3 fois plus de
temps que l’intégration du modèle équivalent inclus à Code_Aster.
Précaution d’emploi
L’utilisateur définit certes son comportement et les valeurs des coefficients matériau dans le
fichier Zmat, mais il doit aussi définir un matériau élastique (E et  ) s'il veut utiliser la
matrice élastique ou la prédiction élastique. Il faut alors prendre garde à fournir des valeurs
cohérentes avec celles du fichiers Zmat. De même, pour les commandes de post-traitement
( CALC_ELEM , CALC_NO , POST_ELEM ), certaines options utilisent les coefficients
élastiques : dans ce cas, même remarque que précédemment.
Tel que réalisée actuellement, l’interface Code_Aster-Zmat ne permet pas d’établir un lien
entre les matériaux gérés par Zmat et ceux gérés par Code_Aster (en particulier le
catalogue matériau).
Si le besoin s'en fait sentir, un lien plus fort avec DEFI_MATERIAU serait à prévoir, afin que
les utilisateurs puissent donner les caractéristiques matériau dans le formalisme Aster, les
stocker dans le catalog ue matériau, en générant les données Zmat correspondantes.
2
Utiliser un comportement de la bibliothèque de Zmat
2.1
Contenu du ficher Zmat
Le ficher Zmat permet à la fois de définir le comportement de fournir les valeurs des paramètres
(constants ou variant avec la température) pour ce comportement. La syntaxe de ce fichier est décrite
dans le document z_mat_manual.pdf.
Le fichier suivant est celui utilisé dans le cas-test zmat001a :
% fichier zmat001a.33
***material
*integration theta_method_a 1. 1.e-9 50
***behavior gen_evp
**elasticity
young 145200.
poisson 0.3
**potential gen_evp
*flow plasticity
*criterion mises
*kinematic nonlinear
C 63767.
D 341.
*isotropic nonlinear
R0 87.
b 2.3
Q 64.
***return
Qui correspond au modèle VISC_CIN1_CHAB de Code_Aster (extrait du cas-test ssnv101d) :
ACIER1=DEFI_MATERIAU(ELAS=_F(E
= 145200.,
NU
= 0.3,),
CIN1_CHAB=_F(R_I = 151.,
R_0 = 87.,
B
= 2.3,
C_I = 63767.,
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
Date : 12/05/2009 Page : 5/10
Clé : U2.10.01
Révision : 1378
G_0 = 341.,))
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
2.2
Date : 12/05/2009 Page : 6/10
Clé : U2.10.01
Révision : 1378
Particularités du ficher de commandes et du profil d’étude de
Code_Aster
L’utilisation de Zmat se traduit pour l'utilisateur de Code_Aster de la façon suivante :
1)
2)
3)
4)
5)
2.3
Sous le mot-clé COMP_INCR de STAT_NON_LINE , il faut préciser RELATION='ZMAT' ,
pour aller lire le fichier contenant les données Zmat. Ce fichier permet de décrire les
paramètres matériau.
Toujours sous COMP_INCR , un mot-clé UNITE permet de définir l'unité logique sur
laquelle ont vient lire le ficher Zmat et bien sûr les mots clés habituels : GROUP_MA ,
DEFORMATION ( PETIT, PETIT_REAC ou COROTATIONNEL),
Le mot-clé NB_VARI (sous COMP_INCR ) permet de préciser le nombre de variables
internes du comportement. Le nombre de variables internes peut être plus grand que
nécessaire (le stockage des variables internes occupera plus de place que nécessaire en
mémoire), mais bien sûr pas inférieur au nombre réellement utilisé (Zmat fourni alors un
message d’erreur). Ce nombre peut être calculé grâce à l'utilitaire Zpreload, dont un
exemple d'appel via python est donné dans le test zmat001a .
Dans astk, par rapport à une étude classique, il suffit d'ajouter le fichier Zmat et y
associer le numéro d’unité logique défini au mot-clé UNITE .
Dans le cas d'un calcul STAT/DYNA_NON_LINE en poursuite, il faut penser à fournir à
nouveau le ficher Zmat dans le profil d'étude. Le test zmat003a permet d'illustrer ce
point.
Exemples
Les cas-tests zmat001 à zmat007 valident le couplage entre Code_Aster et Zmat, mais constituent
également un base d’exemples de mise en œuvre.
1)
2)
3)
4)
5)
6)
7)
zmat001 : test de traction-cisaillement avec une loi de Chaboche (analogue au test
ssnv101 avec VISC_CIN1_CHAB ) en déformations planes (modélisation A) et 3D
(modélisations B et C). On y trouve également une possibilité d’utiliser Zpreload pour
récupérer le nombre de variables internes du comportement Zmat.
zmat002 : thermo-plasticité en traction simple ( VMIS_ISOT_TRAC ), modélisation A en
axisymétrique, modélisation B en contraintes planes. L’intérêt de ce test est de décrire la
variation des coefficients avec la température.
zmat003 : test de traction-cisaillement utilisant une loi définie dans le fichier
zmat003a.32 (voir paragraphe suivant). Ce test valide également l’utilisation en
POURSUITE .
zmat004 : test de comparaison entre le modèle MONOCRISTAL et son analogue dans
Zmat.
zmat005 : test de comparaison entre les grandes déformations COROTATIONNEL et les
grandes déformations SIMO_MIEHE (hsnv121) en thermo-élastoplasticité de Von Mises
à écrouissage isotrope (ou cinématique linéaire).
zmat006 : test de validation de Zmat en contraintes planes (méthode De Borst).
zmat005 : test de comparaison entre le modèle MONOCRISTAL et son analogue dans
Zmat, pour un agrégat comportant 10 grains, d'orientations diverses.
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
3
Date : 12/05/2009 Page : 7/10
Clé : U2.10.01
Révision : 1378
Définir un nouveau comportement dans Zmat
Le nouveau comportement est défini dans un fichier qui sera compilé, indépendamment de
Code_Aster, de façon à produire une bibliothèque dynamique, utilisée par la bibliothèque Zmat
principale au moment de l’exécution.
Ni le fichier « source », ni la bibliothèque construite n’ont besoin de figurer dans le profil astk.
3.1
Ecrire un nouveau comportement dans Zmat
L’écriture d’un nouveau comportement se fait à l’aide d’un langage de haut niveau (Zebfront,
permettant des opérations tensorielles …) sur base de C++. On se reportera à la documentation de
Zmat pour la description de la syntaxe : devel_manual.pdf.
Avertissement
Zmat impose que le nom de ce fichier commence par une majuscule et ait l’extension ‘ .z ’
pendant la phase de compilation.
Voici le fichier (nommé Chab1.z pour les exemples suivants) définissant le comportement chab1
utilisé dans le test zmat003 (fichier zmat003a.32), équivalent du comportement VISC_CIN1_CHAB
de Code_Aster :
#include
#include
#include
#include
#include
#include
#include
#include
<Elasticity.h>
<External_parameter.h>
<Basic_nl_behavior.h>
<Basic_nl_simulation.h>
<Flow.h>
<Criterion.h>
<Isotropic.h>
<Print.h>
@Class CHAB1 : BASIC_NL_BEHAVIOR {
@Name chab1;
@SubClass ELASTICITY E;
@Coefs R0, Q, b;
@Coefs K, n, C, D;
@tVarInt eel, alpha;
@sVarInt evcum;
@tVarAux evi, X;
@sVarAux R;
};
@StrainPart {
evi = eto - eel;
sig = *E*eel;
if (m_flags&CALC_TG_MATRIX) m_tg_matrix=*E;
}
@Derivative {
sig = *E*eel;
X = (2.0*C/3.0)*alpha;
R = R0 + Q*(1.-exp(-b*evcum));
TENSOR2 sigeff = deviator(sig - X);
double J = sqrt(1.5*(sigeff|sigeff));
double f = J - R ;
deel = deto;
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
Date : 12/05/2009 Page : 8/10
Clé : U2.10.01
Révision : 1378
if (f>0.0) {
devcum = pow(f/K,n);
TENSOR2 norm = sigeff*(1.5/J);
deel -= devcum*norm;
if (C>0.0) dalpha = devcum*(norm - D*alpha);
}
}
3.2
Compilation du nouveau comportement
On décrit ci-après les différentes étapes à suivre pour construire la librairie dynamique qui sera
utilisée par Zmat pour intégrer le comportement utilisateur.
Remarque préliminaire
La librairie dynamique sera utilisée par Zmat sur la machine d’exécution du calcul Code_Aster, elle
doit donc être compilée sur cette même machine pour éviter les problèmes d’hétérogénéité des
bibliothèques.
•Organisation des fichiers (en prenant comme base /home/user/repertoire ) :
/home/user/repertoire
1)
/
/
library_files
material
/
/ material
/ Chab1.z
Créer un fichier library_files contenant :
!MESSAGE User Z7 project
!TOP Makefile.Motif.c++
!DYNAMIC
#!INSTALL_LIBS
!CFLAGS -I${Z7PATH}/include
!BFLAGS -L${Z7PATH}/PUBLIC/lib-${Z7MACHINE}
!MAKE target: lib
#
# The main place for user f iles.
#
!INC
material
!SRC
material material
Le fichier .z sera pris dans le
sous-répertoire material
!DEBUG material
!LIBLIB -ZL Zmat_base
!LIB Zmat_ut_TyPeMaCHiNe material
La librairie dynamique sera nommée
libZmat_ut_Linux4.so sous Linux,
libZmat_ut_OSF1.so sous TRU64 , etc.
!!RETURN
2)
Charger l'environnement Zmat (en ksh, bash) en lisant le fichier aster_profile.sh (remplacer /
aster par /opt/aster ou autre selon l’installation).
prompt> . /aster/ASTK/ASTK_SERV/conf/aster_profile.sh
3)
Création du Makefile Zmat :
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
Date : 12/05/2009 Page : 9/10
Clé : U2.10.01
Révision : 1378
prompt> Zsetup
4) Compilation du comportement déposé dans le répertoire material
prompt> Zmake
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Version
default
Code_Aster
Titre : Notice d’utilisation du couplage Code_Aster-Zmat
Responsable : Mathieu COURTOIS
3.3
Date : 12/05/2009 Page : 10/10
Clé : U2.10.01
Révision : 1378
Utilisation du comportement utilisateur
Dans le profil d’étude astk, on fournit comme précédemment un fichier contenant la valeur
des paramètres pour le comportement utilisateur. Le nom chab1 est important et doit
correspondre au nom fourni à l’attribut @Name du fichier .z ( voici le fichier zmat003a.33) :
***behavior chab1
**YE isotropic
young 195000.
poisson 0.3
**model_coef
K 600.0
n 3.5
C 0.0
D 0.0
R0 30.0
Q 270.
b 100.
***return
On fournit le fichier de commandes dans lequel il faut définir la variable d'environnement ZEBU_PATH
pour indiquer à Zmat où se trouve la bibliothèque dynamique que l’on vient de compiler. On retrouve
alors dans le fichier (extraits de zmat003a.comm) :
# définition de la variable ZEBU_PATH
import os
os.environ['ZEBU_PATH'] = ‘/home/user/repertoire’
[...]
# définition des propriétés élastiques du matériau
# qui doivent être cohérentes avec celle du fichier Zmat
ACIER=DEFI_MATERIAU(ELAS=_F(E = 195000.,
NU = 0.3),)
[...]
# utilisation du comportement dans le calcul non linéaire
# UNITE doit correspondre à la valeur définie dans astk
CALCNL=STAT_NON_LINE(...,
COMP_INCR=_F(RELATION = 'ZMAT',
UNITE = 33,
NB_VARI = 26,
DEFORMATION = 'PETIT'),
..., )
Manuel d'utilisation
Document diffusé sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)
Fascicule u2.10 : Couplages externes
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising