* fichier : slotevol.dgibi
* Jeu de données GIBIANE:
* Description :
* -------------
* Ce jeu de données permet la discrétisation éléments finis d'un
* écoulement dans une hypothèse de bas Mach. Il s'agit ici de comparer
* les résultats obtenus avec CASTEM et ceux issus de l'article
* Chenoweth et Paolucci (1986).
*
* Auteur : Franck PIGEONNEAU.
* --------
*
* Date : 22/06/99
* ------
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><> DEBUT DU JEUX DE DONNEES <><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*=======================================================================
* DEFINITION DE L'ESPACE PHYSIQUE:
*=======================================================================
'OPTION' 'DIME' 2 'ELEM' 'QUA8';
'OPTION' ECHO 0;
COMPLET = FAUX;
'SI' (COMPLET);
* Constantes du maillage :
* ------------------------
nx = 40;
ny = 40;
* Nombre d'itérations :
nbit = 100;
* Nombre d'itérations dans la boucle de température :
itmax = 5;
'SINON';
* Constantes du maillage :
* ------------------------
nx = 7;
ny = 7;
* Nombre d'itérations :
nbit = 1;
* Nombre d'itérations dans la boucle de température :
itmax = 1;
'FINSI';
*=======================================================================
* DEFINITION DE 'TYPE' DE DISCRETISATION :
*=======================================================================
DISVIT = 'QUAF';
DISPRE = 'CENTREP1';
*=======================================================================
* Définition des constantes du problème
*=======================================================================
* Eccart de température adimensionné :
eps = 0.01;
* Precision spatiale pour les 'ELIMINER' :
epsi = 1.D-7;
* Rapport d'aspect :
A = 1.;
* Nombre de Prandtl :
pr = 0.71;
* Nombre de Rayleigh :
ra = 1.E+6;
* Inverse du nombre de Froude :
invfr = (ra*pr)/(2.*eps);
* Coefficients des lois de Sutherland pour la conductibilité thermique
* et la viscosité dynamique :
sk = 0.648;
skp1 = 1.+sk;
smu = 0.368;
smup1 = 1.+smu;
* Rapport des chaleurs spécifiques :
gamma = 1.4;
* Résilience du fluide :
reli = (gamma-1.)/gamma;
* Pas de temps :
dt = 1.D-3;
* Valeur de la précision sur la pression et la température :
ecarpre = 1.D-4;
* Valeur de la précision sur la vitesse, la pression et la température :
ecarmax = 1.D-6;
*=======================================================================
* MAILLAGE
*=======================================================================
* Construction des points :
* -------------------------
p1 = 0. 0.;
p2 = 1. 0.;
p3 = 1. (0.5*A);
p4 = 1. A;
p5 = 0. A;
p6 = 0. (0.5*A);
p7 = (0.5*A) 0.;
p8 = (0.5*A) 1.;
p9 = (0.5*A) (0.5*A);
* Densités d'éléments :
* ---------------------
d1 = 0.8;
d2 = 0.83;
* Construction des lignes :
* -------------------------
p1p7 = p1 d (-1*nx) dini d1 dfin d2 p7;
p7p2 = p7 d (-1*nx) dini d2 dfin d1 p2;
p1p2 = p1p7 et p7p2;
p2p3 = p2 d (-1*ny) dini d1 dfin d2 p3;
p3p4 = p3 d (-1*ny) dini d2 dfin d1 p4;
p4p8 = p4 d (-1*nx) dini d1 dfin d2 p8;
p8p5 = p8 d (-1*nx) dini d2 dfin d1 p5;
p4p5 = p4p8 et p8p5;
p5p6 = p5 d (-1*ny) dini d1 dfin d2 p6;
p6p1 = p6 d (-1*ny) dini d2 dfin d1 p1;
p3p9 = p3 d (-1*nx) dini d1 dfin d2 p9;
p9p6 = p9 d (-1*nx) dini d2 dfin d1 p6;
p3p6 = p3p9 et p9p6;
p6p3 = 'INVERSE' p3p6;
* Construction des contours servant à l'établissement des conditions
* ------------------------------------------------------------------
* aux limites :
* -------------
lgau = 'INVERSE' (p5p6 et p6p1);
ldro = 'INVERSE' (p2p3 et p3p4);
lbas = p1p2;
lhau = p4p5;
* Construction des surfaces :
* ---------------------------
s1 = 'DALLER' p1p2 p2p3 p3p6 p6p1;
s2 = 'DALLER' p6p3 p3p4 p4p5 p5p6;
'ELIMINER' epsi s1 s2;
domtot = s1 et s2;
* Détermination de la surface extérieure :
* ----------------------------------------
surtot = 'CONTOUR' domtot;
surtot = 'ENVELOPPE' surtot;
*=======================================================================
* Création du modèle
*=======================================================================
* Transformations des éléments du maillage en QUAF :
* --------------------------------------------------
£domtot = 'CHANGER' domtot 'QUAF';
£gau = 'CHANGER' lgau 'QUAF';
£dro = 'CHANGER' ldro 'QUAF';
£bas = 'CHANGER' lbas 'QUAF';
£hau = 'CHANGER' lhau 'QUAF';
£surtot = 'CHANGER' surtot 'QUAF';
* Récupération du nombre de noeuds :
* ----------------------------------
ntot = 'NBNO' £domtot;
* Elimination des eventuels points en doubles :
* ---------------------------------------------
'ELIMINER' epsi (£domtot et £gau et £dro et £bas et £hau);
* Création des objets MMODEL :
* ----------------------------
* Modèles Navier Stokes :
* -----------------------
$domtot = 'MODELE' £domtot 'NAVIER_STOKES' DISVIT;
$hau = 'MODELE' £hau 'NAVIER_STOKES' DISVIT;
$bas = 'MODELE' £bas 'NAVIER_STOKES' DISVIT;
$gau = 'MODELE' £gau 'NAVIER_STOKES' DISVIT;
$dro = 'MODELE' £dro 'NAVIER_STOKES' DISVIT;
$surtot = 'MODELE' £surtot 'NAVIER_STOKES' DISVIT;
mdomtot = 'DOMA' £domtot;
* Modèles Thermique :
* ------------------
modelt = 'MODELE' domtot 'THERMIQUE';
* ====================
* Calcul des volumes :
* ====================
vol = 'DOMA' $domtot 'VOLUME';
volt = 'SOMT' vol;
vol = 'KCHT' $domtot 'SCAL' 'CENTRE' vol;
*=======================================================================
* CREATION DE LA TABLE DE RESOLUTION
*
* A l'instant tn-1, on connait TNM1 (la température), PTNM1 (la pression
* thermodynamique), MUNM1 (la viscosité dynamique), KNM1 (la conductivité
* thermique), RHONM1 (la masse volumique). L'algorithme de résolution
* est le suivant:
*
* 1- Résolution de l'équation d'énergie permettant le calcul de TN;
* 2- Détermination de MUN et KN à partir des lois de Sutherland;
* 3- Résolution de l'équation portant sur PTN;
* 4- Détermination de RHON à l'aide de l'équation d'état;
* 5- Calcul de RHOM = 0.5(RHONM1+RHON) et de ZN = Ln(RHOM);
* 6- Résolution des équation de Navier-Stokes avec masse volumique
* variable.
*
*=======================================================================
* Discrétisation des équations Navier-Stokes à masse volumique variable:
* ----------------------------------------------------------------------
* Discrétisation de la dérivée temporelle :
RVU = 'EQEX' 'NITER' 1 'OMEGA' 1.0 'ITMA' 1
'OPTI' 'EF' 'CENTREE'
'ZONE' $domtot
'OPER' 'DFDT' 'RHOM' 'UN' 'DT'
'INCO' 'UN';
* Discrétisation du terme de convection :
RVU = 'EQEX' RVU
'OPTI' 'EF' 'CENTREE' 'IMPL'
'ZONE' $domtot
'OPER' 'KONV' 'RHOM' 'UN' 'MUN'
'INCO' 'UN';
* Discrétisation du terme de diffusion visqueuse :
RVU = 'EQEX' RVU
'OPTI' 'EF' 'CENTREE' 'IMPL'
'ZONE' $domtot
'OPER' 'LAPN' 'MUN'
'INCO' 'UN';
* Discrétisation du terme source de l'équation de QDM :
RVU = 'EQEX' RVU
'OPTI' 'EF' 'CENTREE'
'ZONE' $domtot
'OPER' 'TOIM' 'RHOG'
'INCO' 'UN';
* Discrétisation de la pression :
RVU = 'EQEX' RVU
'OPTI' 'EF' 'CENTREE' DISPRE
'ZONE' $domtot
'OPER' 'KBBT' (+1.)
'INCO' 'UN' 'PN';
* Ajout du terme source dans l'équation de continuité :
RVU = 'EQEX' RVU
'OPTI' 'EF' 'CENTREE' 'INCOD' DISPRE
'ZONE' $domtot
'OPER' 'FIMP' 'SN'
'INCO' 'PN';
* Conditions aux limites :
* ------------------------
RVU = 'EQEX' RVU
'CLIM' 'UN' 'UIMP' (£bas et £hau et £dro et £gau) 0.
'UN' 'VIMP' (£bas et £hau et £dro et £gau) 0.
;
bcp='ELEM' ('DOMA' $domtot DISPRE) POI1 (lect 1) ;
* Suppression des modes de pression constante
RVU = EQEX RVU
'CLIM'
'PN' 'TIMP' bcp 0.D0 ;
* Etablissement de la table des inconues et conditions initiales:
* ---------------------------------------------------------------
RVU.INCO = 'TABLE' INCO;
* Inconnues liées à la table RVU :
RVU.INCO.'UN' = 'KCHT' $domtot 'VECT' 'SOMMET' (0. 0.);
RVU.INCO.'PN' = 'KCHT' $domtot 'SCAL' DISPRE 0.;
* Variables associées à la discrétisation des équations de
* Navier-Stokes :
RVU.INCO.'RHON' = 'KCHT' $domtot 'SCAL' 'CENTRE' 1.;
RVU.INCO.'RHOM' = 'KCHT' $domtot 'SCAL' 'CENTRE' 1.;
RVU.INCO.'MUN' = 'KCHT' $domtot 'SCAL' 'CENTRE' pr;
RVU.INCO.'RHOG' = 'KCHT' $domtot 'VECT' 'CENTRE' (0. 0.);
* Variables complémentaires :
RVU.INCO.'UNM1' = 'KCHT' $domtot 'VECT' 'SOMMET' (0. 0.);
RVU.INCO.'UNM' = 'KCHT' $domtot 'VECT' 'SOMMET' (0. 0.);
RVU.INCO.'PTN' = 1.;
RVU.INCO.'TN' = 'KCHT' $domtot 'SCAL' 'SOMMET' 0.;
RVU.INCO.'KN' = 'KCHT' $domtot 'SCAL' 'CENTRE' 1.;
RVU.INCO.'PRES' = 'PROG' 1.;
RVU.INCO.'TPS' = 'PROG' 0.;
RVU.INCO.'STN' = 0.;
* Paramètres de la méthode d'inversion :
RVU.'METHINV'.TYPINV = 1;
RVU.'METHINV'.NITMAX = 600;
RVU.'METHINV'.RESID = 1.E-7;
* Pas de temps :
* --------------
RVU.INCO.'DT'= dt;
* Numero du pas de temps :
nupadt = 0;
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><>< PROCEDURE BASMACH <><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
'DEBPROC' BASMACH;
* ====================================================================
* DEBUT DE LA PROCEDURE BASMACH
* ====================================================================
'ARGUMENT' nbit*'ENTIER';
tps = 0.;
'REPETER' BCLTPS nbit;
nupadt= nupadt + 1;
mess 'Nombre de pas de temps' nupadt;
* Initialisation des champs nécessaire à la résolution de l'équation
* sur la température :
PTNM1 = RVU.INCO.'PTN';
PT = PTNM1;
TNM1 = RVU.INCO.'TN';
TT = TNM1;
RHON = RVU.INCO.'RHON';
UM = RVU.INCO.'UNM';
KN = RVU.INCO.'KN';
STN = RVU.INCO.'STN';
'REPETER' BCLTEMP itmax;
* =================================================================
* ETAPE 1 : DETERMINATION DE TN
* =================================================================
TN = CAL_TEMP TNM1 RHON UM KN STN;
* Détermination de la convergence sur la température :
* ----------------------------------------------------
errt = 'KOPS' TN '-' TT;
errt = errt*errt;
errt = 'CHANGER' 'CHAM' errt modelt 'MASSE';
errtl2 = 'INTG' modelt errt;
errtl2 = errtl2**0.5;
TT = TN;
* =================================================================
* ETAPE 2 : DETERMINATION DE PTN
* =================================================================
* Détermination de l'inverse de la température :
* ----------------------------------------------
TNC = 'NOEL' $domtot TN;
TNC = 'KOPS' TNC '+' 1.;
invtn = 'KOPS' 1. '/' TNC;
moyinvt = 'SOMT' (vol*invtn);
moyinvt = moyinvt/volt;
PTN = 1./moyinvt;
* Détermination de la convergence sur la pression :
* -------------------------------------------------
errpre = 'ABS' (PTN-PT);
PT = PTN;
* ==============================================================
* ETAPE 3 : CALCUL DE KN
* ==============================================================
* KN = 'KOPS' ('KOPS' skp1 '*' ('KOPS' TNC '**' 1.5)) '/' ('KOPS'
* TNC '+' sk);
* KN = 'KCHT' $domtot 'SCAL' 'CENTRE' KN;
KN = 'KCHT' $domtot 'SCAL' 'CENTRE' 1.;
* ==============================================================
* ETAPE 4 : DETERMINATIONS DE dpdt ET STN
* ==============================================================
* Calcul de dpdt :
* ----------------
* Calcul du débit volumique :
* ---------------------------
usurf = 'REDU' UM £surtot;
phi = 'DBIT' usurf $surtot;
phi = phi/volt;
* Calcul du flux de chaleur :
* ---------------------------
TM1 = 'NOMC' 'T' TN;
gradt = 'GRAD' modelt TM1;
* NOTA BENE : Attention ici, gradt est un champ par élément.
* Transformation du champ par élément en champ point :
gradt = 'CHANGER' 'CHPO' modelt gradt;
* Multiplication par KN :
* -----------------------
* Extraction des composantes :
gradtx = 'EXCO' 'T,X' gradt 'GX' 'NATURE' 'DISCRET';
gradty = 'EXCO' 'T,Y' gradt 'GY' 'NATURE' 'DISCRET';
gradtx = 'KCHT' $domtot 'SCAL' 'SOMMET' 'COMP' 'GX' gradtx;
gradty = 'KCHT' $domtot 'SCAL' 'SOMMET' 'COMP' 'GY' gradty;
* Multiplication de chaque composante par KN :
* --------------------------------------------
KN1 = 'ELNO' $domtot KN;
KN1 = 'KCHT' $domtot 'SCAL' 'SOMMET' KN1;
kngratx = 'KOPS' KN1 '*' gradtx;
kngraty = 'KOPS' KN1 '*' gradty;
kngratx = 'NOMC' 'GX' kngratx 'NATURE' 'DISCRET';
kngraty = 'NOMC' 'GY' kngraty 'NATURE' 'DISCRET';
kngratx = 'KCHT' $domtot 'SCAL' 'SOMMET' 'COMP' 'GX' kngratx;
kngraty = 'KCHT' $domtot 'SCAL' 'SOMMET' 'COMP' 'GY' kngraty;
* Calcul de la div(KN GRAD T) :
* -----------------------------
* 1. Composante suivant x :
* -------------------------
UX = 'NOMC' 'T' kngratx 'NATURE' 'DISCRET';
gradUX = 'GRAD' modelt UX;
* Extraction de la composante suivant x du gradient :
UX,X = 'EXCO' 'T,X' gradUX 'div';
* 2. Composante suivant y :
* -------------------------
UY = 'NOMC' 'T' kngraty 'NATURE' 'DISCRET';
gradUY = 'GRAD' modelt UY;
* Extraction de la composante suivant y du gradient :
UY,Y = 'EXCO' 'T,Y' gradUY 'div';
* 3. Détermination de la divergence par sommation :
* -------------------------------------------------
div = UX,X+UY,Y;
* Calcul de dpdt/gamma par intégration de div :
* ---------------------------------------------
dpdtgm1 = 'INTG' modelt div;
dpdtgm1 = dpdtgm1/volt;
dpdt = (dpdtgm1*gamma) + ((gamma*PTN)*phi);
* Détermination du terme source de l'équation de la chaleur :
* -----------------------------------------------------------
STN = (reli*dpdt);
* ==============================================================
* ETAPE 5 : DETERMINATION DE RHON
* ==============================================================
RHON = 'KOPS' PTN '/' TNC;
RHON = 'KCHT' $domtot 'SCAL' 'CENTRE' RHON;
* Test de la convegence dans la boucle de température :
erregl = 'PROG' errtl2 errpre;
errmax = 'MAXIMUM' erregl;
mess 'L erreur est de ' errmax;
'SI' (errmax < ecarpre);
'QUITTER' BCLTEMP;
'FINSI';
'FIN' BCLTEMP;
* Détermination de la convergence sur la température :
* ----------------------------------------------------
errt = 'KOPS' TN '-' TNM1;
errt = errt*errt;
errt = 'CHANGER' 'CHAM' errt modelt 'MASSE';
errtl2 = 'INTG' modelt errt;
errtl2 = errtl2**0.5;
* Détermination de la convergence sur la pression :
* -------------------------------------------------
errpre = 'ABS' (PTN-PTNM1);
* Sauvegarde pour l'itération temporelle suivante :
RVU.INCO.'TN' = TN;
RVU.INCO.'KN' = KN;
RVU.INCO.'PTN' = PTN;
RVU.INCO.'STN' = STN;
mess 'La pression est égale à ' PTN;
PRES = 'PROG' PTN;
RVU.INCO.'PRES'= RVU.INCO.'PRES' et PRES;
* ====================================================================
* ETAPE 6 : DETERMINATIONS DE RHOM et RHOG
* ====================================================================
RHONM1 = RVU.INCO.'RHON';
RVU.INCO.'RHON' = RHON;
* Calcul de la masse volumique moyenne entre les instants tn et tn-1 :
RHOM = 0.5*(RHON+RHONM1);
RVU.INCO.'RHOM' = 'KCHT' $domtot 'SCAL' 'CENTRE' RHOM;
* Détermination du terme source de l'équation de QDM :
rhog = 'KOPS' invfr '*' ('KOPS' RHOM '-' 1.);
rgy = 'NOMC' 'GY' rhog 'NATURE' 'DISCRET';
RHGX = 'KCHT' $domtot 'SCAL' 'CENTRE' 'COMP' 'GX' 0.;
RHGY = 'KCHT' $domtot 'SCAL' 'CENTRE' 'COMP' 'GY' rgy;
RVU.INCO.'RHOG' = 'KCHT' $domtot 'VECT' 'CENTRE' 'COMP' 'GX' 'GY'
(RHGX ET RHGY);
* ====================================================================
* ETAPE 7 : DETERMINATION DU TERME SOURCE SN DE
* L'EQUATION DE CONTINUITE
* ====================================================================
* Calcul de la dérivée logarithmique de PTN divivée par gamma :
* -------------------------------------------------------------
dlnpdt = dpdtgm1/PTN;
* Calcul de la -div(KN GRAD T)/PTN :
* ----------------------------------
div = div/(-1.*PTN);
* Création du CHAML dlnpdt :
dlnpdt = 'KCHT' $domtot 'SCAL' 'SOMMET' 'COMP' 'div' dlnpdt;
dlnpdt = 'CHANGER' 'CHAM' dlnpdt modelt 'MASSE';
* Calcul de la dlnpdt - div(KN GRAD T)/PTN :
* ------------------------------------------
div = div + dlnpdt;
* Changement de div de CHAML en 'CHPO' :
div = 'CHANGER' 'CHPO' modelt div;
* Application de div sur le support du modèle Navier Stokes :
RVU.INCO.'SN' = 'KCHT' $domtot 'SCAL' 'SOMMET' 'COMP' 'div' div;
* ====================================================================
* ETAPE 8 : CALCUL DE MUN
* ====================================================================
* MUN = 'KOPS' ('KOPS' (pr*smup1) '*' ('KOPS' TNC '**' 1.5)) '/'
* ('KOPS' TNC '+' smu);
* RVU.INCO.'MUN' = 'KCHT' $domtot 'SCAL' 'CENTRE' MUN;
RVU.INCO.'MUN' = 'KCHT' $domtot 'SCAL' 'CENTRE' pr;
* ====================================================================
* ETAPE 9 : RESOLUTION DES EQUATIONS DE NAVIER-STOKES
* ====================================================================
EXEC RVU;
* ====================================================================
* ETAPE 10 : CALCUL DE UNM ET SAUVEGARDE DE UNM1
* ====================================================================
UN = RVU.INCO.'UN';
UNM1 = RVU.INCO.'UNM1';
UNM = 0.5*((3.*UN)-UNM1);
* Calcul de la convergence sur la vitesse :
DUN = 'KOPS' UN '-' UNM1;
DUNS = 'KOPS' DUN 'PSCA' DUN;
DUNS = 'CHANGER' 'CHAM' DUNS modelt 'MASSE';
errvl2 = 'INTG' modelt DUNS;
errvl2 = errvl2**0.5;
* Sauvegarde des champs par points dans le liste d'inconnues de RVU :
RVU.INCO.'UNM' = 'KCHT' $domtot 'VECT' 'SOMMET' UNM;
RVU.INCO.'UNM1' = 'KCHT' $domtot 'VECT' 'SOMMET' UN;
* Incrémentation du pas de temps :
tps = tps + RVU.INCO.'DT' ;
tt = 'PROG' tps;
RVU.INCO.'TPS' = RVU.INCO.'TPS' et tt;
* Création de la liste de réels regroupant l'ensemble des erreurs
* ---------------------------------------------------------------
* sur la température et sur la pression :
* ---------------------------------------
erregl = 'PROG' errtl2 errpre errvl2;
errmax = 'MAXIMUM' erregl;
'SI' (errmax < ecarmax);
mess 'L état stationnaire est atteint.';
'QUITTER' BCLTPS;
'FINSI';
'FIN' BCLTPS;
* ====================================================================
* FIN DE LA PROCEDURE BASMACH
* ====================================================================
'FINPROC';
'DEBPROC' CAL_TEMP;
* ====================================================================
* DEBUT DE LA PROCEDURE TEMPERATURE
* ====================================================================
'ARGUMENT' TNM1*'CHPOINT' RHON*'CHPOINT' UM*'CHPOINT' KN*'CHPOINT'
STN*'FLOTTANT';
* =============================================
* Discrétisation de l'équation sur la chaleur :
* =============================================
* Discrétisation de la dérivée temporelle :
* -----------------------------------------
RVT = 'EQEX' 'NITER' 1 'OMEGA' 1.0 'ITMA' 1
'OPTI' 'EF' 'CENTREE'
'ZONE' $domtot
'OPER' 'DFDT' 'RHON' 'TNM1' 'DT'
'INCO' 'TN';
* Discrétisation du terme de convection :
* ---------------------------------------
RVT = 'EQEX' RVT
'OPTI' 'EF' 'CENTREE' 'IMPL'
'ZONE' $domtot
'OPER' 'KONV' 'RHON' 'UM' 'KN'
'INCO' 'TN';
* Discrétisation du terme de diffusion :
* --------------------------------------
RVT = 'EQEX' RVT
'OPTI' 'EF' 'CENTREE' 'IMPL'
'ZONE' $domtot
'OPER' 'LAPN' 'KN'
'INCO' 'TN';
* Discrétisation du terme source :
* --------------------------------
RVT = 'EQEX' RVT
'OPTI' 'EF'
'ZONE' $domtot
'OPER' 'FIMP' 'STN'
'INCO' 'TN';
* Discrétisation de la condition au limite de type Neumann sur les
* ----------------------------------------------------------------
* parois supérieure et inférieure :
* ---------------------------------
RVT = 'EQEX' RVT
'OPTI' 'EF'
'ZONE' ($bas et $hau)
'OPER' 'FIMP' 0.
'INCO' 'TN';
* Conditions aux limites sur l'équation de la chaleur :
* -----------------------------------------------------
RVT = 'EQEX' RVT
'CLIM' 'TN' 'TIMP' £gau eps
'TN' 'TIMP' £dro (-1.*eps);
* Etablissement de la table inco relative à RVT :
* -----------------------------------------------
RVT.INCO = 'TABLE' INCO;
RVT.INCO.'TN' = 'KCHT' $domtot 'SCAL' 'SOMMET' 0.;
RVT.INCO.'TNM1' = TNM1;
RVT.INCO.'KN' = KN;
RVT.INCO.'STN' = STN;
RVT.INCO.'RHON' = RHON;
RVT.INCO.'UM' = UM;
RVT.INCO.'DT' = dt;
*=======================================================================
* RESOLUTION DE L'EQUATION SUR LA TEMPERATURE
*=======================================================================
EXEC RVT;
TN = RVT.INCO.'TN';
*=======================================================================
* FIN DE LA PROCEDURE TEMPERATURE
*=======================================================================
'FINPROC' TN;
*=======================================================================
* EXECUTION DE LA RESOLUTION
*=======================================================================
BASMACH nbit;
* 'FIN' de jeux de données:
fin;
© Cast3M 2003 - All rights reserved.
Disclaimer