1
!-------------------------------------------------------------------------------
3
! This file is part of the Code_Saturne Kernel, element of the
4
! Code_Saturne CFD tool.
6
! Copyright (C) 1998-2009 EDF S.A., France
8
! contact: saturne-support@edf.fr
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.
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.
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
26
!-------------------------------------------------------------------------------
32
nfabor , ncelet , nfac , &
33
nbpmax , nvp , nvp1 , nvep , nivep , &
34
iindep , iibord , iettpa , iauxl , iauxl2 , &
35
itaup , iitlag , ipiil , &
36
ivagau , itsuf , itsup , ibx , &
37
igradp , igradv , icroul , &
38
itepct , itsfex , itsvar , &
39
icpgd1 , icpgd2 , icpght , &
45
!===============================================================================
49
! SOUS-PROGRAMME DU MODULE LAGRANGIEN :
50
! -------------------------------------
52
! Reservation de la memoire pour les tableaux qui ne doivent pas
53
! etre conserves en dehors de la boucle en temps.
55
!-------------------------------------------------------------------------------
57
!__________________.____._____.________________________________________________.
58
! name !type!mode ! role !
59
!__________________!____!_____!________________________________________________!
60
! idbia0/idbra0 ! tr ! <-- ! pointeur de la premiere cas libre des !
61
! nfabor ! i ! <-- ! number of boundary faces !
62
! ncelet ! e ! <-- ! nombre d'elements !
63
! nfac ! i ! <-- ! number of interior faces !
64
! nbpmax ! e ! <-- ! nombre max de particulies autorise !
65
! nvp ! e ! <-- ! nombre de variables particulaires !
66
! nvp1 ! e ! <-- ! nvp sans position, vfluide, vpart !
67
! nvep ! e ! <-- ! nombre info particulaires (reels) !
68
! nivep ! e ! <-- ! nombre info particulaires (entiers) !
69
! iindep ! e ! --> ! pointeur sur indep (num cel de depart !
70
! iibord ! e ! --> ! pointeur sur ibord !
71
! iettpa ! e ! --> ! pointeur sur ettpa !
72
! iauxl ! e ! --> ! pointeur sur auxl !
73
! iauxl2 ! e ! --> ! pointeur sur auxl2 !
74
! itaup ! e ! --> ! pointeur sur taup !
75
! iitlag ! e ! --> ! pointeur sur tlag !
76
! ipiil ! e ! --> ! pointeur sur piil !
77
! ivagau ! e ! --> ! pointeur sur vagaus !
78
! itsuf ! e ! --> ! pointeur sur tsuf !
79
! itsup ! e ! --> ! pointeur sur tsup !
80
! ibx ! e ! --> ! pointeur sur bx !
81
! igradp ! e ! --> ! pointeur sur gradpr !
82
! igradv ! e ! --> ! pointeur sur gradvf !
83
! icroul ! e ! --> ! pointeur sur croule !
84
! itepct ! e ! --> ! pointeur sur tempct !
85
! itsfex ! e ! --> ! pointeur sur tsfext !
86
! itsvar ! e ! --> ! pointeur sur tsvar !
87
! icpgd1 ! e ! --> ! pointeur sur cpgd1 !
88
! icpgd2 ! e ! --> ! pointeur sur cpgd2 !
89
! icpght ! e ! --> ! pointeur sur cpght !
90
! iw1 ! e ! --> ! pointeur sur w1 !
91
! iw2 ! e ! --> ! pointeur sur w2 !
92
! iw3 ! e ! --> ! pointeur sur w3 !
94
! ! tr ! ! tableaux ia/ra !
95
! ifinia ! tr ! --> ! pointeur de la premiere cas libre dan !
96
! ! tr ! ! dans ia en sortie !
97
! ifinra ! tr ! --> ! pointeur de la premiere cas libre dan !
98
! ! tr ! ! dans ia en sortie !
99
!__________________.____._____.________________________________________________.
101
! TYPE : E (ENTIER), R (REEL), A (ALPHANUMERIQUE), T (TABLEAU)
102
! L (LOGIQUE) .. ET TYPES COMPOSES (EX : TR TABLEAU REEL)
103
! MODE : <-- donnee, --> resultat, <-> Donnee modifiee
104
! --- tableau de travail
105
!===============================================================================
109
!===============================================================================
111
!===============================================================================
118
!===============================================================================
122
integer idbia0 , idbra0
123
integer nfabor , ncelet , nfac
124
integer nbpmax , nvp , nvp1 , nvep , nivep
125
integer iindep , iibord , iettpa , iauxl , iauxl2
126
integer itaup , iitlag , ipiil
127
integer ivagau , itsuf , itsup , ibx
128
integer igradp , igradv , icroul
129
integer itepct , itsfex , itsvar
130
integer icpgd1 , icpgd2 , icpght
131
integer ibrgau , itebru
132
integer iw1 , iw2 , iw3
133
integer ifinia , ifinra
137
integer idebia , idebra
139
!===============================================================================
146
!---> PLACE MEMOIRE RESERVEE AVEC DEFINITION DE IFINIA IFINRA
150
ifinia = iibord + nbpmax
153
ifinia = iindep + nbpmax
156
iauxl = iettpa + nbpmax * nvp
157
itaup = iauxl + nbpmax * 3
158
iitlag = itaup + nbpmax
159
ipiil = iitlag + nbpmax * 3
160
ivagau = ipiil + nbpmax * 3
161
itsuf = ivagau + nbpmax * nvgaus
162
itsup = itsuf + nbpmax * 3
163
ibx = itsup + nbpmax * 3
164
itsvar = ibx + nbpmax * 3 * 2
165
igradp = itsvar + nbpmax * nvp1
166
iw1 = igradp + ncelet * 3
169
ifinra = iw3 + ncelet
171
if ( (iphyla.eq.1 .and. itpvar.eq.1) .or. &
174
ifinra = itepct + 2*nbpmax
179
if (iilagr.eq.2) then
181
ifinra = itsfex + nbpmax
186
if ( iilagr.eq.2 .and. iphyla.eq.2 &
187
.and. ltsthe .eq.1 ) then
189
icpgd2 = icpgd1 + nbpmax
190
icpght = icpgd2 + nbpmax
191
ifinra = icpght + nbpmax
198
if (modcpl.gt.0) then
200
ifinra = igradv + ncelet * 9
205
if (iroule.eq.1) then
207
ifinra = icroul + ncelet
212
if ( lamvbr .eq. 1 ) then
214
itebru = ibrgau + nbpmax * nbrgau
215
ifinra = itebru + nbpmax
221
if (nordre.eq.2) then
223
ifinra = iauxl2 + nbpmax*7
230
CALL IASIZE('MEMLA2',IFINIA)
233
CALL RASIZE('MEMLA2',IFINRA)