d6.07.05 DISMOI et les utilitaires pour les Structures de Données#

Résumé :

On présente dans ce document quelques utilitaires d’intérêt général opérant sur des structures de données : copie, destruction, existence, impression.

L’utilitaire DISMOI sert à extraire une information “scalaire” (1 entier ou 1 texte) dans une Structure de Données.

Table des matières

Routine DISMOI#

Principe

Cette routine doit éviter de multiplier les séquences de programmation nécessaires pour récupérer une information (entier ou texte) dans une Structure de Données (SD).

Exemple :

  • le nom du maillage associé à un champ,

  • le nombre d’équations d’un nume_ddl,

C’est en quelque sorte une forme de “JELIRA” sur les SD.

Pour récupérer le nom (MA) du maillage associé au champ (CH), on fera :

CALL DISMOI ('NOM_MAILLA', 'CH', 'CHAMP', repk=MA)

Remarques :

On peut étendre cette routine à des “objets” qui ne sont pas vraiment des SD. Il suffit que l’on puisse nommer l’objet et lui associer un type. C’est par exemple le cas des grandeurs , type_elem et phénomène .

Certaines SD ne sont pas vraiment nommées car elles sont uniques. C’est par exemple le cas du catalogue d’éléments finis (” &CATA” cf [D4.04.01] - Structure de Données sd_cata_elem ) dans ce cas le nom de l’objet est inutilisé.

Syntaxe d’appel

CALL DISMOI(question, nom_SD, type_SD, repi, repk, arret, ier)

question

K*

mot clé précisant la requête,

nom_SD

K*

nom d’une SD,

type_SD

K*

mot clé précisant le type de la structure de donnée : nom_SD,

repi

I

réponse (quand la réponse est entière),

repk

K*

réponse (quand la réponse est une chaîne de caractères),

arret

K1

“F” (défaut) / “C” “F” : en cas de problème, on s’arrête en erreur fatale “C” : en cas de problème, on sort de la routine avec ier=1

ier

I

code retour d’erreur si arret=”C”, ier =0 tout va bien, 1 sinon

Dans une utilisation “standard”, on pose une question qui doit avoir une réponse. On fait alors :

CALL DISMOI (question, nom_SD, type_SD, repk (ou repi)=xxx)

Si la requête échoue, l’arrêt est brutal (“F”) mais cela traduit une erreur de programmation.

Liste des types reconnus par DISMOI#

Nom du type

Longueur

Routine

“CARA_ELEM”

K8

DISMCR

“CARTE”

K19

DISMCA

“CARTE_CARCRI”

K19

DISMOI_CARCRI

“CARTE_COMPOR”

K19

DISMCO

“CATALOGUE”

K0

DISMCT

“CHAM_ELEM” ou “RESUELEM”

K19

DISMCE

“CHAM_ELEM_S”

K19

DISMES

“CHAM_MATER”

K8

DISMCM

“CHAM_NO”

K19

DISMCN

“CHAM_NO_S”

K19

DISMNS

“CHAMP”

K19

DISMCP

“CHARGE”

K8

DISMCH

“FOND_FISS”

K8

DISMFF

“FISS_XFEM”

K8

DISMXF

“GRANDEUR”

K8

DISMGD

“INCONNU”

K19

DISMIC

“INTERF_DYNA”

K14

DISMLI

“LIGREL”

K19

DISMLG

“MACR_ELEM_STAT”

K8

DISMML

“MAILLAGE”

K8

DISMMA

“MATR_ASSE”

K19

DISMMS

“MATR_ELEM” ou “VECT_ELEM”

K8

DISMME

“MODELE”

K8

DISMMO

“NUME_DDL”

K14

DISMNU

“PHENOMENE”

K16

DISMPH

“RESULTAT”

K8

DISMRS

“RESU_DYNA”

K8

DISMDY

“TYPE_ELEM”

K16

DISMTE

“TYPE_MAILLE”

K8

DISMTM

Remarques :

la longueur des noms des objets typés Kn est indicative : la routine DISMOI complète (ou tronque) le nom fourni par l’utilisateur en fonction du type associé, le nom des routines DISMXX associées aux différents types est donné (en 3ème colonne) pour permettre à des programmeurs d’ajouter de nouvelles possibilités,

Règle : Lorsque l’on utilise DISMOI , il faut toujours appeler DISMOI et jamais les routines spécifiques DISMXX .

Liste des questions possibles#

Dans le tableau ci-dessous, on donne pour chaque question :

  • l’intitulé de la question (texte en majuscules entre quotes : “ “ ),

  • le type du résultat de la question : I, K3, K8, …,

  • une explication des réponses possibles.

“AXIS”

K3

“OUI” / “NON” “OUI”: TOUS les éléments (du LIGREL)sont axisymétriques.

“BASE_MODALE”

K8

nom de la base modale de projection pour un résultat dynamique sur base généralisée

“BESOIN_MATER”

K3

“OUI” / “NON” Si le MODELEnécessite un CHAM_MATER

“CALC_RIGI”

K3

“OUI” / “NON” Permet de savoir si un type_elementpeut calculer de la “rigidité” (et donc s’il est un élément “principal” de la modélisation et non pas un élément de “bord”)

“CARA_ELEM” “CARA_ELEM_1”

K8

nom du CARA_ELEM sous-jacent. “ “ : il n’y a pas de CARA_ELEM sous-jacent. “#PLUSIEURS” : il y a plusieurs CARA_ELEM sous-jacents. Si la question est “CARA_ELEM_1” et qu’il existe plusieurs CARA_ELEM, on retourne l’un d’entre eux.

“CHAM_DISCONTINUITE”

K16

nom du champ discontinu pour la méthode X-FEM: “DEPL”(“SIGM’à venir)

“CHAM_MATER” “CHAM_MATER_1”

K8

nom du CHAM_MATER sous-jacent. “ “: il n’y a pas de CHAM_MATER sous-jacent. “#PLUSIEURS” : il y a plusieurs CARA_ELEM sous-jacents. Si la question est “CHAM_MATER_1” et qu’il existe plusieurs CHAM_MATER, on retourne l’un d’entre eux.

“COEF_MULT”

I

valeur du coefficient “multiplicateur” du nombre de valeurs des CHAM_ELEM(pour les variables internes)

“CONFIG_INIT”

K8

Type de configuration initiale des lèvres de la fissure: “DECOLLEE’ou “COLLEE”

“DIM_GEOM”

I

1/ 2 / 3: dimension du problème : 1D, 2Dou 3D. Remarque : A la date du 07/2012 il n’existe pas de modélisation 1d sur les types : type_elem , ligrel, modele, macr_elem_stat la réponse peut être : 1 : tous les type_elemsous-jacents sont 1D(X) 2 : tous les type_elemsous-jacents sont 2D(X,Y) 3 : tous les type_elemsous-jacents sont 3D(X,Y,Z) si il co-existe plusieurs type_elemde dimensions différentes : 120 :mélange 1D et 2D 023 (23): mélange 2Det 3D 103 : mélange 1Det 3D 123 : mélange 1D, 2Det 3D sur le type maillage : la réponse est : 2 : le maillage aster lu est de type “COOR_2D”ou bien il est “COOR_3D”mais tous les nœuds sont dans le plan Z=0. 3 : le maillage aster lu est de type “COOR_3D”et tous les nœuds ne sont pas dans le plan Z=0.

“DIM_GEOM_B”

I

2 / 3 : dimension du problème : 2Dou 3D. Cette valeur est celle lue dans le fichier de maillage : COOR_2Dou COOR_3D.Attention : ce n’est pas parce que COOR_3Dque le maillage est réellement 3D.

“DIM_TOPO”

I

dimension topologique d’une maille : 0/1/2/3. Exemple : TRIA3→ 2

“ELAS_F_HYDR”

K3

“OUI” / “NON si le CHAM_MATER utilise pour son comportement ELAS_XXXau moins une fonction de l’hydratation

“ELAS_F_SECH”

K3

“OUI” / “NON si le CHAM_MATER utilise pour son comportement ELAS_XXXau moins une fonction du séchage

“ELAS_F_TEMP”

K3

“OUI” / “NON si le CHAM_MATER utilise pour son comportement ELAS_XXXau moins une fonction de la température

“ELAS_INCR”

K8

“ELAS” / “INCR” / “MIXTE” “ELAS’si toutes les lois de comportement de la carte du comportement sont élastiques “INCR’si toutes les lois de comportement de la carte du comportement sont incrémentales “MIXTE’sinon

“ELEM_VOLU_QUAD”

K3

“OUI” / “NON” / “MEL”: “OUI”: Tous les éléments du MODELEsont mécaniques, volumiques et quadratiques. “NON”: Tous les éléments du MODELEsont mécaniques, volumiques et linéaires. “MEL”: Il existe des éléments du MODELEmécaniques, volumiques linéaires et d’autres quadratiques.

“EXI_AMOR”

K3

“OUI” / “NON Pour un modèle : “OUI’s’il contient des éléments absorbants ou des macro_éléments avec amortissement. Pour un CARA_ELEM : “OUI’s’il contient des éléments discrets possédant des caractéristiques d’amortissement.

“EXI_AMOR_ALPHA”

K3

“OUI” / “NON si le cham_materfait référence a au moins un matériau qui possède la CMP “AMOR_ALPHA”

“EXI_AMOR_HYST”

K3

“OUI” / “NON” si le cham_materfait référence a au moins un matériau qui possède la “CMP” “AMOR_HYST”

“EXIS_AXIS”

K3

“OUI” / “NON” “OUI”: Certains éléments sont axisymétriques.

“EXI_COQ1D”

K3

“OUI” / “NON” si le MODELEcontient des éléments finis des modélisations COQU_C_PLANou COQU_D_PLANou COQU_AXIS

“EXI_COQ3D”

K3

“OUI” / “NON” si le MODELEcontient des éléments finis des modélisations COQU_3D

“EXI_ELEM”

K3

“OUI” / “NON” si le MODELEcontient des éléments finis (il peut ne contenir que des sous-structures statiques)

“EXI_ELTVOL”

K3

“OUI” / “NON” si le MODELEcontient des éléments “volumiques”

“EXI_HYDRAT”

K4

“NON “ : la charge mécanique ne contient pas d’hydratation “EVOL” : la charge mécanique contient un evol_ther d’hydratation “CHGD”: la charge mécanique contient un champ d’hydratation

“EXIS_LAGR”

K3

“OUI” / “NON’s’il existe des multiplicateurs de Lagrange associés aux conditions aux limites dans la matrice

“EXI_PLAQUE”

K3

“OUI” / “NON’si le MODELEcontient des éléments de plaque : modélisations DST / DKTou Q4G

“EXI_POUX”

K3

“OUI” / “NON” si le MODELEcontient des éléments de poutre “à la POUX”.

“EXI_RDM”

K3

“OUI” / “NON” si le MODELEcontient des éléments de RDM. (poutre, plaque ou coque)

“EXI_SECHAG”

K4

“NON “ : la charge mécanique ne contient pas de séchage “EVOL”: la charge mécanique contient un evol_ther de séchage “CHGD”: la charge mécanique contient un champ de séchage

“EXI_TEMPER”

K4

“NON “: la charge mécanique ne contient pas de température “EVOL”: la charge mécanique contient un evol_therde température “CHGD”: la charge mécanique contient un champ de température

“EXI_THM”

K5

“OUI” / “NON’si le MODELEcontient des éléments des modélisations THM. “OUI_P” si leMODELE est en plus la version permanente

“EXI_TUYAU”

K3

“OUI” / “NON’si le MODELEcontient des éléments “TUYAU”

“EXI_SEG2”, “EXI_TRIA6”, …, “EXI_PYRAM13”

K3

“OUI” / “NON” si le MAILLAGE contient des mailles de type TRIA3, TRIA6, … Il existe une question pour TOUS les types de maille usuels : POI1, SEG2, SEG3, …, PYRAM13

“LINE_QUAD”

K16

“LINE’si le LIGRELne contient que des mailles linéaires “QUAD’si le LIGRELne contient que des mailles quadratiques “LINE_QUAD’si le LIGRELcontient des mailles linéaires et des mailles quadratiques

“MATR_DISTRIBUEE”

K3

“OUI”: la matrice est «distribuee» “NON”: sinon

“MODELISATION”

K16

nom de la MODELISATIONassociée à un MODELE. S’il existe plusieurs MODELISATIONSdans le MODELE, la réponse est “ “

“MXNBSP”

I

nombre maximum de sous-point dans un CHAM_ELEM

“MXVARI”

I

nombre maximum de variable de interne dans un CHAM_ELEM

“NB_CHAMP_MAX”

I

majorant du nombre des numéros d’ordre d’une SD RESULTAT.

“NB_CHAMP_UTI”

I

nombre des numéros d’ordre utilisés d’une SD RESULTAT.

“NB_CHAMPS”

I

Nombre de champs d’un résultat dynamique,

“NB_CMP_MAX”

I

majorant du nombre de composantes d’une GRANDEUR.

“NB_DDLACT”

I

nombre de DDLSactifs = nombre de DDLSphysiques moins le nombre de contraintes cinématiques.

“NB_DDL_NOEUD”

I

nombre de degrés de liberté par nœud dans le modèle sous-jacent à la matrice. Renvoie -1 si ce nombre n’est pas constant.

“NB_EC”

I

nombre d’entiers nécessaires pour coder une grandeur : nb_ec =nb_cmp_max/30

“NB_EQUA”

I

nombre d’équations d’un système linéaire.

“NB_FISS_XFEM”

I

Nombre de fissures X-FEM associées à un MODELE.

“NB_GREL”

I

nombre de “GRELS”dans le LIGREL.

“NB_MA_MAILLA”

I

nombre de MAILLESdu MAILLAGE.

“NB_MA_SUP”

I

nombre de MAILLESsupplémentaires du LIGREL.

“NB_NL_MAILLA”

I

nombre de nœuds de LAGRANGEdu MAILLAGE. ce nombre peut être non nul si le maillage contient des SUPER_MAILLES.

“NB_NO_MAILLA”

I

nombre de nœuds du MAILLAGE.

“NB_NO_MAX”

I

majorant du nombre des NOEUDSdes TYPE_MAILLES.

“NB_NO_SS_MAX”

I

nombre maximum de nœuds pour une SUPER_MAILLE du MAILLAGE.

“NB_NO_SUP”

I

nombre de NOEUDSsupplémentaires du LIGREL.

“NB_SM_MAILLA”

I

nombre de SUPER_MAILLES du MAILLAGE.

“NB_SS_ACTI”

I

nombre de sous-structures actives dans un MODELE.

“NB_TYPE_MA”

I

nombre de TYPE_MAILLES dans le catalogue.

“NBNO_TYPMAIL”

I

nombre de nœuds d’untype_maille

“NOM_GD”

K8

nom de la GRANDEUR.

“NOM_GD_SI”

K8

nom de la GRANDEURsimple associée.

“NOM_LIGREL”

K19

nom du LIGREL.

“NOM_MAILLA”

K8

nom du MAILLAGE.

“NOM_MODE_CYCL”

K8

nom du MODE_CYCL.

“NOM_MODELE” “MODELE” “MODELE_1”

K8

nom du MODELE sous-jacent. “ “: il n’y a pas de MODELEsous-jacent. “#PLUSIEURS” : il y a plusieurs MODELEsous-jacents. Si la question est “MODELE_1” et qu’il existe plusieurs MODELE, on retourne l’un d’entre eux.

“NOM_NUME_DDL”

K14

nom du NUME_DDL.

“NOM_OPTION”

K16

nom de l’OPTION(catalogue) de calcul.

“NOM_TYPMAIL”

K8

nom d’un type_maille

“NU_CMP_LAGR”

I

numéro de la composante “LAGR”dans une GRANDEUR.

“NUM_GD”

I

numéro de la GRANDEUR.

“NUM_GD_SI”

I

numéro de la GRANDEURsimple associée.

“NUM_TYPMAIL”

I

numéro d’untype_maille

“NUME_CHAM_[K8]”

K19

pour un résultat dynamique sur une base modale composée, le nume_ddl associé à un champ de déplacement nodal d’un numéro d’ordre donné. Le numéro d’ordre est donné en remplaçant la chaine de caractère [K8] de la question par la valeur souhaitée. Exemple: “NUME_CHAM_2”: numérotation associée au champ dont le numéro d’ordre est égal à 2. Cette question est équivalente à “NUME_CHAM_00000002” Remarque: dans certains cas ( e.g. restitution sur un squelette) la réponse est de type prof_chno.

“NUME_DDL”

K19 / I

Cette question produit deux réponses: 1) Nom du premier concept nume_ddld’un résultat dynamique. 2) Nombre de nume_ddl différents référencés dans le résultat dynamique.

“NUME_EQUA”

K19

nom de la SDNUME_EQUA associée.

“PARA_INST”

K3

“OUI”: si la CARTEest une carte de FONCTIONS dépendant du temps “ “: sinon

“PHENOMENE”

K16

nom du PHENOMENEassocie à un MODELE. le PHENOMENEest unique dans un MODELE)

“POST_INCR”

K3

“OUI”/”NON” “OUI”: action de post-traitement à la fin de chaque pas de temps de STAT_NON_LINE (modification des variables internes)

“PRE_COND_XFEM”

K8

“OUI”/”SANS”/”NON” “OUI”: le pré-conditionneur X-FEM est sollicité dans le MODELEX-FEM “SANS”: le pré-conditionneur X-FEM n’est pas sollicité dans le MODELE “NON”: le pré-conditionneur X-FEM est absent du MODELE

“PROF_CHNO”

K19

nom du PROF_CHNO sous-jacent.

“REF_XXXX_YYYY”

K8

Nom du concept de référence d’un résultat dynamique. L’intitulé de la question se construit dynamiquement en remplaçant XXXX et YYYY par: “XXXX”: “MASS”: concerne la matrice de masse “RIGI”: concerne la matrice de rigidité “AMOR”: concerne la matrice d’amortissement “INTD”: concerne l’interface dynamique “INTS”: concerne l’interface statique “MESU”: concerne la base de projection des résultats de mesures expérimentales. “YYYY”: “PREM”: première occurrence “DERN”: dernière occurrence “0002”: deuxième occurrence “000i”: i-ème occurrence “NOMB”: nombre total de concepts différents Exemples: “REF_RIGI_PREM”: nom de la matrice de rigidité située dans la première occurrence “DYNAMIQUE” des objets de référence. “REF_INTD_0003”:nom de la troisième occurrence d’une interface dynamique dans les objets de référence.

“SUR_OPTION”

K16

nom de l’option “utilisateur” qui “chapeaute” éventuellement l’option réelle (soit du catalogue) associée à l’objet. ex : “CHAR_MECA’pour’CHAR_MECA_PESA_R”

“SYME”

K8

“OUI”/”NON’si la fissure a été défini par symétrie

“THER_F_INST”

K3

“OUI”/”NON’si le cham_materutilise pour son comportement THER_XXXau moins une fonction du temps

“TYPE”

K16

type d’un concept dont on ne sait rien (“INCONNU”) : “FONCTION, “CHAM_ELEM”, “TABLE”, “EVOL_ELAS”

“TYPE_BASE”

type de la base utilisée pour un résultat dynamique de type mode_mecaou mode_meca_c “ “ :base modale simple de type dynamique “CLASSIQUE”:base de sous-structuration classique “CYCLIQUE”:base de sous-structuration cyclique “RITZ” :base composée de type RITZ

“TYPE_COOR”

K4

“PHYS” / “GENE” type de coordonnées utilisées pour un résultat dynamique. “PHYS” :résultats exprimés en base physique “GENE” :résultats exprimés en base généralisé

“TYPE_CHAMP”

K4

type du champ “CART” : CARTE “RESL” : RESUELEM “NOEU” : CHAM_NO “CNOS” : CHAM_NO_S “ELGA” : CHAM_ELEM / ELGA (aux points de GAUSS) “ELNO” : CHAM_ELEM / ELNO (aux nœuds) “ELEM” : CHAM_ELEM / ELEM (constant par élément) “CESN” : CHAM_ELEM_S / ELNO “CESG” : CHAM_ELEM_S / ELGA “CESE” : CHAM_ELEM_S / ELEM

“TYPE_CHARGE”

K7

type d’une CHARGE “MECA_RE”: mécanique réelle (AFFE_CHAR_MECA) “MECA_FO”: mécanique fonction (AFFE_CHAR_MECA_F) “THER_RE”: thermique réelle (AFFE_CHAR_THER) “THER_FO”: thermique fonction (AFFE_CHAR_THER_F) “ACOU_RE”: acoustique réelle (AFFE_CHAR_ACOU) “ACOU_FO”: acoustique fonction (AFFE_CHAR_ACOU_F)

“TYPE_DISCONTINUITE”

K16

Type de discontinuité pour la méthode X-FEM: “FISSURE’ou “INTERFACE”

“TYPE_MATRICE”

K7

type des matrices “SYMETRI”: toutes les matrices sont symétriques “NON_SYM”: il existe au moins une matrice non symétrique. “ “ : la grandeur sous-jacente n’est pas de type “matrice”

“TYPE_RESU”

K16

type d’un RESULTAT: “EVOL_THER”, “EVOL_ELAS”, “EVOL_NOLI”, ou “CHAMP”

“TYPE_SCA”

K3

type scalaire “R” : real*8 “I” : integer “C” : complex*16 “K8” : character*8 “K16”: character*16

“TYPE_SUPERVIS”

K16

type que donne le superviseur à une SD : “CHAM_NO_DEPL_R”,”CHAM_ELEM_EPSI_R”,

“TYPE_TYPMAIL”

K4

«type» d’un type_maille: /”POIN” /”LIGN” /”SURF” ou “VOLU”

“Z_CST”

K3

“OUI” / “NON” “OUI”: si tous les nœuds du MAILLAGEont exactement le même “Z” (3ème coordonnée) “NON”: sinon

“Z_ZERO”

K3

“OUI” / “NON” “OUI”: si tous les nœuds du MAILLAGEont exactement Z=0. “NON”: sinon

“ZERO”

K3

“OUI” / “NON” “OUI” : la structure de données ne contient que des 0. “NON” : sinon En parallèle, la réponse ne concerne que la SD “locale” (celle connue du processus)

Table croisée des possibilités#

Dans le tableau ci-dessous, on donne pour chaque type de Structure de Données :

  • la longueur théorique des noms des objets de ce type,

  • la liste des questions que l’on peut poser sur ce type.

“CARA_ELEM”

K8

“EXI_AMOR”

“CARTE”

K19

“NOM_GD” “NOM_MAILLA” “PARA_INST” “TYPE_CHAMP”

“CARTE_CARCRI”

K19

“POST_INCR”

“CARTE_COMPOR”

K8

“ELAS_INCR”

“CATALOGUE”

K0

“NB_NO_MAX” “NB_TYPE_MA”

“CHAMP”

K19

“NOM_GD” “NOM_LIGREL” “NOM_MAILLA” “NOM_MODELE” “NOM_OPTION” “NUM_GD” “TYPE_CHAMP” “TYPE_SUPERVIS”

“CHAM_ELEM” ou “RESUELEM”

K19

“COEF_MULT” “MXNBSP” “MXVARI” “NOM_GD” “NOM_LIGREL” “NOM_MODELE” “NOM_OPTION” “NOM_MAILLA” “TYPE_MATRICE” “TYPE_SCA” “TYPE_CHAMP” “TYPE_SUPERVIS”

“CHAM_ELEM_S”

K19

“MXNBSP” “MXVARI” “NOM_GD” “NOM_MAILLA” “TYPE_SCA” “TYPE_CHAMP”

“CHAM_MATER”

K8

“ELAS_F_TEMP” “ELAS_F_HYDR” “ELAS_F_SECH” “EXI_AMOR_ALPHA” “EXI_AMOR_HYST” “THER_F_INST”

“CHAM_NO”

K19

“NB_EQUA” “NOM_MAILLA” “TYPE_SCA” “NOM_NUME_DDL” “PROF_CHNO” “TYPE_CHAMP” “TYPE_SUPERVIS” “NOM_GD” “NUM_GD”

“CHAM_NO_S”

K19

“NOM_MAILLA” “NOM_GD” “NUM_GD” “TYPE_CHAMP” “TYPE_SCA”

“CHARGE”

K8

“EXI_TEMPER” “EXI_HYDRAT” “EXI_SECHAG” “NOM_LIGREL” “NOM_MAILLA” “NOM_MODELE” “PHENOMENE” “TYPE_CHARGE”

“FOND_FISS”

K8

“CONFIG_INIT”, “SYME”

“FISS_XFEM”

K8

“NOM_MODELE” “TYPE_DISCONTINUITE” “CHAM_DISCONTINUITE”

“GRANDEUR”

K8

“NB_CMP_MAX” “NB_EC” “NOM_GD_SI” “NUM_GD” “NUM_GD_SI” “NU_CMP_LAGR” “TYPE_MATRICE” “TYPE_SCA”

“INCONNU”

K19

“TYPE”

“INTERF_DYNA”

K14

“NB_CMP_MAX” “NB_EC” “NOM_MAILLA” “NOM_MODE_CYCL” “NOM_NUME_DDL” “NUM_GD”

“LIGREL”

