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