$$$$ EXTR NOTICE PASCAL 22/11/22 21:15:02 11507 DATE 22/11/22 Section : Langage Objets FRAN========================================================== Operateur EXTRAIRE Voir aussi : EXCO ENLE ------------------ OBJET1 = EXTRAIRE OBJET2 OBJET3 ; Objet : _______ L'operateur EXTRAIRE permet d'extraire de l'objet OBJET2 le composant d'indice OBJET3. Operations possibles : ______________________ ANGL========================================================== EXTRAIRE operator See also : EXCO ENLE ----------------- OBJET1 = EXTRAIRE OBJET2 OBJET3 ; Description : ____________ The EXTRAIRE operator is used to extract the OBJET3 type component from the OBJET2 object. Possible operations : _____________________ ========================================================== ------------------------------------------------------------------ | OBJET2 | OBJET3 | OBJET1 | ------------------------------------------------------------------ | MOT | | TABLE | | MOT | ENTI1 (ENTI2) OU LISTENTI | MOT | ------------------------------------------------------------------ | LISTREEL | ENTIER | FLOTTANT | | LISTREEL | LISTENTI | LISTREEL | | LISTENTI | ENTIER | ENTIER | | LISTENTI | LISTENTI | LISTENTI | ------------------------------------------------------------------ | LISTMOTS | ENTIER | MOT | | LISTMOTS | LISTENTI | LISTMOTS | ------------------------------------------------------------------ | LISTCHPO | ENTIER | CHPOINT | | LISTCHPO | LISTENTI | LISTCHPO | | LISTCHPO | 'VALE' (MOT1|LMOT1) (POIN1) | LISTREEL | ------------------------------------------------------------------ | MCHAML | MOT ENTIER ENTIER ENTIER | FLOTTANT | | MCHAML | MOT ENTIER ENTIER ENTIER | OBJET | | MCHAML | 'TITR' OU 'TYPE' | LISTMOTS | | MCHAML | 'MAIL' | MAILLAGE | | MCHAML | 'COMP' ( MODL1 ) | LISTMOTS | | MCHAML | 'CONS' ( MODL1 ) | LISTMOTS | | MCHAML | 'DEVA' | LISTMOTS | | MCHAML | 'COVA' | LISTMOTS | | MCHAML | 'NBZO' | ENTIER | ------------------------------------------------------------------ | MMODEL | 'MAIL' | MAILLAGE | | MMODEL | 'MAIL' 'FROT' | MAILLAGE | | MMODEL | 'ZONE' | TABLE | | MMODEL | MOT1 MOT2 | MMODEL | | MMODEL | MOT1 | LISTMOTS | | MMODEL | 'PARA' | LISTMOTS | | MMODEL | 'NLOC' | LISTMOTS | | MMODEL | 'PHAS' | LISTMOTS | ------------------------------------------------------------------ | EVOLUTION | MOT ou 'ORDO' 'ABSC' N | LISTREEL | | EVOLUTION | 'COUR' | N | | EVOLUTION | | | | MOT1 | | EVOLUTION | | | | LISTENT1 | | EVOLUTION | | EVOLUTION | 'PAS' ENTI1 | EVOLUTION | | EVOLUTION | MOT1 'INDI' ENTI1 ('ZERO') | EVOLUTION | | EVOLUTION | MOT1 FLOT2 ('ZERO') | EVOLUTION | | EVOLUTION | 'COUL' | | LISTMOTS | | | | N | MOT | ------------------------------------------------------------------ | SUPERELE | MOT | RIGIDITE | ------------------------------------------------------------------ | RIGIDITE | MOT1 ( MOT2 ) (MOT3) | MAILLAGE | | RIGIDITE | MOT1 ( MOT2 ) | RIGIDITE | | RIGIDITE | 'CONT' | TABLE | | RIGIDITE | 'COMP' ('DUAL') | LISTMOTS | | RIGIDITE | 'DIAG' | CHPOINT | | RIGIDITE | | LISTMOT1 LISTMOT2 | | RIGIDITE | | | | MOT1 MOT2 | | RIGIDITE | ------------------------------------------------------------------ | MATRIK | 'COMP' ('DUAL') | LISTMOTS | | MATRIK | 'DIAG' | CHPOINT | | MATRIK | | LISTMOT1 LISTMOT2 | | MATRIK | | | | MOT1 MOT2 | | MATRIK | ------------------------------------------------------------------ | CHPOINT | 'MAIL' ('NOMU') | MAILLAGE | | CHPOINT | MOT1 POIN1 (NHARM) | FLOTTANT | | CHPOINT | 'VALE' (COMP1) (GEO1) ('NOID')| LISTREEL | | CHPOINT | 'TITR' | MOT | | CHPOINT | 'COMP' | LISTMOTS | | CHPOINT | 'TYPE' | MOT | | CHPOINT | 'NATU' | MOT | ------------------------------------------------------------------ | BASEMODA | MOT | SOLUTION | | BASEMODA | MOT | RIGIDITE | ------------------------------------------------------------------ | DEFORME | MOT | FLOTTANT | ------------------------------------------------------------------ | CHARGEME | 'CHAR' (ENTIER) | CHARGEME | | CHARGEME | 'CHAM' (ENTIER) | CHPOINT,MCHAML | | CHARGEME | 'TRAJ' (ENTIER) | CHPOINT | | CHARGEME | 'EVOL' (ENTIER) | EVOLUTIO | | CHARGEME | 'VITE' (ENTIER) | EVOLUTIO | | CHARGEME | 'LOBJ' (ENTIER) | LISTOBJE | | CHARGEME | 'LREE' (ENTIER) | LISTREEL | | CHARGEME | 'COMP' | LISTMOTS | | CHARGEME | 'LIE ' | CHARGEME | | CHARGEME | 'LIBR' | CHARGEME | | CHARGEME | MOT | CHARGEME | | CHARGEME | LISTMOTS | CHARGEME | | CHARGEME | MOT 'TABL' | TABLES | ------------------------------------------------------------------ | NUAGE | 'COMP' | LISTMOTS | | NUAGE | 'MAXI' MOT | NUAGE1 | | NUAGE | 'MINI' MOT | NUAGE1 | | NUAGE | 'INFE' MOT FLOTTANT | NUAGE1 | | NUAGE | 'SUPE' MOT FLOTTANT | NUAGE1 | | NUAGE | 'ENTR' MOT FLOT1 FLOT2 | NUAGE | | NUAGE | MOT | OBJET | | NUAGE1 = NUAGE ne comportant qu'un seul n-uplet | ------------------------------------------------------------------ | LISTOBJE | 'TYPE' | MOT | | LISTOBJE | ENTIER | OBJET1 | ------------------------------------------------------------------ FRAN========================================================== Remarque préliminaire : _______________________ Si l'opérateur est appliqué à un véritable objet (ex. : LISTREEL) il crée un nouvel objet (dans cet ex. : un FLOTTANT). Par contre, s'il est appliqué à une suite d'objets (ex. : LISTCHPO ou TABLE), alors il ne fait qu'affecter un nom à un objet déjà existant (ex. : un CHPOINT dans le cas d'un LISTCHPO). >> CAS D'UN OBJET DE TYPE 'MOT' ____________________________ 1) Il s'agit de fabriquer une TABLE contenant tous les objets nommés qui ont pour type le mot lu. La TABLE est indicée par des entiers 1, 2, 3, etc... 2) Extraction d'une sous-chaîne de caractères : - soit de la position ENTI1 incluse jusqu'à la fin de la chaîne - soit de la position ENTI1 jusqu'à la position ENTI2 (incluses) - soit les caractères indiqués dans un LISTENTI Dans tous les cas, la position du premier caractère vaut 1, et celle du dernier est donnée par l'opérateur DIME. >> CAS DES OBJETS DE TYPE 'MCHAML' _______________________________ 1) Extraction de la valeur d'une composante en un lieu donné : Il faut alors un mot specifiant la composante, un premier entier specifiant le numero de la sous-zone, un deuxieme specifiant le numero d'un element et un troisieme specifiant le numero du point de Gauss. La composante peut etre reelle ou entiere, auquel cas il s'agira en general d'un objet pointe, qui sera donc extrait. 2) Extraction du titre ( ou du type ) d'un MCHAML 3) Extraction du MAILLAGE support 4) Extraction des noms de composantes d'un MCHAML : On peut alors donner un objet MMODEL (MODL1) a une sous-zone. Dans le cas ou le MMODEL comporte plusieurs sous-zones, tous les noms de composantes des differents sous-paquets seront mis les un a la suite des autres dans le meme objet LISTMOTS, ainsi qu'en l'absence du modele. 5) Extraction des noms de constituant d'un MCHAML : On peut alors donner un objet MMODEL (MODL1) a une sous-zone. Dans le cas ou le MMODEL comporte plusieurs sous-zones, tous les noms des constituants des differents sous-paquets seront mis les uns à la suite des autres dans le meme objet LISTMOTS, ainsi qu'en l'absence du modele. L'objet LISTMOTS etant compose de mots de 4 lettres, a un constituant nombre ou blanc correspond le mot ' '. 6) Extraction des noms des variables dont dependent les composantes du MCHAML. Les types de ces composantes peuvent etre FLOTTANT, EVOLUTIO, NUAGE ou LISTMOTS (mot-cle DEVA). 7) Extraction des noms de composantes variables, c'est-a-dire dependantes d'une autre variable (mot-cle COVA) 8) Extraction du nombre de zones (mot-cle NBZO) >> CAS DES OBJETS DE TYPE 'EVOLUTION' __________________________________ 1) Extraction d'une liste de reels : a/ On donne le titre du LISTREEL a l'aide d'un mot de 12 caracteres au maximum. C'est la premiere progression rencontree possedant ce titre qui sera fournie. (On peut lire les titres sur le dessin de l'evolution par exemple) b/ On precise l'abscisse ou l'ordonnee et le numero N de la courbe dans l'objet EVOLUTION (1 par defaut). exemples: EVOL1 = EVOL MANU 'TEMPS (S) ' LDT FORCE LFX ; LISTDT = EXTR EVOL1 'TEMPS (S)' ; LISTDT = EXTR EVOL1 'ABSC' ; LISTFX = EXTR EVOL1 'ORDO' 1 ; LISTFX = EXTR EVOL1 'FORCE' ; 2) Extraction de courbes de l'objet EVOLUTION a/ Extraction de la N^ieme courbe de l'EVOLUTION exemple : EVOL3 = EXTR EVOL2 'COUR' 3 ; b/ Extraction des courbes de nom d'abscisses ou d'ordonnees donne exemple : EVOL3 = EXTR EVOL2 'COUR' 'FX' ; c/ Extraction des {N1, N2 ...}^ieme courbe de l'EVOLUTION exemple : LISTENT1 = LECT N1 N2 ... ; EVOL3 = EXTR EVOL2 'COUR' LISTENT1 ; 3) Extraction de certains couples de l'objet EVOLUTION, selon OBJET3 defini comme suit : | 'PAS ' ENTI1 | 'AVAN' | 'INDI' ENTI2 | | | FLOT2 | | 'APRE' | 'INDI' ENTI3 | ('ZERO') | FLOT3 | | 'COMP' | 'INDI' ENTI2 ENTI3 | ('ZERO') | FLOT2 FLOT3 | ENTI1 : ENTIER definissant le pas des couples extraits (on extrait 1 couple sur ENTI1). ENTI2 : indice (ENTIER) jusqu'auquel on extrait les couples. ENTI3 : indice (ENTIER) a partir duquel on extrait les couples. FLOT2 : valeur de l'abscisse (FLOTTANT) jusqu'auquel on extrait les couples. FLOT3 : valeur de l'abscisse (FLOTTANT) a partir duquel on extrait les couples. 'ZERO' : mot-cle pour redefinir l'origine des abscisses a 0 (seulement avec les options 'APRE' et 'COMP'). exemples: ev1 = EVOL MANU (prog 0 5 20 30 40) (prog 5 8 7 6 1); ev2 = EXTR ev1 'PAS' 2; --> abscisse d'ev2 : 0 20 40 ordonnee d'ev2 : 5 7 1 ev3 = EXTR ev1 'COMP' 'INDI' 2 4; --> abscisse d'ev3 : 5 20 30 ordonnee d'ev3 : 8 7 6 ev4 = EXTR ev1 'APRE' 'INDI' 2 'ZERO'; --> abscisse d'ev4 : 0 15 25 35 ordonnee d'ev4 : 8 7 6 1 4) Extraction de la legende de la N ieme courbe exemples: EVOL1 = EVOL MANU 'TEMPS (S) ' LDT 'Debit' LFX ; LEGT = EXTR EVOL1 'LEGX' 1 ; LEGD = EXTR EVOL1 'LEGY' 1 ; => LEGT contient la chaine 'TEMPS (S) ' LEGD contient la chaine 'Debit' 5) Extraction de la couleur d'une evolution si l'indice N de la N ieme courbe est fourni, le resultat sera un MOT, sinon, le resultat sera un LISTMOT. exemple : EVOL1 = (EVOL 'BLEU' 'MANU' (prog 1 2) (prog 3. 3.14)) et (EVOL 'ROUG' 'MANU' (prog 1 2) (prog 3. 3.14)); COUL1 = EXTR EVOL1 'COUL' ; COUL2 = EXTR EVOL1 'COUL' 2; --> COUL1 contient le LISTMOTS 'BLEU' 'ROUG' --> COUL2 contient le mot 'ROUG' >> CAS DES OBJETS DE TYPE 'SUPERELE' _________________________________ Dans ce cas , MOT indique ce qu'il faut extraire, a savoir 'RIGT' pour la rigidite totale 'RIGI' pour la rigidite 'MASS' pour la masse 'BLOQ' pour les bloquages 'ELEM' pour le maillage exemple: SUP = SUPER RI GEO ; RIEQU = EXTRAI SUP 'RIGI' ; RITOT = EXTRAI SUP 'RIGT' ; >> CAS DES OBJETS DE TYPE 'RIGIDITE' _________________________________ 1) Dans le cas ou MOT1 est le mot 'MAIL' : MOT2 est optionnel, et si il n'est pas precise, le maillage contient tous les noeuds, y compris ceux associes aux multiplicateurs de Lagrange, sinon si MOT2 vaut : - 'NOMU' indique que l'on veut le maillage qui contient tous les noeuds sauf ceux associes aux multiplicateurs de Lagrange. - 'MULT' indique que l'on veut le maillage qui contient uniquement les noeuds associes aux multiplicateurs de Lagrange. - 'UNIL' indique que l'on s'interesse aux relations uni- laterales. Par defaut l'operateur renvoie les points supports des multiplicateurs de Lagrange correspondant a des relations unilaterales. Si le mot 'TRI3' (MOT3) est precise en plus, l'operateur renvoie un maillage forme d'elements TRI3 dont les noeuds sont des points geometriques qui interviennet dans les relations unilaterales avec 3 noeuds exactement contenues dans RIG1. (contacts en 2D generes par IMPO). OBJET2 est le maillage sous-tendant la rigidite. 2) Dans le cas ou MOT1 est le mot 'RIGI' : MOT2 est obligatoire et vaut : - 'NOMU' si on desire extraire la rigidite sans les blocages. - 'MULT' si on desire extraire la rigidite associee aux blocages. OBJET2 est dans ce cas un objet de type RIGIDITE. 3) Dans le cas ou MOT1 vaut : - 'SYME' on desire extraire les matrices elementaires symetriques de la rigidite totale - 'ANTI' on desire extraire les matrices elementaires antisymetriques de la rigidite totale OBJET2 est dans ce cas un objet de type RIGIDITE. 4) Dans le cas ou MOT1 vaut 'CONT' on extrait de la rigidite la TABLE ayant servi aux appuis unilateraux. 5) Dans le cas ou MOT1 vaut 'COMP' on extrait de la rigidite la liste des noms des composantes. Si on ajoute le mot 'DUAL', on extrait la liste des noms des duaux. 6) Dans le cas ou MOT1 vaut 'DIAG' on extrait la diagonale de la rigidite sous la forme d'un CHPOINT. 7) Dans le cas ou on donne deux LISTMOTS (resp. deux MOT), on extrait de la rigidite la sous-rigidite de composantes primales LISTMOT1 (resp. MOT1) et de composantes duales LISTMOT2 (resp. MOT2). >> CAS DES OBJETS DE TYPE 'MATRIK' _______________________________ 1) Dans le cas ou MOT1 vaut 'COMP' on extrait de la matrice la liste des noms des composantes. Si on ajoute le mot 'DUAL', on extrait la liste des noms des duaux. 2) Dans le cas ou MOT1 vaut 'DIAG' on extrait la diagonale de la matrice sous la forme d'un CHPOINT. 3) Dans le cas ou on donne deux LISTMOTS (resp. deux MOT), on extrait de la matrice la sous-matrice de composantes primales LISTMOT1 (resp. MOT1) et de composantes duales LISTMOT2 (resp. MOT2). >> CAS DES OBJETS DE TYPE 'CHPOINT' ________________________________ 1) Extraction du MAILLAGE sous-tendant le CHPOINT. On peut exclure les points associes aux multiplicateurs de Lagrange en indiquant 'NOMU' comme MOT2. 2) Extraction de la valeur d'une composante en un point. MOT1 est alors le nom de la composante que l'on veut extraire au point POIN1. Dans le cas 2D Fourier, on peut demander un numero d'harmonique specifique via l'entier NHARM. Par defaut, l'harmonique courante est utilisee. 3) Extraction des valeurs d'un CHPOINT. Les valeurs sont rangees dans un objet de type LISTREEL. L'ordre d'extraction peut etre impose en donnant une suite de noeuds dans GEOM1 (objet POINT ou MAILLAGE de POI1). Les noeuds de GEOM1 n'appartenant pas au support du CHPOINT se verront attribuer une valeur nulle dans le LISTREEL. Si GEOM1 n'est pas fourni, il n'y aura pas necessairement le meme nombre de valeurs pour toutes les composantes. Quand le CHPOINT possede plusieurs composantes, on doit choisir celles qui apparaitront dans le LISTREEL grace a COMP1 (de type MOT ou LISTMOTS). Si une composante de COMP1 n'appartient pas au CHPOINT : a) en l'absence du mot-cle 'NOID', une erreur sera declenchee b) si le mot-cle 'NOID' est present : - des valeurs nulles seront attribuees aux noeuds de GEOM1 si fourni - aucune valeur n'est ajoutee au LISTREEL si GEOM1 est absent Au final, l'ordre du LISTREEL est le suivant : (Comp1,Pt1);(Comp1,Pt2);...;(Comp2,Pt1);(Comp2,Pt2);... 4) Extraction du titre d'un CHPOINT 5) Extraction des noms des composantes. Le resultat est un objet de type LISTMOTS contenant les noms des composantes sur 4 lettres. 6) Extraction du type d'un CHPOINT. Le resultat est un mot de 8 lettres. 7) Extraction de la nature d'un CHPOINT. Le resultat est un mot de 11 lettres. >> CAS DES OBJETS DE TYPE 'BASEMODA' _________________________________ 1) Extraction d'un objet SOLUTION MOT est alors soit 'MODE' pour extraire un objet SOLUTION de sous-type MODE, soit 'STAT' pour extraire un objet SOLUTION de sous-type SOLUSTAT, soit 'PSMO' pour extraire un objet SOLUTION de sous-type PSEUMODE. 2) Extraction d'un objet RIGIDITE MOT est alors soit 'RIGI' pour extraire un objet RIGIDITE de sous-type RIGIDITE, soit 'MASS' pour extraire un objet RIGIDITE de sous-type MASSE. >> CAS DES OBJETS DE TYPE 'DEFORME' ________________________________ MOT est alors 'AMPL'. Le coefficient d'amplification de la deformee est extrait. >> CAS DES OBJETS DE TYPE 'MMODEL' _______________________________ 1) Extraction du MAILLAGE sous-tendant le MMODEL. Le mot-cle supplementaire 'FROT' extrait d'un MMODEL 'CONTACT' 'COULOMB', le MAILLAGE créé par l'opérateur IMPF. 2) extraction de toutes les zones du modele et des maillages en les mettant dans une table indicee par des entiers. Indice 1 objet MMODEL de la premiere zone, indice 2 objet MAILLAGE de la premiere zone, indice 3 objet MMODEL de la deuxieme zone, etc... 3) Extraction des zones du MMODEL correspondant a une formulation donnee, ou a une mise en oeuvre non locale. Dans le premier cas, MOT1 est alors 'FORM' et MOT2 est un ou plusieurs mots definissant la formulation. Dans le second cas, MOT1 est alors 'NON_LOCALE' et MOT2 est un mot définissant la mise en oeuvre non locale. 4) Extraction des zones du MMODEL correspondant a un ou plusieurs constituants donnes. Dans ce cas MOT1 est alors 'CONS' et MOT2 est un ou plusieurs mots definissant les constituants. Dans le cas d'un constituant exprime par un nombre, on entre le nombre entre quotes (ex: '123456'). 5) Extraction des zones du MMODEL correspondant a un ou plusieurs elements finis donnes. Dans ce cas MOT1 est alors 'ELEM' et MOT2 est un ou plusieurs mots definissant les elements finis. 6) Extraction des noms des composantes correspondant a un type de variable donne en les mettant dans un objet de type LISTMOTS. Dans ce cas MOT1 peut prendre 11 valeurs differentes: 'GEOM' : Nom des composantes des caracteristiques geometriques 'CONT' : Nom des composantes de contrainte 'DEFO' : Nom des composantes de deformation 'DEPL' : Nom des composantes de deplacement 'FORC' : Nom des composantes de force 'GRAD' : Nom des composantes de gradient 'GRAF' : Nom des composantes de gradient en flexion 'MATE' : Nom des composantes de materiau 'CONP' : Nom des composantes des contraintes principales 'TEMP' : Nom des composantes de temperature 'VARI' : Nom des composantes de variable interne 7) Extraction des zones du MMODEL correspondant a une ou plusieurs phases donnees. Dans ce cas MOT1 est alors 'PHAS' et MOT2 est un ou plusieurs mots definissant les phases. 8) Extraction des noms des parametres externes du MMODEL. L'extraction est faite sur toutes les sous-zones du MMODEL, avec elimination des redondances. Le resultat est un objet LISTMOTS contenant les noms des parametres (4 caracteres). S'il n'existe pas de parametres externes, le resultat est un objet LISTMOTS vide. 9) Extraction des zones du MMODEL ayant dans le comportement le mot MOT2. Dans ce cas MOt1 a la valeur 'COMP'. 10) Extraction des noms des variables internes du MMODEL qui sont moyennees dans la mise en oeuvre non locale. L'extraction est faite sur toutes les sous-zones du MMODEL, avec elimination des redondances. Le resultat est un objet LISTMOTS contenant les noms des parametres (4 caracteres). 11) Extraction des noms des phases du MMODEL. L'extraction est faite sur toutes les sous-zones du MMODEL, avec elimination des redondances. Le resultat est un objet LISTMOTS contenant les noms des phases (8 caracteres). S'il n'existe pas de phases, le resultat est un objet LISTMOTS vide. >> CAS DES OBJETS DE TYPE 'CHARGEME' _________________________________ 1) 'CHAR' extrait de OBJET2 l'objet CHARGEME du numero indique dans OBJET3 ou sinon le premier. 2) 'CHAM' extrait de OBJET2 l'objet CHPOINT ou MCHAML du numero indique dans OBJET3 ou sinon le premier. 3) 'TRAJ' extrait de OBJET2 l'objet CHPOINT associe a la modulation dans l'espace du CHPOINT ou MCHAML du CHARGEME (de nature mobile) du numero indique dans OBJET3 ou sinon le premier. 4) 'EVOL' extrait de OBJET2 l'objet EVOLUTIO associe a la modulation dans le temps du CHPOINT ou MCHAML du CHARGEME de numero indique dans OBJET3 ou sinon le premier. 5) 'VITE' extrait de OBJET2 l'objet EVOLUTIO associe a la modulation dans l'espace du CHPOINT ou MCHAML du CHARGEME (de nature mobile) de numero indique dans OBJET3 ou sinon le premier. 6) 'LOBJ' extrait de OBJET2 l'objet LISTOBJE du chargement de numero indique dans OBJET3 ou sinon le premier. 7) 'LREE' extrait de OBJET2 l'objet LISTREEL decrivant les instants du chargement de numero indique dans OBJET3 ou sinon le premier, si le chargement est decrit par un objet LISTOBJE. 8) 'COMP' extrait de OBJET2 les noms des chargements elementaires. 9) 'LIE ' (resp. 'LIBR') extrait de OBJET2 l'objet chargement rassemblant tous les chargements de cette nature. 10) MOT extrait de OBJET2 le chargement elementaire de nom MOT. LISTMOTS extrait de OBJET2 tous les chargements elementaires dont le nom est contenu dans la liste LISTMOTS 11) MOT suivi de 'TABL' retourne les deux tables donnant, l'une, la liste des temps et l'autre les cartes de la quantite scalaire MOT correspondantes (souvent utilise pour la temperature 'T '). >> CAS DES OBJETS DE TYPE 'NUAGE' ______________________________ 1) Extraction des noms des composantes. Le resultat est un objet de type LISTMOTS contenant les noms des composantes sur 8 lettres. 2) Extraction du n-uplet correspondant a la valeur reelle Inferieure au FLOTTANT entre, pour le nom de composante donne. Le resultat est un objet de type NUAGE ne contenant qu'un seul n-uplet. 3) Extraction du n-uplet correspondant a la valeur reelle Superieure au FLOTTANT entre, pour le nom de composante donne. Le resultat est un objet de type NUAGE ne contenant qu'un seul n-uplet. 4) Extraction du n-uplet correspondant a la valeur minimale de la variable reelle caracterisee par un nom de composante donnee. Le resultat est un objet de type NUAGE. 5) Extraction du n-uplet correspondant a la valeur maximale de la variable reelle caracterisee par un nom de composante donnee. Le resultat est un objet de type NUAGE. 6) Extraction du sous-NUAGE caracterise par deux valeurs reelles et un nom specifique de composante. Le NUAGE ainsi cree a toutes ses valeurs reelles correspondant a la composante sus-cite comprises entre les deux valeurs reelles donnees. 7) Extraction des valeurs d'une composante donnee d'un NUAGE : - Si la composante est de type ENTIER, FLOTTANT ou MOT, l'objet extrait est de type LISTENTI, LISTREEL, LISTMOT, respectivement, sauf si la composante ne contient qu'une seule valeur. Dans ce cas, EXTR renvoie cette valeur (nuage "colonne"). - Si la composante est de type LOGIQUE et qu'elle ne contient qu'une seule valeur (nuage "colonne"), EXTR renvoie cette valeur. - Si la composante est d'un type supporte par l'objet LISTOBJE, EXTR renvoie la liste des objets de cette composante, sauf si celle-ci ne contient qu'un seul objet. Dans ce cas, EXTR renvoie cet objet. >> CAS DES OBJETS DE TYPE 'LISTCHPO' _________________________________ 1) Extraction d'un ou plusieurs CHPOINT Il suffit de fournir les indices correspondants sous forme d'un ENTIER ou d'un LISTENTI 2) Extraction des valeurs en un point Les valeurs sont rangees dans un objet de type LISTREEL dans le meme ordre que celui du LISTCHPO. Les objets CHPOINT dont le support geometrique ne contient pas le noeud POIN1 donneront par convention une valeur nulle. Si tous les objets CHPOINT ne possedent pas les memes composantes, il faut choisir celles qui apparaitront dans le LISTREEL grace a un mot MOT1 ou une liste de mots LMOT1. Au final, l'ordre est le suivant : (Comp1,Chpo1);(Comp1,Chpo2);...;(Comp2,Chpo1);(Comp2,Chpo2);... >> CAS DES OBJETS DE TYPE 'LISTOBJE' _________________________________ 1) 'TYPE' : extraction du type des objets de la liste. 2) ENTIER : extraction du ENTIEReme objet de la liste. ANGL========================================================== Preliminary note : __________________ If the operator is applied to a single object (ex: LISTREEL), it will therefore create a new object (in this ex.: a FLOTTANT object). If, on the contrary, it is applied to a series of objects (ex: LISTCHPO or TABLE), it will only assign a name to an already existing object (ex: a CHPOINT object for a LISTCHPO one). >> CASE OF 'MOT' TYPE OBJECTS __________________________ 1) The request is to give back a TABLE object which contains all the named objects of the read type. The table is indexed by integers 1, 2, 3, etc... 2) Substring extraction : - either from the ENTI1-th character included to the last one - either from ENTI1-th to ENTI2-th characters (included) - either the characters indicated in a LISTENTI object In any case, ENTI1 equals to 1 for the first character. The string length is given by the DIME operator. >> CASE OF 'MCHAML' TYPE OBJECTS _____________________________ 1) Extraction of a component value in a given place : In this case, several elements are required : one word specifying the component, a first integer specifying the number of the subspace, a second specifying the number of the element, and a third specifying the number of Gauss points. The component may be a real number or an integer, in which case a pointed object may be extracted. 2) Extraction of the title ( or of the type ) of a MCHAML object 3) Extraction of the MAILLAGE support 4) Extraction of the component names of a MCHAML object : A MMODEL (MODL1) object may therefore be assigned to a subspace. If the MMODEL is composed of several regions, all the names of component of the different subpackets will come one after the other in the same LISTMOTS object even if the model is missing. 5) Extraction of the constituent names of a MCHAML object : A MMODEL (MODL1) object may therefore be assigned to a subspace. If the MMODEL is composed of several regions, all the names of component of the different subpackets will come one after the other in the same LISTMOTS object even if the model is missing. As the LISTMOTS object is composed of 4 letters words, the word ' ' matches a constituent which is a number or unspecified. 6) Extraction of the variable names of a MCHAML object : The MCHAML object have components which types can be FLOTTANT,EVOLUTIO, NUAGE or LISTMOTS. (keyword DEVA) 7) Extraction of the variable names witch are not constant. (keyword COVA) 8) Extraction of the number of zones (keyword NBZO) >> CASE OF 'EVOLUTION' TYPE OBJECTS ________________________________ 1) Extraction of a list of real numbers : a/ The title of LISTREEL is a 12-letter word at the most. The first progression encountered with this title will be provided. (For instance, the titles may be read out on the evolution drawing) b/ The abscissa (or the ordinate) and the N number of the curve will be specified in the EVOLUTION object (by default 1) examples: EVOL1 = EVOL MANU 'TEMPS (S) ' LDT FORCE LFX ; LISTDT = EXTR EVOL1 'TEMPS (S)' ; LISTDT = EXTR EVOL1 'ABSC' ; LISTFX = EXTR EVOL1 'ORDO' 1 ; LISTFX = EXTR EVOL1 'FORCE' ; 2) Extraction of curves from the EVOLUTION object a/ Extraction of the Nith curve : example : EVOL3 = EXTR EVOL2 'COUR' 3 ; b/ Extraction of all the curves that their list of abscissa or ordinate has a given name example : EVOL3 = EXTR EVOL2 'COUR' 'FX' ; 3) Extraction of some couples from the EVOLUTION object according to OBJET3 defined as follows : | 'PAS ' ENTI1 | 'AVAN' | 'INDI' ENTI2 | | | FLOT2 | | 'APRE' | 'INDI' ENTI3 | ('ZERO') | FLOT3 | | 'COMP' | 'INDI' ENTI2 ENTI3 | ('ZERO') | FLOT2 FLOT3 | ENTI1 : ENTIER defining the step of the extracted couples (every ENTI1 couples). ENTI2 : index (ENTIER) up to which couples are extracted. ENTI3 : index (ENTIER) from which couples are extracted. FLOT2 : value of the abscissa (FLOTTANT) up to which couples are extracted. FLOT3 : value of the abscissa (FLOTTANT) from which couples are extracted. 'ZERO' : keyword to shift the origin of the abscissa to 0 (only possible with the options 'APRE' and 'COMP'). examples: ev1 = EVOL MANU (prog 0 5 20 30 40) (prog 5 8 7 6 1); ev2 = EXTR ev1 'PAS' 2; --> abscissa of ev2 : 0 20 40 ordinate of ev2 : 5 7 1 ev3 = EXTR ev1 'COMP' 'INDI' 2 4; --> abscissa of ev3 : 5 20 30 ordinate of ev3 : 8 7 6 ev4 = EXTR ev1 'APRE' 'INDI' 2 'ZERO'; --> abscissa of ev4 : 0 15 25 35 ordinate of ev4 : 8 7 6 1 4) Extraction of the legend for the Nith curve examples: EVOL1 = EVOL MANU 'TEMPS (S) ' LDT 'Debit' LFX ; LEGT = EXTR EVOL1 'LEGX' 1 ; LEGD = EXTR EVOL1 'LEGY' 1 ; => LEGT contains the string 'TEMPS (S) ' LEGD contains the string 'Debit' 5) Extraction of the color of an evolution object if the indice N of the N th curve is given, le result would be a word MOT, else, the result would be a list LISTMOT. example : EVOL1 = (EVOL 'BLEU' 'MANU' (prog 1 2) (prog 3. 3.14)) et (EVOL 'ROUG' 'MANU' (prog 1 2) (prog 3. 3.14)); COUL1 = EXTR EVOL1 'COUL' ; COUL2 = EXTR EVOL1 'COUL' 2; --> COUL1 contains the LISTMOTS 'BLEU' 'ROUG' --> COUL2 contains the word 'ROUG' >> CASE OF 'SUPERELE' TYPE OBJECTS _______________________________ In this case, MOT indicates what must be extracted : 'RIGT' for the global stiffness 'RIGI' for the stiffness 'MASS' for the mass 'BLOQ' for the restraints 'ELEM' for the mesh example: SUP = SUPER RI GEO ; RIEQU = EXTRAI SUP 'RIGI' ; RITOT = EXTRAI SUP 'RIGT' ; >> CASE OF 'RIGIDITE' TYPE OBJECTS _______________________________ 1) If MOT1 is equivalent to the word 'MAIL', MOT2 becomes optional. If it is not specified, the mesh will be composed of all the nodes, including those associated with Lagrangian multipliers. If MOT2 is: - 'NOMU' indicates that the mesh requested is the one composed of all the nodes except those associated with Lagrangian multipliers - 'MULT' indicates that the mesh requested is the one composed of the nodes associated with Lagrangian multipliers only. - 'UNIL' indicates that only unilateral constraints are concerned. By default a mesh is generated that contains all the nodes that supports Lagrangian multipliers involved in unilateral constraints. If the word (MOT3) 'TRI3' is specified a mesh of TRI3 elements is generated. The points of those elemnets are the geometric nodes involved in 3-node unilateral constraints in RIG1 (namely contact elements in 2D created by IMPO ) OBJET2 is the mesh which subtends the stiffness : 2) If MOT1 is equivalent to the word 'RIGI', MOT2 becomes compulsory and equals : - 'NOMU' if the extraction of the stiffness without the restraints is requested - 'MULT' if the extraction of the stiffness associated with the restraints is requested In this case, OBJET2 is a RIGIDITE type object. 3) If MOT1 equals - 'SYME' it is requested that the symmetrical elementary matrices be extracted from the global stiffness - 'ANTI' it is requested that the antisymmetrical elementary matrices be extracted from the global stiffness In this case, OBJET2 is a RIGIDITE type object. 4) If MOT1 is equivalent to 'CONT' the TABLE used for unilateral supports is extracted from the stiffness. 5) If MOT1 is equivalent to 'COMP', the list of names of component is extracted from the stiffness. If the word 'DUAL' is added, it is the list of dual names that will be extracted. 6) If MOT1 is 'DIAG', the diagonal of the matrix is extracted in a CHPOINT type object. 7) If two LISTMOTS (resp. two MOT) are given, the submatrix with primal component names LISTMOT1 (resp. MOT1) and dual component names LISTMOT2 (resp. MOT2) is extracted. >> CASE OF 'MATRIK' TYPE OBJECTS _____________________________ 1) If MOT1 is 'COMP', the list of names of component is extracted from the matrix. If the word 'DUAL' is added, it is the list of dual names that will be extracted. 2) If MOT1 is 'DIAG', the diagonal of the matrix is extracted in a CHPOINT type object. 3) If two LISTMOTS (resp. two MOT) are given, the submatrix with primal component names LISTMOT1 (resp. MOT1) and dual component names LISTMOT2 (resp. MOT2) is extracted. >> CASE OF 'CHPOINT' TYPE OBJECTS ______________________________ 1) Extraction of the MAILLAGE which subtends the CHPOINT. The points associated with Lagrange's multipliers may be excluded by using the 'NOMU' keyword. In the 2D Fourier case, the harmonic number can be specified by the integer NHARM. If not, the current harmonic number is used. 2) Extraction of a component value at one point MOT1 is therefore equivalent to the name of the component to be extracted at the POIN1 point. 3) Extraction of the values contained in a CHPOINT. The values are placed in a LISTREEL object. The output order can be defined by providing a list of nodes in GEOM1 (either a POINT object or a MAILLAGE object of POI1 elements). The nodes in GEOM1 which are not part of the CHPOINT geometric support will yield a zero value in the LISTREEL. When GEOM1 is not provided, all the components will not necessarily have the same number of values. When the CHPOINT has several components, those to be listed must be specified in COMP1 (MOT or LISTMOTS type). If a component of COMP1 is not present in the CHPOINT : a) without the 'NOID' keyword an error will be raised b) when the keyword 'NOID' is present : - zero values are given to the nodes of GEOM1 if provided - no value is appended to the LISTREEL when GEOM1 is absent Eventually the order of the LISTREEL is defined as : (Comp1,Pt1);(Comp1,Pt2);...;(Comp2,Pt1);(Comp2,Pt2);... 4) Extraction of the title of a CHPOINT object 5) Extraction of the component names. The result is an object of LISTMOTS type composed of 4-letter names of component. 6) Extraction of the type of a CHPOINT object. The result is an object of MOT type composed of 8 letters. 7) Extraction of the nature of a CHPOINT object. The result is an object of MOT type composed of 11 letters. >> CASE OF 'BASEMODA' TYPE OBJECTS _______________________________ 1) Extraction of a SOLUTION object MOT is either equivalent to 'MODE' to extract a SOLUTION object of MODE subtype, or to 'STAT' to extract a SOLUTION object of SOLUSTAT subtype, or else to 'PSMO' to extract a SOLUTION object of PSEUMODE subtype. 2) Extraction of a RIGIDITE object MOT is either equivalent to 'RIGI' to extract a RIGIDITE object of RIGIDITE subtype, or to 'MASS' to extract a RIGIDITE object of MASSE subtype. >> CASE OF 'DEFORME' TYPE OBJECTS ______________________________ MOT is therefore equivalent to 'AMPL'. The amplification coefficient for the deformed shape is extracted. >> CASE OF 'MMODEL' TYPE OBJECTS _____________________________ 1) Extraction of the MAILLAGE which subtends the MMODEL. The additional keyword 'FROT' extracts from the 'CONTACT' 'COULOMB' MMODEL, the MAILLAGE which is created by IMPF operator. 2) Extraction of all the regions of the model and the meshes by storing them into a table indexed by integers. Index 1 MMODEL object of the first region, index 2 MAILLAGE object of the first region, index 3 MMODEL object of the second region... 3) Extraction of the MMODEL regions corresponding to a given formulation, or to a non local implementation. In the first case, MOT1 becomes equivalent to 'FORM', and MOT2 to one or several words specifying the formulation. In the second case, MOT1 becomes equivalent to 'NON_LOCAL', and MOT2 to one word specifying the implementation. 4) Extraction of the MMODEL regions corresponding to one or several given constituents. In this case, MOT1 becomes equivalent to 'CONS' and MOT2 is equivalent to one or several words specifying the constituents. When the constituent is expressed by a number, MOT2 is the number between quotes (ex: '123456'). 5) Extraction of the MMODEL regions corresponding to one or several given finite elements. In this case, MOT1 becomes equivalent to 'ELEM' and MOT2 is equivalent to one or several words specifying the finite elements. 6) Extraction of the component names corresponding to one given type of variable. The result is an object of LISTMOTS type composed of 4-letter names of component. In this case MOT1 must be equivalent to one of the eleven words specifying the variable: 'GEOM' : Component names of geometrical characteristics 'CONT' : Component names of stress 'DEFO' : Component names of deformation 'DEPL' : Component names of displacement 'FORC' : Component names of force 'GRAD' : Component names of gradient 'GRAF' : Component names of flexural gradient 'MATE' : Component names of material 'CONP' : Component names of main stresses 'TEMP' : Component names of temperature 'VARI' : Component names of internal variable 7) Extraction of the MMODEL regions corresponding to one or several given phases. In this case, MOT1 becomes equivalent to 'PHAS' and MOT2 is equivalent to one or several words specifying the phases. 8) Extraction of the names of the external parameters of the MMODEL. The extraction is made all over the subspaces of the MMODEL, by eliminating redundant parameters. The result is an object of LISTMOTS type composed of 4-letter names of parameter. If external parameters do not exist, the result is an empty object of LISTMOTS type. 9) Extraction of the MMODEL regions for which the material behaviour is described by the word MOT2. In that case MOT1 must be 'COMP'. 10) Extraction of the names of the internal variables of the MMODEL, which are averaged in the non local implementation. The extraction is made all over the subspaces of the MMODEL, by eliminating redundant parameters. The result is an object of LISTMOTS type composed of 4-letter names of parameter. 11) Extraction of the names of the phases of the MMODEL. The extraction is made all over the subspaces of the MMODEL, by eliminating redundant parameters. The result is an object of LISTMOTS type composed of 8-letter names of phases. If phases do not exist, the result is an empty object of LISTMOTS type. >> CASE OF 'CHARGEME' TYPE OBJECTS _______________________________ 1) 'CHAR' extracts the CHARGEME object of the number indicated in OBJET3 from the OBJET2 object. The first CHARGEME object is extracted by default. 2) 'CHAM' extracts the CHPOINT or MCHAML object of the number indicated in OBJET3 from the OBJET2 object. The first CHPOINT or MCHAML object is extracted by default. 3) 'TRAJ' extracts the CHPOINT object describing the displacement of the component of number indicated in OBJET3 from the OBJET2 object. The CHPOINT is extracted from the first component by default. 4) 'EVOL' extracts the EVOLUTIO object of the number indicated in OBJET3 from the OBJET2 object. The first EVOLUTIO object is extracted by default. 5) 'VITE' extracts the EVOLUTIO object describing the displacement of the component of number indicated in OBJET3 from the OBJET2 object. The EVOLUTIO object is extracted from the first component by default. 6) 'LOBJ' extracts form OBJET2 the LISTOBJE object of CHARGEMENT number specified by OBJET3, or the 1st one by default. 7) 'LREE' extracts form OBJET2 the LISTREEL object of CHARGEMENT number specified by OBJET3, or the 1st one by default, if the CHARGEMENT is described by a LISTOBJE object. 8) 'COMP' extracts the names of the elementary CHARGEMENT objects. 9) 'LIE ' (resp. 'LIBR') extracts from OBJET2 the CHARGEME object collecting all the CHARGEME of this kind. 10) MOT extracts the elementary CHARGEMENT object called MOT. LISTMOTS extracts the elementary CHARGEMENT objects whose name is included in the LISTMOTS objet. 11) MOT followed by 'TABL' return the two TABLES objects giving the list of time and the corresponding map of the scalar quantity whose name is MOT. (Often used with the temperature 'T ' = MOT) >> CASE OF 'NUAGE' TYPE OBJECTS ____________________________ 1) Extraction of the component names. The result is an object of LISTMOTS type composed of 8-letter component names. 2) Extraction of the n-uplet corresponding to the real value inferior to the given FLOTTANT ,for a specific component name. The result is a NUAGE object "column". 3) Extraction of the n-uplet corresponding to the real value superior to the given FLOTTANT ,for a specific component name. The result is a NUAGE object "column". 4) Extraction of the n-uplet corresponding to the smallest real value characterized by a component name. The result is a NUAGE object "column". 5) Extraction of the n-uplet corresponding to the biggest real value characterized by a component name. The result is a NUAGE object "column". 6) Extraction of a object NUAGE characterized by two given real values corresponding to a specific component name. the new NUAGE object has all its real values (corresponding to the specific component name) between the two given real values. 7) Extraction of the values of a given component name in a NUAGE object: - If the component type is ENTIER, FLOTTANT or MOT, the returned object is a LISTENTI, LISTREEL, LISTMOT, respectively, except if that component has only one value. In this case, EXTR returns this value (nuage in "column"). - If the component type is LOGIQUE and has only one value (nuage in "column"), EXTR returns this value. - If the component type is of any type supported by the LISTOBJE object, EXTR returns the list of objects of this component, except if that component contains only one object. In this case, EXTR returns this object. >> CASE OF 'LISTCHPO' TYPE OBJECTS _______________________________ 1) Extraction of one or several CHPOINT objects The desired positions need to be given in an ENTIER or a LISTENTI object. 2) Extraction of values for a single node The values are placed in a LISTREEL object. The output order is the same as in the LISTCHPO. The CHPOINT objects whose geometric support does not contain the node POIN1 will yield a zero value. If not all the CHPOINT objects have the same components, those to be retained need to be specified by giving the word MOT1 or the words list LMOT1. The final order is defined by : (Comp1,Chpo1);(Comp1,Chpo2);...;(Comp2,Chpo1);(Comp2,Chpo2);... >> CASE OF 'LISTOBJE' TYPE OBJECTS ________________________________ 1) 'TYPE' : extract the type of objects in the list. 2) ENTIER : extract the ENTIERth object of la list. $$$$