* fichier : jpor1.dgibi
GRAPH = 'N' ;
SAUT PAGE ;
************************************************************************
*
*
*
* TEST SUR UN JOINT POREUX BIDIMENSIONNEL (ELEMENT JOP3)
*
* UN JOINT POREUX 2D EST BLOQUE EN BAS ET CHARGE EN HAUT
* AVEC UNE FORCE TANGENTIELLE ET UNE FORCE DE COMPRESSION.
* UN DEBIT NUL EST IMPOSE PARTOUT.
* LES DEPLACEMENTS DE LA FACE 'AB' ET LES PRESSIONS NODALES
* SONT COMPARES AUX MEMES VALEURS OBTENUES PAR LA SOLUTION
* ANALYTIQUE.
*
*
*
* A ._______________._______________. B
*
* E ._______________________________. F
*
* C ._______________._______________. D
* ////////////////////////////////////////
*
*
*
************************************************************************
*
OPTI DIME 2 ;
OPTI ECHO 0 ;
*
TITRE 'JOINT POREUX BIDIMENSIONNEL' ;
*
*------------------------------------------------------
*
* DEFINITION DE LA GEOMETRIE
*
*------------------------------------------------------
*
OPTI ELEM SEG3 ;
*
A = -1.00 0.00 ;
B = 1.00 0.00 ;
*
AB = A DROI 1 B ;
*
C = -1.00 0.00 ;
D = 1.00 0.00 ;
*
CD = C DROI 1 D ;
*
OPTION ELEM SEG2 ;
*
E = -1.00 0.00 ;
F = 1.00 0.00 ;
*
EF = E DROI 1 F ;
*
*------------------------------------------------------
*
* DEFINITION DU MAILLAGE
*
*------------------------------------------------------
*
OPTI ELEM RAP3 ;
*
JOI0 = RACC 0.001 AB CD EF ;
*
*------------------------------------------------------
*
* DEFINITION DU MODELE ET DU MATERIAU
*
*------------------------------------------------------
*
MOD0 = MODL JOI0 POREUX ;
*
MAT0 = MATR MOD0 KS 1.E10 KN 1.E10 COB 1. MOB 1.E10
PERT 1. PERH 1. PERB 1. VISC 1. ;
*
*------------------------------------------------------
*
* DEFINITION DES CONDITIONS AUX LIMITES
*
*------------------------------------------------------
*
BLO1 = BLOQ UX CD ;
BLO2 = BLOQ UY CD ;
BLO0 = BLO1 ET BLO2 ;
*
FOR1 = FORC FX 1.E10 AB ;
FOR2 = FORC FY -1.E10 AB ;
FOR0 = FOR1 ET FOR2 ;
*
*------------------------------------------------------
*
* MATRICE DE PERMEABILITE
*
*------------------------------------------------------
*
PER0 = PERM MOD0 MAT0 ;
*
*------------------------------------------------------
*
* DEFINITION DU CHARGEMENT
*
*------------------------------------------------------
*
L50 = PROG 0.0 1.0 ;
L51 = PROG 0.0 1.0 ;
EV1 = EVOL MANU X L50 Y L51 ;
*
CHA0 = CHAR 'MECA' FOR0 EV1 ;
LIS0 = PROG 0.0 PAS 0.1 1.0 ;
*
*------------------------------------------------------
*
* RESOLUTION
*
*------------------------------------------------------
*
TAB1 = TABLE ;
*
TAB1.'MODELE' = MOD0 ;
TAB1.'CARACTERISTIQUES' = MAT0 ;
TAB1.'BLOCAGES_MECANIQUES' = BLO0 ;
TAB1.'TEMPS_CALCULES' = LIS0 ;
TAB1.'CHARGEMENT' = CHA0 ;
TAB1.'PERMEABILITE' = PER0 ;
TAB1.'CONSOLIDATION' = VRAI ;
*
PASAPAS TAB1 ;
*
*------------------------------------------------------
*
* POST TRAITEMENT
*
*------------------------------------------------------
*
pre_e1 = prog ; pre_s1 = prog ; pre_i1 = prog ;
pre_e2 = prog ; pre_s2 = prog ; pre_i2 = prog ;
def_s1 = prog ; def_s2 = prog ;
tem0 = prog ;
*
xks = extr mat0 'KS ' 1 1 1 ; xkn = extr mat0 'KN ' 1 1 1 ;
xco = extr mat0 'COB' 1 1 1 ; xmo = extr mat0 'MOB' 1 1 1 ;
*
ndime = dime ( index(tab1.deplacements) ) ;
*
i=0 ;
*
dif1=0 ; dif2=0 ; dif3=0 ; dif4=0 ;
dif5=0 ; dif6=0 ; dif7=0 ; dif8=0 ;
*
repeter bou1 (ndime-1) ;
*
i=i+1 ;
*
dep0 = tab1.deplacements.i ;
eps0 = epsi mod0 dep0 ;
*
pre1 = extr dep0 'P ' a ;
pre2 = extr dep0 'P ' b ;
pre3 = extr dep0 'P ' e ;
pre4 = extr dep0 'P ' f ;
pre5 = extr dep0 'P ' c ;
pre6 = extr dep0 'P ' d ;
val1 = extr eps0 'DRSN' 1 1 1 ;
val2 = extr eps0 'DRSN' 1 1 2 ;
val3 = extr eps0 'DRSN' 1 1 3 ;
pal1 = extr eps0 'DRN ' 1 1 1 ;
pal2 = extr eps0 'DRN ' 1 1 2 ;
pal3 = extr eps0 'DRN ' 1 1 3 ;
*--------------------------------------------------------------------
* l'opérateur INTG n'est pas encore disponible pour les éléments
* joints poreux: intégration à la main
*--------------------------------------------------------------------
P555=0.55555556 ;
P888=0.88888889 ;
*
def1 = ( (P555 * val1) + (P888 * val2) + (P555 * val3) ) / 2. ;
def2 = ( (P555 * pal1) + (P888 * pal2) + (P555 * pal3) ) / 2. ;
*
*
sig1 = (-1.E10 / (ndime-1)) * i / 2. ;
tau1 = ( 1.E10 / (ndime-1)) * i / 2. ;
pref = -1. * sig1 * (xco * xmo) / (((xco**2)*xmo) + xkn) ;
drex = tau1 / xks ;
drey = (sig1 + (xco * pref)) / xkn ;
*
pre_s1 = inse pre_s1 i pre1 ;
pre_s2 = inse pre_s2 i pre2 ;
pre_e1 = inse pre_e1 i pre3 ;
pre_e2 = inse pre_e2 i pre4 ;
pre_i1 = inse pre_i1 i pre5 ;
pre_i2 = inse pre_i2 i pre6 ;
def_s1 = inse def_s1 i def1 ;
def_s2 = inse def_s2 i def2 ;
*
tem0 = inse tem0 i i ;
*
dif1 = dif1 + ( abs ((pre1-pref) / pref) ) ;
dif2 = dif2 + ( abs ((pre2-pref) / pref) ) ;
dif3 = dif3 + ( abs ((pre3-pref) / pref) ) ;
dif4 = dif4 + ( abs ((pre4-pref) / pref) ) ;
dif5 = dif5 + ( abs ((pre5-pref) / pref) ) ;
dif6 = dif6 + ( abs ((pre6-pref) / pref) ) ;
dif7 = dif7 + ( abs ((def1-drex) / drex) ) ;
dif8 = dif8 + ( abs ((def2-drey) / drey) ) ;
*
fin bou1 ;
*
si ( NEG graph 'N' ) ;
*
gra1 = evol manu t0 tem0 pr_su1 pre_s1 ;
gra2 = evol manu t0 tem0 pr_su2 pre_s2 ;
gra3 = evol manu t0 tem0 pr_el1 pre_e1 ;
gra4 = evol manu t0 tem0 pr_el2 pre_e2 ;
gra5 = evol manu t0 tem0 pr_in1 pre_i1 ;
gra6 = evol manu t0 tem0 pr_in2 pre_i2 ;
gra7 = evol manu t0 tem0 de_tan def_s1 ;
gra8 = evol manu t0 tem0 de_nor def_s2 ;
*
dess gra7 ;
dess gra8 ;
dess ( gra1 et gra2 et gra3 et gra4 et gra5 et gra6 ) ;
*
finsi ;
*
*------------------------------------------------------
*
* CODE DE FONCTIONNEMENT
*
*------------------------------------------------------
*
dif0 = ( dif1 + dif2 + dif3 + dif4 +
dif5 + dif6 + dif7 + dif8 ) / ( 8. * (ndime-1) ) ;
si ( dif0 < 5e-2 ) ;
erre 0 ;
sinon ;
erre 5 ;
finsi ;
*
fin ;
© Cast3M 2003 - All rights reserved.
Disclaimer