* fichier : umat05.dgibi ************************************************************************ ************************************************************************ *======================================================================= * * CAS TEST DE VALIDATION DE LA PRISE EN COMPTE D'UNE LOI DE * * COMPORTEMENT MECANIQUE NON LINEAIRE EXTERNE * *======================================================================= * * Modele 'NON_LINEAIRE' 'UTILISATEUR', integrateur specifique UMAT * * Test No5 : Modele PLASTIQUE ISOTROPE * Reprise du test isotro_cis.dgibi * *======================================================================= *======================================================================= * * PROCEDURES DEPENDANTES * *======================================================================= *======================================================================= * * JEU DE DONNEES PRINCIPAL * *======================================================================= *======================================================================= * Resolution avec le modele 'PLASTIQUE' 'ISOTROPE' de CAST3M * Reprise du jeu de donnees isotro_cis.dgibi * Element CUB8 ************************************************** * * * TEST DE VALIDATION D'UNE LOI DE COMPORTEMENT * * -------------------------------------------- * * DE MATERIAU * * ----------- * * * * LOI DE COMPORTEMENT ELASTO-PLASTIQUE * * ISOTROPE * * * * COMPARAISON DE CALCULS SUR DES ELEMENTS: * * - COQUE EPAISSE ( MFR=5 ) * * - COQUE MINCE ( MFR=3 ) * * - MASSIF 3D ( MFR=1 ) * * * * STRUCTURE : UNE PLAQUE CARREE * * - COTE : .1 M * * - EPAISSEUR : 5.E-4 M * * * * CHARGEMENT : DEPLACEMENTS IMPOSES * * CISAILLEMENT PUR * * * ************************************************** * * * Maillage * rayon0 = .05 ; epais0 = .0005 ; l1 = epais0 + rayon0 ; l2 = .1 ; n1 = 1 ; n2 = 1 ; p1 = rayon0 0. 0. ; p2 = l1 0. 0. ; p3 = l1 l2 0. ; p4 = rayon0 l2 0. ; p11 = rayon0 0. l2 ; p21 = l1 0. l2 ; p31 = l1 l2 l2 ; p41 = rayon0 l2 l2 ; d1 = d p1 n1 p2 ; d2 = d p2 n2 p3 ; d3 = d p3 n1 p4 ; d4 = d p4 n2 p1 ; d11 = d p11 n1 p21 ; d21 = d p21 n2 p31 ; d31 = d p31 n1 p41 ; d41 = d p41 n2 p11 ; *p01 = ( rayon0 + ( epais0 / 2. ) ) 0. l2 ; *p02 = ( rayon0 + ( epais0 / 2. ) ) l2 l2 ; *titr ' maillage ' ; *trace vol1 ; * * Deplacement maximal * depmax = .01 ; * * Courbe d'ecrouissage * beta0 = 1250. ; sig0 = 410.E6 ; xm = .5 ; youn0 = 7.34E10 ; epsmax0 = depmax / l2 ; pas0 = epsmax0 / 50 ; Y0 = sig0 ; epsp2 = beta0 * epsp1 ; epsp3 = epsp2 + un ; epsp31 = log epsp3 ; epsp32 = epsp31 * xm ; epsp4 = exp epsp32 ; Y1 = Y0 * epsp4 ; * epsp1 = epsp0 'ET' epsp1 ; Y1 = deb0 'ET' Y1 ; epsp2 = epsp1 + ( Y1 / youn0 ) ; * * Modele de calcul * *dess (trac0 et evec0) titr ' Courbes de traction et d ecrouissage (vert)' ; mod0 = 'MODE' vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'PLASTIQUE' 'ISOTROPE' ; 'ECRO' evec0 ; * * Conditions aux limites * cl0 = cl1 'ET' cl2 'ET' cl3 ; * * Chargement * chp1 = chp1 * depmax / l2 ; *trace chp1 vol1 ; chp0 = chp1 + chp2 ; *vec1 = 'VECT' dep1 1.E-5 'FX' 'FY' 'FZ' 'ROUG' ; *titr ' chargement ' ; *trace vec1 vol1 ; * * Temps du calcul * dt0 = 50. ; tfin0 = 1000. ; * * * Resolution par PASAPAS *--------------------------------------- * ta1 = 'TABLE' ; ta1 .'MODELE' = mod0 ; ta1 .'CARACTERISTIQUES' = mat0 ; ta1 .'BLOCAGES_MECANIQUES' = cl0 ; ta1 .'CHARGEMENT' = cha0 ; *ta1 .'TEMPS_CALCULES' = ( ( 'PROG' 0. 'PAS' dt0 80. ) 'ET' *( 'PROG' 85. 'PAS' 5. 90. ) 'ET' *( 'PROG' 92.5 'PAS' 2.5 tfin0 ) ) ; * * MODIF * MODIF_________________________________________________________________ TEMPS 'ZERO' ; * MODIF_________________________________________________________________ * MODIF TMASAU=table; ta1 . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; ta1.'HYPOTHESE_DEFORMATIONS' = 'LINEAIRE'; PASAPAS ta1 ; * MODIF * MODIF_________________________________________________________________ CPUint = TABTPS.'TEMPS_CPU'.'INITIAL'; * MODIF_________________________________________________________________ * MODIF *======================================================================= * Resolution avec le modele 'NON_LINEAIRE' 'UTILISATEUR' * Definition du modele et affectation des proprietes de materiau-------- LCM05_1 = MOTS 'E001' 'S001' 'E002' 'S002' 'E003' 'S003' 'E004' 'S004' 'E005' 'S005' 'E006' 'S006' 'E007' 'S007' 'E008' 'S008' 'E009' 'S009' 'E010' 'S010' ; LCM05_2 = MOTS 'E011' 'S011' 'E012' 'S012' 'E013' 'S013' 'E014' 'S014' 'E015' 'S015' 'E016' 'S016' 'E017' 'S017' 'E018' 'S018' 'E019' 'S019' 'E020' 'S020' ; LCM05_3 = MOTS 'E021' 'S021' 'E022' 'S022' 'E023' 'S023' 'E024' 'S024' 'E025' 'S025' 'E026' 'S026' 'E027' 'S027' 'E028' 'S028' 'E029' 'S029' 'E030' 'S030' ; LCM05_4 = MOTS 'E031' 'S031' 'E032' 'S032' 'E033' 'S033' 'E034' 'S034' 'E035' 'S035' 'E036' 'S036' 'E037' 'S037' 'E038' 'S038' 'E039' 'S039' 'E040' 'S040' ; LCM05_5 = MOTS 'E041' 'S041' 'E042' 'S042' 'E043' 'S043' 'E044' 'S044' 'E045' 'S045' 'E046' 'S046' 'E047' 'S047' 'E048' 'S048' 'E049' 'S049' 'E050' 'S050' 'E051' 'S051' 'E052' 'S052' ; LCMAT05 = LCM05_0 et LCM05_1 et LCM05_2 et LCM05_3 et LCM05_4 et LCM05_5 ; mo_util = MODE vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'NON_LINEAIRE' 'UTILISATEUR' 'NUME_LOI' 5 'C_MATERIAU' LCMAT05 'C_VARINTER' LCVAR05 ; ma_util = ma_u0 et ma_u11 et ma_u12 et ma_u21 et ma_u22 et ma_u31 et ma_u32 et ma_u41 et ma_u42 et ma_u51 et ma_u52 et ma_u61 ; * Resolution par PASAPAS------------------------------------------------ TABU = TABLE ; TABU.'MODELE' = mo_util ; TABU.'CARACTERISTIQUES' = ma_util ; TABU.'BLOCAGES_MECANIQUES' = cl0 ; TABU.'CHARGEMENT' = cha0 ; TMASAU=table; tabu . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; TEMPS 'ZERO' ; TABU.'HYPOTHESE_DEFORMATIONS' = 'LINEAIRE'; PASAPAS TABU ; CPUext = TABTPS.'TEMPS_CPU'.'INITIAL'; *======================================================================= * Comparaison des resultats obtenus par les deux modeles * * N.B. Comme on simule un essai de cisaillement YZ : * - Critere strict (errrel < 1.d-12) sur GAYZ, GIYZ et SMYZ * - Pour les autres composantes on note les depassements du critere * si impression demandee ***opti echo 1 ; uxc = TABLE ; uyc = TABLE ; uzc = TABLE ; epxxc = TABLE ; epyyc = TABLE ; epzzc = TABLE ; gaxyc = TABLE ; gaxzc = TABLE ; gayzc = TABLE ; eixxc = TABLE ; eiyyc = TABLE ; eizzc = TABLE ; gixyc = TABLE ; gixzc = TABLE ; giyzc = TABLE ; smxxc = TABLE ; smyyc = TABLE ; smzzc = TABLE ; smxyc = TABLE ; smxzc = TABLE ; smyzc = TABLE ; epsec = TABLE ; uxu = TABLE ; uyu = TABLE ; uzu = TABLE ; epxxu = TABLE ; epyyu = TABLE ; epzzu = TABLE ; gaxyu = TABLE ; gaxzu = TABLE ; gayzu = TABLE ; enxxu = TABLE ; enyyu = TABLE ; enzzu = TABLE ; gnxyu = TABLE ; gnxzu = TABLE ; gnyzu = TABLE ; smxxu = TABLE ; smyyu = TABLE ; smzzu = TABLE ; smxyu = TABLE ; smxzu = TABLE ; smyzu = TABLE ; epseu = TABLE ; idefo = 6 ; idein = 6 ; icont = 6 ; ierr = 0 ; critere = 1.d-12 ; IMESS = 0 ; ***IMESS = 1 ; nbgau = 8 ; ietat = -1 ; * DEBUT BOUCLE COMPARAISON DES RESULTATS________________________________ REPETER BECART netat ; ietat = ietat + 1 ; temps1 = ta1.'TEMPS'.ietat ; temps2 = TABU.'TEMPS'.ietat ; SI ((ABS (temps1-temps2)) > 1.0E-9) ; ierr = 1 ; QUITTER BECART ; FINSI ; * Extraction des resultats de calcul : Modele interne CAST3M----------- * Deplacements * Deformations totales igau = 0 ; REPETER BEPXXC nbgau ; igau = igau + 1 ; FIN BEPXXC ; igau = 0 ; REPETER BEPYYC nbgau ; igau = igau + 1 ; FIN BEPYYC ; igau = 0 ; REPETER BEPZZC nbgau ; igau = igau + 1 ; FIN BEPZZC ; igau = 0 ; REPETER BGAXYC nbgau ; igau = igau + 1 ; FIN BGAXYC ; igau = 0 ; REPETER BGAXZC nbgau ; igau = igau + 1 ; FIN BGAXZC ; igau = 0 ; REPETER BGAYZC nbgau ; igau = igau + 1 ; FIN BGAYZC ; * Deformations inelastiques igau = 0 ; REPETER BEIXXC nbgau ; igau = igau + 1 ; 'EIXX' 1 1 igau ; FIN BEIXXC ; igau = 0 ; REPETER BEIYYC nbgau ; igau = igau + 1 ; 'EIYY' 1 1 igau ; FIN BEIYYC ; igau = 0 ; REPETER BEIZZC nbgau ; igau = igau + 1 ; 'EIZZ' 1 1 igau ; FIN BEIZZC ; igau = 0 ; REPETER BGIXYC nbgau ; igau = igau + 1 ; 'GIXY' 1 1 igau ; FIN BGIXYC ; igau = 0 ; REPETER BGIXZC nbgau ; igau = igau + 1 ; 'GIXZ' 1 1 igau ; FIN BGIXZC ; igau = 0 ; REPETER BGIYZC nbgau ; igau = igau + 1 ; 'GIYZ' 1 1 igau ; FIN BGIYZC ; * Contraintes igau = 0 ; REPETER BSMXXC nbgau ; igau = igau + 1 ; FIN BSMXXC ; igau = 0 ; REPETER BSMYYC nbgau ; igau = igau + 1 ; FIN BSMYYC ; igau = 0 ; REPETER BSMZZC nbgau ; igau = igau + 1 ; FIN BSMZZC ; igau = 0 ; REPETER BSMXYC nbgau ; igau = igau + 1 ; FIN BSMXYC ; igau = 0 ; REPETER BSMXZC nbgau ; igau = igau + 1 ; FIN BSMXZC ; igau = 0 ; REPETER BSMYZC nbgau ; igau = igau + 1 ; FIN BSMYZC ; * Variables internes igau = 0 ; REPETER BEPSEC nbgau ; igau = igau + 1 ; 'EPSE' 1 1 igau ; FIN BEPSEC ; * Extraction des resultats de calcul : Modele externe utilisateur------ * Deformations totales igau = 0 ; REPETER BEPXXU nbgau ; igau = igau + 1 ; FIN BEPXXU ; igau = 0 ; REPETER BEPYYU nbgau ; igau = igau + 1 ; FIN BEPYYU ; igau = 0 ; REPETER BEPZZU nbgau ; igau = igau + 1 ; FIN BEPZZU ; igau = 0 ; REPETER BGAXYU nbgau ; igau = igau + 1 ; FIN BGAXYU ; igau = 0 ; REPETER BGAXZU nbgau ; igau = igau + 1 ; FIN BGAXZU ; igau = 0 ; REPETER BGAYZU nbgau ; igau = igau + 1 ; FIN BGAYZU ; * Deformations inelastiques (variables internes supplementaires) igau = 0 ; REPETER BENXXU nbgau ; igau = igau + 1 ; 'ENXX' 1 1 igau ; FIN BENXXU ; igau = 0 ; REPETER BENYYU nbgau ; igau = igau + 1 ; 'ENYY' 1 1 igau ; FIN BENYYU ; igau = 0 ; REPETER BENZZU nbgau ; igau = igau + 1 ; 'ENZZ' 1 1 igau ; FIN BENZZU ; igau = 0 ; REPETER BGNXYU nbgau ; igau = igau + 1 ; 'GNXY' 1 1 igau ; FIN BGNXYU ; igau = 0 ; REPETER BGNXZU nbgau ; igau = igau + 1 ; 'GNXZ' 1 1 igau ; FIN BGNXZU ; igau = 0 ; REPETER BGNYZU nbgau ; igau = igau + 1 ; 'GNYZ' 1 1 igau ; FIN BGNYZU ; * Contraintes igau = 0 ; REPETER BSMXXU nbgau ; igau = igau + 1 ; FIN BSMXXU ; igau = 0 ; REPETER BSMYYU nbgau ; igau = igau + 1 ; FIN BSMYYU ; igau = 0 ; REPETER BSMZZU nbgau ; igau = igau + 1 ; FIN BSMZZU ; igau = 0 ; REPETER BSMXYU nbgau ; igau = igau + 1 ; FIN BSMXYU ; igau = 0 ; REPETER BSMXZU nbgau ; igau = igau + 1 ; FIN BSMXZU ; igau = 0 ; REPETER BSMYZU nbgau ; igau = igau + 1 ; FIN BSMYZU ; * Variables internes igau = 0 ; REPETER BEPSEU nbgau ; igau = igau + 1 ; 'EPSE' 1 1 igau ; FIN BEPSEU ; * Comparaison des deplacements----------------------------------------- icomp = 1 ; ino = 0 ; ino = ino + 1 ; SI (EGA uxc.ino 0.0) ; SI (NON (EGA uxu.ino 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' uxu.ino ' Noeud' ino 'Etat' ietat ; Message ; FINSI ; ************ierr = 10 ; errabs = uxu.ino ; QUITTER BECART ; FINSI ; SINON ; dux = ABS (uxc.ino - uxu.ino) ; errrel = ABS (dux / uxc.ino) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Noeud' ino 'Etat' ietat ; Message 'uxc.ino =' uxc.ino 'uxu.ino =' uxu.ino ; Message ; FINSI ; ************ierr = 11 ; QUITTER BECART ; FINSI ; FINSI ; FIN BUX ; icomp = 2 ; ino = 0 ; ino = ino + 1 ; SI (EGA uyc.ino 0.0) ; SI (NON (EGA uyu.ino 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' uyu.ino ' Noeud' ino 'Etat' ietat ; Message ; FINSI ; ************ierr = 10 ; errabs = uyu.ino ; QUITTER BECART ; FINSI ; SINON ; duy = ABS (uyc.ino - uyu.ino) ; errrel = ABS (duy / uyc.ino) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Noeud' ino 'Etat' ietat ; Message 'uyc.ino =' uyc.ino 'uyu.ino =' uyu.ino ; Message ; FINSI ; ************ierr = 11 ; QUITTER BECART ; FINSI ; FINSI ; FIN BUY ; icomp = 3 ; ino = 0 ; ino = ino + 1 ; SI (EGA uzc.ino 0.0) ; SI (NON (EGA uzu.ino 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' uzu.ino ' Noeud' ino 'Etat' ietat ; Message ; FINSI ; ************ierr = 10 ; errabs = uzu.ino ; QUITTER BECART ; FINSI ; SINON ; duz = ABS (uzc.ino - uzu.ino) ; errrel = ABS (duz / uzc.ino) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Noeud' ino 'Etat' ietat ; Message 'uzc.ino =' uzc.ino 'uzu.ino =' uzu.ino ; Message ; FINSI ; ************ierr = 11 ; QUITTER BECART ; FINSI ; FINSI ; FIN BUZ ; * Comparaison des deformations----------------------------------------- icomp = 1 ; igau = 0 ; REPETER BEPXX nbgau ; igau = igau + 1 ; SI (EGA epxxc.igau 0.0) ; SI (NON (EGA epxxu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' epxxu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 20 ; errabs = epxxu.igau ; QUITTER BECART ; FINSI ; SINON ; depxx = ABS (epxxc.igau - epxxu.igau) ; errrel = ABS (depxx / epxxc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'epxxc.igau =' epxxc.igau 'epxxu.igau =' epxxu.igau; Message ; FINSI ; ************ierr = 21 ; QUITTER BECART ; FINSI ; FINSI ; FIN BEPXX ; icomp = 2 ; igau = 0 ; REPETER BEPYY nbgau ; igau = igau + 1 ; SI (EGA epyyc.igau 0.0) ; SI (NON (EGA epyyu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' epyyu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 20 ; errabs = epyyu.igau ; QUITTER BECART ; FINSI ; SINON ; depyy = ABS (epyyc.igau - epyyu.igau) ; errrel = ABS (depyy / epyyc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'epyyc.igau =' epyyc.igau 'epyyu.igau =' epyyu.igau; Message ; FINSI ; ************ierr = 21 ; QUITTER BECART ; FINSI ; FINSI ; FIN BEPYY ; icomp = 3 ; igau = 0 ; REPETER BEPZZ nbgau ; igau = igau + 1 ; SI (EGA epzzc.igau 0.0) ; SI (NON (EGA epzzu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' epzzu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 20 ; errabs = epzzu.igau ; QUITTER BECART ; FINSI ; SINON ; depzz = ABS (epzzc.igau - epzzu.igau) ; errrel = ABS (depzz / epzzc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'epzzc.igau =' epzzc.igau 'epzzu.igau =' epzzu.igau; Message ; FINSI ; ************ierr = 21 ; QUITTER BECART ; FINSI ; FINSI ; FIN BEPZZ ; icomp = 4 ; igau = 0 ; REPETER BGAXY nbgau ; igau = igau + 1 ; SI (EGA gaxyc.igau 0.0) ; SI (NON (EGA gaxyu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' gaxyu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 20 ; errabs = gaxyu.igau ; QUITTER BECART ; FINSI ; SINON ; dgaxy = ABS (gaxyc.igau - gaxyu.igau) ; errrel = ABS (dgaxy / gaxyc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'gaxyc.igau =' gaxyc.igau 'gaxyu.igau =' gaxyu.igau; Message ; FINSI ; ************ierr = 21 ; QUITTER BECART ; FINSI ; FINSI ; FIN BGAXY ; icomp = 5 ; igau = 0 ; REPETER BGAXZ nbgau ; igau = igau + 1 ; SI (EGA gaxzc.igau 0.0) ; SI (NON (EGA gaxzu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' gaxzu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 20 ; errabs = gaxzu.igau ; QUITTER BECART ; FINSI ; SINON ; dgaxz = ABS (gaxzc.igau - gaxzu.igau) ; errrel = ABS (dgaxz / gaxzc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'gaxzc.igau =' gaxzc.igau 'gaxzu.igau =' gaxzu.igau; Message ; FINSI ; ************ierr = 21 ; QUITTER BECART ; FINSI ; FINSI ; FIN BGAXZ ; icomp = 6 ; igau = 0 ; REPETER BGAYZ nbgau ; igau = igau + 1 ; SI (EGA gayzc.igau 0.0) ; SI (NON (EGA gayzu.igau 0.0)) ; ************SI (EGA IMESS 1) ; ************Message 'Erreur absolue' gayzu.igau ************ 'Composante ' (EXTR LDEFO icomp) ************ ' Point Gauss' igau 'Etat' ietat ; ************Message ; ************FINSI ; ierr = 20 ; errabs = gayzu.igau ; QUITTER BECART ; FINSI ; SINON ; dgayz = ABS (gayzc.igau - gayzu.igau) ; errrel = ABS (dgayz / gayzc.igau) ; SI (errrel > critere) ; ************SI (EGA IMESS 1) ; ************Message 'Erreur relative' errrel ************ 'Composante ' (EXTR LDEFO icomp) ************ ' Point Gauss' igau 'Etat' ietat ; ************Message 'gayzc.igau =' gayzc.igau 'gayzu.igau =' gayzu.igau; ************Message ; ************FINSI ; ierr = 21 ; QUITTER BECART ; FINSI ; FINSI ; FIN BGAYZ ; * Comparaison des deformations inelastiques---------------------------- icomp = 1 ; igau = 0 ; REPETER BEIXX nbgau ; igau = igau + 1 ; SI (EGA eixxc.igau 0.0) ; SI (NON (EGA enxxu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' enxxu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 30 ; errabs = enxxu.igau ; QUITTER BECART ; FINSI ; SINON ; deixx = ABS (eixxc.igau - enxxu.igau) ; errrel = ABS (deixx / eixxc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'eixxc.igau =' eixxc.igau 'enxxu.igau =' enxxu.igau; Message ; FINSI ; ************ierr = 31 ; QUITTER BECART ; FINSI ; FINSI ; FIN BEIXX ; icomp = 2 ; igau = 0 ; REPETER BEIYY nbgau ; igau = igau + 1 ; SI (EGA eiyyc.igau 0.0) ; SI (NON (EGA enyyu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' enyyu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 30 ; errabs = enyyu.igau ; QUITTER BECART ; FINSI ; SINON ; deiyy = ABS (eiyyc.igau - enyyu.igau) ; errrel = ABS (deiyy / eiyyc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'eiyyc.igau =' eiyyc.igau 'enyyu.igau =' enyyu.igau; Message ; FINSI ; ************ierr = 31 ; QUITTER BECART ; FINSI ; FINSI ; FIN BEIYY ; icomp = 3 ; igau = 0 ; REPETER BEIZZ nbgau ; igau = igau + 1 ; SI (EGA eizzc.igau 0.0) ; SI (NON (EGA enzzu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' enzzu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 30 ; errabs = enzzu.igau ; QUITTER BECART ; FINSI ; SINON ; deizz = ABS (eizzc.igau - enzzu.igau) ; errrel = ABS (deizz / eizzc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'eizzc.igau =' eizzc.igau 'enzzu.igau =' enzzu.igau; Message ; FINSI ; ************ierr = 31 ; QUITTER BECART ; FINSI ; FINSI ; FIN BEIZZ ; icomp = 4 ; igau = 0 ; REPETER BGIXY nbgau ; igau = igau + 1 ; SI (EGA gixyc.igau 0.0) ; SI (NON (EGA gnxyu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' gnxyu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 30 ; errabs = gnxyu.igau ; QUITTER BECART ; FINSI ; SINON ; dgixy = ABS (gixyc.igau - gnxyu.igau) ; errrel = ABS (dgixy / gixyc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'gixyc.igau =' gixyc.igau 'gnxyu.igau =' gnxyu.igau; Message ; FINSI ; ************ierr = 31 ; QUITTER BECART ; FINSI ; FINSI ; FIN BGIXY ; icomp = 5 ; igau = 0 ; REPETER BGIXZ nbgau ; igau = igau + 1 ; SI (EGA gixzc.igau 0.0) ; SI (NON (EGA gnxzu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' gnxzu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 30 ; errabs = gnxzu.igau ; QUITTER BECART ; FINSI ; SINON ; dgixz = ABS (gixzc.igau - gnxzu.igau) ; errrel = ABS (dgixz / gixzc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'gixzc.igau =' gixzc.igau 'gnxzu.igau =' gnxzu.igau; Message ; FINSI ; ************ierr = 31 ; QUITTER BECART ; FINSI ; FINSI ; FIN BGIXZ ; icomp = 6 ; igau = 0 ; REPETER BGIYZ nbgau ; igau = igau + 1 ; SI (EGA giyzc.igau 0.0) ; SI (NON (EGA gnyzu.igau 0.0)) ; ************SI (EGA IMESS 1) ; ************Message 'Erreur absolue' gnyzu.igau ************ 'Composante ' (EXTR LDEIN icomp) ************ ' Point Gauss' igau 'Etat' ietat ; ************Message ; ************FINSI ; ierr = 30 ; errabs = gnyzu.igau ; QUITTER BECART ; FINSI ; SINON ; dgiyz = ABS (giyzc.igau - gnyzu.igau) ; errrel = ABS (dgiyz / giyzc.igau) ; SI (errrel > critere) ; ************SI (EGA IMESS 1) ; ************Message 'Erreur relative' errrel ************ 'Composante ' (EXTR LDEIN icomp) ************ ' Point Gauss' igau 'Etat' ietat ; ************Message 'giyzc.igau =' giyzc.igau 'gnyzu.igau =' gnyzu.igau; ************Message ; ************FINSI ; ierr = 31 ; QUITTER BECART ; FINSI ; FINSI ; FIN BGIYZ ; * Comparaison des contraintes------------------------------------------ icomp = 1 ; igau = 0 ; REPETER BSMXX nbgau ; igau = igau + 1 ; SI (EGA smxxc.igau 0.0) ; SI (NON (EGA smxxu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' smxxu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 40 ; errabs = smxxu.igau ; QUITTER BECART ; FINSI ; SINON ; dsmxx = ABS (smxxc.igau - smxxu.igau) ; errrel = ABS (dsmxx / smxxc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'smxxc.igau =' smxxc.igau 'smxxu.igau =' smxxu.igau; Message ; FINSI ; ************ierr = 41 ; QUITTER BECART ; FINSI ; FINSI ; FIN BSMXX ; icomp = 2 ; igau = 0 ; REPETER BSMYY nbgau ; igau = igau + 1 ; SI (EGA smyyc.igau 0.0) ; SI (NON (EGA smyyu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' smyyu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 40 ; errabs = smyyu.igau ; QUITTER BECART ; FINSI ; SINON ; dsmyy = ABS (smyyc.igau - smyyu.igau) ; errrel = ABS (dsmyy / smyyc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'smyyc.igau =' smyyc.igau 'smyyu.igau =' smyyu.igau; Message ; FINSI ; ************ierr = 41 ; QUITTER BECART ; FINSI ; FINSI ; FIN BSMYY ; icomp = 3 ; igau = 0 ; REPETER BSMZZ nbgau ; igau = igau + 1 ; SI (EGA smzzc.igau 0.0) ; SI (NON (EGA smzzu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' smzzu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 40 ; errabs = smzzu.igau ; QUITTER BECART ; FINSI ; SINON ; dsmzz = ABS (smzzc.igau - smzzu.igau) ; errrel = ABS (dsmzz / smzzc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'smzzc.igau =' smzzc.igau 'smzzu.igau =' smzzu.igau; Message ; FINSI ; ************ierr = 41 ; QUITTER BECART ; FINSI ; FINSI ; FIN BSMZZ ; icomp = 4 ; igau = 0 ; REPETER BSMXY nbgau ; igau = igau + 1 ; SI (EGA smxyc.igau 0.0) ; SI (NON (EGA smxyu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' smxyu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 40 ; errabs = smxyu.igau ; QUITTER BECART ; FINSI ; SINON ; dsmxy = ABS (smxyc.igau - smxyu.igau) ; errrel = ABS (dsmxy / smxyc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'smxyc.igau =' smxyc.igau 'smxyu.igau =' smxyu.igau; Message ; FINSI ; ************ierr = 41 ; QUITTER BECART ; FINSI ; FINSI ; FIN BSMXY ; icomp = 5 ; igau = 0 ; REPETER BSMXZ nbgau ; igau = igau + 1 ; SI (EGA smxzc.igau 0.0) ; SI (NON (EGA smxzu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' smxzu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 40 ; errabs = smxzu.igau ; QUITTER BECART ; FINSI ; SINON ; dsmxz = ABS (smxzc.igau - smxzu.igau) ; errrel = ABS (dsmxz / smxzc.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'smxzc.igau =' smxzc.igau 'smxzu.igau =' smxzu.igau; Message ; FINSI ; ************ierr = 41 ; QUITTER BECART ; FINSI ; FINSI ; FIN BSMXZ ; icomp = 6 ; igau = 0 ; REPETER BSMYZ nbgau ; igau = igau + 1 ; SI (EGA smyzc.igau 0.0) ; SI (NON (EGA smyzu.igau 0.0)) ; ************SI (EGA IMESS 1) ; ************Message 'Erreur absolue' smyzu.igau ************ 'Composante ' (EXTR LCONT icomp) ************ ' Point Gauss' igau 'Etat' ietat ; ************Message ; ************FINSI ; ierr = 40 ; errabs = smyzu.igau ; QUITTER BECART ; FINSI ; SINON ; dsmyz = ABS (smyzc.igau - smyzu.igau) ; errrel = ABS (dsmyz / smyzc.igau) ; SI (errrel > critere) ; ************SI (EGA IMESS 1) ; ************Message 'Erreur relative' errrel ************ 'Composante ' (EXTR LCONT icomp) ************ ' Point Gauss' igau 'Etat' ietat ; ************Message 'smyzc.igau =' smyzc.igau 'smyzu.igau =' smyzu.igau; ************Message ; ************FINSI ; ierr = 41 ; QUITTER BECART ; FINSI ; FINSI ; FIN BSMYZ ; * Comparaison des variables internes----------------------------------- icomp = 1 ; igau = 0 ; REPETER BEPSE nbgau ; igau = igau + 1 ; SI (EGA epsec.igau 0.0) ; SI (NON (EGA epseu.igau 0.0)) ; SI (EGA IMESS 1) ; Message 'Erreur absolue' epseu.igau ' Point Gauss' igau 'Etat' ietat ; Message ; FINSI ; ************ierr = 50 ; errabs = epseu.igau ; QUITTER BECART ; FINSI ; SINON ; depse = ABS (epsec.igau - epseu.igau) ; errrel = ABS (depse / epsec.igau) ; SI (errrel > critere) ; SI (EGA IMESS 1) ; Message 'Erreur relative' errrel ' Point Gauss' igau 'Etat' ietat ; Message 'epsec.igau =' epsec.igau 'epseu.igau =' epseu.igau; Message ; FINSI ; ************ierr = 51 ; QUITTER BECART ; FINSI ; FINSI ; FIN BEPSE ; FIN BECART ; * FIN BOUCLE COMPARAISON DES RESULTATS________________________________ * MESSAGES D'ERREUR_____________________________________________________ Message ; Message 'CPU avec modele interne = ' CPUint 'centiemes de seconde' ; Message 'CPU avec modele externe = ' CPUext 'centiemes de seconde' ; ifin = netat-1 ; giyzcmax = 0.0 ; igau = 0 ; REPETER BGIYZFC nbgau ; igau = igau + 1 ; 'GIYZ' 1 1 igau ; SI (giyz > giyzcmax) ; giyzcmax = giyz ; FINSI ; FIN BGIYZFC ; giyzumax = 0.0 ; igau = 0 ; REPETER BGIYZFU nbgau ; igau = igau + 1 ; 'GNYZ' 1 1 igau ; SI (giyz > giyzumax) ; giyzumax = giyz ; FINSI ; FIN BGIYZFU ; Message ; Message 'GIYZ max avec modele interne = ' giyzcmax ; Message 'GIYZ max avec modele externe = ' giyzumax ; Message ; SI (ierr > 0) ; SI (EGA ierr 1) ; Message 'Instants de calcul non coincidants' ; FINSI ; SI (EGA ierr 10) ; ' Noeud' ino 'Etat' ietat ; FINSI ; SI (EGA ierr 11) ; ' Noeud' ino 'Etat' ietat ; FINSI ; SI (EGA ierr 20) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SI (EGA ierr 21) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SI (EGA ierr 30) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SI (EGA ierr 31) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SI (EGA ierr 40) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SI (EGA ierr 41) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SI (EGA ierr 50) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SI (EGA ierr 51) ; ' Point Gauss' igau 'Etat' ietat ; FINSI ; SINON ; Message 'Resultats concordants entre les deux modeles' ; Message 'Aucune erreur relative superieure a ' critere ' pour les composantes' ; FINSI ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales