1 : C CLIM2 SOURCE CHAT 05/01/12 22:08:13 5004
2 : SUBROUTINE CLIM2
3 : C************************************************************************
4 : C
5 : C PROJET : CASTEM 2000
6 : C
7 : C NOM : CLIM2
8 : C
9 : C DESCRIPTION : Subroutine appellée par KON2
10 : C
11 : C Modelisation 2D/3D des equations d'Euler
12 : C Conditions aux limites
13 : C
14 : C Calcul du flux/residu pour le gaz multiespeces
15 : C parfait aux limites
16 : C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
17 : C
18 : C AUTEUR : S. Kudriakov, DEN/DM2S/SFME/LTMF
19 : C
20 : C************************************************************************
21 : C
22 : C*** SYNTAXE
23 : C
24 : C Discrétisation en VF "cell-centered" des équations d'Euler pour
25 : C un gaz parfait multiespeces
26 : C
27 : C
28 : C RCHPLI RCHPRE = 'KONV' 'VF' 'PERFMULT' 'CLIM'
29 : C 'RESI' $MOD1 $MOD2 TABGAS
30 : C LMOTC LMOTP CHPRN CHPVN CHPPN CHPYN
31 : C MOT1 CHPLI ;
32 : C
33 : C $MOD1 : l'objet modele du domaine interieur
34 : C ($TAB1 est sa table domaine)
35 : C
36 : C $MOD2 : l'objet modele du domaine du bord
37 : C ($TAB2 est sa table domaine)
38 : C
39 : C TABGAS : the table which containes information on
40 : C Cp and Cv of each of the gas
41 : C
42 : C LMOTC : LISTMOTS, noms des variables conservatives
43 : C
44 : C LMOTP : LISTMOTS, noms des variables primitives
45 : C
46 : C CHPRN : densité (SPG = 'CENTRE', une seule
47 : C composante, 'SCAL')
48 : C
49 : C CHPVN : vitesse (SPG = $TAB1 . 'CENTRE',
50 : C composantes: 'UX', 'UY', ('UZ'))
51 : C
52 : C CHPPN : pression (SPG = $TAB1 . 'CENTRE', une seule
53 : C composante, 'SCAL')
54 : C
55 : C CHPYN : fractions massiques (SPG = $TAB1 . 'CENTRE',
56 : C number of components is equal to the number of
57 : C components in (TABGAS . 'ESPEULE'))
58 : C
59 : C MOT1 : MOT, type de condition limite:
60 : C 'INRI' : inlet, invariants de Riemann
61 : C
62 : C CHPLI : condition limit imposé (SPG = $TAB2 . 'CENTRE')
63 : C Les composantes dependent de MOT1
64 : C 'INRI' : on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
65 : C pression 'PN'
66 : C 'OUTRI': on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
67 : C pression 'PN'
68 : C 'INSS' : on donne densité 'RN', vitesse 'UX' 'UY' ('UX')
69 : C pression 'PN'
70 : C 'OUTSS': chpoint vide
71 : C 'OUTP' : on donne la pression 'PN', on recupere la
72 : C vitesse et la densité à l'interieur
73 : C 'INSU' : on donne l'enthalpie totale 'HT', l'entropie 'S',
74 : C on impose que la vitesse tangentielle est nulle,
75 : C on recupere la pression à l'interieur
76 : C 'INJE' : on donne le flux de masse et RT (temperature fois
77 : C la constante de gaz); on impose que la vitesse
78 : C tangentielle est nulle, on recupere la pression.
79 : C
80 : C SORTIES
81 : C
82 : C RCHPLI : on donne densité, vitesse, pression et les
83 : C fractions massiques sur le bord
84 : C (SPG = $TAB2 . 'CENTRE', composantes en LMOTP)
85 : C
86 : C RCHPRE : residu (SPG = $TAB1 . 'CENTRE', composantes en LMOTC)
87 : C (of the cells which are attachet to the border)
88 : C************************************************************************
89 : C
90 : C HISTORIQUE (Anomalies et modifications éventuelles)
91 : C
92 : C HISTORIQUE :
93 : C
94 : C************************************************************************
95 : IMPLICIT INTEGER(I-N)
96 : -INC CCOPTIO
97 : C
98 : INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
99 : & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
100 : & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
101 : & ,IECHO, IIMPI, IOSPI
102 : & ,IDIM, IFICLE, IPREFI
103 : & ,MCOORD
104 : & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
105 : & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
106 : & ,NORINC,NORVAL,NORIND,NORVAD
107 : & ,NUCROU, IPSAUV
108 : C
109 : INTEGER NBOPT, ICELL, IJAC
110 : C
111 : PARAMETER (NBOPT=3)
112 : CHARACTER*8 LOPT(NBOPT)
113 : C
114 : DATA LOPT/'RESI ','JACOCONS','JACOPRIM'/
115 : C
115 : CALL LIRMOT(LOPT,NBOPT,ICELL,1)
116 : IF(IERR .NE. 0) GOTO 9999
117 : IF(ICELL .EQ. 1)THEN
118 : C 'RESI '
119 : IJAC=0
119 : CALL CLIM22(IJAC)
120 : IF(IERR .NE. 0) GOTO 9999
121 : ELSEIF(ICELL .EQ. 2)THEN
122 : C 'JACOCONS'
123 : IJAC=1
123 : CALL CLIM22(IJAC)
124 : IF(IERR .NE. 0) GOTO 9999
125 : ELSEIF(ICELL .EQ. 3)THEN
126 : C 'JACOPRIM'
127 : IJAC=2
127 : CALL CLIM22(IJAC)
128 : IF(IERR .NE. 0) GOTO 9999
129 : ENDIF
130 : 9999 CONTINUE
131 : RETURN
132 : END
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
© Cast3M 2003 - All rights reserved.
Disclaimer