* fichier : umat01_ortho.dgibi
'OPTI' 'ECHO' 0 ;
'OPTI' 'DIME' 3 'MODE' 'TRIDIM' 'ELEM' cu20 ;
option epsilon 'LINEAIRE';
f = 'MOT' 'FIN' ; l = 'MOT' 'LIST' ;
*
*************************************************************
* TEST DE VALIDATION DE L'ORTHOTROPIE POUR UN MODELE *
* DE COMPORTEMENT "UTILISATEUR" DEFINI A L'EXTERNE VIA UMAT *
* ---------------------------- *
* *
* MODELE DEFINI VIA UMAT *
* ELASTICITE ORTHOTROPE *
* *
* MAILLAGE: *
* EPROUVETTE CUBIQUE TOURNEE DE L'ANGLE ang_tour *
* AUTOUR DE L'AXE VERTCAL Z *
* *
* REPERE D'ORTHOTROPIE INITIAL: *
* DEFINI PAR L'ANGLE ang AUTOUR DE Z / REPERE GLOBAL *
* *
* CHARGEMENT: *
* DEPLACEMENT IMPOSE SELON LA DIRECTION Z SUR *
* LA FACE SUPERIEURE DU CUBE *
*************************************************************
*
* Geometrie
*
* ------------------------------------------
XX = 1. ; YY = 1. ; ZZ = 1. ;
* ------------------------------------------
*
VECZ = 0 0 ZZ ;
*
ang_tour = 30. ;
cosa = 'COS' ang_tour ;
sina = 'SIN' ang_tour ;
*
V1_ang = cosa sina 0. ;
V2_ang = (-1. * sina) cosa 0. ;
*
PB00 = 0 0 0 ;
PB10 = (XX 0 0) 'TOUR' ang_tour PB00 VECZ ;
PB11 = (XX YY 0) 'TOUR' ang_tour PB00 VECZ ;
PB01 = (0 YY 0) 'TOUR' ang_tour PB00 VECZ ;
*
LBX0 = 'DROI' 1 PB00 PB10 ;
LBY1 = 'DROI' 1 PB10 PB11 ;
LBX1 = 'DROI' 1 PB11 PB01 ;
LBY0 = 'DROI' 1 PB01 PB00 ;
*
* Maillage
*
PLB = 'DALL' 'PLAN' LBX0 LBY1 LBX1 LBY0 ;
EPROU = PLB 'VOLU' 1 'TRAN' VECZ ;
*
PLH = 'FACE' 2 EPROU ;
PL0YZ = EPROU 'POIN' 'PLAN' PB00 PB01 VECZ 1E-3 ;
PLX0Z = EPROU 'POIN' 'PLAN' PB00 PB10 VECZ 1E-3 ;
*
axeX = coul roug (droi 1 PB00 (2.0 0 0 )) ;
axeY = coul roug (droi 1 PB00 (0 2.0 0 )) ;
axeZ = coul roug (droi 1 PB00 (0 0 2.0)) ;
* trac cach qual (EPROU et axeX et axeY et axeZ) ;
*
* Modele et materiau
*
LCMAT = 'MOTS' 'YG1 ' 'YG2 ' 'YG3 '
'NU12' 'NU23' 'NU13'
'G12 ' 'G23 ' 'G13 '
'V1X ' 'V1Y ' 'V1Z '
'V2X ' 'V2Y ' 'V2Z '
'ALP1' 'ALP2' 'ALP3' ;
* LCPAR = MOTS 'TETA' ;
mo = 'MODE' EPROU 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE'
'NON_LINEAIRE' 'UTILISATEUR'
'NUME_LOI' 12
'C_MATERIAU' LCMAT ;
* 'PARA_LOI' LCPAR
* ------------------------------------------------------------
VEC1 = 1. 0. 0. ; VEC2 = 0. 1. 0. ; ang = 60. ;
SENSIP1 = -2 ; SENSIP2 = 1 ; ICBASE = 0 ;
fichier = '/u/castem/divers/mimatD3d_par' ;
PDILT E1 E2 E3 NU12 NU23 NU13 MU12 MU23 MU13
PNBRE PCOHI PECOU PEDIR PRVCE PECRX PDVDI PCROI PINCR
= @mistpar fichier SENSIP1 SENSIP2 ;
* ------------------------------------------------------------
E1 = 1E11 ;
E2 = 2E11 ;
E3 = 3E11 ;
*
NU12 = 0.1 ;
NU13 = 0.2 ;
NU23 = 0.3 ;
*
MU12 = 2E10 ;
MU13 = 4E10 ;
MU23 = 7E10 ;
*
xalph = 1.0e-6 ;
*
ma = 'MATE' mo 'YG1 ' E1 'YG2 ' E2 'YG3 ' E3
'NU12' NU12 'NU23' NU23 'NU13' NU13
'G12 ' MU12 'G23 ' MU23 'G13 ' MU13
'DIRECTION' VEC1 VEC2 'INCLINE' ang
'ALP1' xalph 'ALP2' xalph 'ALP3' xalph ;
*
* Conditions aux limites
*
CLB = PLB 'BLOQ' 'UZ' ;
CLH = PLH 'BLOQ' 'UZ' ;
CLYZ = PL0YZ 'BLOQ' 'DIRECTION' V1_ang ;
CLXZ = PLX0Z 'BLOQ' 'DIRECTION' V2_ang ;
CL = CLB 'ET' CLH 'ET' CLYZ 'ET' CLXZ ;
*
* Chargements
*
* -------------------------------------------------------
T1 = 100. ; EPSZZ1 = 0.02 ;
TT1 = 300. ;
* -------------------------------------------------------
TEMPS = 'PROG' 0. T1 ;
*
DEPZ = 'DEPI' CLH ZZ ;
EVEPS = 'EVOL' 'MANU' TEMPS ('PROG' 0. EPSZZ1) ;
CHA1 = 'CHAR' 'DIMP' DEPZ EVEPS ;
*
TT = 'MANU' 'CHPO' EPROU 1 'T' 1. ;
EVTT = 'EVOL' 'MANU' TEMPS (prog TT1 TT1) ;
CHA2 = 'CHAR' 'T' TT EVTT ;
*
CHA = CHA1 'ET' CHA2 ;
*
*
* Calcul
*
TAB = TABLE ;
TAB.'BLOCAGES_MECANIQUES' = CL ;
TAB.'CARACTERISTIQUES' = ma ;
TAB.'MODELE' = mo ;
TAB.'CHARGEMENT' = CHA ;
TAB.'TEMPS_CALCULES' = TEMPS ;
TMASAU=table;
tab . 'MES_SAUVEGARDES'=TMASAU;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
PASAPAS TAB ;
*
* Traitement des resultats
*
SIG = TAB.'CONTRAINTES' ;
DEP = tab.'DEPLACEMENTS' ;
VI = tab.'VARIABLES_INTERNES' ;
NT = ('DIME' TAB.'TEMPS') - 1 ;
SIG1 = SIG.NT ;
EPS1 = 'EPSI' mo DEP.NT ;
*
*
*******************************************************
* SOLUTION DIRECTE QUI EVITE UMAT *
*******************************************************
*
mo0 = 'MODE' EPROU 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE' ;
ma0 = 'MATE' mo0 'YG1 ' E1 'YG2 ' E2 'YG3 ' E3
'NU12' NU12 'NU23' NU23 'NU13' NU13
'G12 ' MU12 'G23 ' MU23 'G13 ' MU13
'DIRECTION' VEC1 VEC2 'INCLINE' ang
'ALP1' xalph 'ALP2' xalph 'ALP3' xalph ;
ri = ('RIGI' mo0 ma0) 'ET' CL ;
dep0 = 'RESO' ri (EPSZZ1 * DEPZ) ;
SIG0 = 'SIGMA' mo0 ma0 dep0 ;
EPS0 = 'EPSI' mo0 dep0 ;
*
*
********************************************
* COMPARAISON DES RESULTATS *
********************************************
nbgau = 27 ;
seuil = 1. ; tolsig = 1E-5 ;
seui = 1E-7 ; toldef = 1E-5 ;
*
* CONTRAINTES:
'REPE' stru nbgau ;
sig0x = 'EXTR' SIG0 'SMXX' 1 1 &stru ;
sig1x = 'EXTR' SIG1 'SMXX' 1 1 &stru ;
sig0y = 'EXTR' SIG0 'SMYY' 1 1 &stru ;
sig1y = 'EXTR' SIG1 'SMYY' 1 1 &stru ;
sig0z = 'EXTR' SIG0 'SMZZ' 1 1 &stru ;
sig1z = 'EXTR' SIG1 'SMZZ' 1 1 &stru ;
sig0xy = 'EXTR' SIG0 'SMXY' 1 1 &stru ;
sig1xy = 'EXTR' SIG1 'SMXY' 1 1 &stru ;
sigx_rel = 0. ;
'SI' ( ('>' ('ABS' sig0x) seuil) 'ET' ('>' ('ABS' sig1x) seuil) ) ;
sigx_rel = 'ABS' ((sig0x - sig1x) / sig0x) ;
'FINSI' ;
sigy_rel = 0. ;
'SI' ( ('>' ('ABS' sig0y) seuil) 'ET' ('>' ('ABS' sig1y) seuil) ) ;
sigy_rel = 'ABS' ((sig0y - sig1y) / sig0y) ;
'FINSI' ;
sigz_rel = 0. ;
'SI' ( ('>' ('ABS' sig0z) seuil) 'ET' ('>' ('ABS' sig1z) seuil) ) ;
sigz_rel = 'ABS' ((sig0z - sig1z) / sig0z) ;
'FINSI' ;
sigxyrel = 0. ;
'SI' ( ('>' ('ABS' sig0xy) seuil) 'ET' ('>' ('ABS' sig1xy) seuil) ) ;
sigxyrel = 'ABS' ((sig0xy - sig1xy) / sig0xy) ;
'FINSI' ;
*
sig_max = 'MAXI' ('PROG' sigx_rel sigy_rel sigz_rel sigxyrel) ;
*
'SI' ('>' sig_max tolsig) ;
'MESS' 'Point de Gauss n:' &stru ;
'MESS' 'Ecart relatif trop important sur les contraintes' sig_max ;
ERRE 5 ;
'FINSI' ;
'FIN' stru ;
*
* DEFORMATIONS:
'REPE' stru nbgau ;
def0x = 'EXTR' EPS0 'EPXX' 1 1 &stru ;
def1x = 'EXTR' EPS1 'EPXX' 1 1 &stru ;
def0y = 'EXTR' EPS0 'EPYY' 1 1 &stru ;
def1y = 'EXTR' EPS1 'EPYY' 1 1 &stru ;
def0z = 'EXTR' EPS0 'EPZZ' 1 1 &stru ;
def1z = 'EXTR' EPS1 'EPZZ' 1 1 &stru ;
ga0xy = 'EXTR' EPS0 'GAXY' 1 1 &stru ;
ga1xy = 'EXTR' EPS1 'GAXY' 1 1 &stru ;
defx_rel = 0. ;
'SI' ( ('>' ('ABS' def0x) seui) 'ET' ('>' ('ABS' def1x) seui) ) ;
defx_rel = 'ABS' ((def0x - def1x) / def0x) ;
'FINSI' ;
defy_rel = 0. ;
'SI' ( ('>' ('ABS' def0y) seui) 'ET' ('>' ('ABS' def1y) seui) ) ;
defy_rel = 'ABS' ((def0y - def1y) / def0y) ;
'FINSI' ;
defz_rel = 0. ;
'SI' ( ('>' ('ABS' def0z) seui) 'ET' ('>' ('ABS' def1z) seui) ) ;
defz_rel = 'ABS' ((def0z - def1z) / def0z) ;
'FINSI' ;
gaxyrel = 0. ;
'SI' ( ('>' ('ABS' ga0xy) seui) 'ET' ('>' ('ABS' ga1xy) seui) ) ;
gaxyrel = 'ABS' ((ga0xy - ga1xy) / ga0xy) ;
'FINSI' ;
def_max = 'MAXI' ('PROG' defx_rel defy_rel defz_rel gaxyrel) ;
*
'SI' ('>' def_max toldef) ;
'MESS' 'Point de Gauss n:' &stru ;
'MESS' 'Ecart relatif trop important sur les deformations' def_max ;
* ERRE 5 ;
'FINSI' ;
'FIN' stru ;
*
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer