* G_CAS PROCEDUR JB251061 21/02/05 21:15:06 10879 * ============================================================================= * PROCEDURE D'ANALYSE DE LA TABLE D'ENTREE FOURNIE A G_THETA * ---------------------------------------------------------- * * DESCRIPTION : DETERMINE SI LE CALCUL DEMANDE EST PREVU PAR LA VERSION * ACTUELLE DE G_THETA, ET PREVIENT L'UTILISATEUR SI LE CAS * ENVISAGE N'EST PAS TESTE OU VALIDE PAR LA BASE DE CAS TESTS * ACTUELLE. * ON EN PROFITE EGALEMENT POUR CREER CERTAINS OBJETS QUI SERONT * UTILISES PAR G_THETA. * ============================================================================= DEBP G_CAS SUPTAB*'TABLE' BOOL*'TABLE' ; * I - DETERMINATION DU CAS DEMANDE ET VERIFICATION DES DONNEES OBLIGATOIRES * ------------------------------------------------------------------------- SAUT 'LIGNE' ; MESS 'IDENTIFICATION DU CAS DEMANDE PAR L''UTILISATEUR :' ; SAUT 'LIGNE' ; NDEC = 20 ; * I.1 - LECTURE DES DONNEES FOURNIES A SUPTAB * ******************************************* * I.1.A - OBJECTIF MESS 'ERREUR : IL FAUT SPECIFIER L INTEGRALE' ; SINON ; FINSI ; FINSI ; * MESSAGE MESS MESSOBJ ; * I.1.B - DIMENSION ET MODE DE CALCUL * MESSAGE MESS MESSDIME ; MESS MESSMODE ; * I.1.C - TYPE DE SOLUTION DONNEE SINON ; MESS 'ERREUR : SOLUTION_RESO INCORRECTE.' MESS ' ON ATTEND UN ''CHPOINT''.' ; FINSI ; GSOLU = 'LINEAIRE' ; SINON ; FINSI ; FINSI ; * I.1.D - MODELE MECANIQUE, MATERIAU ET HYPOTHESE DE CALCUL SI (EGA GSOLU 'LINEAIRE') ; FINSI ; MESS 'ERREUR : IL FAUT DONNER LE CHAMP CARACTERISTIQUE' ; FINSI ; MOD_TOT = SUPTAB.'MODELE' ; GHYPO = 'HPP' ; SINON ; MOD_TOT = SUPTAB.'SOLUTION_PASAPAS'.'MODELE' ; WTAB = SUPTAB.'SOLUTION_PASAPAS'.'WTABLE' ; MOD_MEC = WTAB.'MOD_MEC' ; MAT_MEC = WTAB.'MAT_MEC' ; SINON ; MESS 'Absence de WTABLE ! l execution continue ...' ; MOD_TOT = SUPTAB.'SOLUTION_PASAPAS'.'MODELE' ; WTAB = SUPTAB.'SOLUTION_PASAPAS' ; FINSI ; SUPTAB.'MODELE' = MOD_MEC ; SI WTAB.'GRANDS_DEPLACEMENTS' ; GHYPO = 'GRANDS_DEPLACEMENTS' ; SINON ; GHYPO = 'HPP' ; FINSI ; SI WTAB.'DYNAMIQUE' ; SINON ; FINSI ; FINSI ; * COMPORTEMENT ELASTIQUE SINON ; FINSI ; * COMPORTEMENT PLASTIQUE MPLAS.(1) MPLAS.(2) MPLAS.(3) = 'ISOTROPE' 'PARFAIT' 'CINEMATIQUE' ; FINSI ; FIN I ; FINSI ; * COMPORTEMENT VISCOPLASTIQUE MVISC.(1) MVISC.(2) MVISC.(3) MVISC.(4) MVISC.(5) MVISC.(6) = 'NORTON' 'POLYNOMIAL' 'BLACKBURN' 'RCCMR_316' 'RCCMR_304' 'LEMAITRE' ; FINSI ; FIN I ; FINSI ; * PROPRIETES QUI DEPENDENT D'UN PARAMETRE FIN I ; * PROPRIETES QUI DEPENDENT DE LA POSITION PPOSI = PPOSI ET ICOMP ; FINSI ; FINSI ; FIN I ; * PROPRIETES A GRADIENT PGRAD = PPARA ET PPOSI ; * DISCONTINUITES MATERIELLES DISMAT = VRAI ; TABMOD = SUPTAB.'MODELES_COMPOSITES' ; SINON ; DISMAT = FAUX ; FINSI ; * MESSAGE TYPE DE SOLUTION MESS MESSSOLU ; * MESSAGE HYPOTHESE DE CALCUL MESS MESSHYPO ; * MESSAGE MATERIAU FINSI ; FINSI ; MESS MESSMAT ; * MESSAGE VARIATION DES PROPRIETES SI DISMAT ; SINON ; SINON ; FINSI ; FINSI ; MESS MESSVAR ; * I.1.E - MAILLAGE ET TYPE D'ELEMENTS SUPTAB.'FISSURE' = SUPTAB.'FISSURE' ET SUPTAB.'LEVRE_SUPERIEURE' ; FINSI ; SUPTAB.'FISSURE' = SUPTAB.'FISSURE' ET SUPTAB.'LEVRE_INFERIEURE' ; FINSI ; * ELEMENTS LINEAIRES OU NONLINEAIRES FINSI ; FIN I ; MESS ' LE CALCUL SE POURSUIT QUAND MEME.' ; FINSI ; GELDEG = 1.5 ; SINON ; GELDEG = 1 ; SINON ; GELDEG = 2 ; FINSI ; FINSI ; * ELEMENTS XFEM OU STANDARD (MASSIF OU COQUE) SINON ; MESS 'ERREUR : LE MAILLAGE SUPPORT DU MODELE EST CONSTITUE' ; SINON ; GELTYP = 'STD COQUE' ; SINON ; FINSI ; FINSI ; FINSI ; * MESSAGE MESS MESSELEM ; * I.1.F - CHARGEMENT GCHAR.'PRESSION' = 'HORS LEVRES' ; SINON ; GCHAR.'PRESSION' = 'SUR LEVRES' ; SINON ; GCHAR.'PRESSION' = 'HORS LEVRES' ; FINSI ; FINSI ; SINON ; GCHAR.'PRESSION' = 'AUCUN' ; FINSI ; SI (EGA GSOLU 'LINEAIRE') ; SINON ; GCHAR.'THERMIQUE' = 'AUCUN' ; FINSI ; SINON ; CHAR1 = SUPTAB.'SOLUTION_PASAPAS'.'CHARGEMENT' ; SINON ; SINON ; GCHAR.'THERMIQUE' = 'AUCUN' ; FINSI ; FINSI ; FINSI ; NMESS = 0 ; SI (NEG NMESS 0) ; MESSCHAR = ' ' ; FINSI ; SI GCHAR.MCHAR ; MESS MESSCHAR ; NMESS = NMESS + 1 ; FINSI ; FINSI ; SI (NEG GCHAR.MCHAR 'AUCUN') ; MESS MESSCHAR ; NMESS = NMESS + 1 ; FINSI ; FINSI ; FIN I ; * I.1.G - CONTACT ENTRE LEVRES DE FISSURE MESS MESSCONT ; * I.2 - VERIFICATION QUE LE CAS EST TRAITABLE * ******************************************* * I.2.A - VERIFICATION QUE L'ON CONNAIT L'OBJECTIF SI ((NEG GOBJ 'J') ET (NEG GOBJ 'C*') ET (NEG GOBJ 'C*H') ET (NEG GOBJ 'DJ/DA') ET (NEG GOBJ 'J_DYNA') ET (NEG GOBJ 'DECOUPLAGE')) ; MESS 'ERREUR : ON NE CONNAIT PAS L INTEGRALE SPECIFIEE' ; FINSI ; * I.2.B - VERIFICATION QUE LE MATERIAU EST ISOTROPE MESS 'ERREUR : ON NE PEUT PAS TRAITER LE CAS DE MATERIAUX ANISOTROPES.' ; FINSI ; * I.2.C - VERIFICATION QUE L'ON A PAS A LA FOIS DES INTERFACES ET DES GRADIENTS * DE PROPRIETES MESS 'ERREUR : ON NE PEUT PAS TRAITER LE CAS DE DISCONTINUITES' ; FINSI ; * I.2.D - INTERFACES (2D SEULEMENT, ET ON DOIT AVOIR AU MOINS DEUX MODELES) SI DISMAT ; SI (EGA GDIME 3) ; MESS 'ERREUR : ON NE PEUT PAS ENCORE TRAITER LES DISCONTINUITES DE' ; MESS ' PROPRIETES EN 3D' ; FINSI ; MESS 'ERREUR : IL FAUT AU MOINS DEUX MODELES POUR' ; MESS ' DETERMINER LA LIGNE COMMUNE D''INTERFACE' ; FINSI ; FINSI ; * I.2.E - OBJECTIF : J SI (EGA GOBJ 'J') ; MESS 'ERREUR : ON ATTEND UN COMPORTEMENT ELASTOPLASTIQUE POUR' ; FINSI ; FINSI ; * I.2.F - OBJECTIF : C* OU C*H SI ((EGA GOBJ 'C*') OU (EGA GOBJ 'C*H')) ; MESS 'ERREUR : ON ATTEND UN COMPORTEMENT VISCOPLASTIQUE POUR' ; FINSI ; SI (NEG GCHAR.'THERMIQUE' 'AUCUN') ; FINSI ; SI (NEG GHYPO 'HPP') ; MESS ' EN GRANDS DEPLACEMENTS' ; FINSI ; SI (EGA GOBJ 'C*H') ; MESS 'ERREUR : IL FAUT UN MODELE DE FLUAGE NORTON' ; FINSI ; FIN I ; FINSI ; FINSI ; * I.2.G - OBJECTIF : DJ/DA SI (EGA GOBJ 'DJ/DA') ; MESS 'ERREUR : ON ATTEND UN COMPORTEMENT ELASTOPLASTIQUE POUR' ; FINSI ; FINSI ; SI (NEG GELTYP 'STD MASSIF') ; MESS ' DES ELEMENTS STANDARDS MASSIFS' ; FINSI ; SI (NEG GHYPO 'HPP') ; MESS ' SOUS L''HYPOTHESE DES PETITES PERTURBATIONS' ; FINSI ; MESS 'ERREUR : IL FAUT DONNER LES BLOCAGES MECANIQUES' ; FINSI ; FINSI ; * I.2.H - OBJECTIF : J_DYNA SI (EGA GOBJ 'J_DYNA') ; MESS ' L''INTEGRALE J_DYNA' ; FINSI ; FINSI ; FINSI ; * I.2.I - OBJECTIF : DECOUPLAGE MESS 'ERREUR : ON ATTEND UN COMPORTEMENT ELASTIQUE POUR UTILISER' ; FINSI ; MESS ' SOLIDE A GRADIENT DE PROPRIETES' ; FINSI ; SI (EGA GELTYP 'STD COQUE') ; MESS ' CAS DE COQUES' ; FINSI ; * SI IL Y A DES INTERFACES IL FAUT VERIFIER QU'ELLES SONT PARALLELES A LA * FISSURE, MAIS LA DIRECTION DE CELLE-CI EST OBTENUE APRES AVOIR CALCULE * LE CHAMP THETA, DONC CETTE VERIFICATION EST FAITE DANS G_THETA FINSI ; * I.2.J - CONTACT ENTRE LES LEVRES : UNIQUEMENT AVEC RESO ET XFEM SI BCONT ; SI (NEG GSOLU 'LINEAIRE') ; FINSI ; MESS ' STANDARDS' ; FINSI ; FINSI ; * I.2.K - ON VERIFIE QU'IL N'Y A PAS DE GRADIENT DE COEFFICIENT DE POISSON MESS 'ERREUR : ON NE SAIT PAS ENCORE TRAITER LA PRESENCE D''UN GRADIENT' ; MESS ' DE COEFFICIENT DE POISSON' ; FINSI ; * I.3 - VERIFICATION DES DONNEES NECESSAIRES * ****************************************** * I.3.A - FRONT DE FISSURE MESS 'ERREUR : ON VEUT LE FRONT DE LA FISSURE' ; FINSI ; M_FRONT = SUPTAB.'FRONT_FISSURE' ; FINSI ; FINSI ; * I.3.B - FISSURE_2 ET SON FRONT POUR DJ/DA SI (EGA GOBJ 'DJ/DA') ; MESS ' LES TERMES CROISES DE LA MATRICE' ; FINSI ; FINSI ; SINON ; SI (EGA SUPTAB.'COUCHE' 0) ; MESS 'ERREUR : LE NOMBRE DE COUCHES DOIT ETRE SUPERIEUR A' ; FINSI ; FINSI ; FINSI ; * I.3.C - PRESSION OBLIGATOIRE SI CALCUL LINEAIRE ET MODELE DE PRESSION SI ((NEG GCHAR.'PRESSION' 'AUCUN') ET (EGA GSOLU 'LINEAIRE')) ; MESS 'ERREUR : IL MANQUE LA DONNEE DU CHAMP DE PRESSION' ; FINSI ; FINSI ; * I.3.D - VERIFICATION QU'ON A LE CHARGEMENT SI SOLUTION LINEAIRE SI (EGA GSOLU 'LINEAIRE') ; SI ((EGA GCHAR.'THERMIQUE' 'AUCUN') ET (EGA GCHAR.'PRESSION' 'AUCUN') ET (NON GCHAR.'MECANIQUE') ET (NON GCHAR.'DEFORMATIONS IMPOSEES')) ; MESS 'ERREUR : IL FAUT LES CHARGEMENTS APPLIQUES :' ; FINSI ; FINSI ; * I.3.E - DEFINITION DE LA FISSURE NECESSAIRE FINSI ; SINON ; SI (EGA GT_OBJ 'DECOUPLAGE') ; MESS 'ERREUR : L''OBJECTIF DECOUPLAGE NECESSITE LES DEUX' ; MESS ' LEVRES DE LA FISSURE' ; FINSI ; SINON ; MESS 'ERREUR : IL FAUT DONNER LA FISSURE' ; FINSI ; FINSI ; FINSI ; * I.3.F - ON VERIFIE QU'ON A OU BIEN LE NOMBRE DE COUCHES OU BIEN CHAM_THETA MESS 'ERREUR : ON VEUT LE NOMBRE DE COUCHES D ELEMENTS' ; MESS ' AUTOUR DE LA FISSURE QUI SE DEPLACE' ; MESS ' POUR SIMULER LA PROPAGATION DE LA FISSURE' ; FINSI ; * I.3.G - ON NE CALCULE PAS CORRECTEMENT LE CAS THERMIQUE AVEC DES COQUES * DONC POUR L'INSTANT ON DEBRANCHE L'OPTION SI ((EGA GELTYP 'STD COQUE') ET (NEG GCHAR.'THERMIQUE' 'AUCUN')) ; MESS 'ERREUR : UNE CORRECTION EST NECESSAIRE POUR TRAITER UN CHARGEMENT' ; MESS ' THERMIQUE AVEC LES ELEMENTS COQUE' ; FINSI ; * ============================================================================= * II - STOCKAGE DES INFORMATIONS POUR TRANSFERT A G_THETA * ------------------------------------------------------- * II.1 - OBJETS ET INFOS UTILES DANS OBJUTI * ***************************************** OBJUTI.'DIMENSION' = GDIME ; OBJUTI.'MOD_TOT' = MOD_TOT ; OBJUTI.'MOD_MEC' = MOD_MEC ; OBJUTI.'MAT_MEC' = MAT_MEC ; OBJUTI.'MAILLAGE' = MAILLAGE ; OBJUTI.'FRONT' = M_FRONT ; SI (NEG GSOLU 'LINEAIRE') ; OBJUTI.'WTAB' = WTAB ; FINSI ; * II.2 - BOOLEENS DANS BOOL * ************************* * OBJECTIF BOOL.'J' = EGA SUPTAB.'OBJECTIF' 'J' ; BOOL.'C*' = EGA SUPTAB.'OBJECTIF' 'C*' ; BOOL.'C*H' = EGA SUPTAB.'OBJECTIF' 'C*H' ; BOOL.'DJ/DA' = EGA SUPTAB.'OBJECTIF' 'DJ/DA' ; BOOL.'J_DYNA' = EGA SUPTAB.'OBJECTIF' 'J_DYNA' ; * PASAPAS * GRANDS DEPLACEMENTS BOOL.'GRANDS_DEP' = EGA GHYPO 'GRANDS_DEPLACEMENTS' ; * MODELE DE PRESSION BOOL.'MODE_PRES' = NEG GCHAR.'PRESSION' 'AUCUN' ; * PRESSION SUR FISSURE BOOL.'PRES_FISS' = EGA GCHAR.'PRESSION' 'SUR LEVRES' ; * CHARGEMENTS THERMIQUES BOOL.'THER' = NEG GCHAR.'THERMIQUE' 'AUCUN' ; * DEFORMATIONS IMPOSEES BOOL.'DEF_IMP' = GCHAR.'DEFORMATIONS IMPOSEES' ; * ORDRE DES ELEMENTS BOOL.'EL_LIN' = EGA GELDEG 1 ; BOOL.'EL_QUA' = EGA GELDEG 2 ; * ELEMENTS XFEM * ELEMENTS COQUE BOOL.'COQ' = EGA GELTYP 'STD COQUE' ; * ROTATION DE CORPS RIGIDE * PERSO1 BOOL.'PERSO1' = SUPTAB.'PERSO1' ; SINON ; BOOL.'PERSO1' = FAUX ; FINSI ; * FROTTEMENT ENTRE LEVRES DE FISSURE * SAUT DE LIGNE AVANT DE RETOURNER DANS G_THETA SAUT 'LIGNE' ; FINP OBJUTI ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales