45#include "implicit_f.inc"
56 TYPE(multi_fvm_struct) :: MULTI_FVM
57 TYPE (H3D_DATABASE) :: H3D_DATA
61 INTEGER :: IERR, LEN, NBMAT
66 IF (multi_fvm%IS_USED)
THEN
68 nbmat = multi_fvm%NBMAT
72 len = numelq + nqvois + numeltg + ntgvois
76 ALLOCATE(multi_fvm%FACE_DATA%SURF(6, len), stat = ierr)
78 CALL ancmsg(msgid=20,anmode=aninfo)
81 ALLOCATE(multi_fvm%FACE_DATA%NORMAL(3, 6, len), stat = ierr)
83 CALL ancmsg(msgid=20,anmode=aninfo)
86 ALLOCATE(multi_fvm%FACE_DATA%WFAC(3, 6, len), stat = ierr)
88 CALL ancmsg(msgid=20,anmode=aninfo)
92 ALLOCATE(multi_fvm%FLUXES(6, 6, len), stat = ierr)
94 CALL ancmsg(msgid=20,anmode=aninfo)
100 ALLOCATE(multi_fvm%SUBVOL_FLUXES(nbmat, 6, len), stat = ierr)
102 CALL ancmsg(msgid=20,anmode=aninfo)
105 ALLOCATE(multi_fvm%SUBMASS_FLUXES(nbmat, 6, len), stat = ierr)
107 CALL ancmsg(msgid=20,anmode=aninfo)
110 ALLOCATE(multi_fvm%SUBENER_FLUXES(nbmat, 6, len), stat = ierr)
112 CALL ancmsg(msgid=20,anmode=aninfo)
116 ALLOCATE(multi_fvm%PHASE_ALPHA(nbmat, len), stat = ierr)
118 CALL ancmsg(msgid=20,anmode=aninfo)
121 ALLOCATE(multi_fvm%PHASE_PRES(nbmat, len), stat = ierr)
123 CALL ancmsg(msgid=20,anmode=aninfo)
126 ALLOCATE(multi_fvm%PHASE_RHO(nbmat, len
128 CALL ancmsg(msgid=20,anmode=aninfo)
131 ALLOCATE(multi_fvm%PHASE_EINT(nbmat, len), stat = ierr)
138 ALLOCATE(multi_fvm%VEL(3, len), stat = ierr)
140 CALL ancmsg(msgid=20,anmode=aninfo)
143 multi_fvm%VEL(:, :) = zero
145 IF(h3d_data%N_VECT_ACC == 1)
THEN
146 ALLOCATE(multi_fvm%ACC(3, len), stat = ierr)
148 CALL ancmsg(msgid=20,anmode=aninfo)
151 multi_fvm%ACC(:, :) = zero
154 ALLOCATE(multi_fvm%SOUND_SPEED(len), stat = ierr)
156 CALL ancmsg(msgid=20,anmode=aninfo)
159 multi_fvm%SOUND_SPEED(:) = zero
161 ALLOCATE(multi_fvm%TBURN(len), stat = ierr)
163 CALL ancmsg(msgid=20,anmode=aninfo)
166 multi_fvm%TBURN(:) = zero
168 ALLOCATE(multi_fvm%BFRAC(nbmat, len), stat = ierr)
170 CALL ancmsg(msgid=20,anmode=aninfo)
173 multi_fvm%BFRAC(:, :) = zero
175 ALLOCATE(multi_fvm%RHO(len), stat = ierr)
177 CALL ancmsg(msgid=20,anmode=aninfo)
180 multi_fvm%RHO(:) = zero
182 ALLOCATE(multi_fvm%EINT(len), stat = ierr)
184 CALL ancmsg(msgid=20,anmode=aninfo)
187 multi_fvm%EINT(:) = zero
189 ALLOCATE(multi_fvm%PRES(len), stat = ierr)
191 CALL ancmsg(msgid=20,anmode=aninfo)
194 multi_fvm%PRES(:) = zero
196 IF (multi_fvm%MUSCL == 1)
THEN
197 ALLOCATE(multi_fvm%GRAD_RHO(3, len), stat = ierr)
199 CALL ancmsg(msgid=20,anmode=aninfo)
202 ALLOCATE(multi_fvm%GRAD_U(3, len), stat = ierr)
204 CALL ancmsg(msgid=20,anmode=aninfo)
207 ALLOCATE(multi_fvm%GRAD_V(3, len), stat = ierr)
209 CALL ancmsg(msgid=20,anmode=aninfo)
212 ALLOCATE(multi_fvm%GRAD_W(3, len), stat = ierr)
214 CALL ancmsg(msgid=20,anmode=aninfo)
217 ALLOCATE(multi_fvm%GRAD_PRES(3, len), stat = ierr)
219 CALL ancmsg(msgid=20,anmode=aninfo)
223 ALLOCATE(multi_fvm%PHASE_GRAD_RHO(3, nbmat, len), stat = ierr)
225 CALL ancmsg(msgid=20,anmode=aninfo)
228 ALLOCATE(multi_fvm%PHASE_GRAD_ALPHA(3, nbmat, len), stat = ierr)
230 CALL ancmsg(msgid=20,anmode=aninfo)
233 ALLOCATE(multi_fvm%PHASE_GRAD_PRES(3, nbmat, len), stat = ierr)
235 CALL ancmsg(msgid=20,anmode=aninfo)
241 IF (multi_fvm%MUSCL == 2)
THEN
244 ALLOCATE(multi_fvm%PHASE_GRAD_ALPHA(3, nbmat, len), stat = ierr)
246 CALL ancmsg(msgid=20,anmode=aninfo)
251 IF (multi_fvm%MUSCL > 0)
THEN
252 ALLOCATE(multi_fvm%FACE_DATA%CENTROID(3, 6, len), stat = ierr)
254 CALL ancmsg(msgid=20,anmode=aninfo)
257 ALLOCATE(multi_fvm%ELEM_DATA%CENTROID(3, len), stat = ierr)
259 CALL ancmsg(msgid=20,anmode=aninfo)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)