~ubuntu-branches/ubuntu/precise/code-saturne/precise

« back to all changes in this revision

Viewing changes to src/cfbl/cfprop.f90

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2011-11-24 00:00:08 UTC
  • mfrom: (6.1.9 sid)
  • Revision ID: package-import@ubuntu.com-20111124000008-2vo99e38267942q5
Tags: 2.1.0-3
Install a missing file

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
!-------------------------------------------------------------------------------
2
2
 
3
 
!     This file is part of the Code_Saturne Kernel, element of the
4
 
!     Code_Saturne CFD tool.
5
 
 
6
 
!     Copyright (C) 1998-2009 EDF S.A., France
7
 
 
8
 
!     contact: saturne-support@edf.fr
9
 
 
10
 
!     The Code_Saturne Kernel is free software; you can redistribute it
11
 
!     and/or modify it under the terms of the GNU General Public License
12
 
!     as published by the Free Software Foundation; either version 2 of
13
 
!     the License, or (at your option) any later version.
14
 
 
15
 
!     The Code_Saturne Kernel is distributed in the hope that it will be
16
 
!     useful, but WITHOUT ANY WARRANTY; without even the implied warranty
17
 
!     of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 
!     GNU General Public License for more details.
19
 
 
20
 
!     You should have received a copy of the GNU General Public License
21
 
!     along with the Code_Saturne Kernel; if not, write to the
22
 
!     Free Software Foundation, Inc.,
23
 
!     51 Franklin St, Fifth Floor,
24
 
!     Boston, MA  02110-1301  USA
 
3
! This file is part of Code_Saturne, a general-purpose CFD tool.
 
4
!
 
5
! Copyright (C) 1998-2011 EDF S.A.
 
6
!
 
7
! This program is free software; you can redistribute it and/or modify it under
 
8
! the terms of the GNU General Public License as published by the Free Software
 
9
! Foundation; either version 2 of the License, or (at your option) any later
 
10
! version.
 
11
!
 
12
! This program is distributed in the hope that it will be useful, but WITHOUT
 
13
! ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
14
! FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 
15
! details.
 
16
!
 
17
! You should have received a copy of the GNU General Public License along with
 
18
! this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
 
19
! Street, Fifth Floor, Boston, MA 02110-1301, USA.
25
20
 
26
21
!-------------------------------------------------------------------------------
27
22
 
58
53
!            --- tableau de travail
59
54
!===============================================================================
60
55
 
 
56
!===============================================================================
 
57
! Module files
 
58
!===============================================================================
 
59
 
 
60
use paramx
 
61
use dimens
 
62
use numvar
 
63
use optcal
 
64
use cstphy
 
65
use entsor
 
66
use cstnum
 
67
use ppppar
 
68
use ppthch
 
69
use ppincl
 
70
 
 
71
!===============================================================================
 
72
 
61
73
implicit none
62
74
 
63
 
!===============================================================================
64
 
! Common blocks
65
 
!===============================================================================
66
 
 
67
 
include "paramx.h"
68
 
include "dimens.h"
69
 
include "numvar.h"
70
 
include "optcal.h"
71
 
include "cstphy.h"
72
 
include "entsor.h"
73
 
include "cstnum.h"
74
 
include "ppppar.h"
75
 
include "ppthch.h"
76
 
include "ppincl.h"
77
 
 
78
 
!===============================================================================
79
 
 
80
75
! Arguments
81
76
 
82
77
integer       ipropp, ipppst
83
78
 
84
79
! Local variables
85
80
 
86
 
integer       iprop, ipp, iphas
 
81
integer       iprop, ipp
87
82
 
88
83
!===============================================================================
89
84
!===============================================================================
99
94
  iprop = ipropp
100
95
 
101
96
!  Proprietes des phases : CV s'il est variable
102
 
  do iphas = 1, nphas
103
 
    if(icv(iphas).ne.0) then
104
 
      iprop         = iprop + 1
105
 
      icv   (iphas) = iprop
106
 
    endif
107
 
  enddo
 
97
  if(icv.ne.0) then
 
98
    iprop         = iprop + 1
 
99
    icv    = iprop
 
100
  endif
108
101
 
109
102
!  Proprietes des phases : Viscosite en volume
110
 
  do iphas = 1, nphas
111
 
    if(iviscv(iphas).ne.0) then
112
 
      iprop         = iprop + 1
113
 
      iviscv(iphas) = iprop
114
 
    endif
115
 
  enddo
 
103
  if(iviscv.ne.0) then
 
104
    iprop         = iprop + 1
 
105
    iviscv = iprop
 
106
  endif
116
107
 
117
108
!   Flux de masse specifique pour la vitesse (si on en veut un)
118
 
  do iphas = 1, nphas
119
 
    if(iflmau(iphas).gt.0) then
120
 
      iprop         = iprop + 1
121
 
      ifluma(iu  (iphas)) = iprop
122
 
      ifluma(iv  (iphas)) = iprop
123
 
      ifluma(iw  (iphas)) = iprop
124
 
    endif
125
 
  enddo
 
109
  if(iflmau.gt.0) then
 
110
    iprop         = iprop + 1
 
111
    ifluma(iu  ) = iprop
 
112
    ifluma(iv  ) = iprop
 
113
    ifluma(iw  ) = iprop
 
114
  endif
126
115
 
