33 SUBROUTINE int18_alloc(NUMBER_INTER18,INTER18_LIST,MULTI_FVM,IPARI,XCELL_REMOTE, NSPMD)
54#include "implicit_f.inc"
63 INTEGER,
INTENT(in) :: NSPMD
64 INTEGER,
INTENT(inout) :: NUMBER_INTER18
65 INTEGER,
DIMENSION(NINTER),
INTENT(inout) :: INTER18_LIST
66 INTEGER,
DIMENSION(NPARI,NINTER),
INTENT(in) :: IPARI
67 TYPE(multi_fvm_struct) :: MULTI_FVM
68 TYPE(
array_type),
DIMENSION(NINTER),
INTENT(inout) :: XCELL_REMOTE
72 INTEGER :: N,II,MY_SIZE,MY_SIZE_2,MY_SIZE_3
73 INTEGER :: NTY,INACTI,NODFI
78 multi_fvm%IS_INT18_LAW151 = .false.
86 xcell_remote(n)%SIZE_MY_REAL_ARRAY_1D = 0
88 IF( (nty==7).AND.(inacti ==7))
THEN
89 IF(multi_fvm%IS_USED)
THEN
90 multi_fvm%IS_INT18_LAW151 = .true.
91 my_size = numnod + numels
94 number_inter18 = number_inter18 + 1
95 inter18_list(number_inter18) = n
99 multi_fvm%NUMBER_INT18 = 0
100 IF(multi_fvm%IS_INT18_LAW151) multi_fvm%NUMBER_INT18 = number_inter18
101 ALLOCATE( multi_fvm%INT18_LIST(multi_fvm%NUMBER_INT18) )
106 ALLOCATE( multi_fvm%X_APPEND(3*my_size) )
107 ALLOCATE( multi_fvm%V_APPEND(3*my_size) )
108 ALLOCATE( multi_fvm%MASS_APPEND(my_size) )
109 ALLOCATE( multi_fvm%KINET_APPEND(my_size) )
111 my_size_2 = my_size_2 * nthread
116 my_size_3 = my_size_2
119 multi_fvm%SIZE_FORCE_INT_1 = 3
120 multi_fvm%SIZE_FORCE_INT_2 = my_size_3
121 ALLOCATE( multi_fvm%FORCE_INT(3,my_size_3) )
123 ALLOCATE( multi_fvm%INT18_GLOBAL_LIST(ninter) )
127 IF(multi_fvm%IS_USED)
THEN
128 ALLOCATE( multi_fvm%R_AFI(ninter) )
129 DO ii=1,multi_fvm%NUMBER_INT18
131 IF(
ALLOCATED( multi_fvm%R_AFI(n)%R_FORCE_INT ) )
DEALLOCATE( multi_fvm%R_AFI(n)%R_FORCE_INT
134 nodfi = nodfi +
nsnfi(n)%P(p)
136 multi_fvm%R_AFI(n)%NODFI = nodfi
137 ALLOCATE( multi_fvm%R_AFI(n)%R_FORCE_INT(3,6,nodfi*nthread) )
138 multi_fvm%R_AFI(n)%R_FORCE_INT(1:3,1:6,1:nodfi*nthread) = 0d+00
141 ALLOCATE( multi_fvm%R_AFI(0) )
145 ALLOCATE( multi_fvm%FORCE_INT_PON(3,6,my_size_2) )
146 multi_fvm%SIZE_FORCE_INT_PON = my_size_2
148 ALLOCATE( multi_fvm%FORCE_INT_PON(0,0,0) )
149 multi_fvm%SIZE_FORCE_INT_PON = 0
153 IF( multi_fvm%IS_INT18_LAW151 )
THEN
154 multi_fvm%INT18_LIST(1:multi_fvm%NUMBER_INT18) = inter18_list(1:multi_fvm%NUMBER_INT18