K19

“AXIS” “DIM_GEOM” “EXI_AMOR” “EXI_AXIS” “EXI_ELEM” “NB_GREL” “NB_MA_SUP” “NB_NO_MAILLA” “NB_NO_SUP” “NB_SS_ACTI” “NOM_MAILLA” “NOM_MODELE” “PHENOMENE” “NB_MA_MAILLA” “LINE_QUAD”

“MACR_ELEM_STAT”

K8

“NOM_MAILLA” “NOM_MODELE” “NOM_NUME_DDL”

“MAILLAGE”

K8

“DIM_GEOM” “DIM_GEOM_B” “NB_MA_MAILLA” “NB_NL_MAILLA” “NB_NO_MAILLA” “NB_NO_SS_MAX” “NB_SM_MAILLA””Z_CST” “Z_ZERO” “EXI_SEG2”, “EXI_TRIA3”, …, “EXI_PYRAM13”

“MATR_ASSE”

K19

“CARA_ELEM” “CHAM_MATER” “EXIS_LAGR” “MATR_DISTRIBUEE” “NB_DDL_NOEUD” “NB_EQUA” “NOM_GD_SI””NOM_MAILLA” “NOM_MODELE” “NOM_NUME_DDL” “NUM_GD_SI” “PHENOMENE” “SUR_OPTION” “TYPE_MATRICE”

“MATR_ELEM’ou “VECT_ELEM”

K8

“CARA_ELEM” “CHAM_MATER” “NB_SS_ACTI” “NOM_MAILLA” “NOM_MODELE” “PHENOMENE” “SUR_OPTION” “TYPE_MATRICE”

“MODELE”

K8

“AXIS” “BESOIN_MATER” “DIM_GEOM” “ELEM_VOLU_QUAD” “EXI_AMOR” “EXI_AXIS” “EXI_COQ1D” “EXI_COQ3D” “EXI_ELEM” “EXI_PLAQUE” “EXI_POUX” “EXI_RDM” “EXI_TUYAU” “EXI_ELTVOL” “MODELISATION” “NB_FISS_XFEM” “NB_MA_MAILLA” “NB_NL_MAILLA” “NB_NO_MAILLA” “NB_NO_SS_MAX” “NB_SM_MAILLA” “NB_SS_ACTI” “NOM_LIGREL” “NOM_MAILLA” “PHENOMENE” “Z_CST”

“NUME_DDL”

K14

“MATR_DISTRIBUEE” “NB_EQUA” “NOM_GD” “NOM_MAILLA” “NOM_MODELE” “NUM_GD_SI” “PHENOMENE” “PROF_CHNO”

“PHENOMENE”

K8

“NOM_GD” “NUM_GD”

“RESULTAT”

K8

“NB_CHAMP_MAX” “NOM_MAILLA” “TYPE_RESU” “MODELE” “MODELE_1” “CARA_ELEM” “CARA_ELEM_1” “CHAM_MATER” “CHAM_MATER_1”

“TYPE_ELEM”

K16

“DIM_GEOM” “MODELISATION” “PHENOMENE” “TYPE_TYPMAIL” “NBNO_TYPMAIL” “NOM_TYPMAIL” “NUM_TYPMAIL” “CALC_RIGI”

“TYPE_MAILLE”

K8

“NBNO_TYPMAIL” “NUM_TYPMAIL” “TYPE_TYPMAIL” “DIM_TOPO”

“RESU_DYNA”

K8

“BASE_MODALE” “NUME_CHAM_[K8]” “NUME_DDL” “REF_XXXX_YYYY” “TYPE_BASE” “TYPE_COOR” “NB_CHAMPS”

Exemples#

CALL DISMOI('NOM_MAILLA',CH,'CHAMP',repk=MA)


CALL DISMOI('NB_EQUA',K,'MATR_ASSE',repi=NEQ)


CALL DISMOI('NB_NO_MAILLA',NOMA,'MAILLAGE',repi=NBNOTO)


CALL DISMOI('NOM_GD',CH19,'CHAMP',repk=NOMGD)


CALL DISMOI('TYPE_CHAMP',CHEXTR,'CHAMP',repk=CTYP)


CALL DISMOI('TYPE_COOR',NOMRES,'RESU_DYNA',repk=typco, arret='C', ier=iret)

if (iret.eq.1) typco='??'