OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
multi_deallocate.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!|| multi_deallocate ../engine/source/multifluid/multi_deallocate.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||--- uses -----------------------------------------------------
28!|| message_mod ../engine/share/message_module/message_mod.F
29!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
30!||====================================================================
31 SUBROUTINE multi_deallocate(MULTI_FVM)
32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE multi_fvm_mod
36 USE message_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-----------------------------------------------
44C----------------------------------------------
45C D u m m y a r g u m e n t s
46C----------------------------------------------
47 TYPE(multi_fvm_struct) :: MULTI_FVM
48C----------------------------------------------
49C L o c a l V a r i a b l e s
50C-----------------------------------------------
51 INTEGER :: NBMAT
52C----------------------------------------------
53C B e g i n n i n g o f s u b r o u t i n e
54C----------------------------------------------
55C Multifluid law
56 IF (multi_fvm%IS_USED) THEN
57 IF (ALLOCATED(multi_fvm%FLUXES)) DEALLOCATE(multi_fvm%FLUXES)
58 IF (ALLOCATED(multi_fvm%SUBVOL_FLUXES)) DEALLOCATE(multi_fvm%SUBVOL_FLUXES)
59 IF (ALLOCATED(multi_fvm%SUBMASS_FLUXES)) DEALLOCATE(multi_fvm%SUBMASS_FLUXES)
60 IF (ALLOCATED(multi_fvm%SUBENER_FLUXES)) DEALLOCATE(multi_fvm%SUBENER_FLUXES)
61 IF (ALLOCATED(multi_fvm%VEL)) DEALLOCATE(multi_fvm%VEL)
62 IF (ALLOCATED(multi_fvm%ACC)) DEALLOCATE(multi_fvm%ACC)
63 IF (ALLOCATED(multi_fvm%SOUND_SPEED)) DEALLOCATE(multi_fvm%SOUND_SPEED)
64 IF (ALLOCATED(multi_fvm%RHO)) DEALLOCATE(multi_fvm%RHO)
65 IF (ALLOCATED(multi_fvm%EINT)) DEALLOCATE(multi_fvm%EINT)
66 IF (ALLOCATED(multi_fvm%PRES)) DEALLOCATE(multi_fvm%PRES)
67 IF (ALLOCATED(multi_fvm%TBURN)) DEALLOCATE(multi_fvm%TBURN)
68 IF (ALLOCATED(multi_fvm%BFRAC)) DEALLOCATE(multi_fvm%BFRAC)
69 IF (ALLOCATED(multi_fvm%VOL)) DEALLOCATE(multi_fvm%VOL)
70C MUSCL Variables
71 IF (ALLOCATED(multi_fvm%GRAD_RHO)) DEALLOCATE(multi_fvm%GRAD_RHO)
72 IF (ALLOCATED(multi_fvm%GRAD_U)) DEALLOCATE(multi_fvm%GRAD_U)
73 IF (ALLOCATED(multi_fvm%GRAD_V)) DEALLOCATE(multi_fvm%GRAD_V)
74 IF (ALLOCATED(multi_fvm%GRAD_W)) DEALLOCATE(multi_fvm%GRAD_W)
75 IF (ALLOCATED(multi_fvm%GRAD_PRES)) DEALLOCATE(multi_fvm%GRAD_PRES)
76C Face data
77 IF (ALLOCATED(multi_fvm%FACE_DATA%SURF)) DEALLOCATE(multi_fvm%FACE_DATA%SURF)
78 IF (ALLOCATED(multi_fvm%FACE_DATA%NORMAL)) DEALLOCATE(multi_fvm%FACE_DATA%NORMAL)
79 IF (ALLOCATED(multi_fvm%FACE_DATA%WFAC)) DEALLOCATE(multi_fvm%FACE_DATA%WFAC)
80C Phase data
81 nbmat = multi_fvm%NBMAT
82 IF (nbmat > 1) THEN
83 IF (ALLOCATED(multi_fvm%PHASE_ALPHA))
84 . DEALLOCATE(multi_fvm%PHASE_ALPHA)
85 IF (ALLOCATED(multi_fvm%PHASE_PRES))
86 . DEALLOCATE(multi_fvm%PHASE_PRES)
87 IF (ALLOCATED(multi_fvm%PHASE_RHO))
88 . DEALLOCATE(multi_fvm%PHASE_RHO)
89 IF (ALLOCATED(multi_fvm%PHASE_EINT))
90 . DEALLOCATE(multi_fvm%PHASE_EINT)
91
92 IF (multi_fvm%MUSCL > 0) THEN
93 IF (ALLOCATED(multi_fvm%PHASE_GRAD_RHO))
94 . DEALLOCATE(multi_fvm%PHASE_GRAD_RHO)
95 IF (ALLOCATED(multi_fvm%PHASE_GRAD_ALPHA))
96 . DEALLOCATE(multi_fvm%PHASE_GRAD_ALPHA)
97 IF (ALLOCATED(multi_fvm%PHASE_GRAD_PRES))
98 . DEALLOCATE(multi_fvm%PHASE_GRAD_PRES)
99 ENDIF
100 ENDIF
101 IF (ALLOCATED(multi_fvm%FVM_CONNECTIVITY%KVOIS))
102 . DEALLOCATE(multi_fvm%FVM_CONNECTIVITY%KVOIS)
103
104 ENDIF
105C----------------------------------------------
106C E n d o f s u b r o u t i n e
107C----------------------------------------------
108 END SUBROUTINE multi_deallocate
subroutine multi_deallocate(multi_fvm)