Télécharger vari.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
   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