32
33
34
35
36
37
38
39
40
41
42
43
44
45
47
48
49
50#include "implicit_f.inc"
51
52
53
54#include "com04_c.inc"
55
56
57
58 INTEGER, INTENT(in) :: MODE
59 TYPE(INVERTGROUP_STRUCT_) :: INV_GROUP
60 INTEGER, INTENT(IN) :: NUMSPH
61
62
63
64 INTEGER :: MY_SIZE
65
66
67
68 IF(mode==0) THEN
69 inv_group%IS_USED = .false.
70 inv_group%ALREADY_ALLOC = .false.
71 inv_group%ALREADY_DONE = .false.
72
73 inv_group%SIZE_INDPART = npart + 1
74 inv_group%SIZE_S = numels
75 inv_group%SIZE_Q = numelq
76 inv_group%SIZE_C = numelc
77 inv_group%SIZE_T = numelt
78 inv_group%SIZE_P = numelp
79 inv_group%SIZE_TG = numeltg
80 inv_group%SIZE_TRIA= numeltria
81 inv_group%SIZE_R = numelr
82 inv_group%SIZE_SPH = numsph
83 ELSE
84
85
86 inv_group%IS_USED = .true.
87 my_size = inv_group%SIZE_INDPART
88
89 inv_group%INDPARTS( 1:my_size ) = 0
90 inv_group%INDPARTQ( 1:my_size ) = 0
91 inv_group%INDPARTC( 1:my_size ) = 0
92 inv_group%INDPARTT( 1:my_size ) = 0
93 inv_group%INDPARTP( 1:my_size ) = 0
94 inv_group%INDPARTTG( 1:my_size ) = 0
95 inv_group%INDPARTTRIA( 1:my_size ) = 0
96 inv_group%INDPARTR( 1:my_size ) = 0
97 inv_group%INDPARTSPH( 1:my_size ) = 0
98
99 my_size = inv_group%SIZE_S
100 inv_group%PARTS( 1:my_size ) = 0
101
102 my_size = inv_group%SIZE_Q
103 inv_group%PARTQ( 1:my_size ) = 0
104
105 my_size = inv_group%SIZE_T
106 inv_group%PARTT( 1:my_size ) = 0
107
108 my_size = inv_group%SIZE_P
109 inv_group%PARTP( 1:my_size ) = 0
110
111 my_size = inv_group%SIZE_TG
112 inv_group%PARTTG( 1:my_size ) = 0
113
114 my_size = inv_group%SIZE_TRIA
115 inv_group%PARTTRIA( 1:my_size ) = 0
116
117 my_size = inv_group%SIZE_R
118 inv_group%PARTR( 1:my_size ) = 0
119
120 my_size = inv_group%SIZE_SPH
121 inv_group%PARTSPH( 1:my_size ) = 0
122
123 ENDIF
124
125 RETURN