1 : C CLIM1 SOURCE CHAT 05/01/12 22:08:03 5004
2 : SUBROUTINE CLIM1
3 : C************************************************************************
4 : C
5 : C PROJET : CASTEM 2000
6 : C
7 : C NOM : CLIM1
8 : C
9 : C DESCRIPTION : Subroutine appellée par KON1
10 : C
11 : C Modelisation 2D/3D des equations d'Euler
12 : C Conditions aux limites
13 : C
14 : C Calcul du flux/residu
15 : C
16 : C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
17 : C
18 : C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/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 polytropique
26 : C Inconnues: densités, quantité de mouvement, énergie totale par
27 : C unité de volumes (variables conservatives)
28 : C Conditions au limit
29 : C
30 : C RCHPLI RCHPRE = 'KONV' 'VF' 'PERFMONO' 'CLIM'
31 : C 'RESI' $MOD1 $MOD2 LMOTC LMOTP CHPRN CHPVN CHPPN CHPGN
32 : C MOT1 CHPLI ;
33 : C
34 : C $MOD1 : l'objet modele du domaine interieur
35 : C ($TAB1 est sa table domaine)
36 : C
37 : C $MOD2 : l'objet modele du domaine du bord
38 : C ($TAB2 est sa table domaine)
39 : C
40 : C LMOTC : LISTMOTS, noms des variables conservatives
41 : C
42 : C LMOTP : LISTMOTS, noms des variables primitives
43 : C
44 : C CHPRN : densité (SPG = 'CENTRE', une seule
45 : C composante, 'SCAL')
46 : C
47 : C CHPVN : vitesse (SPG = $TAB1 . 'CENTRE',
48 : C composantes: 'UX', 'UY', ('UZ'))
49 : C
50 : C CHPPN : pression (SPG = $TAB1 . 'CENTRE', une seule
51 : C composante, 'SCAL')
52 : C
53 : C CHPGN : gamma (SPG = $TAB1 . 'CENTRE', une seule
54 : C composante, 'SCAL')
55 : C
56 : C CHPRNI : densité (SPG = $TAB2 . 'CENTRE', une seule
57 : C composante, 'SCAL')
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 calcule la pression.
79 : C 'INJELM' : hypothese BM: on donne le flux de masse et RT
80 : C (temperature fois la constante de gaz); on impose
81 : C que la vitesse tangentielle est nulle, on recupere
82 : C la pression de l'interieur.
83 : C
84 : C SORTIES
85 : C
86 : C RCHPLI : on donne densité, vitesse, pression sur le bord
87 : C (SPG = $TAB2 . 'CENTRE', composantes en LMOTP)
88 : C
89 : C RCHPRE : residu (SPG = $TAB1 . 'CENTRE', composantes en LMOTC)
90 : C
91 : C************************************************************************
92 : C
93 : C HISTORIQUE (Anomalies et modifications éventuelles)
94 : C
95 : C HISTORIQUE :
96 : C
97 : C************************************************************************
98 : IMPLICIT INTEGER(I-N)
99 : -INC CCOPTIO
100 : C
101 : INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
102 : & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
103 : & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
104 : & ,IECHO, IIMPI, IOSPI
105 : & ,IDIM, IFICLE, IPREFI
106 : & ,MCOORD
107 : & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
108 : & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
109 : & ,NORINC,NORVAL,NORIND,NORVAD
110 : & ,NUCROU, IPSAUV
111 : C
112 : INTEGER NBOPT, ICELL, IJAC
113 : C
114 : PARAMETER (NBOPT=3)
115 : CHARACTER*8 LOPT(NBOPT)
116 : C
117 : DATA LOPT/'RESI ','JACOCONS','JACOPRIM'/
118 : C
118 : CALL LIRMOT(LOPT,NBOPT,ICELL,1)
119 : IF(IERR .NE. 0) GOTO 9999
120 : IF(ICELL .EQ. 1)THEN
121 : C 'RESI '
122 : IJAC=0
122 : CALL CLIM11(IJAC)
123 : IF(IERR .NE. 0) GOTO 9999
124 : ELSEIF(ICELL .EQ. 2)THEN
125 : C 'JACOCONS'
126 : IJAC=1
126 : CALL CLIM11(IJAC)
127 : IF(IERR .NE. 0) GOTO 9999
128 : ELSEIF(ICELL .EQ. 3)THEN
129 : C 'JACOPRIM'
130 : IJAC=2
130 : CALL CLIM11(IJAC)
131 : IF(IERR .NE. 0) GOTO 9999
132 : ENDIF
133 : 9999 CONTINUE
134 : RETURN
135 : END
136 :
137 :
138 :
139 :
140 :
141 :
142 :
143 :
© Cast3M 2003 - All rights reserved.
Disclaimer