127
116
!    Flux de Rusanov au bord pour Qdm et E
128
 
  do iphas = 1, nphas
129
 
    iprop         = iprop + 1
130
 
    ifbrhu(iphas) = iprop
131
 
    iprop         = iprop + 1
132
 
    ifbrhv(iphas) = iprop
133
 
    iprop         = iprop + 1
134
 
    ifbrhw(iphas) = iprop
135
 
    iprop         = iprop + 1
136
 
    ifbene(iphas) = iprop
137
 
  enddo
 
117
  iprop         = iprop + 1
 
118
  ifbrhu = iprop
 
119
  iprop         = iprop + 1
 
120
  ifbrhv = iprop
 
121
  iprop         = iprop + 1
 
122
  ifbrhw = iprop
 
123
  iprop         = iprop + 1
 
124
  ifbene = iprop
138
125
 
139
126
 
140
127
! ----  Nb de variables algebriques (ou d'etat)
155
142
 
156
143
  iprop = nproce
157
144
 
158
 
  do iphas = 1, nphas
159
 
 
160
 
    if(icv(iphas).gt.0) then
161
 
      iprop                 = iprop + 1
162
 
      ipproc(icv   (iphas)) = iprop
163
 
      ipppst                = ipppst + 1
164
 
      ipppro(iprop)         = ipppst
165
 
    endif
166
 
 
167
 
    if(iviscv(iphas).gt.0) then
168
 
      iprop                 = iprop + 1
169
 
      ipproc(iviscv(iphas)) = iprop
170
 
      ipppst                = ipppst + 1
171
 
      ipppro(iprop)         = ipppst
172
 
    endif
173
 
 
174
 
  enddo
 
145
  if(icv.gt.0) then
 
146
    iprop                 = iprop + 1
 
147
    ipproc(icv   ) = iprop
 
148
    ipppst                = ipppst + 1
 
149
    ipppro(iprop)         = ipppst
 
150
  endif
 
151
 
 
152
  if(iviscv.gt.0) then
 
153
    iprop                 = iprop + 1
 
154
    ipproc(iviscv) = iprop
 
155
    ipppst                = ipppst + 1
 
156
    ipppro(iprop)         = ipppst
 
157
  endif
175
158
 
176
159
  nproce = iprop
177
160
 
181
164
 
182
165
  iprop = nprofb
183
166
 
184
 
  do iphas = 1, nphas
185
 
    iprop                 = iprop + 1
186
 
    ipprob(ifbrhu(iphas)) = iprop
187
 
    iprop                 = iprop + 1
188
 
    ipprob(ifbrhv(iphas)) = iprop
189
 
    iprop                 = iprop + 1
190
 
    ipprob(ifbrhw(iphas)) = iprop
191
 
    iprop                 = iprop + 1
192
 
    ipprob(ifbene(iphas)) = iprop
193
 
  enddo
 
167
  iprop                 = iprop + 1
 
168
  ipprob(ifbrhu) = iprop
 
169
  iprop                 = iprop + 1
 
170
  ipprob(ifbrhv) = iprop
 
171
  iprop                 = iprop + 1
 
172
  ipprob(ifbrhw) = iprop
 
173
  iprop                 = iprop + 1
 
174
  ipprob(ifbene) = iprop
194
175
 
195
176
  nprofb = iprop
196
177
 
200
181
 
201
182
  iprop = nprofa
202
183
 
203
 
  do iphas = 1, nphas
204
 
    if(iflmau(iphas).gt.0) then
205
 
      iprop                     = iprop + 1
206
 
      ipprof(ifluma(iu(iphas))) = iprop
207
 
    endif
208
 
  enddo
 
184
  if(iflmau.gt.0) then
 
185
    iprop                     = iprop + 1
 
186
    ipprof(ifluma(iu)) = iprop
 
187
  endif
209
188
 
210
189
  nprofa = iprop
211
190
 
226
205
!     NB : Seuls les 8 premiers caracteres du nom seront repris dans le
227
206
!          listing le plus detaille
228
207
 
229
 
!-->  chaleur specifique a volume constant
230
 
  if(icv   (iphas).gt.0) then
231
 
    ipp = ipppro(ipproc(icv   (iphas)))
232
 
    NOMVAR(IPP)   = 'Specific Heat Cst Vol'
 
208
  !-->  chaleur specifique a volume constant
 
209
  if(icv   .gt.0) then
 
210
    ipp = ipppro(ipproc(icv   ))
 
211
    nomvar(ipp)   = 'Specific Heat Cst Vol'
233
212
    ichrvr(ipp)   = 0
234
213
    ilisvr(ipp)   = 0
235
214
    ihisvr(ipp,1) = 0
236
215
  endif
237
216
 
238
 
!-->  viscosite laminaire
239
 
  if(iviscv(iphas).gt.0) then
240
 
    ipp = ipppro(ipproc(iviscv(iphas)))
241
 
    NOMVAR(IPP)   = 'Volume Viscosity'
 
217
  !-->  viscosite laminaire
 
218
  if(iviscv.gt.0) then
 
219
    ipp = ipppro(ipproc(iviscv))
 
220
    nomvar(ipp)   = 'Volume Viscosity'
242
221
    ichrvr(ipp)   = 0
243
222
    ilisvr(ipp)   = 0
244
223
    ihisvr(ipp,1) = 0