OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fvcopy.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| fvcopy ../engine/source/airbag/fvcopy.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||--- uses -----------------------------------------------------
28!|| fvbag_mod ../engine/share/modules/fvbag_mod.F
29!|| message_mod ../engine/share/message_module/message_mod.F
30!||====================================================================
31 SUBROUTINE fvcopy(MONVOL)
32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE message_mod
36 USE fvbag_mod
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C C o m m o n B l o c k s
43C-----------------------------------------------
44#include "com01_c.inc"
45#include "com04_c.inc"
46#include "com08_c.inc"
47#include "param_c.inc"
48#include "scr07_c.inc"
49#include "task_c.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 INTEGER MONVOL(*)
54C-----------------------------------------------
55C L o c a l V a r i a b l e s
56C-----------------------------------------------
57 INTEGER K1, N, ITYP, IFV, NNS, NNTR, NPOLY, NPOLH,
58 . LENP, LENH, I, J, IMESH, LENP_ANIM, NPOLH_ANIM,
59 . LENH_ANIM, NNS_ANIM,NFVBAG_MAX,KK
60C-----------------------------------------------
61C S o u r c e L i n e s
62C-----------------------------------------------
63
64
65C =========
66C The current number of active FVMBAGS (NFVBAG) can be lower
67C than the size of FVDATA, since FVDATA is build before switches to
68C UP
69 k1 = 1
70 nfvbag_max=0
71 i = -huge(i)
72 DO n=1,nvolu
73 ityp=monvol(k1-1+2)
74 IF (ityp==6.OR.ityp==8) THEN
75 ifv = monvol(k1-1+45)
76 nfvbag_max = max(nfvbag_max,ifv)
77 ENDIF
78 k1 = k1 + nimv
79 ENDDO
80 nfvbag_max = max(nfvbag_max,nfvbag)
81C
82 IF (.NOT.ALLOCATED(fvdata_old)) THEN
83 ALLOCATE(fvdata_old(nfvbag_max))
84 DO i=1,nfvbag_max
85 NULLIFY(fvdata_old(i)%IFVPOLY_ANIM,
86 . fvdata_old(i)%IFVTADR_ANIM,
87 . fvdata_old(i)%IFVPOLH_ANIM,
88 . fvdata_old(i)%IFVPADR_ANIM,
89 . fvdata_old(i)%REDIR_ANIM,
90 . fvdata_old(i)%IFVTRI_ANIM,
91 . fvdata_old(i)%NOD_ANIM,
92 . fvdata_old(i)%IFVPOLY,
93 . fvdata_old(i)%IFVTADR,
94 . fvdata_old(i)%IFVPOLH,
95 . fvdata_old(i)%IFVPADR,
96 . fvdata_old(i)%IDPOLH,
97 . fvdata_old(i)%IBPOLH,
98 . fvdata_old(i)%IFVTRI,
99 . fvdata_old(i)%IFVNOD,
100 . fvdata_old(i)%RFVNOD,
101 . fvdata_old(i)%MPOLH,
102 . fvdata_old(i)%EPOLH,
103 . fvdata_old(i)%PPOLH,
104 . fvdata_old(i)%RPOLH,
105 . fvdata_old(i)%GPOLH,
106 . fvdata_old(i)%CPAPOLH,
107 . fvdata_old(i)%CPBPOLH,
108 . fvdata_old(i)%CPCPOLH,
109 . fvdata_old(i)%RMWPOLH,
110 . fvdata_old(i)%VPOLH_INI,
111 . fvdata_old(i)%QPOLH,
112 . fvdata_old(i)%DTPOLH,
113 . fvdata_old(i)%TPOLH,
114 . fvdata_old(i)%CPDPOLH,
115 . fvdata_old(i)%CPEPOLH,
116 . fvdata_old(i)%CPFPOLH,
117 . fvdata_old(i)%SSPPOLH,
118 . fvdata_old(i)%CENTROID_POLH)
119 ENDDO
120
121 DO i=1,nfvbag_max
122 fvdata_old(i)%L_TYPE = 0
123 fvdata_old(i)%ID_DT_OPTION = 0
124 fvdata_old(i)%LAMBDA = zero
125 fvdata_old(i)%DTOLD = zero
126
127 fvdata_old(i)%CFL_COEF = zero
128 fvdata_old(i)%DTMIN = zero
129 fvdata_old(i)%PDISP_OLD = zero
130 fvdata_old(i)%PDISP = zero
131 fvdata_old(i)%DLH = zero
132
133 fvdata_old(i)%NNS = 0
134 fvdata_old(i)%NNTR = 0
135 fvdata_old(i)%LENP = 0
136 fvdata_old(i)%NPOLY = 0
137 fvdata_old(i)%LENH = 0
138 fvdata_old(i)%NPOLH = 0
139
140 fvdata_old(i)%NPOLH_ANIM = 0
141 fvdata_old(i)%NNS_ANIM = 0
142 fvdata_old(i)%ID = 0
143 ENDDO
144 ENDIF
145 IF (.NOT.ALLOCATED(fvdata)) THEN
146 ALLOCATE(fvdata(nfvbag_max))
147 DO i=1,nfvbag_max
148 NULLIFY(fvdata(i)%IFVPOLY_ANIM,
149 . fvdata(i)%IFVTADR_ANIM,
150 . fvdata(i)%IFVPOLH_ANIM,
151 . fvdata(i)%IFVPADR_ANIM,
152 . fvdata(i)%REDIR_ANIM,
153 . fvdata(i)%IFVTRI_ANIM,
154 . fvdata(i)%NOD_ANIM,
155 . fvdata(i)%IFVPOLY,
156 . fvdata(i)%IFVTADR,
157 . fvdata(i)%IFVPOLH,
158 . fvdata(i)%IFVPADR,
159 . fvdata(i)%IDPOLH,
160 . fvdata(i)%IBPOLH,
161 . fvdata(i)%IFVTRI,
162 . fvdata(i)%IFVNOD,
163 . fvdata(i)%RFVNOD,
164 . fvdata(i)%MPOLH,
165 . fvdata(i)%EPOLH,
166 . fvdata(i)%PPOLH,
167 . fvdata(i)%RPOLH,
168 . fvdata(i)%GPOLH,
169 . fvdata(i)%CPAPOLH,
170 . fvdata(i)%CPBPOLH,
171 . fvdata(i)%CPCPOLH,
172 . fvdata(i)%RMWPOLH,
173 . fvdata(i)%VPOLH_INI,
174 . fvdata(i)%QPOLH,
175 . fvdata(i)%DTPOLH,
176 . fvdata(i)%TPOLH,
177 . fvdata(i)%CPDPOLH,
178 . fvdata(i)%CPEPOLH,
179 . fvdata(i)%CPFPOLH,
180 . fvdata(i)%SSPPOLH,
181 . fvdata(i)%CENTROID_POLH)
182 ENDDO
183
184 DO i=1,nfvbag_max
185 fvdata(i)%L_TYPE = zero
186 fvdata(i)%ID_DT_OPTION = zero
187 fvdata(i)%LAMBDA = zero
188 fvdata(i)%DTOLD = zero
189
190 fvdata(i)%CFL_COEF = zero
191 fvdata(i)%DTMIN = zero
192 fvdata(i)%PDISP_OLD = zero
193 fvdata(i)%PDISP = zero
194 fvdata(i)%DLH = zero
195
196 fvdata(i)%NNS = 0
197 fvdata(i)%NNTR = 0
198 fvdata(i)%LENP = 0
199 fvdata(i)%NPOLY = 0
200 fvdata(i)%LENH = 0
201 fvdata(i)%NPOLH = 0
202
203 fvdata(i)%NPOLH_ANIM = 0
204 fvdata(i)%NNS_ANIM = 0
205 fvdata(i)%ID = 0
206 ENDDO
207 ENDIF
208C
209 k1=1
210 ifv=0
211 DO n=1,nvolu
212 ityp = monvol(k1-1+2)
213 IF (ityp==6.OR.ityp==8) THEN
214 ifv = monvol(k1-1+45)
215 imesh=monvol(k1-1+56)
216C
217 nns=monvol(k1-1+46)
218 nntr=monvol(k1-1+47)
219 npoly=monvol(k1-1+48)
220 npolh=monvol(k1-1+49)
221C
222 IF (imesh==1.AND.dt1>zero.AND.ncycle/=0) THEN
223 IF (ispmd/=fvspmd(i)%PMAIN-1) THEN
224 ALLOCATE(fvdata_old(i)%IFVNOD(3,0),
225 . fvdata_old(i)%RFVNOD(2,0),
226 . fvdata_old(i)%IFVTRI(6,0),
227 . fvdata_old(i)%IFVPOLY(0),
228 . fvdata_old(i)%IFVTADR(0),
229 . fvdata_old(i)%IFVPOLH(0),
230 . fvdata_old(i)%IFVPADR(0),
231 . fvdata_old(i)%MPOLH(0),
232 . fvdata_old(i)%QPOLH(3,0),
233 . fvdata_old(i)%EPOLH(0),
234 . fvdata_old(i)%PPOLH(0),
235 . fvdata_old(i)%RPOLH(0),
236 . fvdata_old(i)%GPOLH(0),
237 . fvdata_old(i)%CPAPOLH(0),
238 . fvdata_old(i)%CPBPOLH(0),
239 . fvdata_old(i)%CPCPOLH(0),
240 . fvdata_old(i)%RMWPOLH(0),
241 . fvdata_old(i)%TPOLH(0),
242 . fvdata_old(i)%CPDPOLH(0),
243 . fvdata_old(i)%CPEPOLH(0),
244 . fvdata_old(i)%CPFPOLH(0),
245 . fvdata_old(i)%SSPPOLH(0),
246 . fvdata_old(i)%CENTROID_POLH(3,0))
247 GOTO 1999
248 ENDIF
249 IF (ASSOCIATED(fvdata_old(ifv)%IFVNOD))
250 . DEALLOCATE(fvdata_old(ifv)%IFVNOD)
251 IF (ASSOCIATED(fvdata_old(ifv)%RFVNOD))
252 . DEALLOCATE(fvdata_old(ifv)%RFVNOD)
253 IF (ASSOCIATED(fvdata_old(ifv)%IFVTRI))
254 . DEALLOCATE(fvdata_old(ifv)%IFVTRI)
255 IF (ASSOCIATED(fvdata_old(ifv)%IFVPOLY))
256 . DEALLOCATE(fvdata_old(ifv)%IFVPOLY)
257 IF (ASSOCIATED(fvdata_old(ifv)%IFVTADR))
258 . DEALLOCATE(fvdata_old(ifv)%IFVTADR)
259 IF (ASSOCIATED(fvdata_old(ifv)%IFVPOLH))
260 . DEALLOCATE(fvdata_old(ifv)%IFVPOLH)
261 IF (ASSOCIATED(fvdata_old(ifv)%IFVPADR))
262 . DEALLOCATE(fvdata_old(ifv)%IFVPADR)
263C
264 IF (ASSOCIATED(fvdata_old(ifv)%MPOLH))
265 . DEALLOCATE(fvdata_old(ifv)%MPOLH)
266 IF (ASSOCIATED(fvdata_old(ifv)%QPOLH))
267 . DEALLOCATE(fvdata_old(ifv)%QPOLH)
268 IF (ASSOCIATED(fvdata_old(ifv)%EPOLH))
269 . DEALLOCATE(fvdata_old(ifv)%EPOLH)
270 IF (ASSOCIATED(fvdata_old(ifv)%PPOLH))
271 . DEALLOCATE(fvdata_old(ifv)%PPOLH)
272 IF (ASSOCIATED(fvdata_old(ifv)%RPOLH))
273 . DEALLOCATE(fvdata_old(ifv)%RPOLH)
274 IF (ASSOCIATED(fvdata_old(ifv)%GPOLH))
275 . DEALLOCATE(fvdata_old(ifv)%GPOLH)
276 IF (ASSOCIATED(fvdata_old(ifv)%CPAPOLH))
277 . DEALLOCATE(fvdata_old(ifv)%CPAPOLH)
278 IF (ASSOCIATED(fvdata_old(ifv)%CPBPOLH))
279 . DEALLOCATE(fvdata_old(ifv)%CPBPOLH)
280 IF (ASSOCIATED(fvdata_old(ifv)%CPCPOLH))
281 . DEALLOCATE(fvdata_old(ifv)%CPCPOLH)
282 IF (ASSOCIATED(fvdata_old(ifv)%RMWPOLH))
283 . DEALLOCATE(fvdata_old(ifv)%RMWPOLH)
284 IF (ASSOCIATED(fvdata_old(ifv)%TPOLH))
285 . DEALLOCATE(fvdata_old(ifv)%TPOLH)
286 IF (ASSOCIATED(fvdata_old(ifv)%CPDPOLH))
287 . DEALLOCATE(fvdata_old(ifv)%CPDPOLH)
288 IF (ASSOCIATED(fvdata_old(ifv)%CPEPOLH))
289 . DEALLOCATE(fvdata_old(ifv)%CPEPOLH)
290 IF (ASSOCIATED(fvdata_old(ifv)%CPFPOLH))
291 . DEALLOCATE(fvdata_old(ifv)%CPFPOLH)
292C
293 IF (ASSOCIATED(fvdata_old(ifv)%SSPPOLH))
294 . DEALLOCATE(fvdata_old(ifv)%SSPPOLH)
295 IF (ASSOCIATED(fvdata_old(ifv)%CENTROID_POLH))
296 . DEALLOCATE(fvdata_old(ifv)%CENTROID_POLH)
297C
298 lenp=fvdata(ifv)%LENP
299 lenh=fvdata(ifv)%LENH
300C
301 fvdata_old(ifv)%NNS=nns
302 fvdata_old(ifv)%NNTR=nntr
303 fvdata_old(ifv)%LENP=lenp
304 fvdata_old(ifv)%NPOLY=npoly
305 fvdata_old(ifv)%LENH=lenh
306 fvdata_old(ifv)%NPOLH=npolh
307C
308 ALLOCATE(fvdata_old(ifv)%IFVNOD(3,nns),
309 . fvdata_old(ifv)%RFVNOD(2,nns),
310 . fvdata_old(ifv)%IFVTRI(6,nntr),
311 . fvdata_old(ifv)%IFVPOLY(lenp),
312 . fvdata_old(ifv)%IFVTADR(npoly+1),
313 . fvdata_old(ifv)%IFVPOLH(lenh),
314 . fvdata_old(ifv)%IFVPADR(npolh+1),
315 . fvdata_old(ifv)%MPOLH(npolh),
316 . fvdata_old(ifv)%QPOLH(3,npolh),
317 . fvdata_old(ifv)%EPOLH(npolh),
318 . fvdata_old(ifv)%PPOLH(npolh),
319 . fvdata_old(ifv)%RPOLH(npolh),
320 . fvdata_old(ifv)%GPOLH(npolh),
321 . fvdata_old(ifv)%CPAPOLH(npolh),
322 . fvdata_old(ifv)%CPBPOLH(npolh),
323 . fvdata_old(ifv)%CPCPOLH(npolh),
324 . fvdata_old(ifv)%RMWPOLH(npolh),
325 . fvdata_old(ifv)%TPOLH(npolh),
326 . fvdata_old(ifv)%CPDPOLH(npolh),
327 . fvdata_old(ifv)%CPEPOLH(npolh),
328 . fvdata_old(ifv)%CPFPOLH(npolh),
329 . fvdata_old(ifv)%SSPPOLH(npolh),
330 . fvdata_old(ifv)%CENTROID_POLH(3,npolh) )
331
332C
333 DO i=1,nns
334 fvdata_old(ifv)%IFVNOD(1,i)=fvdata(ifv)%IFVNOD(1,i)
335 fvdata_old(ifv)%IFVNOD(2,i)=fvdata(ifv)%IFVNOD(2,i)
336 fvdata_old(ifv)%IFVNOD(3,i)=fvdata(ifv)%IFVNOD(3,i)
337 fvdata_old(ifv)%RFVNOD(1,i)=fvdata(ifv)%RFVNOD(1,i)
338 fvdata_old(ifv)%RFVNOD(2,i)=fvdata(ifv)%RFVNOD(2,i)
339 ENDDO
340 DO i=1,nntr
341 DO j=1,6
342 fvdata_old(ifv)%IFVTRI(j,i)=
343 . fvdata(ifv)%IFVTRI(j,i)
344 ENDDO
345 ENDDO
346 DO i=1,lenp
347 fvdata_old(ifv)%IFVPOLY(i)=fvdata(ifv)%IFVPOLY(i)
348 ENDDO
349 DO i=1,npoly+1
350 fvdata_old(ifv)%IFVTADR(i)=fvdata(ifv)%IFVTADR(i)
351 ENDDO
352 DO i=1,lenh
353 fvdata_old(ifv)%IFVPOLH(i)=fvdata(ifv)%IFVPOLH(i)
354 ENDDO
355 DO i=1,npolh+1
356 fvdata_old(ifv)%IFVPADR(i)=fvdata(ifv)%IFVPADR(i)
357 ENDDO
358 DO i=1,npolh
359 fvdata_old(ifv)%MPOLH(i)=fvdata(ifv)%MPOLH(i)
360 fvdata_old(ifv)%QPOLH(1,i)=fvdata(ifv)%QPOLH(1,i)
361 fvdata_old(ifv)%QPOLH(2,i)=fvdata(ifv)%QPOLH(2,i)
362 fvdata_old(ifv)%QPOLH(3,i)=fvdata(ifv)%QPOLH(3,i)
363 fvdata_old(ifv)%EPOLH(i)=fvdata(ifv)%EPOLH(i)
364 fvdata_old(ifv)%PPOLH(i)=fvdata(ifv)%PPOLH(i)
365 fvdata_old(ifv)%RPOLH(i)=fvdata(ifv)%RPOLH(i)
366 fvdata_old(ifv)%GPOLH(i)=fvdata(ifv)%GPOLH(i)
367 fvdata_old(ifv)%CPAPOLH(i)=fvdata(ifv)%CPAPOLH(i)
368 fvdata_old(ifv)%CPBPOLH(i)=fvdata(ifv)%CPBPOLH(i)
369 fvdata_old(ifv)%CPCPOLH(i)=fvdata(ifv)%CPCPOLH(i)
370 fvdata_old(ifv)%RMWPOLH(i)=fvdata(ifv)%RMWPOLH(i)
371 fvdata_old(ifv)%TPOLH(i)=fvdata(ifv)%TPOLH(i)
372 fvdata_old(ifv)%CPDPOLH(i)=fvdata(ifv)%CPDPOLH(i)
373 fvdata_old(ifv)%CPEPOLH(i)=fvdata(ifv)%CPEPOLH(i)
374 fvdata_old(ifv)%CPFPOLH(i)=fvdata(ifv)%CPFPOLH(i)
375 fvdata_old(ifv)%SSPPOLH(i)=fvdata(ifv)%SSPPOLH(i)
376 ENDDO
377 DO kk=1,3
378 DO i=1,npolh
379 fvdata_old(ifv)%CENTROID_POLH(kk,i)=fvdata(ifv)%CENTROID_POLH(kk,i)
380 ENDDO
381 ENDDO
382C
383 ELSEIF ((imesh==0.AND.ncycle==0).OR.
384 . (imesh==0.AND.mcheck > 0)) THEN
385 IF (ispmd/=fvspmd(ifv)%PMAIN-1) THEN
386 ALLOCATE(fvdata(ifv)%IFVNOD(3,0),
387 . fvdata(ifv)%RFVNOD(2,0),
388 . fvdata(ifv)%IFVTRI(6,0),
389 . fvdata(ifv)%IFVPOLY(0),
390 . fvdata(ifv)%IFVTADR(0),
391 . fvdata(ifv)%IFVPOLH(0),
392 . fvdata(ifv)%IFVPADR(0),
393 . fvdata(ifv)%IDPOLH(0),
394 . fvdata(ifv)%IBPOLH(0),
395 . fvdata(ifv)%MPOLH(0),
396 . fvdata(ifv)%QPOLH(3,0),
397 . fvdata(ifv)%EPOLH(0),
398 . fvdata(ifv)%PPOLH(0),
399 . fvdata(ifv)%RPOLH(0),
400 . fvdata(ifv)%GPOLH(0),
401 . fvdata(ifv)%CPAPOLH(0),
402 . fvdata(ifv)%CPBPOLH(0),
403 . fvdata(ifv)%CPCPOLH(0),
404 . fvdata(ifv)%RMWPOLH(0),
405 . fvdata(ifv)%VPOLH_INI(0),
406 . fvdata(ifv)%DTPOLH(0),
407 . fvdata(ifv)%TPOLH(0),
408 . fvdata(ifv)%CPDPOLH(0),
409 . fvdata(ifv)%CPEPOLH(0),
410 . fvdata(ifv)%CPFPOLH(0),
411 . fvdata(ifv)%IFVPOLY_ANIM(0),
412 . fvdata(ifv)%IFVTADR_ANIM(0),
413 . fvdata(ifv)%IFVPOLH_ANIM(0),
414 . fvdata(ifv)%IFVPADR_ANIM(0),
415 . fvdata(ifv)%IFVTRI_ANIM(6,0),
416 . fvdata(ifv)%REDIR_ANIM(0),
417 . fvdata(ifv)%NOD_ANIM(3,0),
418 . fvdata(ifv)%SSPPOLH(0),
419 . fvdata(ifv)%CENTROID_POLH(3,0))
420 GOTO 1999
421 ENDIF
422 lenp=fvdata_old(ifv)%LENP
423 lenh=fvdata_old(ifv)%LENH
424 npolh_anim=fvdata_old(ifv)%NPOLH_ANIM
425 nns_anim=fvdata_old(ifv)%NNS_ANIM
426 lenp_anim=fvdata_old(ifv)%IFVTADR_ANIM(npoly+1)
427 lenh_anim=fvdata_old(ifv)%IFVPADR_ANIM(npolh_anim+1)
428C
429 fvdata(ifv)%NNS=nns
430 fvdata(ifv)%NNTR=nntr
431 fvdata(ifv)%LENP=lenp
432 fvdata(ifv)%NPOLY=npoly
433 fvdata(ifv)%LENH=lenh
434 fvdata(ifv)%NPOLH=npolh
435 fvdata(ifv)%NPOLH_ANIM=npolh_anim
436 fvdata(ifv)%NNS_ANIM=nns_anim
437 fvdata(ifv)%ID=fvdata_old(ifv)%ID
438C
439 ALLOCATE(fvdata(ifv)%IFVNOD(3,nns),
440 . fvdata(ifv)%RFVNOD(2,nns),
441 . fvdata(ifv)%IFVTRI(6,nntr),
442 . fvdata(ifv)%IFVPOLY(lenp),
443 . fvdata(ifv)%IFVTADR(npoly+1),
444 . fvdata(ifv)%IFVPOLH(lenh),
445 . fvdata(ifv)%IFVPADR(npolh+1),
446 . fvdata(ifv)%IDPOLH(npolh),
447 . fvdata(ifv)%IBPOLH(npolh),
448 . fvdata(ifv)%MPOLH(npolh),
449 . fvdata(ifv)%QPOLH(3,npolh),
450 . fvdata(ifv)%EPOLH(npolh),
451 . fvdata(ifv)%PPOLH(npolh),
452 . fvdata(ifv)%RPOLH(npolh),
453 . fvdata(ifv)%GPOLH(npolh),
454 . fvdata(ifv)%CPAPOLH(npolh),
455 . fvdata(ifv)%CPBPOLH(npolh),
456 . fvdata(ifv)%CPCPOLH(npolh),
457 . fvdata(ifv)%RMWPOLH(npolh),
458 . fvdata(ifv)%VPOLH_INI(npolh),
459 . fvdata(ifv)%DTPOLH(npolh),
460 . fvdata(ifv)%TPOLH(npolh),
461 . fvdata(ifv)%CPDPOLH(npolh),
462 . fvdata(ifv)%CPEPOLH(npolh),
463 . fvdata(ifv)%CPFPOLH(npolh),
464 . fvdata(ifv)%IFVPOLY_ANIM(lenp_anim),
465 . fvdata(ifv)%IFVTADR_ANIM(npoly+1),
466 . fvdata(ifv)%IFVPOLH_ANIM(lenh_anim),
467 . fvdata(ifv)%IFVPADR_ANIM(npolh_anim+1),
468 . fvdata(ifv)%IFVTRI_ANIM(6,nntr),
469 . fvdata(ifv)%REDIR_ANIM(nns_anim),
470 . fvdata(ifv)%NOD_ANIM(3,nns_anim),
471 . fvdata(ifv)%SSPPOLH(npolh),
472 . fvdata(ifv)%CENTROID_POLH(3,npolh))
473
474C
475 fvdata(ifv)%L_TYPE = fvdata_old(ifv)%L_TYPE
476 fvdata(ifv)%ID_DT_OPTION = fvdata_old(ifv)%ID_DT_OPTION
477 fvdata(ifv)%LAMBDA = fvdata_old(ifv)%LAMBDA
478 fvdata(ifv)%DTOLD = fvdata_old(ifv)%DTOLD
479
480 fvdata(ifv)%CFL_COEF = fvdata_old(ifv)%CFL_COEF
481 fvdata(ifv)%PDISP_OLD = fvdata_old(ifv)%PDISP_OLD
482 fvdata(ifv)%PDISP = fvdata_old(ifv)%PDISP
483 fvdata(ifv)%DTMIN = fvdata_old(ifv)%DTMIN
484C
485 DO i=1,nns
486 fvdata(ifv)%IFVNOD(1,i)=fvdata_old(ifv)%IFVNOD(1,i)
487 fvdata(ifv)%IFVNOD(2,i)=fvdata_old(ifv)%IFVNOD(2,i)
488 fvdata(ifv)%IFVNOD(3,i)=fvdata_old(ifv)%IFVNOD(3,i)
489 fvdata(ifv)%RFVNOD(1,i)=fvdata_old(ifv)%RFVNOD(1,i)
490 fvdata(ifv)%RFVNOD(2,i)=fvdata_old(ifv)%RFVNOD(2,i)
491 ENDDO
492 DO i=1,nntr
493 DO j=1,6
494 fvdata(ifv)%IFVTRI(j,i)=
495 . fvdata_old(ifv)%IFVTRI(j,i)
496 ENDDO
497 ENDDO
498 DO i=1,lenp
499 fvdata(ifv)%IFVPOLY(i)=fvdata_old(ifv)%IFVPOLY(i)
500 ENDDO
501 DO i=1,npoly+1
502 fvdata(ifv)%IFVTADR(i)=fvdata_old(ifv)%IFVTADR(i)
503 ENDDO
504 DO i=1,lenh
505 fvdata(ifv)%IFVPOLH(i)=fvdata_old(ifv)%IFVPOLH(i)
506 ENDDO
507 DO i=1,npolh+1
508 fvdata(ifv)%IFVPADR(i)=fvdata_old(ifv)%IFVPADR(i)
509 ENDDO
510 DO i=1,npolh
511 fvdata(ifv)%IDPOLH(i)=fvdata_old(ifv)%IDPOLH(i)
512 fvdata(ifv)%IBPOLH(i)=fvdata_old(ifv)%IBPOLH(i)
513 ENDDO
514 DO i=1,lenp_anim
515 fvdata(ifv)%IFVPOLY_ANIM(i)=
516 . fvdata_old(ifv)%IFVPOLY_ANIM(i)
517 ENDDO
518 DO i=1,npoly+1
519 fvdata(ifv)%IFVTADR_ANIM(i)=
520 . fvdata_old(ifv)%IFVTADR_ANIM(i)
521 ENDDO
522 DO i=1,lenh_anim
523 fvdata(ifv)%IFVPOLH_ANIM(i)=
524 . fvdata_old(ifv)%IFVPOLH_ANIM(i)
525 ENDDO
526 DO i=1,npolh_anim+1
527 fvdata(ifv)%IFVPADR_ANIM(i)=
528 . fvdata_old(ifv)%IFVPADR_ANIM(i)
529 ENDDO
530 DO i=1,nntr
531 DO j=1,6
532 fvdata(ifv)%IFVTRI_ANIM(j,i)=
533 . fvdata_old(ifv)%IFVTRI_ANIM(j,i)
534 ENDDO
535 ENDDO
536 DO i=1,nns_anim
537 fvdata(ifv)%REDIR_ANIM(i)=
538 . fvdata_old(ifv)%REDIR_ANIM(i)
539 ENDDO
540 DO i=1,nns_anim
541 DO j=1,3
542 fvdata(ifv)%NOD_ANIM(j,i)=
543 . fvdata_old(ifv)%NOD_ANIM(j,i)
544 ENDDO
545 ENDDO
546 DO i=1,npolh
547 fvdata(ifv)%MPOLH(i)=fvdata_old(ifv)%MPOLH(i)
548 fvdata(ifv)%QPOLH(1,i)=fvdata_old(ifv)%QPOLH(1,i)
549 fvdata(ifv)%QPOLH(2,i)=fvdata_old(ifv)%QPOLH(2,i)
550 fvdata(ifv)%QPOLH(3,i)=fvdata_old(ifv)%QPOLH(3,i)
551 fvdata(ifv)%EPOLH(i)=fvdata_old(ifv)%EPOLH(i)
552 fvdata(ifv)%PPOLH(i)=fvdata_old(ifv)%PPOLH(i)
553 fvdata(ifv)%RPOLH(i)=fvdata_old(ifv)%RPOLH(i)
554 fvdata(ifv)%GPOLH(i)=fvdata_old(ifv)%GPOLH(i)
555 fvdata(ifv)%CPAPOLH(i)=fvdata_old(ifv)%CPAPOLH(i)
556 fvdata(ifv)%CPBPOLH(i)=fvdata_old(ifv)%CPBPOLH(i)
557 fvdata(ifv)%CPCPOLH(i)=fvdata_old(ifv)%CPCPOLH(i)
558 fvdata(ifv)%RMWPOLH(i)=fvdata_old(ifv)%RMWPOLH(i)
559 fvdata(ifv)%VPOLH_INI(i)=fvdata_old(ifv)%VPOLH_INI(i)
560 fvdata(ifv)%DTPOLH(i)=fvdata_old(ifv)%DTPOLH(i)
561 fvdata(ifv)%TPOLH(i)=fvdata_old(ifv)%TPOLH(i)
562 fvdata(ifv)%CPDPOLH(i)=fvdata_old(ifv)%CPDPOLH(i)
563 fvdata(ifv)%CPEPOLH(i)=fvdata_old(ifv)%CPEPOLH(i)
564 fvdata(ifv)%CPFPOLH(i)=fvdata_old(ifv)%CPFPOLH(i)
565 fvdata(ifv)%SSPPOLH(i)=fvdata_old(ifv)%SSPPOLH(i)
566 ENDDO
567 DO kk=1,3
568 DO i=1,npolh
569 fvdata(ifv)%CENTROID_POLH(kk,i)=fvdata_old(ifv)%CENTROID_POLH(kk,i)
570 ENDDO
571 ENDDO
572
573
574 fvdata(ifv)%DLH=fvdata_old(ifv)%DLH
575C
576 DEALLOCATE(fvdata_old(ifv)%IFVNOD,
577 . fvdata_old(ifv)%RFVNOD,
578 . fvdata_old(ifv)%IFVTRI,
579 . fvdata_old(ifv)%IFVPOLY,
580 . fvdata_old(ifv)%IFVTADR,
581 . fvdata_old(ifv)%IFVPOLH,
582 . fvdata_old(ifv)%IFVPADR,
583 . fvdata_old(ifv)%IDPOLH,
584 . fvdata_old(ifv)%IBPOLH,
585 . fvdata_old(ifv)%MPOLH,
586 . fvdata_old(ifv)%QPOLH,
587 . fvdata_old(ifv)%EPOLH,
588 . fvdata_old(ifv)%PPOLH,
589 . fvdata_old(ifv)%RPOLH,
590 . fvdata_old(ifv)%GPOLH,
591 . fvdata_old(ifv)%CPAPOLH,
592 . fvdata_old(ifv)%CPBPOLH,
593 . fvdata_old(ifv)%CPCPOLH,
594 . fvdata_old(ifv)%RMWPOLH,
595 . fvdata_old(ifv)%VPOLH_INI,
596 . fvdata_old(ifv)%DTPOLH,
597 . fvdata_old(ifv)%TPOLH,
598 . fvdata_old(ifv)%CPDPOLH,
599 . fvdata_old(ifv)%CPEPOLH,
600 . fvdata_old(ifv)%CPFPOLH,
601 . fvdata_old(ifv)%IFVPOLY_ANIM,
602 . fvdata_old(ifv)%IFVTADR_ANIM,
603 . fvdata_old(ifv)%IFVPOLH_ANIM,
604 . fvdata_old(ifv)%IFVPADR_ANIM,
605 . fvdata_old(ifv)%IFVTRI_ANIM,
606 . fvdata_old(ifv)%REDIR_ANIM,
607 . fvdata_old(ifv)%NOD_ANIM,
608 . fvdata_old(ifv)%SSPPOLH,
609 . fvdata_old(ifv)%CENTROID_POLH)
610 ENDIF
611 ENDIF
612 1999 CONTINUE
613 k1=k1+nimv
614 ENDDO
615C
616 mcheck = 0
617 RETURN
618 END
subroutine fvcopy(monvol)
Definition fvcopy.F:32
#define max(a, b)
Definition macros.h:21
type(fvbag_data), dimension(:), allocatable fvdata_old
Definition fvbag_mod.F:193
type(fvbag_spmd), dimension(:), allocatable fvspmd
Definition fvbag_mod.F:129
type(fvbag_data), dimension(:), allocatable fvdata
Definition fvbag_mod.F:128
integer nfvbag
Definition fvbag_mod.F:127