c@a c@versb C----------------------------------------------------------------------- C CVERS Code_Saturne version 1.3 C ------------------------ C C This file is part of the Code_Saturne Kernel, element of the C Code_Saturne CFD tool. C C Copyright (C) 1998-2007 EDF S.A., France C C contact: saturne-support@edf.fr C C The Code_Saturne Kernel is free software; you can redistribute it C and/or modify it under the terms of the GNU General Public License C as published by the Free Software Foundation; either version 2 of C the License, or (at your option) any later version. C C The Code_Saturne Kernel is distributed in the hope that it will be C useful, but WITHOUT ANY WARRANTY; without even the implied warranty C of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the C GNU General Public License for more details. C C You should have received a copy of the GNU General Public License C along with the Code_Saturne Kernel; if not, write to the C Free Software Foundation, Inc., C 51 Franklin St, Fifth Floor, C Boston, MA 02110-1301 USA C C----------------------------------------------------------------------- c@verse C optcal.h C*********************************************************************** C C DEFINITION DES EQUATIONS C ISTAT C = 1 PRISE EN COMPTE DU TERME INSTATIONNAIRE C = 0 PRISE EN COMPTE DU TERME INSTATIONNAIRE C ICONV C = 1 PRISE EN COMPTE DE LA CONVECTION C = 0 NON PRISE EN COMPTE DE LA CONVECTION C IDIFF C = 1 PRISE EN COMPTE DE LA DIFFUSION (MOLECULAIRE ET TURBULENTE) C = 0 NON PRISE EN COMPTE DE LA DIFFUSION (MOLECULAIRE ET TURBULENTE) C IDIFFT : SI IDIFF = 1 C = 1 PRISE EN COMPTE DE LA DIFFUSION TURBULENTE C = 0 NON PRISE EN COMPTE DE LA DIFFUSION TURBULENTE C INTEGER ISTAT (NVARMX),ICONV (NVARMX),IDIFF (NVARMX), & IDIFFT(NVARMX) COMMON / IEQUAT / ISTAT ,ICONV ,IDIFF , & IDIFFT C C C PROPRIETES PHYSIQUES RHO ET VISCL CONSTANTES OU VARIABLES C =1 VARIABLE, =0 CONSTANT C SERT LORS DES LECTURES DE FICHIER SUITE POUR EVITER D'ECRASER C LA VALEUR FOURNIE PAR LA VALEUR DE L'ANCIEN CALCUL. INTEGER IROVAR(NPHSMX),IVIVAR(NPHSMX) COMMON / IPHVAR / IROVAR ,IVIVAR C C SCHEMA EN TEMPS C C ISCHTP : INDICATEUR DE SCHEMA EN TEMPS C = 2 : ORDRE 2 C = 1 : STANDARD C ISTMPF : INDICATEUR DE SCHEMA FLUX DE MASSE C = 2 THETA SCHEMA avec THETA > 0 (= 0.5 : ordre 2) C = 0 THETA SCHEMA avec THETA = 0 (explicite) C = 1 SCHEMA STANDARD V1.0 C NTERUP : Nombre d'iteration sur navier-stokes pour couplage vitesse/ C pression C ISNO2T : INDICATEUR D'EXTRAPOLATION DE TERMES SOURCES NAVIER STOKES C POUR LE SCHEMA EN TEMPS C ISTO2T : INDICATEUR D'EXTRAPOLATION DE TERMES SOURCES DES GRANDEURS C TURBULENTES POUR LE SCHEMA EN TEMPS C ISSO2T : INDICATEUR D'EXTRAPOLATION DE TERMES SOURCES DES SCALAIRES C POUR LE THETA SCHEMA EN TEMPS C IROEXT : INDICATEUR D'EXTRAPOLATION DE LA MASSE VOLUMIQUE C POUR LE SCHEMA EN TEMPS C IVIEXT : INDICATEUR D'EXTRAPOLATION DE LA VISCOSITE TOTALE C POUR LE SCHEMA EN TEMPS C IVSEXT : INDICATEUR D'EXTRAPOLATION DE LA DIFFUSIVITE SCALAIRE C C INITVI : =1 SI VISCOSITE TOTALE RELUE DANS UN SUITE C C INITRO : =1 SI MASSE VOLUMIQUE RELUE DANS UN SUITE C C ICPEXT : INDICATEUR D'EXTRAPOLATION DE LA MASSE VOLUMIQUE C POUR LE SCHEMA EN TEMPS C C INITCP : =1 SI CHALEUR SPECIFIQUE RELUE DANS UN SUITE C INITVS : =1 SI DIFFUSIVITE SCALAIRE RELUE DANS UN SUITE C C THETAV : PONDERATION ENTRE LES PAS DE TEMPS N ET N+1 POUR LES C VARIABLE PRINCIPALES C = 1 : SCHEMA EULER IMPLICITE C =1/2: SCHEMA CENTRE EN TEMPS C C THETSN : SCHEMA EN TEMPS POUR LES TERMES SOURCES DE NAVIER STOKES C = 0 : VISCOSITE SECONDAIRE EXPLICITE C =1/2: VISCOSITE SECONDAIRE EXTRAPOLEE EN N+1/2 C = 1 : VISCOSITE SECONDAIRE EXTRAPOLEE EN N+1 C THETST : SCHEMA EN TEMPS POUR LES TERMES SOURCES DES GRANDEURS TURBULENTES C = 0 : VISCOSITE SECONDAIRE EXPLICITE C =1/2: VISCOSITE SECONDAIRE EXTRAPOLEE EN N+1/2 C = 1 : VISCOSITE SECONDAIRE EXTRAPOLEE EN N+1 C THETSS : SCHEMA EN TEMPS POUR LES TERMES SOURCES DES SCALAIRES C = 0 : VISCOSITE SECONDAIRE EXPLICITE C =1/2: VISCOSITE SECONDAIRE EXTRAPOLEE EN N+1/2 C = 1 : VISCOSITE SECONDAIRE EXTRAPOLEE EN N+1 C THETFL : SCHEMA EN TEMPS POUR LE FLUX DE MASSE C = 0 : FLUX DE MASSE EXPLICITE C =1/2: FLUX DE MASSE EXTRAPOLE EN N+1/2 C = 1 : FLUX DE MASSE EXTRAPOLE EN N+1 C THETVI : SCHEMA EN TEMPS POUR LA VISCOSITE TOTALE C = 0 : VISCOSITE TOTALE EXPLICITE C =1/2: VISCOSITE TOTALE EXTRAPOLEE EN N+1/2 C = 1 : VISCOSITE TOTALE EXTRAPOLEE EN N+1 C THETRO : SCHEMA EN TEMPS POUR LA MASSE VOLUMIQUE C = 0 : MASSE VOLUMIQUE TOTALE EXPLICITE C =1/2: MASSE VOLUMIQUE TOTALE EXTRAPOLEE EN N+1/2 C = 1 : MASSE VOLUMIQUE EXTRAPOLEE EN N+1 C THETCP : SCHEMA EN TEMPS POUR LA MASSE VOLUMIQUE C = 0 : CHALEUR SPECIFIQUE TOTALE EXPLICITE C =1/2: CHALEUR SPECIFIQUE TOTALE EXTRAPOLEE EN N+1/2 C = 1 : CHALEUR SPECIFIQUE EXTRAPOLEE EN N+1 C EPSUP : TESTS DE CONVERGENCE DU SYSTEME VITESSE/PRESSION QUAND CE C DERNIER EST RESOLU PAR SOUS-ITERATIONS (POINT FIXE) C XNRMU : NORME DE U(k+1) - U(k) C XNRMU0 : NORME DE U(0) C INTEGER NTERUP, & ISCHTP(NPHSMX), ISTMPF(NPHSMX), & ISNO2T(NPHSMX), ISTO2T(NPHSMX), ISSO2T(NSCAMX), & IROEXT(NPHSMX), & IVIEXT(NPHSMX), ICPEXT(NPHSMX), IVSEXT(NSCAMX), & INITRO(NPHSMX), INITVI(NPHSMX), & INITCP(NPHSMX), INITVS(NSCAMX) COMMON / IEVTMP / NTERUP, & ISCHTP , ISTMPF , & ISNO2T , ISTO2T , ISSO2T , & IROEXT , & IVIEXT , ICPEXT , IVSEXT , & INITRO , INITVI , & INITCP , INITVS DOUBLE PRECISION THETAV(NVARMX), THETSN(NPHSMX), THETST(NPHSMX), & THETSS(NSCAMX), & THETFL(NPHSMX), THETRO(NPHSMX), THETVI(NPHSMX), & THETCP(NPHSMX), THETVS(NSCAMX), EPSUP (NPHSMX), & XNRMU0(NPHSMX), XNRMU (NPHSMX) COMMON / REVTMP / THETAV , THETSN , THETST , & THETSS , & THETFL , THETRO , THETVI , & THETCP , THETVS , EPSUP , & XNRMU0 , XNRMU C C SCHEMA CONVECTIF C C BLENCV : 100*(1-BLENCV) EST LE POURCENTAGE D'UPWIND C = 1 : PAS D'UPWIND EN DEHORS DU TEST DE PENTE C = 0 : UPWIND C ISCHCV : SCHEMA CONVECTIF CENTRE OU SECOND ORDER C = 1 : CENTRE C = 0 : SECOND ORDER C ISSTPC : INDICATEUR SANS OU AVEC TEST DE PENTE C = 1 : SANS TEST DE PENTE C = 0 : AVEC TEST DE PENTE C INTEGER ISCHCV(NVARMX), ISSTPC(NVARMX) COMMON / ICNVSC / ISCHCV , ISSTPC DOUBLE PRECISION BLENCV(NVARMX) COMMON / RCNVSC / BLENCV C C C RECONSTRUCTION DES GRADIENTS ET DES SECONDS MEMBRES C IMRGRA : METHODE DE RECONTRUCTION DES GRADIENTS C = 0 : RECONTRUCTION 97 C = 1 : MOINDRES CARRES 99 C = 2 : MOINDRES CARRES SUPPORT ETENDU COMPLET C = 3 : MOINDRES CARRES AVEC SELECTION DU SUPPORT ETENDU C = 4 : RECONSTRUCTION 97 AVEC INITIALISATION MOINDRES CARRES C ANOMAX : ANGLE DE NON ORTHOGONALITE DES FACES EN RADIAN AU DELA DUQUEL C ON RETIENT DANS LE SUPPORT ETENDU DES CELLULES VOISINES C DE LA FACE LES CELLULES DONT UN NOEUD EST SUR LA FACE C NSWRGR : NOMBRE DE SWEEPS DE RECONSTRUCTION DES GRADIENTS 97 C NSWRSM : NOMBRE DE SWEEPS DE RECONSTRUCTION DES SECONDS MEMBRES C EPSRGR : PRECISION POUR LA RECONSTRUCTION DES GRADIENTS 97 C IMLIGR : LIMITATION DES GRADIENTS C < 0 : PAS DE LIMITATION DES GRADIENTS C = 0 : PREMIER ORDRE C = 1 : SECOND ORDRE C CLIMGR : FACTEUR DE LIMITATION (>=1, =1 : FORTE LIMITATION) C IRCFLU : RECONSTRUCTION DES FLUX AUX FACES C = 0 : NON C = 1 : OUI C EXTRAG : EXTRAPOLATION DES GRADIENTS AU BORD (0 <= EXTRAG <= 1) C = 0 : NON C = 1 : OUI C INTEGER IMRGRA, NSWRGR(NVARMX), NSWRSM(NVARMX), & IMLIGR(NVARMX) , IRCFLU(NVARMX) COMMON / IRECGR / IMRGRA, NSWRGR , NSWRSM , & IMLIGR , IRCFLU C DOUBLE PRECISION ANOMAX , & EPSRGR(NVARMX), CLIMGR(NVARMX), EXTRAG(NVARMX) COMMON / RRECGR / ANOMAX , & EPSRGR , CLIMGR , EXTRAG C C C SOLVEURS ITERATIFS C NITMAX : NOMBRE D'ITERATIONS MAX C EPSILO : PRECISION RELATIVE CHERCHEE C IRESOL C =-1 : CALCULE AUTOMATIQUEMENT (0 SI ICONV=0, 1 SINON) C = 0 : GRADIENT CONJUGUE C = 1 : JACOBI C = 2 : BI-CGSTAB C et ON AJOUTE IPOL*1000 OU IPOL EST LE DEGRE DU POLYNOME DE C PRECONDITIONNEMENT DE NEUMANN C En pratique, il semble que ce preconditonnement ne soit pas efficace C on gagne 10% CPU sur un cas, on perd 3% sur un autre avec IPOL=1 C on perd avec IPOL=2 C Ces valeurs ont ete obtenues sur de petits cas. C IDIRCL : DECALAGE DE LA DIAGONALE DE LA MATRICE S'IL N'Y A PAS DE DIRICHLET C = 0 : NON C = 1 : OUI C Le code calcule automatiquement pour chaque variable NDIRCL, nombre de C CL de Dirichlet, et en deduit s'il doit decaler ou pas la diagonale C INTEGER NITMAX(NVARMX),IRESOL(NVARMX),IDIRCL(NVARMX), & NDIRCL(NVARMX) COMMON / INIVCV / NITMAX ,IRESOL ,IDIRCL , & NDIRCL C DOUBLE PRECISION EPSILO(NVARMX) COMMON / RNIVCV / EPSILO C C C MULTIGRILLE (VOIR AUSSI multdrd.h) C IMGR C = 0 PAS DE MULTIGRILLE C = 1 MULTIGRILLE ALGEBRIQUE C NCYMAX : NOMBRE MAX DE CYCLES C NITMGF : NOMBRE D'ITER SUR MAILLAGE FIN C INTEGER IMGR(NVARMX),NCYMAX(NVARMX),NITMGF(NVARMX) COMMON / IMULTG / IMGR ,NCYMAX ,NITMGF C C C C GESTION DU CALCUL C ISUITE : SUITE DE CALCUL C = 0 POUR SFS C = 1 POUR SUITE DE CALCUL C ISCOLD : correspondance nouveaux-anciens scalaires C IECAUX : ecriture du suite auxiliaire C ILEAUX : lecture du suite auxiliaire C ISUIT1 : suite du module thermique 1d en paroi C ISUIVO : suite de la methode des vortex C INTEGER ISUITE , ILEAUX, IECAUX, ISCOLD(NSCAMX), & ISUIT1 , ISUIVO COMMON / ISTART / ISUITE , ILEAUX, IECAUX, ISCOLD, ISUIT1, ISUIVO C C C GESTION DES PAS DE TEMPS C NTPABS : PAS DE TEMPS PRECEDENT ABSOLU C NTCABS : PAS DE TEMPS COURANT ABSOLU C NTMABS : PAS DE TEMPS MAX ABSOLU C TTPABS : TEMPS PRECEDENT ABSOLU C TTCABS : TEMPS COURANT ABSOLU C TTMABS : TEMPS MAX ABSOLU C INPDT0 : INDICATEUR "ZERO PAS DE TEMPS" C C NTMABS = numero absolu du dernier pas de temps desire C Si on a deja fait 10 pas de temps C et qu'on veut en faire 10 autres, C il faut affecter 10 + 10 = 20 a NTMABS C NTPABS = numero relu dans le fichier suite C NTCABS = incremente au debut du pas de temps C et donc initialise a NTPABS C INPDT0 = 1 pour ne faire aucun pas de temps (0 sinon) C Pour les calculs non suite : C on saute uniquement les resolutions (navier-stokes, C turbulence, scalaires...) C Pour les calculs suite : C on saute les resolutions (navier-stokes, C turbulence, scalaires...) et le calcul des proprietes C physiques, les conditions aux limites (les grandeurs C sont lues dans le fichier suite) C INTEGER NTPABS, NTCABS, NTMABS, INPDT0 COMMON / ITEMPS / NTPABS, NTCABS, NTMABS, INPDT0 C DOUBLE PRECISION TTPABS, TTCABS COMMON / RTEMPS / TTPABS, TTCABS C C C OPTION PAS DE TEMPS C IDTVAR : PAS DE TEMPS VARIABLE C = 0 : PAS DE TEMPS CONSTANT C = 1 : PAS DE TEMPS UNIFORME EN ESPACE ET VARIABLE EN TEMPS C = 2 : PAS DE TEMPS VARIABLE EN ESPACE ET VARIABLE EN TEMPS C IPTLRO : LIMITATION DU PAS DE TEMPS LIEE AUX EFFETS DE DENSITE C = 0 : NON C = 1 : OUI C COUMAX : NOMBRE DE COURANT MAXIMUM (IDTVAR NON NUL) C FOUMAX : NOMBRE DE FOURIER MAXIMUM (IDTVAR NON NUL) C VARRDT : VARIATION RELATIVE PERMISE DE DT (IDTVAR NON NUL) C DTMIN, DTMAX : VALEUR LIMITE MIN ET MAX DE DT (IDTVAR NON NUL) C PRENDRE POUR DTMAX = MAX (Ld/Ud, SQRT(Lt/(gDelta rho/rho)), ...) C CDTVAR : COEF MULTIPLICATIF POUR LE PAS DE TEMPS DE CHAQUE VARIABLE C POUR U,V,W,P IL EST INUTILISE C POUR K,E ON PREND LA MEME VALEUR : CELLE DE K C POUR RIJ, E ON PREND LA MEME VALEUR : CELLE DE R11 C INTEGER IDTVAR,IPTLRO COMMON / IPTVAR / IDTVAR,IPTLRO C DOUBLE PRECISION DTREF,COUMAX,FOUMAX, & DTMIN,DTMAX ,VARRDT,CDTVAR(NVARMX) COMMON / RPTVAR / DTREF,COUMAX,FOUMAX, & DTMIN,DTMAX ,VARRDT,CDTVAR C C C TURBULENCE C ITURB C = 0 PAS DE TURBULENCE C = 10 LONGUEUR DE MELANGE C = 20, 21 K-EPSILON C * 20 MODELE STANDARD C * 21 MODELE A PRODUCTION LINEAIRE C = 30, 31 RIJ-EPSILON C * 30 MODELE STANDARD (LRR) C * 31 MODELE SSG C = 40, 41, 42 LES C * 40 MODELE DE SMAGORINSKY CONSTANT C * 41 MODELE DE SMAGORINSKY DYNAMIQUE "CLASSIQUE" C * 42 MODELE DE SMAGORINSKY DYNAMIQUE DE "PIOMELLI ET LIU" C = 50 v2f phi-model C = 60 K-OMEGA SST C ITYTUR C = INT(ITURB/10) POUR DISTINGUER RAPIDEMENT LES CLASSES DE MODELES C IDEUCH C = 0 UNE ECHELLE (DEUX ECHELLES = FAUX) C = 1 DEUX ECHELLES (DEUX ECHELLES = VRAI) C = 2 DEUX ECHELLES LIMITATION DE YPLUS A YPLULI (SCALABLE WALL FUNCTION) C ILOGPO C = 0 UNE ECHELLE AVEC LOI EN PUISSANCE C = 1 UNE ECHELLES AVEC LOI LOG C ICLKEP C = 0 CLIPPING EN VALEUR ABSOLUE DE K ET EPSILON C = 1 CLIPPING COUPLE K-EPSILON BASE SUR DES RELATIONS PHYSIQUES C IGRHOK C = 1 PRISE EN COMPTE DE 2/3 RHO GRAD K DANS NAVIER STOKES C = 0 NON PRISE EN COMPTE DE 2/3 RHO GRAD K DANS NAVIER STOKES C IGRAKE C = 1 GRAVITE DANS K-EPSILON C = 0 SINON C IGRARI C = 1 GRAVITE DANS RIJ-EPSILON C = 0 SINON C ISCALT NUMERO DU SCALAIRE QUI TIENT LIEU DE TEMPERATURE C DONC VARIABLE ISCA(ISCALT) C IKECOU C = 1 K-EPSILON COUPLE EN INCREMENTS C = 0 SINON C IRIJNU C = 1 VISCOSITE DANS LA MATRICE EN INCREMENTS DE VITESSE (RIJ) C = 0 SINON C IRIJRB C = 1 TRAITEMENT PRECIS DE RIJ AU BORD, VOIR CONDLI (RIJ) C = 0 SINON C IDIFRE C = 1 TRAITEMENT COMPLET DE LA DIAGONALE DU TENSEUR DE C DIFFUSION DE RIJ ET EPSILON (RIJ) C = 0 TRAITEMENT SIMPLIFIE C ICLSYR C = 1 IMPLICITATION PARTIELLE DE RIJ DANS LES CL DE SYMETRIE C = 0 PAS D'IMPLICITATION C ICLPTR C = 1 IMPLICITATION PARTIELLE DE RIJ ET EPSILON DANS LES CL C DE PAROI TURBULENTE C = 0 PAS D'IMPLICITATION C IDRIES : AMORTISSEMENT DE TYPE VAN DRIEST A LA PAROI C = 0 SANS AMORTISSEMENT C = 1 AVEC AMORTISSEMENT C IVRTEX : UTILISATION DE LA METHODE DES VORTEX C = 0 SANS METHODE DES VORTEX C = 1 AVEC METHODE DES VORTEX C INTEGER ITURB(NPHSMX) , ITYTUR(NPHSMX), & IDEUCH(NPHSMX), ILOGPO(NPHSMX), ICLKEP(NPHSMX), & IGRHOK(NPHSMX), IGRAKE(NPHSMX), & ISCALT(NPHSMX), IKECOU(NPHSMX), & IRIJNU(NPHSMX), IRIJRB(NPHSMX), IRIJEC(NPHSMX), & IGRARI(NPHSMX), IDIFRE(NPHSMX), ICLSYR(NPHSMX), & ICLPTR(NPHSMX), IDRIES(NPHSMX), IVRTEX COMMON / ITURBU / ITURB , ITYTUR , & IDEUCH , ILOGPO , ICLKEP , & IGRHOK , IGRAKE , & ISCALT , IKECOU , & IRIJNU , IRIJRB , IRIJEC , & IGRARI , IDIFRE , ICLSYR , & ICLPTR , IDRIES , IVRTEX C C C C IVISSE PRISE EN COMPTE DE -2/3 GRAD(MU DIV(U)) + DIV(MU (GRAD_T(U))) C INTEGER IVISSE(NPHSMX) COMMON / IVISC2 / IVISSE C C STOKES C IREVMC C = 2 POUR RECONSTRUCTION DES VITESSES DE TYPE RT0 C = 1 POUR RECONSTRUCTION DES VITESSES AVEC GRADIENT DE L'INCREMENT C DE PRESSION PAR MOINDRES CARRES C = 0 SINON C IPRCO C = 0 POUR CALCUL SANS PRESSION CONTINUITE C = 1 POUR CALCUL AVEC PRESSION CONTINUITE C ARAK PROPORTION D'ARAKAWA (1 POUR ARAKAWA COMPLET) C RELAXP RELAXATION DANS REACTUALISATION PRESSION (1 PAS DE RELAX) C RELAXK RELAXATION DANS DE K ET EPS QD IKECOU=0 (1 PAS DE RELAX) C RNORMP NORMALISATION POUR LA CONVERGENCE DE RESOLP C INTEGER IREVMC(NPHSMX), IPRCO , IRNPNW COMMON / ISTOKE / IREVMC , IPRCO , IRNPNW C DOUBLE PRECISION RNORMP(NPHSMX), ARAK(NPHSMX) , RELAXP(NPHSMX), & RELAXK(NPHSMX) COMMON / RSTOKE / RNORMP , ARAK , RELAXP , & RELAXK C C C IPUCOU ALGORITHME COUPLAGE INSTATIONNAIRE VITESSE/PRESSION C INTEGER IPUCOU COMMON / COUPUP / IPUCOU C C C ICCVFG CALCUL A CHAMP DE VITESSE FIGE C INTEGER ICCVFG COMMON / ICFIGE / ICCVFG C C CALCUL DE LA VISCOSITE C INTEGER IMVISF COMMON / RVSCFA / IMVISF C C TYPE DES CONDITIONS LIMITES ET INDEX MIN ET MAX C DES SOUS LISTES DEFACES DE BORD C INTEGER IDEBTY(NTYPMX,NPHSMX), IFINTY(NTYPMX,NPHSMX) COMMON / ITYCLI / IDEBTY , IFINTY C C C ITRBRB = 1 TRAITEMENT PRECIS DE LA TEMPERATURE AU BORD, VOIR CONDLI C (UTILISE POUR COUPLAGE SYRTHES) C = 0 SINON C ICPSYR = 1 SI SCALAIRE COUPLE A SYRTHES C DONC POUR LE MOMENT VAUT 1 POUR ISCALT UNIQUEMENT C INTEGER ITBRRB, ICPSYR(NSCAMX) COMMON / COUPLB / ITBRRB, ICPSYR C C PRISE EN COMPTE DE l'EQUILIBRE ENTRE LE GRADIENT DE PRESSION C ET LES TERMES SOURCES DE GRAVITE ET DE PERTE DE CHARGE C C IPHYDR = 0 ALGORITHME SANS PRISE EN COMPTE DE L'EQUILIBRE C = 1 ALGORITHME AVEC PRISE EN COMPTE DE L'EQUILIBRE C ICALHY = 0 PAS DE CALCUL DE LA PRESSION HYDROSTATIQUE POUR LES C DIRICHLETS DE PRESSION EN SORTIE C = 1 CALCUL DE LA PRESSION HYDROSTATIQUE POUR LES C DIRICHLETS DE PRESSION EN SORTIE C INTEGER IPHYDR, ICALHY COMMON / IPREHY / IPHYDR, ICALHY C C C CALCUL DES ESTIMATEURS C INTEGER IESCAL(NESTMX,NPHSMX) COMMON / ICAEST / IESCAL C C C CALCUL DES MOYENNES TEMPORELLES (CALCUL DES MOMENTS) C C NBMOMT : NOMBRE DE MOYENNES DEMANDEES C NBDTCM : NOMBRE DE TABLEAUX NCEL POUR LE TEMPS CUMULE C NTDMOM : NUMERO DU PAS DE TEMPS INITIAL POUR LE CALCUL DU MOMENT C IMOOLD : NUMERO DE L'ANCIEN MOMENT CORRESPONDANT EN CAS DE SUITE C ICMOME : POINTEUR POUR LES MOMENTS (donne un numero de propriete) C s'utilise ainsi PROPCE(IEL,IPPROC(ICMOME(IMOM))) C IDTMOM : NUMERO DU TEMPS CUMULE ASSOCIE AUX MOMENTS C ce numero va de 1 a n pour les temps cumules non uniformes C et de -1 a -p pour les temps cumules uniformes C s'utilise ainsi : C si IDTMOM(IMOM) > 0 PROPCE(IEL,IPROPC(ICDTMO(IDTMOM(IMOM)))) C si IDTMOM(IMOM) < 0 DTCMOM(-IDTMOM(IMOM)) C IDFMOM : NUMERO DES VARIABLES COMPOSANT LE MOMENT IDFMOM(JJ,IMOM) C IDGMOM : DEGRE DU MOMENT C ICDTMO : NUMERO DE PROPRIETE DU TEMPS CUMULE (voir IDTMOM) C IPPMOM : REPERE POUR LE POST SI ON DOIT DIVISER LA VARIABLE C PAR UN TEMPS CUMULE (voir memtri et useevo) C DTCMOM : VALEUR DU PAS DE TEMPS CUMULE QUAND IL EST UNIFORME (voir IDTMOM). C INTEGER NBMOMT, NBDTCM, & NTDMOM(NBMOMX), IMOOLD(NBMOMX), & ICMOME(NBMOMX), IDTMOM(NBMOMX), & IDFMOM(NDGMOX,NBMOMX), IDGMOM(NBMOMX), & ICDTMO(NBMOMX), IPPMOM(NVPPMX) COMMON / IMOMEN / NBMOMT, NBDTCM, & NTDMOM , IMOOLD , & ICMOME , IDTMOM , & IDFMOM , IDGMOM , & ICDTMO , IPPMOM DOUBLE PRECISION DTCMOM(NBMOMX) COMMON / RMOMEN / DTCMOM C C C INDICATEUR PERTES DE CHARGE GLOBAL (IE SOMME SUR LES PROCESSEURS C DE NCEPDC) C INTEGER NCPDCT(NPHSMX) COMMON / ICPDCT / NCPDCT C C INDICATEUR MODULE THERMIQUE 1D GLOBAL (IE SOMME SUR LES PROCESSEURS C DE NFPT1D) C INTEGER NFPT1T COMMON / ICT1DT / NFPT1T C C INDICATEUR TERMES SOURCES DE MASSE GLOBAL (IE SOMME SUR LES PROCESSEURS C DE NCETSM) C INTEGER NCTSMT(NPHSMX) COMMON / ICTSMT / NCTSMT C C INDICATEUR DE PASSAGE DANS L'INITIALISATION DES C VARIABLES PAR L'UTILISATEUR C IUSINI = 1 PASSAGE DANS USINIV OU PPINIV C 0 PAS DE PASSAGE (NI IUSINI NI PPINIV) C INTEGER IUSINI COMMON / IUSSPG / IUSINI C C PARAMETRES NUMERIQUES POUR LE CALCUL DE LA DISTANCE A LA PAROI C C INEEDY : = 1 DISTANCE A LA PAROI EST NECESSAIRE POUR LE CALCUL C = 0 DISTANCE A LA PAROI N'EST PAS NECESSAIRE C IMAJDY : = 1 DISTANCE A LA PAROI A ETE MISE A JOUR C = 0 DISTANCE A LA PAROI N'A PAS ETE MISE A JOUR C ICDPAR : = 1 CALCUL STANDARD (ET RELECTURE EN SUITE DE CALCUL) C = 2 CALCUL ANCIEN (ET RELECTURE EN SUITE DE CALCUL) C =-1 FORCER LE RECALCUL EN SUITE (PAR CALCUL STANDARD) C =-2 FORCER LE RECALCUL EN SUITE (PAR CALCUL ANCIEN) C NITMAY : NOMBRE MAX D'ITERATIONS POUR LES RESOLUTIONS ITERATIVES C NSWRSY : NOMBRE DE SWEEP POUR RECONSTRUCTION DES S.M. C NSWRGY : NOMBRE DE SWEEP POUR RECONSTRUCTION DES GRADIENTS C IMLIGY : METHODE DE LIMITATION DU GRADIENT C IRCFLY : INDICATEUR POUR RECONSTRUCTION DES FLUX C ISCHCY : INDICATEUR DU SCHEMA EN ESPACE C ISSTPY : INDICATEUR POUR TEST DE PENTE C IMGRPY : MULTIGRILLE C IWARNY : NIVEAU D'IMPRESSION C NTCMXY : NOMBRE MAX D'ITERATION POUR LA CONVECTION DE Y C INTEGER INEEDY , IMAJDY , ICDPAR , & NITMAY , NSWRSY , NSWRGY , & IMLIGY , IRCFLY , ISCHCY , & ISSTPY , IMGRPY , IWARNY , & NTCMXY COMMON / IDPOPT / INEEDY , IMAJDY , ICDPAR , & NITMAY , NSWRSY , NSWRGY , & IMLIGY , IRCFLY , ISCHCY , & ISSTPY , IMGRPY , IWARNY , & NTCMXY C C BLENCY : 1 - PROPORTION D'UPWIND C EPSILY : PRECISION POUR RESOLUTION ITERATIVE C EPSRGY : PRECISION POUR LA RECONSTRUCTION DES GRADIENTS C CLIMGY : COEF GRADIENT*DISTANCE/ECART C EXTRAY : COEF D'EXTRAPOLATION DES GRADIENTS C COUMXY : VALEUR MAX DU COURANT POUR EQUATION CONVECTION C EPSCVY : PRECISION POUR CONVERGENCE EQUATION CONVECTION STATIONNAIRE C YPLMXY : VALEUR MAX DE YPLUS AU DESSUS DE LAQUELLE L'AMORTISSEMENT DE C VAN DRIEST EST SANS EFFET ET DONC POUR LAQUELLE UN CALCUL DE C YPLUS MOINS PRECIS EST SUFFISANT C DOUBLE PRECISION BLENCY , EPSILY , EPSRGY , & CLIMGY , EXTRAY , COUMXY , & EPSCVY , YPLMXY COMMON / RDPOPT / BLENCY , EPSILY , EPSRGY , & CLIMGY , EXTRAY , COUMXY , & EPSCVY , YPLMXY C C C PARAMETRES NUMERIQUES POUR LE CALCUL DES EFFORTS AUX BORDS C C INEEDF : = 1 ON CALCULE LES EFFORTS AUX PAROIS C = 0 ON NE CALCULE PAS LES EFFORTS AUX PAROIS INTEGER INEEDF COMMON / IFORBR / INEEDF C C FIN C c@z