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