1 : $$$$ VIDE NOTICE PASCAL 22/06/10 21:15:08 11377 2 : DATE 22/06/10 3 : 4 : Operateur VIDE Voir aussi : ZERO, LECT, PROG 5 : -------------- SUIT MOTS MANU 6 : TABL 7 : 8 : Objet : 9 : _______ 10 : 11 : L'opérateur VIDE permet de créer un ou plusieurs objets vides 12 : de types/sous-types donnés. 13 : 14 : L'opérateur VIDE permet egalement de tester si un objet est vide. 15 : 16 :
SOMMAIRE DE LA NOTICE
---------------------
1. Creation d'un objet vide
2. Test d'un objet
1. Creation d'un objet vide
===========================
17 : 18 : Syntaxe : 19 : _________ 20 : 21 : Deux possibilités pour récupérer les objets vides créés : 22 : 23 : 24 : 1) Objets séparés : 25 : 26 : OBJ1,...,OBJn = VIDE [GROUPE1,...,GROUPEn] 27 : 28 : 29 : 2) Objets indicés dans une table : 30 : 31 : TAB1 = VIDE ('TABULER' ( |LENTI1| ) ) [GROUPE1,...,GROUPEn] 32 : |LREEL1| 33 : |LMOTS1| 34 : 35 : 36 : Dans les deux cas, GROUPEi est de la forme : 37 : 38 : MOTAi(/MOTBi)(*ENTIi) 39 : 40 : 41 : 42 : Commentaires : 43 : ______________ 44 : 45 : 1) La création d'objets vides peut être intéressante lorsqu'il s'agit 46 : de construire des objets par itérations successives. 47 : L'opérateur VIDE permet d'initialiser l'objet global et d'éviter 48 : ainsi tout test d'existence avant d'utiliser l'opérateur ET. 49 : Ceci est particulièrement précieux quand le premier ET peut 50 : survenir alternativement en différents points du jeu de données. 51 : 52 : 2) Si l'option 'TABULER' est utilisee, il est possible d'indiquer à 53 : quels indices sont placés les objets qui sont créés en spécifiant 54 : une liste LENTI1 (type LISTENTI) ou LREEL1 (type LISTREEL) ou 55 : LMOTS1 (type LISTMOTS). 56 : 57 : Si la liste est trop courte, les indices manquants seront des 58 : entiers incrémentés suivant l'ordre de création des objets. 59 : 60 : /!\ ATTENTION : On laisse à l'utilisateur le soin de s'assurer 61 : qu'aucun indice de la table ne sera écrasé. Cela 62 : surviendra automatiquement si la liste fournie 63 : comporte des doublons, mais peut aussi arriver 64 : s'il s'agit d'un LISTENTI trop court. 65 : 66 : 3) Les GROUPEi définissent le type MOTAi, ainsi qu'éventuellement le 67 : sous-type MOTBi et/ou le nombre d'objets à créer. Le tableau 68 : ci-dessous précise quelles sont les valeurs autorisées : 69 : 70 : MOTAi | MOTBi 71 : +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 72 : 'MAILLAGE' | N'importe quel type d'élément valide 73 : | (Par défaut : valeur retournée par VALE 'ELEM') 74 : -------------+--------------------------------------------------- 75 : 'CHPOINT ' | Nature du champ : 'DISCRET' ou 'DIFFUS' 76 : | (Par défaut : 'INDETERMINE') 77 : -------------+--------------------------------------------------- 78 : 'MCHAML ' | AUCUN 79 : -------------+--------------------------------------------------- 80 : 'MMODEL ' | AUCUN 81 : -------------+--------------------------------------------------- 82 : 'RIGIDITE' | Le sous-type attribué à la matrice 83 : | (Par défaut : chaîne vide ' ') 84 : -------------+--------------------------------------------------- 85 : 'EVOLUTIO' | Le sous-type REEL ou COMPLEXE (courbes par paire) 86 : | (Par défaut : chaîne vide ' ') 87 : -------------+--------------------------------------------------- 88 : 'LISTENTI' | AUCUN 89 : -------------+--------------------------------------------------- 90 : 'LISTREEL' | AUCUN 91 : -------------+--------------------------------------------------- 92 : 'LISTMOTS' | AUCUN 93 : -------------+--------------------------------------------------- 94 : 'LISTCHPO' | AUCUN 95 : -------------+--------------------------------------------------- 96 : 'TABLE ' | Le sous-type attribué à la table 97 : | (Par défaut : la table n'a pas de sous-type) 98 : -------------+--------------------------------------------------- 99 : 'DEFORME ' | AUCUN 100 : -------------+--------------------------------------------------- 101 : 'VECTEUR ' | AUCUN 102 : -------------+--------------------------------------------------- 103 : 'CHARGEME' | AUCUN 104 : -------------+--------------------------------------------------- 105 : 'NUAGE' | AUCUN 106 : -------------+--------------------------------------------------- 107 : 'ANNOTATI' | AUCUN 108 : -------------+--------------------------------------------------- 109 : 'LISTOBJE' | AUCUN 110 : -------------+--------------------------------------------------- 111 : 112 : 113 : 114 : Exemples : 115 : __________ 116 : 117 : 118 : a) MAIL1 = VIDE 'MAILLAGE' ; 119 : MAIL2 = VIDE 'MAILLAGE'/'SEG2' ; 120 : MAIL3 = VIDE 'MAILLAGE'/'TRI3' ; 121 : 122 : MAIL1 est un maillage vide constitué de l'élément par défaut 123 : MAIL2 est un maillage vide de SEG2 124 : MAIL3 est un maillage vide de TRI3 125 : 126 : 127 : b) RIG1 RIG2 = VIDE 'RIGIDITE'/'RIGIDITE' 'RIGIDITE'/'MASSE' ; 128 : 129 : RIG1 est une matrice vide de sous-type 'RIGIDITE' 130 : RIG2 est une matrice vide de sous-type 'MASSE' 131 : 132 : 133 : c) LENTI1 LENTI2 LENTI3 = VIDE 'LISTENTI'*3 ; 134 : TAB1 = VIDE 'TABU' 'LISTENTI'*3 ; 135 : TAB2 = VIDE 'TABU' (MOTS 'UX' 'UY' 'UZ') 'LISTENTI'*3 ; 136 : 137 : LENTI1, LENTI2 et LENTI3 sont trois listes d'entiers vides. 138 : TAB1 contient trois indices 1, 2 et 3 renvoyant chacun à une 139 : liste d'entiers vide. 140 : Idem dans TAB3, mais les indices sont 'UX','UY' et 'UZ'. 141 : 142 : 143 : d) MAIL1 MAIL2 = VIDE 'MAILLAGE'/'CUB8'*2 ; 144 : MAIL1 MAIL2 = VIDE 'MAILLAGE'*2/'CUB8' ; 145 : 146 : L'ordre est indifférent : MAIL1 et MAIL2 sont deux maillages vides 147 : de CUB8. 148 :
2. Test d'un objet
==================
149 : 150 : LOG1 = VIDE OBJ1 ; 151 : 152 : LOG1 : LOGIQUE, resultat du test, 153 : 154 : et OBJ1 de type : 155 : 156 : MAILLAGE, CHPOINT, MCHAML, MMODEL, RIGIDITE, EVOLUTIO, 157 : LISTENTI, LISTREEL, LISTMOTS, LISTCHPO, TABLE, DEFORME, 158 : VECTEUR, CHARGEME, NUAGE, ANNOTATI. 159 : 160 : 161 : Remarque : l'objet MOT ne peut pas etre teste. 162 : ---------- 163 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales