Télécharger eqex.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
$$$$ EQEX     NOTICE  GOUNAND   18/08/24    21:15:01     9892           
                                             DATE     18/08/24

  Operateur EQEX                          Voir aussi : NAVI EXEC
     --------------  



     Objet :
     _______
     
     Cree une TABLE contenant les informations necessaires a la solution
     solution explicite ou implicite d'une ou plusieurs E.D.P. effectuee
     par la procedure EXEC.
     
     Cette table est a completer par une table 'INCO' contenant les
     inconnues.
     
     On peut aussi ajouter des tables 'HIST' et 'INCO'.'HIST' pour
     sauvegarder des historiques.

     
     
     Syntaxe :
     _________


     RV = EQEX (RV)  -->--+
                          |
     +------<------<------+------<------<------<------<------+
     |                                                       |
     v   (OPTIONS APPLIQUEES AUX OPERATEURS PLACES APRES)    |
     |                                                       ^
     +---> ('OPTI' opt1 opt2 opt3 ...)  -->--+               |
                                             |               |
          +------<------<------<------<------+               |
          |                                                  ^
          v    (OPERATEUR QUI SERA APPELE A CHAQUE P.D.T)    |
          |                                                  |
          +---> 'ZONE' nomz 'OPER' nomo (arg1 arg2 ...) -->--+ 
          |                ('INCO' nom1 nom2 ...)            |
          ^                                                  v
          |                                                  |
          +-------<------<------<------<------<------<-------+
                                                             |
                                                             |
     +------<------<------<------<------<------<------<------+
     |
     v      (DEFINITION DES CONDITIONS AUX LIMITES)
     |
     +---> 'CLIM' inc1 comp1 mail1 val1 ...
                        ... inc2 comp2 mail2 val2 ...   -->--+
                                                             |
                                                             |
     +------<------<------<------<------<------<------<------+
     |
     +---> ('ITMA' itma) ('NITER' nite) --->---+   
                                               |    (PARAMETRES
     +------<------<------<------<------<------+     TEMPORELS DE
     |                                               LA SIMULATION)
     +---> ('ALFA' alfa) ('OMEGA' omeg) --->---+
                                               |
                                               |
                                               v
                                              
                                   (autres directives parmi :
                                       DUMP  FIDT NISTO
                                       NOMVI TPSI TFINAL )


     Directive DUMP
     Cette directive est utile pour la mise au point du jeu de donnees
     => on imprime le deroulement du decodage de EQEX
     
     
     Directive ITMA
     itma (ENTIER) : nombre maximum de pas de temps (defaut 1)
     
     
     Directive ALFA
     alfa (FLOTTANT) : tolerance (0. < alfa < 1.) sur le pas de temps
                       (defaut 1.)
     
     
     Directive FIDT
     fidt (ENTIER) : frequence d'impression des pas de temps (defaut 20)
     
     
     Directive NISTO
     nisto (ENTIER) : frequence de sauvegarde de l'historique d'une
     grandeur en un point dans la table RV.'HIST' (defaut 20)
     
     
     Directive NOMVI
     nomvi (MOT) : nom du champ de vitesse servant au calcul de la
     pression pour l'algorithme semi-explicite (par defaut 'UN')
     
     
     Directive TPSI
     tpsi (flottant) : temps initial
     
     
     Directive TFINAL
     tfinal (flottant) : temps final (defaut 1.e30)
     
     
     Directive NITER
     niter (entier) : nombre d'iterations internes a un pas de temps
     pour resoudre une non linearite (defaut 1)
     
     
     Directive OMEGA
     omega (flottant) : facteur de relaxation (0 < omega < 1) pour
     resoudre une non linearite (defaut 1.)
     
     
     Directive IMPR
     impr (entier) : niveau global d'impression ecran (0 par defaut)
     
     
     Directive OPTI
     Elle sert a preciser les options de tous les operateurs places
     dans les directives OPER situees apres
     
     LISTE DES OPTIONS
     -------------+------+---------------------------------------------
     Formulations | EFM1 | Elements finis sous integre + correction 
                  |      | (a la Gresho) disponible uniquement dans
                  |      | l'algorithme semi explicite
                  | EF   | Elements finis Galerkin ou Petrov-Galerkin
                  | VF   | Volumes finis
     -------------+------+--+------------------------------------------
     Decentrement | CENTREE | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
                  | SUPGDC  | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
                  | SUPG    | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
                  | SUPGH   | uniquement EF/EFM1 IMPL/EXPL/SEMI 2D/3D  
                  | CNG     | uniquement EF      SEMI           2D/3D  
                  | PSI     | uniquement operateur TSCA EFM1 EXPL 2D   
                  | JOHNSON | uniquement operateur TSCA EFM1 EXPL 2D   
                  | UPWIND  | uniquement VF EXPL 2D                    
                  | GODUNOV | uniquement VF EXPL 2D                    
                  | VANLEER | uniquement VF EXPL 2D                    
                  | VLH     | uniquement VF EXPL 2D                    
                  | HUSVL   | uniquement VF EXPL 2D                    
                  | HUSVLH  | uniquement VF EXPL 2D                    
                  | AUSM    | uniquement VF EXPL 2D                    
                  |         |
                  | CMD     | Coef. multiplicateur du decentrement     
                  |         | uniquement pour SUPG,SUPGDC,SUPGH en EF  
                  |         | Par defaut, la valeur est 0.2             
     -------------+---------+----+-------------------------------------
     Formulation  | IMPL         | implicite
     temporelle   | EXPL         | explicite
                  | SEMI beta    | semi implicite  (0. < beta < 1.)
     (ne concerne | SEMI 0.5     | schema de Crank-Nicolson
      que DFDT)   | SEMI 0.5 CNG | Crank-Nicolson generalise (Donea)
                  | BDF2         | schema arriere en temps a 3 points
                  |              | ordre 2 (inconditionellement stable)
     -------------+---------+----+-------------------------------------
     Formulation  | CONS    | formulation conservative
     des termes   | NOCONS  | formulation non conservative
     de transport | NODIV   | le terme de stabilisation 1/2 T Div U est
                  |         | omis (non conservatif NOCONS seulement)
     (ne concerne |         | 
      que KONV NS |         |
      NSKE TSCA)  |         |  
     -------------+---------+------------------------------------------
     Formul. des  | MUVARI  | formulation en Laplacien Vecteur
     contraintes  | FTAU    | formulation en contrainte visqueuse
     visqueuses   | MUCONS  | les gradients de Viscosite sont negliges
                  |         | sur l'element (defaut)
     -------------+---------+-+----------------------------------------
     Support des  | INCOP spg | spg est a choisir dans la liste :
     inconnues    | INCOD spg |    SOMMET   FACE     CENTRE
     primales ou  |           |    CENTREP1 CENTREP0 MSOMMET
     duales       |           |
     -------------+-----------+----------------------------------------    
     Type Matrice | MMPLEINE  | matrice masse consistante
     masse        | MMDIAGO   | matrice masse diagonale
                  | MMPG      | matrice masse Petrov-Galerkin
     -------------+-----------+----------------------------------------         
     Modele de turbulence particulier RNG K-epsilon
                  | RNG       | uniquement pour NSKE EFM1 EXPLICITE
     -------------+-----------+----------------------------------------    
     Formulation ALE pour l'operateur NS EFM1 EXPLICITE
                  | ALE       |
     -------------+-----------+----------------------------------------  
     Formulation  | EULER     | mono-espece
     IDEUL (VF    | EULERMS   | multi-especes
     uniquement)  | EULERMST  | multi-especes "thermally perfect"
     -------------+-----------+----------------------------------------  

     
     Directives ZONE et OPER
     
     nomz : Objet MMODEL (type 'NAVIER_STOKES') ou table DOMAINE 
            sur lequel va porter l'operateur
            
     nomo : Objet de type MOT donnant le nom de l'operateur de
            discretisation (ou de la PROCEDURe) a executer.
            A choisir dans la liste (nono exhaustive) ci-dessous :
            FIMP FPU FROT LAPN TSCA NS NSKE ECHI DFDT KONV MDIA ...
     
     arg1 arg2 ... : arguments de l'operateur (voir la notice de
                     l'operateur concerne)
            Les arguments lus sont places dans la table associee a
            l'operateur aux indices 'ARG1', 'ARG2', etc...
            
     nom1 nom2 ... : noms des indices dans la table des inconnues ou
                     se trouveront les inconnues sur lesquelles
                     l'operateur s'appuiera
            Cette table est a creer independemment et a placer dans la
            a l'indice 'INCO' de la table RV creee par EQEX
            Exemple :
     
            RV.'INCO'=TABLE 'INCO' ;
            RV.'INCO'.'UN'=KCHT $MA 'VECT' 'SOMMET' (0. 0.) (U1 ET U2) ;
            RV.'INCO'.'TN'=KCHT $MA 'SCAL' 'SOMMET' 1. T2 ;
     
     
     Directive CLIM
     
     Cette directive permet de preciser ou de surcharger les conditions
     limites de type valeur imposee (Dirichlet) qui seront appliquees a
     chacune des inconnues.
     
     inc1 inc2 ... : MOT designant une inconnue qui doit deja figurer 
                     dans une des listes nom1 nom2 ... et donc dans la
                     table 'INCO'
     
     comp1 comp2 ... : MOT precisant sur quelle composante appliquer
                       la condition limite, a choisir parmi :

                       UIMP=inconnue vectorielle, composante suivant Ox
                       VIMP=inconnue vectorielle, composante suivant Oy
                       WIMP=inconnue vectorielle, composante suivant Oz
                       TIMP=inconnue scalaire

     mail1 mail2 ... : MAILLAGE d'application de la condition à la
                       limite

     val1 val2 ... : valeurs attribuees, de type FLOTTANT ou CHPOINT
     
     
                       
     Commentaires :
     ______________
       
     a) Si une table RV est specifiee derriere EQEX, elle sera completee
        ou modifiee par les instuctions suivantes (ceci permet de 
        contourner la limitation GIBIANE sur la longueur d'une
        instruction).
     
        
     b) Pour chaque operateur (directive OPER) est creee une TABLE dont
        le nom est celui de l'operateur prefixe par le numero d'ordre de
        l'operateur. Cette table contient le nom de l'operateur, l'objet
        MAILLAGE sur lequel il porte, les arguments qu'on lui associe
        (indices 'ARG1', 'ARG2', etc...) et la liste des noms des 
        inconnues sur lequel il porte.
        
        C'est cette TABLE qui est passee en argument a l'operateur ou a
        la procedure lors de son appel par EXEC. La TABLE RV y est
        situee a l'indice 'EQEX'.
     
        
     c) Un certain nombre de parametres generaux sont initialises
        par EQEX :
        
           ITMA=1
           FIDT=20  frequence d'impression des pas de temps
           ALFA=1.  coefficient de tolerance sur le pas de temps 
                    (usuellement on peut prendre de 0.5 a 0.8)
     
                    
     d) L'indice 'LISTOPER' de la table RV contient la liste des
        operateurs appeles, dans l'ordre ou ils sont appeles.
     
        
     e) POUR CREER DES HISTORIQUES :
     
        + EVOLUTION temporelle en un point d'une grandeur de RV.'INCO'
          
          Il faut rajouter dans RV une entree RV.'HIST' contenant une
          TABLE construite par l'operateur KHIS (voir la notice de cet
          operateur). La frequence de sauvegarde est definie grace a
          la directive NISTO.
          
        + Stockage des objets CHPOINT contenus dans RV.'INCO' pour
          differents pas de temps
          
          If faut creer une entree RV.'INCO'.'HIST' de type TABLE,
          contenant pour chaque grandeur a sauvegarder un objet LISTCHPO
          vide (operateurs SUIT ou VIDE) dont le nom est le meme que
          celui qui a ete defini dans la table 'INCO'.
          
          Il est aussi possible de sauvegarder le temps en creant un
          LISTREEL vide (operateurs PROG ou VIDE) a l'indice 'TPS' de
          RV.'INCO'.'HIST'
          
          Le premier pas de sauvegarde est indique a l'indice 'IDEB' de
          RV.'INCO'.'HIST' ; le dernier pas de temps est indique a
          l'indice 'IFIN' ; enfin, la frequence de sauvegarde est donnee
          par l'indice 'IPAS'.
     
          
     f) Une entree RV.'METHINV' (type TABLE) est automatiquement creee
        pour definir la methode de resolution de systeme qui sera
        utilisee. Par defaut, une resolution directe (robuste mais
        couteuse en memoire) de type Crout est utilisee. Il est possible
        de specifier une methode iterative de type gradient conjugue, a
        condition de bien SAVOIR ce que l'on fait.
        
        La syntaxe des entrees de la table RV.'METHINV' est explicitee
        dans la notice de l'operateur KRES.
        
        En sortie, RV.'METHINV'.'CONVINV' contient l'historique (type 
        LISTREEL) de la norme du residu en fonction du nombre
        d'iterations.  
        
        
     g) A tout instant, le CHPOINT contenant les conditions limites
        de type Dirichlet est stocke a l'indice RV.'CLIM'
     

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