Télécharger eqex.notice

Retour à la liste

Afficher cette notice en

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

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