$$$$ 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