* fichier : poudre3.dgibi
*
************************************************************
* *
* Cas test pour la loi poudre_A *
* *
* par Christophe DELLIS (CEREM) *
* *
************************************************************
*
* cas dense
*
*
*opti echo 0 ;
*
option dime 2 elem qua8 mode axis ;
*
* parametres du maillage
*
rayon_1 = 10.0 ;
*
haute_1 = 15.0 ;
*
* definition des coordonnees des points
*
xa0 = 0.0 ;
ya0 = 0.0 ;
*
xa1 = rayon_1 ;
ya1 = ya0 ;
*
xa2 = xa1 ;
ya2 = ya1 + haute_1 ;
*
xa3 = 0.0 ;
ya3 = ya2 ;
*
* definition des densites
*
dena0 = 10.0 ;
dena1 = 10.0 ;
dena2 = 10.0 ;
dena3 = 10.0 ;
*
* definition des points
*
densite dena0 ;
a0 = xa0 ya0 ;
*
densite dena1 ;
a1 = xa1 ya1 ;
*
densite dena2 ;
a2 = xa2 ya2 ;
*
densite dena3 ;
a3 = xa3 ya3 ;
*
* definition des lignes
*
la0a1 = a0 droi 2 a1 ;
la1a2 = a1 droi 2 a2 ;
la2a3 = a2 droi 2 a3 ;
la3a0 = a3 droi 2 a0 ;
*
la3a2 = inve la2a3 ;
la2a1 = inve la1a2 ;
*
* lignes pour les conditions limites
*
l_symz = la0a1 ;
l_symx = la3a0 ;
l_ext1 = la1a2 ;
l_ext2 = la2a3 ;
*
* definition des surfaces
*
elmat1 = surf ( la0a1 et la1a2 et la2a3 et la3a0 ) plan ;
*
piece_1 = coul elmat1 bleu ;
*
tot = piece_1 ;
elim (tot et a2) 0.001 ;
*
*
************************************************************
* *
* calcul *
* *
************************************************************
*
T0TEMPE = 925.0 ;
T1TEMPE = 925.0 ;
T0TEMPS = 0.0 ;
T1TEMPS = 1200.0 ;
T2TEMPS = 2400.0 ;
T3TEMPS = 3600.0 ;
*
*******************************************
* Champ-point de temperature
*******************************************
*
clth0001 = BLOQ 'T' (l_ext1 et l_ext2) ;
p_bloth1 = DEPI clth0001 1. ;
p_temps1 = prog T0TEMPS T1TEMPS T2TEMPS T3TEMPS ;
p_theta1 = prog T0TEMPE T1TEMPE T1TEMPE T0TEMPE ;
ev_ther1 = EVOL MANU TEMPS p_temps1 'T' p_theta1 ;
ch_ther1 = CHAR TIMP p_bloth1 ev_ther1 ;
*
************************************************************
* *
* materiau *
* *
************************************************************
P1MODEL = MODE piece_1 MECANIQUE ELASTIQUE
VISCOPLASTIQUE POUDRE_A CONS DEUX;
*
V1YOUNG = 118.0E+03 ;
V1NU = 0.33 ;
V1ALPHA = 10.0E-20 ;
V1A = 7.76e-15 ;
V1N = 4.55 ;
V1QSRT = 0.0 ;
V1RHOR = 1.0 ;
V1F0 = 0.1098 ;
V1F1 = 1.0168 ;
V1F2 = -0.2591 ;
V1F3 = 0.0 ;
V1F4 = 0.0 ;
V1F5 = 0.66 ;
V1C0 = 2.10851 ;
V1C1 = 1.21767 ;
V1C2 = -0.43081 ;
V1C3 = 0.0 ;
V1C4 = 0.0 ;
V1C5 = 50.0 ;
*
P1MATER = MATER P1MODEL YOUNG V1YOUNG NU V1NU ALPHA V1ALPHA
A V1A N V1N QSRT V1QSRT F0 V1F0 F1 V1F1 F2 V1F2 F3 V1F3
F4 V1F4 F5 V1F5 C0 V1C0 C1 V1C1 C2 V1C2 C3 V1C3 C4 V1C4
C5 V1C5 RHOR V1RHOR ;
*
P2MODEL = MODE piece_1 THERMIQUE ISOTROPE CONS UN ;
*
P2MATER = MATER P2MODEL 'C' 460 'K' 14.6 'RHO' 4.54 ;
*
************************************************************
* *
* chargement *
* *
************************************************************
*
p0bloca = bloque uz l_symz ;
p1bloca = bloque ur l_symx ;
*
p_bloca = p0bloca et p1bloca ;
*
t0pres = 0.0 ;
t1pres = 100.0 ;
*
li_tps = prog t0temps t1temps t2temps t3temps ;
li_pres = prog t0pres t1pres t1pres t0pres ;
ev_pres = evol manu temps li_tps pression li_pres ;
*dess ev_pres titr 'Evolution du chargement en pression' nclk ;
*
p2force = pres mass p1model 1.0 l_ext1 ;
p3force = pres mass p1model 1.0 l_ext2 ;
titr 'Force appliquees' ;
vec1 = vect (p2force et p3force) 'FR' 'FZ' 0.1;
*trac vec1 piece_1 nclk ;
*
p2charg = char p2force ev_pres 'MECA';
p3charg = char p3force ev_pres 'MECA';
*
p_charg = p2charg et p3charg ;
*
************************************************************
* *
* calcul *
* *
************************************************************
*
p_model = p1model et p2model ;
p_mater = p1mater et p2mater ;
*
* Initialisation de la table pour la procedure PASAPAS
*
TAB1 = TABLE ;
TAB1 . 'CHARGEMENT' = (p_charg et ch_ther1) ;
TAB1 . 'MODELE' = p_model ;
TAB1 . 'CARACTERISTIQUES' = p_mater ;
TAB1 . 'BLOCAGES_MECANIQUES' = p_bloca ;
TAB1 . 'BLOCAGES_THERMIQUES' = clth0001 ;
TAB1 . 'TEMPS_CALCULES' = PROG 0.0
PAS 50.0 2400.0 ;
TAB1 . 'TEMPS_SAUVES' = PROG 2400.0 ;
TAB1 . 'MAXITERATION' = 49 ;
TAB1 . 'MAXISOUSPAS' = 500 ;
TAB1 . 'MOVA' = 'MOT' 'VHOR' ;
TAB1 . 'PRECISION' = 1.0E-4 ;
TAB1 . 'TALPHA_REFERENCE' = 20.0 ;
TAB1 . 'PROCEDURE_THERMIQUE' = 'MOT' 'LINEAIRE' ;
*
PASAPAS TAB1 ;
*
************************************************************
* *
* Test de validation *
* *
************************************************************
*
ind1 = index (TAB1 . 'VARIABLES_INTERNES') ;
nb1 = dime ind1 ;
*
* densite finale
*
vm1 = TAB1 . 'VARIABLES_INTERNES' .(ind1.nb1) ;
vm2 = exco VHOR vm1 ;
vm3 = redu vm2 piece_1 ;
rhof1 = maxi vm3 ;
*
* Calcul theorique analytique de la densite finale :
*
rhof2 = 1.0 ;
*
*
erho1 = abs ((rhof1 - rhof2 )/rhof2);
*
* Ecriture des erreurs a l'ecran :
*
opti echo 0 ;
sauter 3 lignes ;
mess 'Erreur sur la densite finale: ' erho1 ;
sauter 3 lignes ;
*
si ( (erho1 ) >eg 0.05 ) ;
mess '---------RESULTATS INCORRECTS-------------' ;
sauter 3 lignes ;
erreur 5;
sinon ;
mess '---------RESULTATS CORRECTS-------------' ;
sauter 3 lignes ;
finsi ;
*
fin ;
© Cast3M 2003 - All rights reserved.
Disclaimer