1 : $$$$ VARI NOTICE SERRE 16/07/20 21:15:09 9017 2 : DATE 16/07/20 3 : 4 : Operateur VARI Voir aussi : 5 : -------------- 6 : 7 : -------------------- 8 : | 1ere possibilite | 9 : -------------------- 10 : 11 : Objet : 12 : _______ 13 : 14 : L'operateur VARI calcule un champ variable a partir d'un champ 15 : donne et d'une loi de variation donnee sous la forme d'une fonction. 16 : 17 : CHEL2 = VARI | MODL1 CHEL1 EVOL1 | (MOT1) ; 18 : | MODL1 CHPO1 EVOL1 | 19 : ou 20 : 21 : CHPO2 = VARI CHPO1 EVOL1 (MOT2) ; 22 : 23 : Commentaire : 24 : _____________ 25 : 26 : 27 : MODL1 : Objet modele (type MMODEL) 28 : 29 : CHEL1 : Champ donne (type MCHAML) 30 : S'il a plusieurs composantes, on prend celle dont le nom 31 : est en abscisse de la loi de variation. 32 : 33 : CHPO1 : Champ donne (type CHPOINT) 34 : S'il a plusieurs composantes, on prend celle dont le nom 35 : est en abscisse de la loi de variation. 36 : 37 : EVOL1 : Objet definissant la loi de variation (type EVOLUTION) 38 : 39 : MOT1 : Objet de type MOT, sur 8 caracteres, servant a preciser 40 : le support du champ scalaire. Les noms possibles sont : 41 : 42 : 'NOEUD ' : Scalaire aux noeuds 43 : 44 : 'GRAVITE ' : Scalaire au centre de gravite 45 : 46 : 'RIGIDITE' : Scalaire aux points d'integration de la 47 : raideur 48 : 49 : 'MASSE ' : Scalaire aux points d'integration de la 50 : masse 51 : 52 : 'STRESSES' : Scalaire aux points de calcul des 53 : contrainte 54 : 55 : Le nom pris par defaut est 'RIGIDITE'. 56 : 57 : MOT2 : nom a attribuer a la composante du champ par point 58 : resultat. Par defaut, on prend le nom en ordonnee de la loi 59 : de variation. 60 : 61 : CHPO2 : champ par points (type CHPOINT) a une seule composante 62 : de meme nature que CHPO1. 63 : 64 : CHEL2 : objet resultat (type MCHAML, de sous-type SCALAIRE). 65 : 66 : -------------------- 67 : | 2eme possibilite | 68 : -------------------- 69 : 70 : Objet : 71 : _______ 72 : 73 : La valeur de certaines composantes d'un champ/element (ex : 74 : les proprietes materielles) depend en un point d'un parametre 75 : (ex : la temperature). Les lois de variation de ces composantes 76 : en fonction de leur parametre respectif sont donnees par des 77 : objets de type EVOLUTION ou NUAGE (FLOTTANT - EVOLUTION ou 78 : FLOTTANT-FLOTTANT-EVOLUTION). 79 : (note : operateur MATE accepte les objets de ces types). 80 : Etant donne un champ/point ou un champ/element, l'operateur VARI 81 : determine la valeur des composantes du champ/element selon leurs 82 : lois de variation en chaque point. 83 : Remarque 1 : Le parametre sus-cite peut varier d'un point a 84 : l'autre du champ/element . 85 : Remarque 2 : Dans le cas d'un nuage sous la forme 86 : FLOTTANT-FLOTTANT-EVOLUTION, il est necessaire que le 87 : nuage soit defini sous la forme d'une grille (memes 88 : valeurs donnees au deuxieme FLOTTANT pour chaque 89 : valeur du premier FLOTTANT) 90 : 91 : 92 : Extension : evaluation externe de composantes 93 : --------- 94 : La valeur de certaines composantes d'un champ/element (ex : les 95 : proprietes materielles) depend en un point d'un ou de plusieurs 96 : parametres. 97 : Ces composantes sont decrites par des objets LISTMOTS donnant les 98 : listes de leurs parametres respectifs. 99 : (note : operateur MATE accepte les objets de type LISTMOTS) 100 : Les lois de variation de ces composantes en fonction de leurs 101 : parametres sont programmees par l'utilisateur dans le module 102 : externe COMPUT et ses dependances, qui ont ete compiles et lies 103 : au reste du code. 104 : Etant donne un champ/point ou un champ/element donnant les valeurs 105 : des parametres, l'operateur VARI appelle le module externe COMPUT 106 : pour evaluer les composantes en chaque noeud ou point d'integration 107 : du support demande. 108 : 109 : Remarque 1 : la description d'une composante par un objet LISTMOTS 110 : doit etre uniforme sur toutes les sous-zones du modele, car la 111 : fonction externe evaluant la composante est unique. 112 : 113 : Remarque 2 : le module externe COMPUT est appele pour TOUTES les 114 : composantes devant etre evaluees par des fonctions externes. 115 : La programmation de l'utilisateur doit faire la distinction des 116 : composantes par leur nom. 117 : 118 : Remarque 3 : avant l'evaluation de chaque composante, un premier 119 : appel au module externe COMPUT est effectue, afin de verifier la 120 : coherence entre la description de la composante et la programmation 121 : du module externe : meme nombre de parametres et memes noms de 122 : parametres. Apres cette verification, le module COMPUT est appele 123 : pour evaluer la composante en chaque point du support demande. 124 : 125 : Remarque 4 : mode operatoire 126 : 1 - Programmer le module externe COMPUT et ses dependances : 127 : - Reprendre le module exemple integre au code. 128 : Il faut conserver imperativement la premiere carte du module 129 : exemple pour assurer le succes de la compilation. 130 : - Respecter l'interface d'appel de la routine. 131 : - Prevoir une sequence de verification initiale dissociee des 132 : operations d'evaluation. 133 : 2 - Compiler le module externe et ses dependances, puis edition de 134 : liens avec le reste du code. 135 : 3 - Mise en oeuvre en langage Gibiane en respectant la syntaxe 136 : decrite ci-apres. 137 : 138 : Remarque 5 : interface du module externe COMPUT 139 : 140 : SUBROUTINE COMPUT(IVERI,NOMCMP,NOMPAR,VALPAR,NPARA,VALCMP,IERUT) 141 : IMPLICIT REAL*8(A-H,O-Z) 142 : 143 : INTEGER IVERI, NPARA, IERUT 144 : CHARACTER*4 NOMCMP, NOMPAR(NPARA) 145 : REAL*8 VALPAR(NPARA), VALCMP 146 : 147 : ENTREE : IVERI : INTEGER, indicateur de verification 148 : IVERI=1 : On fait les verifications puis 149 : retour a l'appelant sans faire 150 : de calcul 151 : IVERI=0 : On ne fait pas les verifications 152 : On calcule directement la composante 153 : demandee 154 : ENTREE : NOMCMP : CHARACTER*4, nom de la composante a evaluer 155 : ENTREE : NOMPAR : CHARACTER*4(NPARA), noms des parametres 156 : ENTREE : VALPAR : REAL*8(NPARA), valeurs des parametres 157 : ENTREE : NPARA : INTEGER, nombre de parametres 158 : SORTIE : VALCMP : REAL*8, valeur de la composante 159 : SORTIE : IERUT : INTEGER, code retour 160 : IERUT= 0 : OK 161 : IERUT<>0 : NOOK 162 : Les cas d'erreur pris en charge par la 163 : programmation de l'utilisateur doivent 164 : faire l'objet d'une affectation de IERUT 165 : differente de 0 166 : 167 : CHEL2 = VARI 'NUAG' MODL1 CHEL1 CHEP1 (MOT1) (MOT2); 168 : 169 : Commentaire : 170 : _____________ 171 : 172 : NUAG : Mot cle 173 : 174 : MODL1 : Objet modele (type MMODEL) 175 : 176 : CHEL1 : Champ donne (type MCHAML). Ses composantes peuvent etre 177 : des objets de type 178 : 1) FLOTTANT si la composante est constant sur toute 179 : la structure; 180 : 2) EVOLUTIO si la composante en ce point depend du 181 : parametre cite en haut; 182 : 3) NUAGE si la composante elle-meme est decrite par 183 : un objet de type EVOLUTIO qui est une fonction 184 : du parametre cite en haut. 185 : 186 : CHEP1 : Champ donne (type CHPOINT ou MCHAML) ayant les 187 : composantes necessaires au calcul 188 : 189 : MOT1 : Objet de type MOT, sur 8 caracteres, servant a preciser 190 : le support du champ scalaire. Les noms possibles sont : 191 : 192 : 'NOEUD ' : Scalaire aux noeuds 193 : 194 : 'GRAVITE ' : Scalaire au centre de gravite 195 : 196 : 'RIGIDITE' : Scalaire aux points d'integration de la 197 : raideur 198 : 199 : 'MASSE ' : Scalaire aux points d'integration de la 200 : masse 201 : 202 : 'STRESSES' : Scalaire aux points de calcul des 203 : contrainte 204 : 205 : Le nom pris par defaut est 'RIGIDITE'. 206 : 207 : MOT2 : Objet de type MOT servant a indiquer un sous-type 208 : pour le MCHAML resultat. Par defaut, il aura le 209 : meme sous-type que celui de MCHAML donne CHEL1. 210 : 211 : CHEL2 : objet resultat (type MCHAML, de meme sous-type que le 212 : champ CHEL1). 213 : 214 : 215 : REMARQUE : 216 : __________ 217 : 218 : Si CHEP1 est de type MCHAML, il convient de respecter 219 : l'ordre d'ecriture des arguments. 220 : 221 : 222 : -------------------- 223 : | 3eme possibilite | 224 : -------------------- 225 : 226 : Objet : 227 : _______ 228 : 229 : L'operateur VARI permet d'evaluer les tables de l'eau. Les objets 230 : OBJi sont tous de meme type (FLOTTANT, CHPOINT ou LISTREEL). 231 : 232 : OBJ3 = 'VARI' MOT1 OBJ1 OBJ2 ; 233 : 234 : Commentaire : 235 : _____________ 236 : 237 : 1) OBJ3 = 'VARI' 'CPLIQ' OBJ1 OBJ2 ; 238 : 239 : avec OBJ1 : Pression totale (en Pa) 240 : OBJ2 : Enthalpie liquide specifique (en J/kg) 241 : OBJ3 : Capacite calorifique de l'eau liquide (en J/kg/K) 242 : 243 : 2) OBJ3 = 'VARI' 'HLS' OBJ1 (OBJ2) ; 244 : 245 : avec OBJ1 : Pression totale (en Pa) 246 : OBJ2 : Temperature (en K) 247 : OBJ3 : Enthalpie liquide specifique (en J/kg) 248 : Note : En absence de temperature, evaluation a saturation. 249 : 250 : 3) OBJ3 = 'VARI' 'HVS' OBJ1 (OBJ2) ; 251 : 252 : avec OBJ1 : Pression partielle de vapeur (en Pa) 253 : OBJ2 : Temperature (en K) 254 : OBJ3 : Enthalpie vapeur specifique (en J/kg) 255 : Note : En absence de temperature, evaluation a saturation. 256 : 257 : 4) OBJ3 = 'VARI' 'LATENT' OBJ1 ; 258 : 259 : avec OBJ1 : Pression partielle de vapeur (en Pa) 260 : OBJ3 : Chaleur latente de vaporisation (en J/kg) 261 : 262 : 5) OBJ3 = 'VARI' 'PSATT' OBJ1 ; 263 : 264 : avec OBJ1 : Temperature (en K) 265 : OBJ3 : Pression partielle de vapeur a saturation (en Pa) 266 : 267 : 6) OBJ3 = 'VARI' 'TSATP' OBJ1 ; 268 : 269 : avec OBJ1 : Pression partielle de vapeur (en Pa) 270 : OBJ3 : Temperature a saturation (en K) 271 : 272 : 7) OBJ3 = 'VARI' 'PVAP' OBJ1 OBJ2 ; 273 : 274 : avec OBJ1 : Densite de vapeur (en kg/m3) 275 : OBJ2 : Temperature (en K) 276 : OBJ3 : Pression partielle de vapeur (en Pa) 277 : 278 : 8) OBJ3 = 'VARI' 'ROLIQ' OBJ1 OBJ2 ; 279 : 280 : avec OBJ1 : Pression de l'enceinte (en Pa) 281 : OBJ2 : Enthalpie liquide specifique (en J/kg) 282 : OBJ3 : Densite de l'eau liquide (en kg/m3) 283 : 284 : 9) OBJ3 = 'VARI' 'ROVAP' OBJ1 (OBJ2) ; 285 : 286 : avec OBJ1 : Pression partielle de vapeur (en Pa) 287 : OBJ2 : Temperature (en K) 288 : OBJ3 : Densite de la vapeur d'eau (en kg/m3) 289 : Note : En absence de temperature, evaluation a saturation. 290 : 291 : 10) OBJ3 = 'VARI' 'TLIQ' OBJ1 OBJ2 ; 292 : 293 : avec OBJ1 : Pression totale (en Pa) 294 : OBJ2 : Enthalpie liquide specifique (en J/kg) 295 : OBJ3 : Temperature de l'eau liquide (en K) 296 : 297 : 11) OBJ3 = 'VARI' 'ZVAP' OBJ1 OBJ2 ; 298 : 299 : avec OBJ1 : Densite de la vapeur d'eau (en kg/m3) 300 : OBJ2 : Temperature de la vapeur d'eau (en K) 301 : OBJ3 : Correction gaz reel de la vapeur (-) 302 : 303 : 12) OBJ3 = 'VARI' 'DHVDT' OBJ1 OBJ2 ; 304 : 305 : avec OBJ1 : Pression partielle de vapeur (en Pa) 306 : OBJ2 : Temperature de la vapeur d'eau (en K) 307 : OBJ3 : Derivee partielle de l'enthalpie vapeur par 308 : rapport a la temperature 309 : 310 : 13) OBJ3 = 'VARI' 'DHVDP' OBJ1 OBJ2 ; 311 : 312 : avec OBJ1 : Pression partielle de vapeur (en Pa) 313 : OBJ2 : Temperature de la vapeur d'eau (en K) 314 : OBJ3 : Derivee partielle de l'enthalpie vapeur par 315 : rapport a la pression partielle de vapeur 316 : 317 : 14) OBJ3 = 'VARI' 'DHVDT' OBJ1 OBJ2 ; 318 : 319 : avec OBJ1 : Pression totale (en Pa) 320 : OBJ2 : Temperature (en K) 321 : OBJ3 : Derivee partielle de l'enthalpie liquide par 322 : rapport a la temperature 323 : 324 : 15) OBJ3 = 'VARI' 'DHLDP' OBJ1 OBJ2 ; 325 : 326 : avec OBJ1 : Pression totale (en Pa) 327 : OBJ2 : Temperature (en K) 328 : OBJ3 : Derivee partielle de l'enthalpie liquide 329 : rapport a la pression totale 330 : 331 : 16) OBJ3 = 'VARI' 'DPSAT' OBJ1 ; 332 : 333 : avec OBJ1 : Temperature (en K) 334 : OBJ3 : Derivee partielle de la pression de saturation 335 : par rapport a la temperature 336 : 337 : 17) OBJ3 = 'VARI' 'DZVDP' OBJ1 OBJ2 ; 338 : 339 : avec OBJ1 : Pression partielle de vapeur (en Pa) 340 : OBJ2 : Temperature (en K) 341 : OBJ3 : Derivee partielle du facteur de compressibilite 342 : rapport a la pression partielle de vapeur 343 : 344 : 18) OBJ3 = 'VARI' 'DZVDT' OBJ1 OBJ2 ; 345 : 346 : avec OBJ1 : Pression partielle de vapeur (en Pa) 347 : OBJ2 : Temperature (en K) 348 : OBJ3 : Derivee partielle du facteur de compressibilite 349 : rapport a la temperature 350 : 351 : 19) OBJ3 = 'VARI' 'DRVDP' OBJ1 OBJ2 ; 352 : 353 : avec OBJ1 : Pression partielle de vapeur (en Pa) 354 : OBJ2 : Temperature (en K) 355 : OBJ3 : Derivee partielle de la densite de vapeur par 356 : rapport a la pression partielle de vapeur 357 : 358 : 20) OBJ3 = 'VARI' 'DRVDT' OBJ1 OBJ2 ; 359 : 360 : avec OBJ1 : Pression partielle de vapeur (en Pa) 361 : OBJ2 : Temperature (en K) 362 : OBJ3 : Derivee partielle de la densite de vapeur par 363 : rapport a la temperature 364 : 365 : 21) OBJ3 = 'VARI' 'MULIQ' OBJ1 ; 366 : 367 : avec OBJ1 : Temperature (en K) 368 : OBJ3 : Viscosité dynamique de l'eau (en kg/m/s) 369 : 370 : 22) OBJ3 = 'VARI' 'LBDALIQ' OBJ1 OBJ2 ; 371 : 372 : avec OBJ1 : Pression (en Pa) 373 : OBJ2 : Temperature (en K) 374 : OBJ3 : Conductivité thermique de l'eau (en W/m/K) 375 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales