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 SUBROUTINE RAYOPT C ***************** C ------------------------------------------------------------- C ------------------------------------------------------------- C*********************************************************************** C FONCTION : C --------- c@foncb CFONC CFONC SOUS-PROGRAMME DU MODULE RAYONNEMENT : CFONC -------------------------------------- CFONC CFONC 1) Initialisation par defaut du parametrage du module de CFONC transferts thermiques radiatifs CFONC 2) Lecture du parametrage utilisateur CFONC 3) Controle de coherence avec les physiques particulieres CFONC 4) Verifications du parametrage utilisateur CFONC c@fonce C----------------------------------------------------------------------- C ARGUMENTS c@argub CARGU .______________.____._____.______________________________________. CARGU ! NOM !TYPE!MODE ! ROLE ! CARGU !______________!____!_____!______________________________________! CARGU !______________!____!_____!______________________________________! c@argue C c@commb CCOMM COMMONS CCOMM .______________.____._____.______________________________________. CCOMM ! NOM !TYPE!MODE ! ROLE ! CCOMM !______________!____!_____!______________________________________! CCOMM !______________!____!_____!______________________________________! c@comme C C TYPE : E (ENTIER), R (REEL), A (ALPHANUMERIQUE), T (TABLEAU) C L (LOGIQUE) .. ET TYPES COMPOSES (EX : TR TABLEAU REEL) C MODE : -> DONNEE, <- RESULTAT, <-> DONNEE MODIFIEE, C - TABLEAU DE TRAVAIL C*********************************************************************** C IMPLICIT NONE C C*********************************************************************** C DONNEES EN COMMON C*********************************************************************** C INCLUDE "paramx.h" INCLUDE "dimens.h" INCLUDE "numvar.h" INCLUDE "entsor.h" INCLUDE "optcal.h" INCLUDE "cstphy.h" INCLUDE "radiat.h" INCLUDE "ihmpre.h" INCLUDE "ppppar.h" INCLUDE "ppthch.h" INCLUDE "cpincl.h" INCLUDE "ppincl.h" C C*********************************************************************** C C VARIABLES LOCALES C INTEGER II, JJ, IPHAS, IPHAOK, IOK , IISCAL, ISCAOK CHARACTER CAR4*4 C C*********************************************************************** C======================================================================= C 1. INITIALISATIONS PAR DEFAUT DU MODULE DE TRANSFERTS RADIATIFS C ^^^^^^ C======================================================================= C C C--> IIRAYO = 0 : PAS DE TRANSFERTS RADIATIFS C = 1 : TRANSFERTS RADIATIFS C IIRAYO = 0 C C--> POUR CHAQUE PHASE: C IRAYON = 0 : PAS DE TRANSFERTS RADIATIFS C = 1 : TRANSFERTS RADIATIFS, METHODE DES ORDONNEES DISCRETES C = 2 : TRANSFERTS RADIATIFS, APPROXIMATION P-1 C On initialise a -1 pour montrer que ce n'est pas initialise ... C (on fera un test apres usray1) DO IPHAS = 1,NPHSMX IRAYON(IPHAS) = -1 ENDDO C C C--> CALCUL DU COEFFICIENT D'ABSORPTION C (REMPLI AUTOMATIQUEMENT ENSUITE POUR LA PHYSIQUE PARTICULIERE) C IMODAK = 0 : sans utiliser modak C 1 : a l'aide modak C IMODAK = 0 C C--> INDICATEUR SUITE DE CALCUL (LECTURE DU FICHIER SUITE) C ISUIRD = -1 C C--> FREQUENCE DE PASSAGE DANS LE MODULE RAYONNEMENT C NFREQR = -1 C C--> NOMBRE DE DIRECTIONS : 32 OU 128 C NDIREC = -1 C C--> NOMBRE DE BANDES SPECTRALES (PAS UTILISE) C NBANDE = 1 C C--> POURCENTAGE DE CELLULES OU L'ON ADMET QUE LA LONGUEUR OPTIQUE DEPASSE C L'UNITE POUR LE MODELE P-1 C XNP1MX = 10.D0 C C--> INITIALISATION DU MODE DE CALCUL DU TERME SOURCE RADIATIF EXPLICITE C IDIVER = 0 => CALCUL SEMI-ANALYTIQUE (OBLIGATOIRE SI TRANSPARENT) C IDIVER = 1 => CALCUL CONSERVATIF C IDIVER = 2 => CALCUL SEMI-ANALYTIQUE CORRIGE POUR ETRE CONSERVATIF C REMARQUE : SI TRANSPARENT IDIVER = -1 AUTOMATIQUEMENT DANS RAYDOM C IDIVER = -1 C C--> NIVEAU D'AFFICHAGE (0,1,2) DES RENSEIGNEMENTS TEMPERATURE DE PAROI C IIMPAR = -1 C C--> NIVEAU D'AFFICHAGE (0,1,2) DES RENSEIGNEMENTS RESOLUTION LUMINANCE C IIMLUM = -1 C C--> INITIALISATION DES DONNEES POST-PROCESSING C NBRAYP : NOMBRE MAX DES SORTIES DE VARIABLES CELLULES C NBRAYF : NOMBRE MAX DES SORTIES DE VARIABLES FACETTES DE BORD C DO IPHAS = 1,NPHSMX DO II = 1,NBRAYP WRITE(CAR4,'(I4.4)') II + NBRAYP * (IPHAS -1) NBRVAP(II,IPHAS) = 'RAYTCE'//CAR4 IRAYVP(II,IPHAS) = -1 ENDDO DO II = 1,NBRAYF WRITE(CAR4,'(I4.4)') II+ NBRAYF * (IPHAS -1) NBRVAF(II,IPHAS) = 'RAYTFB'//CAR4 IRAYVF(II,IPHAS) = -1 ENDDO ENDDO C C======================================================================= C 2. INITIALISATIONS UTILISATEURS C ^^^^^^^^^^^^ C======================================================================= C #if defined(_CS_HAVE_XML) C C - Interface Code_Saturne C ====================== C C IF (IIHMPR.EQ.1) THEN C DO IPHAS = 1, NPHAS DO JJ = 1,NBRAYP II = JJ + NBRAYP * (IPHAS -1) CALL FCNMRA(NBRVAP(JJ,IPHAS), LEN(NBRVAP(JJ,IPHAS)), II) ENDDO ENDDO DO IPHAS = 1, NPHAS DO JJ = 1, NBRAYF II = JJ + NPHAS * NBRAYP + NBRAYF* (IPHAS -1) CALL FCNMRA(NBRVAF(JJ,IPHAS), LEN(NBRVAF(JJ,IPHAS)), II) ENDDO ENDDO C CALL UIRAY1 C =========== & ( NBRAYP, NBRAYF, NPHAS, & IRAYON, ISUIRD, NDIREC, NFREQR, IDIVER, IIMPAR, IIMLUM, & IRAYVP, IRAYVF ) C DO IPHAS = 1, NPHAS DO JJ = 1,NBRAYP II = JJ + NBRAYP * (IPHAS -1) CALL CFNMRA(NBRVAP(JJ,IPHAS), LEN(NBRVAP(JJ,IPHAS)), II) ENDDO ENDDO DO IPHAS = 1, NPHAS DO JJ = 1, NBRAYF II = JJ + NPHAS * NBRAYP + NBRAYF* (IPHAS -1) CALL CFNMRA(NBRVAF(JJ,IPHAS), LEN(NBRVAF(JJ,IPHAS)), II) ENDDO ENDDO C ENDIF C #endif C CALL USRAY1 C =========== C C======================================================================= C 3. VERIFICATION LA COHERENCE D'UTILISATION DU MODULE DE RAYONNEMENT C AVEC LA THERMIQUE OU LES PHYSIQUES PARTICULIERES (COMBUSTION) C======================================================================= C IOK = 0 C C--> IRAYON C C Si physique classique et IRAYON pas modifie dans USRAY1 C IRAYON(IPHAS) = 0 (pas de rayonnement). C IF(NSCAPP.LE.0) THEN C DO IPHAS = 1, NPHAS IF(IRAYON(IPHAS).EQ.-1) THEN IRAYON(IPHAS) = 0 ENDIF ENDDO C C C Si physique particuliere, IRAYON doit etre issu du fichier C parametrique ; IMODAK aussi. C ELSE C IPHAS = 1 C IF (IRAYON(IPHAS).EQ.-1) THEN IF (IRAYPP.EQ.0) THEN IRAYON(IPHAS) = 0 IMODAK = 0 ELSEIF (IRAYPP.EQ.1) THEN IRAYON(IPHAS) = 1 IMODAK = 0 ELSEIF (IRAYPP.EQ.2) THEN IRAYON(IPHAS) = 1 IMODAK = 1 ELSEIF (IRAYPP.EQ.3) THEN IRAYON(IPHAS) = 2 IMODAK = 0 ELSEIF (IRAYPP.EQ.4) THEN IRAYON(IPHAS) = 2 IMODAK = 1 ELSE WRITE(NFECRA,1010) IOK = IOK + 1 ENDIF C ELSE WRITE(NFECRA,2000) IOK = IOK + 1 ENDIF C ENDIF C C--> ISCSTH C C Si physique particuliere, ISCSTH a ete renseigne C dans ppini1 ou coini1 (a verifier en elec). C Si physique classique et ISCSTH pas modifie dans USRAY1 C ou pas de variable thermique C STOP. C IF(NSCAPP.GT.0) THEN C C Il y a une seule phase ; si on rayonne DO IPHAS = 1, NPHAS IF (IRAYON(IPHAS).EQ.1 .OR. IRAYON(IPHAS).EQ.2) THEN C On cherche s'il y a un scalaire thermique ISCAOK = 0 DO IISCAL = 1, NSCAL IF (IISCAL.EQ.ISCALT(IPHAS)) THEN ISCAOK = 1 C Et on regarde si on a dit enthalpie IF (ISCSTH(IISCAL).NE.2) THEN WRITE(NFECRA,3000) IPHAS,IISCAL,IISCAL IOK = IOK + 1 ENDIF ENDIF ENDDO IF (ISCAOK.EQ.0) THEN WRITE(NFECRA,3001) IPHAS,IPHAS IOK = IOK + 1 ENDIF ENDIF ENDDO C ELSE C C Pour toutes les phases qui rayonnent DO IPHAS = 1, NPHAS IF (IRAYON(IPHAS).EQ.1 .OR. IRAYON(IPHAS).EQ.2) THEN C C On cherche s'il y a un scalaire thermique ISCAOK = 0 DO IISCAL = 1, NSCAL IF (IISCAL.EQ.ISCALT(IPHAS)) THEN ISCAOK = 1 C C Et on regarde si on a dit temp C, K ou enthalpie IF (ABS(ISCSTH(IISCAL)).NE.1.AND. & ISCSTH(IISCAL) .NE.2 ) THEN WRITE(NFECRA,3010) IPHAS,IISCAL,IISCAL IOK = IOK + 1 ENDIF C ENDIF ENDDO IF(ISCAOK.EQ.0)THEN WRITE(NFECRA,3011)IPHAS,IPHAS IOK = IOK + 1 ENDIF C ENDIF ENDDO C ENDIF C C--> Stop si erreur. C IF(IOK.NE.0) THEN CALL CSEXIT (1) C =========== ENDIF C 1010 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ IRAYPP NE PEUT PRENDRE POUR VALEURS QUE 0 1 2 3 OU 4 ',/, &'@ ',/, &'@ Le calcul ne peut etre execute. ',/, &'@ ',/, &'@ Arret dans rayopt. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 2000 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ EN PHYSIQUE PARTICULIERE IRAYON EST DONNE PAR FICHIER ',/, &'@ ',/, &'@ Le calcul ne peut etre execute. ',/, &'@ ',/, &'@ Verifier usray1 (IRAYON ne doit pas etre modifie). ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 3000 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ PHYSIQUE PARTICULIERE ACTIVEE : ENTHALPIE NECESSAIRE ',/, &'@ ',/, &'@ Avec rayonnement, pour la phase ',I10 ,', il faut ',/, &'@ preciser la variable energetique representee par le ',/, &'@ scalaire ',I10 ,' en renseignant ISCSTH(',I10 ,') ',/, &'@ dans usini1 : soit ',/, &'@ -1 temperature en C ',/, &'@ 1 temperature en K ',/, &'@ 2 enthalpie ',/, &'@ ',/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Avec physique particuliere, cette initialisation aurait ',/, &'@ du etre automatique. ~~~~~~ ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 3001 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ PHYSIQUE PARTICULIERE ACTIVEE : ENTHALPIE NECESSAIRE ',/, &'@ ',/, &'@ Lorsque le rayonnement est utilise (phase ',I10 ,', il ',/, &'@ faut indiquer qu''un scalaire represente la variable ',/, &'@ energetique (enthalpie) en renseignant ',/, &'@ ISCALT(',I10 ,') dans usini1 (numero du scalaire). ',/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Avec physique particuliere, cette initialisation aurait ',/, &'@ du etre automatique. ~~~~~~ ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 3010 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ ISCSTH DOIT ETRE RENSEIGNE OBLIGATOIREMENT DANS USINI1 ',/, &'@ ',/, &'@ Avec rayonnement, pour la phase ',I10 ,', il faut ',/, &'@ preciser la variable energetique representee par le ',/, &'@ scalaire ',I10 ,' en renseignant ISCSTH(',I10 ,') ',/, &'@ dans usini1 : soit ',/, &'@ -1 temperature en C ',/, &'@ 1 temperature en K ',/, &'@ 2 enthalpie ',/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usini1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 3011 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ IL FAUT UTILISER UNE VARIABLE ENERGETIQUE. ',/, &'@ ',/, &'@ Lorsque le rayonnement est utilise (phase ',I10 ,', il ',/, &'@ faut indiquer qu''un scalaire represente la variable ',/, &'@ energetique (temperature ou enthalpie) en renseignant ',/, &'@ ISCALT(',I10 ,') dans usini1 (numero du scalaire). ',/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usini1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) C C======================================================================= C 4. FAIT-ON DU RAYONNEMENT SEMI-TRANSPARENT ? C======================================================================= C IIRAYO = 0 DO IPHAS = 1,NPHAS IF (IRAYON(IPHAS).EQ.1 .OR. IRAYON(IPHAS).EQ.2) IIRAYO = 1 ENDDO C C======================================================================= C 5. VERIFICATIONS (uniquement s'il y a du rayonnement) C======================================================================= C IOK = 0 C IF (IIRAYO.EQ.1) THEN C C --> ISUIRD C IF (ISUIRD.NE.0 .AND. ISUIRD.NE.1 ) THEN WRITE(NFECRA,4000)ISUIRD IOK = IOK + 1 ENDIF C C --> NFREQR C IF (NFREQR.LE.0) THEN WRITE(NFECRA,4010)NFREQR IOK = IOK + 1 ENDIF C C --> NDIREC C Choix entre 32 et 128 directions (cf raysol) IF (NDIREC.NE.32 .AND. NDIREC.NE.128 ) THEN WRITE(NFECRA,4020) NDIREC IOK = IOK + 1 ENDIF C C --> IDIVER C Choix entre 0 1 et 2 IF (IDIVER.NE.0 .AND. IDIVER.NE.1 .AND. IDIVER.NE.2) THEN WRITE(NFECRA,4030) IDIVER IOK = IOK + 1 ENDIF C C --> IIMPAR C Choix entre 0 1 et 2 IF (IIMPAR.NE.0 .AND. IIMPAR.NE.1 .AND. IIMPAR.NE.2) THEN WRITE(NFECRA,4040) IIMPAR IOK = IOK + 1 ENDIF C C --> IIMLUM C Choix entre 0 1 et 2 IF (IIMLUM.NE.0 .AND. IIMLUM.NE.1 .AND. IIMLUM.NE.2) THEN WRITE(NFECRA,4050) IIMLUM IOK = IOK + 1 ENDIF C C --> IRAYVP & IRAYVF C Choix entre -1 et 1 DO IPHAS = 1,NPHAS IF (IRAYON(IPHAS).EQ.1 .OR. IRAYON(IPHAS).EQ.2) THEN DO II = 1,NBRAYP IF (IRAYVP(II,IPHAS).NE.1 .AND. & IRAYVP(II,IPHAS).NE.-1) THEN WRITE(NFECRA,4060) NBRVAP(II,IPHAS), IRAYVP(II,IPHAS) IOK = IOK + 1 ENDIF ENDDO DO II = 1,NBRAYF IF (IRAYVF(II,IPHAS).NE.1 .AND. & IRAYVF(II,IPHAS).NE.-1) THEN WRITE(NFECRA,4070) NBRVAF(II,IPHAS), IRAYVF(II,IPHAS) IOK = IOK + 1 ENDIF ENDDO ENDIF ENDDO C C --> CONNECTIVITE IPHAOK = 0 DO IPHAS = 1,NPHAS DO II = 1,NBRAYF IF (IRAYVF(II,IPHAS).EQ.1) IPHAOK = IPHAOK + 1 ENDDO ENDDO IF (IPHAOK.NE.0) THEN IF (NNOD.EQ.0 .OR. (LNDFAC.EQ.0 .AND. LNDFBR.EQ.0)) THEN WRITE(NFECRA,4080) NNOD, LNDFAC, LNDFBR IOK = IOK + 1 ENDIF ENDIF C ENDIF C C--> Stop si erreur. C IF(IOK.NE.0) THEN CALL CSEXIT (1) C =========== ENDIF C 4000 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ INDICATEUR DE SUITE DE CALCUL NON ADMISSIBLE ',/, &'@ ',/, &'@ L''indicateur de suite de calcul doit etre 0 ou 1 (ISUIRD)',/, &'@ Il vaut ici ISUIRD = ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4010 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ FREQUENCE DE PASSAGE DANS LE MODULE DE RAYONNEMENT ',/, &'@ NON ADMISSIBLE ',/, &'@ ',/, &'@ La frequence de passage doit etre superieure ou egale a 1 ',/, &'@ Elle vaut ici NFREQR = ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4020 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ NOMBRE DE DIRECTIONS NON ADMISSIBLE ',/, &'@ ',/, &'@ Le nombre de directions doit etre 32 ou 128 (NDIREC) ',/, &'@ Il vaut ici NDIREC = ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4030 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ARRET A L''ENTREE DES DONNEES ',/, &'@ ********* ',/, &'@ INDICATEUR DU MODE DE CALCUL DU TERME SOURCE RADIATIF ',/, &'@ EXPLICITE NON ADMISSIBLE ',/, &'@ ',/, &'@ L''indicateur du mode de calcul doit etre 0, 1 ou 2 ',/, &'@ Il vaut ici IDIVER = ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4040 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ERREUR A L''ENTREE DES DONNEES',/, &'@ ********* ',/, &'@ NIVEAU D''AFFICHAGE DES RENSIGNEMENTS DES ',/, &'@ TEMPERATURE DE PAROI NON ADMISSIBLE ',/, &'@ ',/, &'@ Le niveau d''affichage doit etre 0, 1 ou 2 (IIMPAR) ',/, &'@ Il vaut ici IIMPAR = ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4050 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ERREUR A L''ENTREE DES DONNEES',/, &'@ ********* ',/, &'@ NIVEAU D''AFFICHAGE DES RENSIGNEMENTS SUR LA ',/, &'@ RESOLUTION DE LA LUMINANCE NON ADMISSIBLE ',/, &'@ ',/, &'@ Le niveau d''affichage doit etre 0, 1 ou 2 (IIMLUM) ',/, &'@ Il vaut ici IIMLUM = ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4060 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ERREUR A L''ENTREE DES DONNEES',/, &'@ ********* ',/, &'@ INDICATEUR DE SORTIE EN POSTPROCESSING ',/, &'@ POUR ',A40 ,/, &'@ NON ADMISSIBLE ',/, &'@ ',/, &'@ L''indicateur de postprocessing doit etre -1 ou 1 ',/, &'@ Il vaut ici IRAYVP = ',I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4070 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ERREUR A L''ENTREE DES DONNEES',/, &'@ ********* ',/, &'@ INDICATEUR DE SORTIE EN POSTPROCESSING ',/, &'@ POUR ',A40 ,/, &'@ NON ADMISSIBLE ',/, &'@ ',/, &'@ L''indicateur de postprocessing doit etre -1 ou 1 ',/, &'@ Il vaut ici IRAYVF = ',I10 ,/, &'@ ',/, &'@ Le calcul sera engage. ',/, &'@ ',/, &'@ On conseille donc de verifier usray1. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) 4080 FORMAT( &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/, &'@ @@ ATTENTION : RAYONNEMENT : ERREUR A L''ENTREE DES DONNEES',/, &'@ ********* ',/, &'@ LES CONNECTIVITES FACES -> SOMMETS OU LES COORDONNEES ',/, &'@ DES NOEUDS SOMMETS NE SONT PAS FOURNIS ',/, &'@ ',/, &'@ Le module rayonnement est active mais les noeuds sommets ',/, &'@ ou les connectivites faces -> sommets n''ont pas ete ',/, &'@ fournis au noyau. ',/, &'@ ',/, &'@ NNDOD = ', I10 ,/, &'@ LNDFAC = ', I10 ,/, &'@ LNDFBR = ', I10 ,/, &'@ ',/, &'@ Le calcul ne sera pas execute. ',/, &'@ ',/, &'@ Verifier les options utilisees pour l''appel au module ',/, &'@ Enveloppe dans le script de lancement si IFOENV > 0, ',/, &'@ ou bien si le fichier geomet contient bien les ',/, &'@ connectivites faces -> sommets si IFOENV = 0. ',/, &'@ ',/, &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/, &'@ ',/) C C C======================================================================= C 6. NOMBRE DE PHASES POUR LESQUELLES ON FAIT DU RAYONNEMENT C======================================================================= C C--> NPHAST : NOMBRE DE PHASES POUR LESQUELLES ON FAIT DU RAYONNEMENT C--> IRAPHA : NUMEROS DES PHASES POUR LESQUELLES ON FAIT DU RAYONNEMENT C C--> NPHASC : EN CP, NOMBRE DE PHASE (= 1 FORCEMENT) + NOMBRE DE CLASSES C SERT A STOCKER LE COEFF D'ABSORPTION PAR EXEMPLE POUR LE C MELANGE ET LES CLASSES DE PARTICULES (VOIR MEMRA1) C NPHAST = 0 DO IPHAS = 1,NPHAS IF (IRAYON(IPHAS).GE.1) THEN NPHAST = NPHAST +1 IRAPHA(NPHAST) = IPHAS ENDIF ENDDO C NPHASC = NPHAST C C--> Pour le Charbon Pulverise : IF ( IPPMOD(ICP3PL) .GE. 0 .OR. IPPMOD(ICP3PV) .GE. 0 ) THEN NPHASC = NPHASC + NCLACP ENDIF C RETURN C END c@z