* G_THETA PROCEDUR JB251061 22/08/09 21:15:02 11426 * ============================================================================= * PROCEDURE DE MISE EN OEUVRE DE LA METHODE G-THETA * ------------------------------------------------- * * DESCRIPTION : CETTE PROCEDURE PERMET DE CALCULER DES INTEGRALES DE MECANIQUE * DE LA RUPTURE. CES INTEGRALES SONT : * 1) LE TAUX DE RESTITUTION D'ENERGIE G (OU INTEGRALE DE * CONTOUR J) EN ELASTO-PLASTICITE OU ELASTO-DYNAMIQUE; * 2) dJ/dA EN ELASTOPLASTICITE; * 3) C* POUR LE FLUAGE SECONDAIRE STATIONNAIRE; * 4) C*H POUR LE FLUAGE PRIMAIRE SOUS CHARGEMENT RADIAL. * * IL EST EGALEMENT POSSIBLE DE CALCULER LES FACTEURS D'INTENSITE * DES CONTRAINTES (KI, KII, KIII) VIA L'OPTION 'DECOUPLAGE'. * ============================================================================= * INTRODUCTION DE VARIABLES UTILES * -------------------------------- * CREATION DE LA TABLE DE BOOLEENS * ******************************** SAUT 'LIGNE'; '--------------------'; FINSI; * CONFIGURATION INITIALE * ********************** * ============================================================================= * DETERMINATION DU CAS DEMANDE ET VERIFICATION DES DONNEES OBLIGATOIRES * --------------------------------------------------------------------- * APPEL A G_CAS * ************* MESS 'ERREUR : IL Y A EU UN PROBLEME INATTENDU PENDANT LA LECTURE DES'; MESS ' DONNEES'; FINSI; NMESS = OBJUTI.'NMESS'; * LECTURE DES DONNEES FOURNIES * **************************** GDIME = OBJUTI.'DIMENSION'; MOD_MEC = OBJUTI.'MOD_MEC'; MAT_MEC = OBJUTI.'MAT_MEC'; WTAB = OBJUTI.'WTAB'; FINSI; MAILLAGE = OBJUTI.'MAILLAGE'; M_FRONT = OBJUTI.'FRONT'; * QUELQUES DONNEES NON ISSUES DE G_CAS * ************************************ * TYPE D'ELEMENTS DU MAILLAGE * VERIFICATIONS DANS LE CAS DE PERSO1 SI BOOL.'PERSO1'; MESS 'utilisation de PERSO1 en cours de dvlpt'; FINSI; ESTIM = SUPTAB.'SOLUTION_PASAPAS'.'ESTIMATION'; SINON; FINSI; MESS 'Attention! utilisation de PERSO1 sans MAILLAGE_REDUIT'; FINSI; FINSI; * MOTS DE COMPOSANTES UTILES * ************************** * LISTMOT SCAL : * LISTMOTS POUR LE DEPLACEMENT ET POUR LA FORCE : * ON EXTRAIT LES GDIME PREMIERS MOTS CAR ON NE VEUT PAS DES ROTATIONS * DANS LE CAS DES COQUES SI (EGA GDIME 3); FINSI; * CREATION DE CHAR1 SI PASAPAS * **************************** CHAR1 = SUPTAB.'SOLUTION_PASAPAS'.'CHARGEMENT'; FINSI; * DONNEES EN CAS DE CONTACT * ************************* OBJCON = SUPTAB.'MODELE_FISSURE'; FINSI; * ============================================================================= * EXTRACTION DU MAILLAGE, DU CHAMP THETA ET DE LA DIRECTION DE PROPAGATION * ------------------------------------------------------------------------ * MODELE MULTICOUCHES DANS LE CAS DE COQUE * **************************************** SI BOOL.'COQ'; ELMULT = SUPTAB.'ELEMENT_MULTICOUCHE'; MESS 'ERREUR : L ELEMENT EN MULTICOUCHE DOIT'; FINSI; MESS 'ERREUR : ON VEUT UN SEUL ELEMENT EN MULTICOUCHE'; FINSI; SINON; MESS 'ERREUR : IL FAUT DESIGNER UN ELEMENT EN MULTICOUCHE'; FINSI; MESS ' INTERMEDIAIRES POUR L ELEMENT DESIGNE EN'; MESS ' MULTICOUCHE PROCHE DE LA FISSURE.'; FINSI; I1 = (2 * &NBJ5) - 1; MODCOU.&NBJ5 = M_ELMU.I1; EPAITO = EPAITO + EP1; FIN NBJ5; NSUPE = 0 ; NMOYE = 0 ; NINFE = 0; SI (EGA EX1 (EPAITO/2.) 1.E-4); NSUPE = LM1; FINSI; SI (EGA EX1 0. 1.E-10); NMOYE = LM1; FINSI; SI (EGA EX1 (EPAITO/(-2.)) 1.E-4); NINFE = LM1; FINSI; FIN NBJ6; SI (EGA NSUPE 0); MESS 'ERREUR : IL FAUT UNE COUCHE EN PEAU SUPERIEURE'; MESS ' D EPAISSEUR INFERIEURE A'; FINSI; SI (EGA NMOYE 0); MESS 'ERREUR : IL FAUT UNE COUCHE AU PLAN MEDIAN'; MESS ' AYANT UN EXCENTREMENT NUL'; FINSI; SI (EGA NINFE 0); MESS 'ERREUR : IL FAUT UNE COUCHE EN PEAU INFERIEURE'; MESS ' D EPAISSEUR INFERIEURE A'; FINSI; SUPTAB.'EPAISSEUR' = EPAITO; M_SUPE = MODCOU.NSUPE; M_MOYE = MODCOU.NMOYE; M_INFE = MODCOU.NINFE; FINSI; * MAILLAGE UTILISE DANS LA RESOLUTION PAR E.F. * ******************************************** SI BOOL.'COQ'; M1 = M_DETA.(2*&NBJ8); ITER NBJ8; FINSI; TMULT.M1 = VRAI; FIN NBJ9; FINSI; FIN NBJ8; FINSI; SUPTAB.'MAILLAGE' = MAILLAGE; * DETERMINATION DES CHAMPS THETA ET PI ET DE LA ZONE DE TRAVAIL ELTETA * ******************************************************************** OTER SUPTAB 'TAB_THETA'; FINSI; OTER SUPTAB 'TAB_PI'; FINSI; * CHAMP_THETA ET COUCHE SONT TOUS DEUX FOURNIS, ON ECRASE CHAMP_THETA OTER SUPTAB 'CHAMP_THETA'; FINSI; SINON; MESS 'CHAMP_THETA FOURNI PAR L UTILISATEUR'; FINSI; * ON APPELLE CH_TETX POUR CALCULER CHAMP_THETA CH_THETX SUPTAB OBJUTI BOOL; SINON; * ON APPELLE CH_TETA POUR CALCULER CHAMP_THETA CH_THETA SUPTAB OBJUTI BOOL; FINSI; * DETERMINATION DE ELTETA * ELTETA1 = MAILLAGE OU TETA N EST PAS NUL + 1 COUCHE CHTHETA = SUPTAB.'CHAMP_THETA'; CHTHETA = CHTHETA.'GLOBAL'; FINSI; * UU = EXTR CHTHETA 'MAILLAGE'; FINSI; * ELTETA = MAILLAGE FOURNI PAR L UTILISATEUR ELTETA = SUPTAB.'MAILLAGE_REDUIT'; * VERIFICATION DE LA COMPATIBILITE AVEC CHTHETA MESS 'ATTENTION : LE MAILLAGE_REDUIT DONNE EST INCOMPATIBLE AVEC LE'; MESS ' CHAMP THETA, IL SERA DONC IGNORE.'; ELTETA = ELTETA1; FINSI; SINON; ELTETA = ELTETA1; FINSI; FINSI; * ON STOCKE LES DIRECTIONS DANS UTILTET1 POUR PROPAGATION EN XFEM * DIRECTION DE PROPAGATION : DIR1 * DIRECTION TANGENTE AU FRONT : DIR2 * DIRECTION DE CISAILLEMENT SI SEPARATION DE MODES : DIR3 REPE I 3; SUPTAB.'UTILTET1'.MDIR = OBJUTI.MDIR; FINSI; FIN I; * ON COMPLETE ELTETA * ****************** * AJOUT EVENTUEL DE ELPI A ELTETA ELPI = SUPTAB.'FRONT_FISSURE_2'; REPE MAIL2 ((SUPTAB.'COUCHE') + 1); FIN MAIL2; ELTETA = ELTETA ET ELPI; FINSI; * AJOUT DU NOEUD SUPPORT EN DEF.PL.GENERALISEES SI (EGA GMODE 'PLANGENE'); FINSI; * L'ELEMENT SUPPORTANT LE MODELE MULTICOUCHE * DOIT ETRE DANS LA ZONE THETA SI BOOL.'COQ'; SI (NEG N1 N2); MESS ' L INTEGRALE SE TROUVE EN DEHORS DE LA ZONE'; MESS ' DEFINIE PAR LE NOMBRE DE COUCHES DONNE.'; FINSI; FINSI; * ELTETA SERA PRATIQUE POUR LES TESTS DE REPRISE OBJUTI.'ELTETA' = ELTETA; SUPTAB.'ELTET1' = ELTETA; * TESTS DE COMPATIBILITE * ********************** * BOOL.'REPRI' = VRAI SI REPRISE DE CALCUL, FAUX SINON BOOL.'REPRI' = FAUX; BOOL.'REPRI' = (N1 - 1) > SUPTAB.'IABC'; MESS 'on tente une reprise...'; FINSI; FINSI; * TESTS DE COMPATIBILITE SI REPRISE DE CALCUL SI BOOL.'REPRI'; * ON VERIFIE QUE L OBJECTIF RESTE LE MEME SI (NEG SUPTAB.'OBJ1' SUPTAB.'OBJECTIF'); MESS 'ERREUR : REPRISE IMPOSSIBLE CAR L OBJECTIF DU'; MESS ' CALCUL ACTUEL N EST PAS LE MEME QUE'; MESS ' CELUI DU CALCUL PRECEDENT'; FINSI; * ON DOIT AVOIR LE MEME NOMBRE DE COUCHE (ON SUPPOSE LA FISSURE FIXE) SI (NEG SUPTAB.'COU1' SUPTAB.'COUCHE'); MESS 'ERREUR : REPRISE IMPOSSIBLE CAR LE NOMBRE DE'; MESS ' COUCHE ACTUEL N EST PAS LE MEME QUE'; MESS ' CELUI UTILISE POUR LE CALCUL PRECEDENT'; FINSI; FINSI; * RESTE A VERIFIER LA COMPATIBILITE DES SUPPORT DE CHAMP TETA VIA ELTETA * ELTETA DOIT ETRE INCLUS DANS ELTET1 ELTET1 = SUPTAB.'ELTET1'; MESS 'ERREUR : REPRISE IMPOSSIBLE CAR LE SUPPORT DU '; MESS ' CELUI UTILISE POUR LE CALCUL PRECEDENT'; FINSI; MESS 'REPRISE DU CALCUL AUTORISE !'; FINSI; * TESTS DE COMPATIBILITE SI UTILISATION DE PERSO1 ELTET1 = SUPTAB.'ELTET1'; MESS 'ERREUR : REPRISE IMPOSSIBLE CAR LE SUPPORT DU '; MESS ' CELUI UTILISE POUR LE CALCUL PRECEDENT'; FINSI; MESS 'POURSUITE DU CALCUL VIA PERSO1 AUTORISE !'; FINSI; FINSI; * ============================================================================= * MODELES ET MATERIAUX DANS LA ZONE DE TRAVAIL * -------------------------------------------- * VERIFICATION DES DONNEES D ENTREE POUR MODELES_COMPOSITES REPE BIN4 N1; SI (NEG T1 'MMODEL '); MESS ' TABLE MODELES_COMPOSITES EST INCORRECTE'; FINSI; FIN BIN4; MESS 'ERREUR : TOUS LES MODELES DE MATERIAUX'; MESS ' COMPOSITES NE SONT PAS DONNES'; FINSI; FINSI; * CREATION DE MOD_MEC ET TABMOD * CAS DE MODELES COMPOSITES (AVEC DISCONTINUITE) : ON A DU TRAVAIL M1 = SUPTAB.'MODELES_COMPOSITES'.&BIN1; * SI ON A DES NOEUDS EN COMMUN, ... SI (NEG (N1 + N2) N3); * ... ON LES RECUPERE * SI TOUS LES NOEUDS EN COMMUN SONT SUR LE CONTOUR * => PAS D ELEMENTS A RECUPERER => ON PASSE AU MODELE SUIVANT SI (EGA N1 N2); ITER BIN1; FINSI; * SINON, ON RECUPERE LES ELEMENTS CONCERNES ET LE MODELE REDUIT MOD_MEC_R = MOD_MEC_R ET TABMOD.N1; FINSI; FIN BIN1; SINON; * CAS DE MODELES SANS DISCONTINUITE : ON A MOINS DE TRAVAIL TABMOD.1 = MOD_MEC_R; FINSI; * CHAMP EPAISSEUR DANS LA ZONE DE TRAVAIL SI BOOL.'COQ'; FINSI; * CALCUL DE C* PAR DEUX TYPES DE MODELE FLUAGE * ******************************************** *** ITYPEF = 1 MODELE FLUAGE POUR LEQUEL ON A UNE EXPRESSION *** EXPLICITE DE L'INTEGRATION DE LA VITESSE DE *** DEFORMATION DE FLUAGE SUR LE TEMPS *** ITYPEF = 2 MODELE FLUAGE POUR LEQUEL ON N'OBTIENT PAS *** FACILEMENT CETTE EXPRESSION EXPLICITE *** ITYPEF = 99 SI EN ELASTO OU THERMO-ELASTO-PLASTICITE * DETERMINATION DE ITYPEF ITYPEF = 99; SI (BOOL.'C*' OU BOOL.'C*H'); ITYPEF = 1; FINSI; ITYPEF = 2; FINSI; FINSI; * INTERFACES DANS LA ZONE DE TRAVAIL * ********************************** * CREATION DES INTERFACES INTER-MODELE * ON BOUCLE SUR LES MODELES QUI APPARTIENNENT A ELTETA IIN3 = &BIN2; REPE BIN3 NIN3; IIN3 = IIN3 + 1; * ON ITERE SI (M1 INCLUT DANS M2) OU (M2 INCLUT DANS M1) ITER BIN3; FINSI; * ON ITERE SI M1 ET M2 N ONT PAS DE NOEUDS COMMUNS ITER BIN3; FINSI; * ON RECUPERE L INTERFACE M1-M2 * LO1=VRAI <=> IL EXISTE DES NOEUDS COMMUNS A M1 ET M2 * LO2=VRAI <=> IL N'Y A PAS 1 NOEUD COMMUN A M1 ET M2 * LO4 = M1 ET M2 FORMENT BIEN UNE INTERFACE ET NE SE CHEVAUCHENT PAS SI (LO1 ET LO2 ET LO4); * ON AJOUTE L INTERFACE CAR ON A >1 NOEUDS EN COMMUN A M1 ET M2 LINTER.LE1 = L1; * BOOL.'PARAL'=VRAI <=> TOUTES LES INTERFACES SONT // A LA FISSURE * SI BOOL.'PARAL'=FAUX IL FAUT AJOUTER DES TERMES D INTERFACES AU C * PETITE MODIF CAR DIR1 DOIT ETRE UN CHPOINT DESORMAIS * -> A VERIFIER ? SI (GDIME EGA 2); PDIR1 = XDIR1 YDIR1; SINON; PDIR1 = XDIR1 YDIR1 ZDIR1; FINSI; LO1 = ('<EG' ('DIST' P1 PDIR1 ) 1.E-6) 'OU' ('<EG' ('DIST' P1 (-1.*PDIR1)) 1.E-6); BOOL.'PARAL' = BOOL.'PARAL' ET LO1; FINSI; FIN BIN3; FIN BIN2; FINSI; * DANS LE CAS DECOUPLAGE SEULEMENT : * TEST SI FRONT_FISSURE EST DANS UNE INTERFACE LE1 = IND1.&BIN4; SI (EGA N1 N2); QUIT BIN4; SINON; ITER BIN4; FINSI; FIN BIN4; FINSI; * SI OUI (BOOL.'DANS'),ON DETERMINE LES MODELES SUP ET INF MODINF = 0 ; MODSUP = 0; * ON REDEFINIT : BOOL.'PARAL'=VRAI <=> L'INTERFACE A LAQUELLE APPARTIENT LA FISSURE E BOOL.'PARAL' = FAUX; LSUP = SUPTAB.'LEVRE_SUPERIEURE'; LINF = SUPTAB.'LEVRE_INFERIEURE'; SI ( ((N1 + NLSUP - N1SUP) > 1) ET ((N2 + NLINF - N2INF) > 1)); * LSUP ET MOD1 ONT PLUS D'1 POINT COMMUN ET IDEM POUR LINF ET MOD2 SINON; SI ( ((N1 + NLINF - N1INF) > 1) ET ((N2 + NLSUP - N2SUP) > 1)); SINON; MESS 'ERREUR : INCOMPATIBILITE ENTRE LE MODELES_COMPOSITES'; FINSI; FINSI; * LA FISSURE EST BIEN DANS LE PROLONGEMENT DE L' INTERFACE BOOL.'PARAL' = VRAI; FINSI; * REM: il faudrait egalement verifier que MODSUP et MODINF suffisent a decrire E * MODPLA : table indicee par entier pour stocker les modeles * mecaniques de chaque objet MMODEL. ************************************************** *** Elle est vide si le modele est elastique ou elastoplastique *** avec une courbe de traction independante de la temperature. *** Dans le cas contraire la table vaut : *** 1 si le modele est plastique isotrope. Alors une *** nouvelle courbe de traction EPSE-SIGMA est faite. *** 2 si le modele est plastique cinematique *** 3 si le modele est plastique parfaite BOOL.'GRADYOUN' = FAUX ; BOOL.'GRADNU' = FAUX; BOOL.'GRADALPH' = FAUX ; MODPLA = TABLE ; TABTRA = TABLE; REPE BCMOD1 NBOBJ; MODEI = TABMOD.&BCMOD1; * ON DETERMINE SI ON A DES GRADIENTS DE PROPRIETES (THERMO-)ELASTIQUES SI BOOL.'THER'; MPROP = MPROP ET 'ALPH'; FINSI; SI (EGA TYP1 'EVOLUTIO'); BOOL.MGRAD = VRAI; SINON; SI (DPRO1 > CRI1); BOOL.MGRAD = VRAI; FINSI; FINSI; FIN IPROP; * COURBE DE TRACTION SI (EGA TYPTR 'NUAGE '); MODPLA.&BCMOD1 = 1; SI (EGA &BNUA1 1); SINON; FINSI; FIN BSIG1; SI (&BNUA1 EGA 1); SINON; FINSI; FIN BNUA1; TABTRA.&BCMOD1 = TRA2; * ON ENLEVE LA COURBE DE TRACTION SI ELLE DEPEND DE * LA TEMPERATURE (OPERATION TROP COUTEUSE POUR VARI) SI (NEG C1 'ECRO'); SI (EGA &BCOM1 1); SINON; FINSI; FINSI; FIN BCOM1; FINSI; * SIGY (et pas TRAC) SINON; SI ((EGA TYPH 'EVOLUTIO') OU (EGA TYPSI 'EVOLUTIO')); MODPLA.&BCMOD1 = 2; FINSI; SINON; SI (EGA TYPSI 'EVOLUTIO'); MODPLA.&BCMOD1 = 3; FINSI; FINSI; FINSI; FINSI; FIN BCMOD1; * METHODE DE CALCUL DES CHAMPS AUXILIAIRES SI DECOUPLAGE (VOIR G_AUX) * ******************************************************************* SI BOOL.'DECOUPLAGE'; FINSI; MESS; /NMESS; * PAR DEFAUT ON UTILISE LA METHODE U-ANALYTIQUE DANS LE CAS BI-MATERIAU 2D SUPTAB.'METH_AUX' = 'UANA'; SINON; * PAR DEFAUT ON UTILISE LA METHODE G-ANALYTIQUE DANS LE CAS MONO-MATERIAU SUPTAB.'METH_AUX' = 'GANA'; FINSI; SINON; * ON UTILISE TOUJOURS LA METHODE U-ANALYTIQUE POUR UN BI-MATERIAU SUPTAB.'METH_AUX' = 'UANA'; MESS 'ATTENTION : SEULE LA METHODE UANA EST UTILISABLE POUR'; FINSI; SAUT 'LIGNE'; FINSI; * VERIFICATION QUE LA METHODE EST UTILISABLE METH_AUX = SUPTAB.'METH_AUX'; SI ((NEG METH_AUX 'GANA') ET (NEG METH_AUX 'UANA') ET (NEG METH_AUX 'MECA')); MESS ' LES CHAMPS AUXILIAIRES'; FINSI; SI (EGA METH_AUX 'GANA'); * INSTRUCTION BIDON CAR SINON LA DETECTION D'ERREUR NE SE PASSE PAS BIEN... VAR = VRAI; MESS 'ERREUR : LES LEVRES NE SONT PAS ORIENTEES CORRECTEMENT'; FINSI; FINSI; FINSI; MESS ' CAS 3D AVEC DES ELEMENTS STANDARDS'; FINSI; SI ((EGA METH_AUX 'UANA') ET (EGA GDIME 3)); FINSI; FINSI; * CAS IMPOSSIBLE A TRAITER * ************************ SI (NON BOOL.'PARAL'); MESS 'ERREUR : ON NE PEUT PAS ENCORE DECOUPLER LES MODES'; MESS ' EN PRESENCE D''UNE DISCONTINUITE MATERIELLE'; FINSI; SI (EGA GDIME 3); MESS 'ERREUR : ON NE PEUT PAS ENCORE DECOUPLER LES MODES'; MESS ' EN PRESENCE D''UNE DISCONTINUITE MATERIELLE'; FINSI; FINSI; FINSI; * ============================================================================= * PREREQUIS POUR EFFECTUER LES CALCULS * ------------------------------------ * NOMBRE DE BOUCLE POUR LE CALCUL DES INTEGRALES * ********************************************** NBG = -1; SI BOOL.'REPRI'; NBG = SUPTAB.'IABC'; NBDEP = NBDEP - 1 - NBG; FINSI; SI BOOL.'PERSO1'; NBG = (WTAB . 'PAS') - 1; NBDEP = 1; FINSI; SINON; NBG = -1; NBDEP = 1; FINSI; * SOLUTION DU PAS PRECEDENT SI REPRISE DE CALCUL OU SI PERSO1 * *********************************************************** SI (BOOL.'REPRI' OU (BOOL.'PERSO1' ET (NBG >EG 0))); VAR1 = (SUPTAB.'SOLUTION_PASAPAS'.'VARIABLES_INTERNES'.NBG) REDU MOD_MEC_R; SINON; FINSI; MAT_INST = SUPTAB.'MAT_INST'; SI (EGA ITYPEF 2); VDI1 = SUPTAB.'VDI1'; FINSI; WVMIS = SUPTAB.'ENV1'; FINSI; MESS 'RECUP DU PAS PRECEDENT OK'; FINSI; FINSI; * CALCUL DE LA DEFORMATION THERMIQUE A TREF SI (BOOL.'THER' ET (NON BOOL.'COQ')); SINON; FINSI; OBJUTI.'EPTREF' = EPTREF; FINSI; * REMPLISSAGE DE OBJUTI * ********************* OBJUTI.'MOD_MEC_R' = MOD_MEC_R; OBJUTI.'MODCOU' = MODCOU; OBJUTI.'TABMOD' = TABMOD; OBJUTI.'LINTER' = LINTER; OBJUTI.'MODPLA' = MODPLA; OBJUTI.'ITYPEF' = ITYPEF; OBJUTI.'NBG' = NBG; * DECOUPLAGE OBJUTI.'MODSUP' = MODSUP; OBJUTI.'MODINF' = MODINF; * AJOUT BP BT POUR LE CONTACT FROTTANT OBJUTI.'OBJCON' = OBJCON; OBJUTI.'MAILCON' = MAILCON; FINSI; * FIN AJOUT BP BT SI BOOL.'PERSO1'; OBJUTI.'ESTIMATION' = ESTIM; FINSI; *************************************************** ** DECLARATION DES TABLES STOCKANT LES RESULTATS ** *************************************************** SI BOOL.'PERSO1'; FLCREA = NBG EGA -1; SINON; FLCREA = NON BOOL.'REPRI'; FINSI; SI FLCREA; FINSI; SI (EGA GDIME 3); FINSI; SI (EGA ITYPEF 99); SUPTAB.'CRIT_DECHA_GLOBAL1' = TABLE; SUPTAB.'CRIT_DECHA_LOCAL1' = TABLE; SUPTAB.'CRIT_DECHA_GLOBAL2' = TABLE; SUPTAB.'CRIT_DECHA_GLOBAL2_L' = TABLE; SUPTAB.'CRIT_DECHA_LOCAL2' = TABLE; FINSI; FINSI; FINSI; SI BOOL.'DECOUPLAGE'; REPE IRUPT GDIME; FINSI; FINSI; FIN IRUPT; FINSI; FINSI; * DECLARATION DES TABLES POUR CHPO_RESULTATS ET CHAM_RESULTATS SINON; FINSI; FINSI; SINON; FINSI; FINSI; * ============================================================================= * APPEL A G_AUX SI DECOUPLAGE * -------------------------- SI BOOL.'DECOUPLAGE'; OBJUTI.'MAT_INST' = MAT_MEC; FINSI; SUPTAB.'CH_AUX' = CH_AUX; FINSI; * APPEL A G_CALCUL POUR EFFECTUER LES CALCULS ET ENREGISTRER LES RESULTATS * ------------------------------------------------------------------------ G_CALCUL SUPTAB OBJUTI BOOL; * MESSAGE DE FIN DE LA PROCEDURE SAUT 'LIGNE'; '---------------------'; SAUT 'LIGNE'; FINSI; FINPROC;
© Cast3M 2003 - Tous droits réservés.
Mentions légales