Télécharger eqex.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
   1 : $$$$ EQEX     NOTICE  GOUNAND   18/08/24    21:15:01     9892           
   2 :                                              DATE     18/08/24
   3 : 
   4 :   Operateur EQEX                          Voir aussi : NAVI EXEC
   5 :      --------------  
   6 : 
   7 : 
   8 : 
   9 :      Objet :
  10 :      _______
  11 :      
  12 :      Cree une TABLE contenant les informations necessaires a la solution
  13 :      solution explicite ou implicite d'une ou plusieurs E.D.P. effectuee
  14 :      par la procedure EXEC.
  15 :      
  16 :      Cette table est a completer par une table 'INCO' contenant les
  17 :      inconnues.
  18 :      
  19 :      On peut aussi ajouter des tables 'HIST' et 'INCO'.'HIST' pour
  20 :      sauvegarder des historiques.
  21 : 
  22 :      
  23 :      
  24 :      Syntaxe :
  25 :      _________
  26 : 
  27 : 
  28 :      RV = EQEX (RV)  -->--+
  29 :                           |
  30 :      +------<------<------+------<------<------<------<------+
  31 :      |                                                       |
  32 :      v   (OPTIONS APPLIQUEES AUX OPERATEURS PLACES APRES)    |
  33 :      |                                                       ^
  34 :      +---> ('OPTI' opt1 opt2 opt3 ...)  -->--+               |
  35 :                                              |               |
  36 :           +------<------<------<------<------+               |
  37 :           |                                                  ^
  38 :           v    (OPERATEUR QUI SERA APPELE A CHAQUE P.D.T)    |
  39 :           |                                                  |
  40 :           +---> 'ZONE' nomz 'OPER' nomo (arg1 arg2 ...) -->--+ 
  41 :           |                ('INCO' nom1 nom2 ...)            |
  42 :           ^                                                  v
  43 :           |                                                  |
  44 :           +-------<------<------<------<------<------<-------+
  45 :                                                              |
  46 :                                                              |
  47 :      +------<------<------<------<------<------<------<------+
  48 :      |
  49 :      v      (DEFINITION DES CONDITIONS AUX LIMITES)
  50 :      |
  51 :      +---> 'CLIM' inc1 comp1 mail1 val1 ...
  52 :                         ... inc2 comp2 mail2 val2 ...   -->--+
  53 :                                                              |
  54 :                                                              |
  55 :      +------<------<------<------<------<------<------<------+
  56 :      |
  57 :      +---> ('ITMA' itma) ('NITER' nite) --->---+   
  58 :                                                |    (PARAMETRES
  59 :      +------<------<------<------<------<------+     TEMPORELS DE
  60 :      |                                               LA SIMULATION)
  61 :      +---> ('ALFA' alfa) ('OMEGA' omeg) --->---+
  62 :                                                |
  63 :                                                |
  64 :                                                v
  65 :                                               
  66 :                                    (autres directives parmi :
  67 :                                        DUMP  FIDT NISTO
  68 :                                        NOMVI TPSI TFINAL )
  69 : 
  70 : 
  71 :      Directive DUMP
  72 :      Cette directive est utile pour la mise au point du jeu de donnees
  73 :      => on imprime le deroulement du decodage de EQEX
  74 :      
  75 :      
  76 :      Directive ITMA
  77 :      itma (ENTIER) : nombre maximum de pas de temps (defaut 1)
  78 :      
  79 :      
  80 :      Directive ALFA
  81 :      alfa (FLOTTANT) : tolerance (0. < alfa < 1.) sur le pas de temps
  82 :                        (defaut 1.)
  83 :      
  84 :      
  85 :      Directive FIDT
  86 :      fidt (ENTIER) : frequence d'impression des pas de temps (defaut 20)
  87 :      
  88 :      
  89 :      Directive NISTO
  90 :      nisto (ENTIER) : frequence de sauvegarde de l'historique d'une
  91 :      grandeur en un point dans la table RV.'HIST' (defaut 20)
  92 :      
  93 :      
  94 :      Directive NOMVI
  95 :      nomvi (MOT) : nom du champ de vitesse servant au calcul de la
  96 :      pression pour l'algorithme semi-explicite (par defaut 'UN')
  97 :      
  98 :      
  99 :      Directive TPSI
 100 :      tpsi (flottant) : temps initial
 101 :      
 102 :      
 103 :      Directive TFINAL
 104 :      tfinal (flottant) : temps final (defaut 1.e30)
 105 :      
 106 :      
 107 :      Directive NITER
 108 :      niter (entier) : nombre d'iterations internes a un pas de temps
 109 :      pour resoudre une non linearite (defaut 1)
 110 :      
 111 :      
 112 :      Directive OMEGA
 113 :      omega (flottant) : facteur de relaxation (0 < omega < 1) pour
 114 :      resoudre une non linearite (defaut 1.)
 115 :      
 116 :      
 117 :      Directive IMPR
 118 :      impr (entier) : niveau global d'impression ecran (0 par defaut)
 119 :      
 120 :      
 121 :      Directive OPTI
 122 :      Elle sert a preciser les options de tous les operateurs places
 123 :      dans les directives OPER situees apres
 124 :      
 125 :      LISTE DES OPTIONS
 126 :      -------------+------+---------------------------------------------
 127 :      Formulations | EFM1 | Elements finis sous integre + correction 
 128 :                   |      | (a la Gresho) disponible uniquement dans
 129 :                   |      | l'algorithme semi explicite
 130 :                   | EF   | Elements finis Galerkin ou Petrov-Galerkin
 131 :                   | VF   | Volumes finis
 132 :      -------------+------+--+------------------------------------------
 133 :      Decentrement | CENTREE | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
 134 :                   | SUPGDC  | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
 135 :                   | SUPG    | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
 136 :                   | SUPGH   | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
 137 :                   | CNG     | uniquement EF      SEMI           2D/3D  
 138 :                   | PSI     | uniquement operateur TSCA EFM1 EXPL 2D   
 139 :                   | JOHNSON | uniquement operateur TSCA EFM1 EXPL 2D   
 140 :                   | UPWIND  | uniquement VF EXPL 2D                    
 141 :                   | GODUNOV | uniquement VF EXPL 2D                    
 142 :                   | VANLEER | uniquement VF EXPL 2D                    
 143 :                   | VLH     | uniquement VF EXPL 2D                    
 144 :                   | HUSVL   | uniquement VF EXPL 2D                    
 145 :                   | HUSVLH  | uniquement VF EXPL 2D                    
 146 :                   | AUSM    | uniquement VF EXPL 2D                    
 147 :                   |         |
 148 :                   | CMD     | Coef. multiplicateur du decentrement     
 149 :                   |         | uniquement pour SUPG,SUPGDC,SUPGH en EF  
 150 :                   |         | Par defaut, la valeur est 0.2             
 151 :      -------------+---------+----+-------------------------------------
 152 :      Formulation  | IMPL         | implicite
 153 :      temporelle   | EXPL         | explicite
 154 :                   | SEMI beta    | semi implicite  (0. < beta < 1.)
 155 :      (ne concerne | SEMI 0.5     | schema de Crank-Nicolson
 156 :       que DFDT)   | SEMI 0.5 CNG | Crank-Nicolson generalise (Donea)
 157 :                   | BDF2         | schema arriere en temps a 3 points
 158 :                   |              | ordre 2 (inconditionellement stable)
 159 :      -------------+---------+----+-------------------------------------
 160 :      Formulation  | CONS    | formulation conservative
 161 :      des termes   | NOCONS  | formulation non conservative
 162 :      de transport | NODIV   | le terme de stabilisation 1/2 T Div U est
 163 :                   |         | omis (non conservatif NOCONS seulement)
 164 :      (ne concerne |         | 
 165 :       que KONV NS |         |
 166 :       NSKE TSCA)  |         |  
 167 :      -------------+---------+------------------------------------------
 168 :      Formul. des  | MUVARI  | formulation en Laplacien Vecteur
 169 :      contraintes  | FTAU    | formulation en contrainte visqueuse
 170 :      visqueuses   | MUCONS  | les gradients de Viscosite sont negliges
 171 :                   |         | sur l'element (defaut)
 172 :      -------------+---------+-+----------------------------------------
 173 :      Support des  | INCOP spg | spg est a choisir dans la liste :
 174 :      inconnues    | INCOD spg |    SOMMET   FACE     CENTRE
 175 :      primales ou  |           |    CENTREP1 CENTREP0 MSOMMET
 176 :      duales       |           |
 177 :      -------------+-----------+----------------------------------------    
 178 :      Type Matrice | MMPLEINE  | matrice masse consistante
 179 :      masse        | MMDIAGO   | matrice masse diagonale
 180 :                   | MMPG      | matrice masse Petrov-Galerkin
 181 :      -------------+-----------+----------------------------------------         
 182 :      Modele de turbulence particulier RNG K-epsilon
 183 :                   | RNG       | uniquement pour NSKE EFM1 EXPLICITE
 184 :      -------------+-----------+----------------------------------------    
 185 :      Formulation ALE pour l'operateur NS EFM1 EXPLICITE
 186 :                   | ALE       |
 187 :      -------------+-----------+----------------------------------------  
 188 :      Formulation  | EULER     | mono-espece
 189 :      IDEUL (VF    | EULERMS   | multi-especes
 190 :      uniquement)  | EULERMST  | multi-especes "thermally perfect"
 191 :      -------------+-----------+----------------------------------------  
 192 : 
 193 :      
 194 :      Directives ZONE et OPER
 195 :      
 196 :      nomz : Objet MMODEL (type 'NAVIER_STOKES') ou table DOMAINE 
 197 :             sur lequel va porter l'operateur
 198 :             
 199 :      nomo : Objet de type MOT donnant le nom de l'operateur de
 200 :             discretisation (ou de la PROCEDURe) a executer.
 201 :             A choisir dans la liste (nono exhaustive) ci-dessous :
 202 :             FIMP FPU FROT LAPN TSCA NS NSKE ECHI DFDT KONV MDIA ...
 203 :      
 204 :      arg1 arg2 ... : arguments de l'operateur (voir la notice de
 205 :                      l'operateur concerne)
 206 :             Les arguments lus sont places dans la table associee a
 207 :             l'operateur aux indices 'ARG1', 'ARG2', etc...
 208 :             
 209 :      nom1 nom2 ... : noms des indices dans la table des inconnues ou
 210 :                      se trouveront les inconnues sur lesquelles
 211 :                      l'operateur s'appuiera
 212 :             Cette table est a creer independemment et a placer dans la
 213 :             a l'indice 'INCO' de la table RV creee par EQEX
 214 :             Exemple :
 215 :      
 216 :             RV.'INCO'=TABLE 'INCO' ;
 217 :             RV.'INCO'.'UN'=KCHT $MA 'VECT' 'SOMMET' (0. 0.) (U1 ET U2) ;
 218 :             RV.'INCO'.'TN'=KCHT $MA 'SCAL' 'SOMMET' 1. T2 ;
 219 :      
 220 :      
 221 :      Directive CLIM
 222 :      
 223 :      Cette directive permet de preciser ou de surcharger les conditions
 224 :      limites de type valeur imposee (Dirichlet) qui seront appliquees a
 225 :      chacune des inconnues.
 226 :      
 227 :      inc1 inc2 ... : MOT designant une inconnue qui doit deja figurer 
 228 :                      dans une des listes nom1 nom2 ... et donc dans la
 229 :                      table 'INCO'
 230 :      
 231 :      comp1 comp2 ... : MOT precisant sur quelle composante appliquer
 232 :                        la condition limite, a choisir parmi :
 233 : 
 234 :                        UIMP=inconnue vectorielle, composante suivant Ox
 235 :                        VIMP=inconnue vectorielle, composante suivant Oy
 236 :                        WIMP=inconnue vectorielle, composante suivant Oz
 237 :                        TIMP=inconnue scalaire
 238 : 
 239 :      mail1 mail2 ... : MAILLAGE d'application de la condition à la
 240 :                        limite
 241 : 
 242 :      val1 val2 ... : valeurs attribuees, de type FLOTTANT ou CHPOINT
 243 :      
 244 :      
 245 :                        
 246 :      Commentaires :
 247 :      ______________
 248 :        
 249 :      a) Si une table RV est specifiee derriere EQEX, elle sera completee
 250 :         ou modifiee par les instuctions suivantes (ceci permet de 
 251 :         contourner la limitation GIBIANE sur la longueur d'une
 252 :         instruction).
 253 :      
 254 :         
 255 :      b) Pour chaque operateur (directive OPER) est creee une TABLE dont
 256 :         le nom est celui de l'operateur prefixe par le numero d'ordre de
 257 :         l'operateur. Cette table contient le nom de l'operateur, l'objet
 258 :         MAILLAGE sur lequel il porte, les arguments qu'on lui associe
 259 :         (indices 'ARG1', 'ARG2', etc...) et la liste des noms des 
 260 :         inconnues sur lequel il porte.
 261 :         
 262 :         C'est cette TABLE qui est passee en argument a l'operateur ou a
 263 :         la procedure lors de son appel par EXEC. La TABLE RV y est
 264 :         situee a l'indice 'EQEX'.
 265 :      
 266 :         
 267 :      c) Un certain nombre de parametres generaux sont initialises
 268 :         par EQEX :
 269 :         
 270 :            ITMA=1
 271 :            FIDT=20  frequence d'impression des pas de temps
 272 :            ALFA=1.  coefficient de tolerance sur le pas de temps 
 273 :                     (usuellement on peut prendre de 0.5 a 0.8)
 274 :      
 275 :                     
 276 :      d) L'indice 'LISTOPER' de la table RV contient la liste des
 277 :         operateurs appeles, dans l'ordre ou ils sont appeles.
 278 :      
 279 :         
 280 :      e) POUR CREER DES HISTORIQUES :
 281 :      
 282 :         + EVOLUTION temporelle en un point d'une grandeur de RV.'INCO'
 283 :           
 284 :           Il faut rajouter dans RV une entree RV.'HIST' contenant une
 285 :           TABLE construite par l'operateur KHIS (voir la notice de cet
 286 :           operateur). La frequence de sauvegarde est definie grace a
 287 :           la directive NISTO.
 288 :           
 289 :         + Stockage des objets CHPOINT contenus dans RV.'INCO' pour
 290 :           differents pas de temps
 291 :           
 292 :           If faut creer une entree RV.'INCO'.'HIST' de type TABLE,
 293 :           contenant pour chaque grandeur a sauvegarder un objet LISTCHPO
 294 :           vide (operateurs SUIT ou VIDE) dont le nom est le meme que
 295 :           celui qui a ete defini dans la table 'INCO'.
 296 :           
 297 :           Il est aussi possible de sauvegarder le temps en creant un
 298 :           LISTREEL vide (operateurs PROG ou VIDE) a l'indice 'TPS' de
 299 :           RV.'INCO'.'HIST'
 300 :           
 301 :           Le premier pas de sauvegarde est indique a l'indice 'IDEB' de
 302 :           RV.'INCO'.'HIST' ; le dernier pas de temps est indique a
 303 :           l'indice 'IFIN' ; enfin, la frequence de sauvegarde est donnee
 304 :           par l'indice 'IPAS'.
 305 :      
 306 :           
 307 :      f) Une entree RV.'METHINV' (type TABLE) est automatiquement creee
 308 :         pour definir la methode de resolution de systeme qui sera
 309 :         utilisee. Par defaut, une resolution directe (robuste mais
 310 :         couteuse en memoire) de type Crout est utilisee. Il est possible
 311 :         de specifier une methode iterative de type gradient conjugue, a
 312 :         condition de bien SAVOIR ce que l'on fait.
 313 :         
 314 :         La syntaxe des entrees de la table RV.'METHINV' est explicitee
 315 :         dans la notice de l'operateur KRES.
 316 :         
 317 :         En sortie, RV.'METHINV'.'CONVINV' contient l'historique (type 
 318 :         LISTREEL) de la norme du residu en fonction du nombre
 319 :         d'iterations.  
 320 :         
 321 :         
 322 :      g) A tout instant, le CHPOINT contenant les conditions limites
 323 :         de type Dirichlet est stocke a l'indice RV.'CLIM'
 324 :      

© Cast3M 2003 - Tous droits réservés.
Mentions légales