OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
inverted_group_alloc.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!|| inverted_group_alloc ../starter/source/model/sets/inverted_group_alloc.F
25!||--- called by ------------------------------------------------------
26!|| compute_connect_partelm ../starter/source/model/sets/compute_connect_partelm.F
27!||--- uses -----------------------------------------------------
28!|| inverted_group_mod ../starter/share/modules1/inverted_group_mod.F
29!||====================================================================
30 SUBROUTINE inverted_group_alloc(INV_GROUP)
31!$COMMENT
32! INVERTED_GROUP_ALLOC description
33! allocation of the different arrays of INV_GROUP structure
34!
35! INVERTED_GROUP_ALLOC organization :
36! none
37!$ENDCOMMENT
38C-----------------------------------------------
39C M o d u l e s
40C-----------------------------------------------
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 TYPE(invertgroup_struct_) :: INV_GROUP
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER :: MY_SIZE
54! ----------------------------------------
55 inv_group%IS_USED = .true.
56 inv_group%ALREADY_ALLOC = .true.
57
58 my_size = inv_group%SIZE_INDPART
59 ALLOCATE( inv_group%INDPARTS( my_size ) )
60 ALLOCATE( inv_group%INDPARTQ( my_size ) )
61 ALLOCATE( inv_group%INDPARTC( my_size ) )
62 ALLOCATE( inv_group%INDPARTT( my_size ) )
63 ALLOCATE( inv_group%INDPARTP( my_size ) )
64 ALLOCATE( inv_group%INDPARTTG( my_size ) )
65 ALLOCATE( inv_group%INDPARTTRIA( my_size ) )
66 ALLOCATE( inv_group%INDPARTR( my_size ) )
67 ALLOCATE( inv_group%INDPARTSPH( my_size ) )
68
69 inv_group%INDPARTS( 1:my_size ) = 0
70 inv_group%INDPARTQ( 1:my_size ) = 0
71 inv_group%INDPARTC( 1:my_size ) = 0
72 inv_group%INDPARTT( 1:my_size ) = 0
73 inv_group%INDPARTP( 1:my_size ) = 0
74 inv_group%INDPARTTG( 1:my_size ) = 0
75 inv_group%INDPARTTRIA( 1:my_size ) = 0
76 inv_group%INDPARTR( 1:my_size ) = 0
77 inv_group%INDPARTSPH( 1:my_size ) = 0
78
79 my_size = inv_group%SIZE_S
80 ALLOCATE( inv_group%PARTS( my_size ) )
81 inv_group%PARTS( 1:my_size ) = 0
82
83 my_size = inv_group%SIZE_Q
84 ALLOCATE( inv_group%PARTQ( my_size ) )
85 inv_group%PARTQ( 1:my_size ) = 0
86
87 my_size = inv_group%SIZE_C
88 ALLOCATE( inv_group%PARTC( my_size ) )
89 inv_group%PARTC( 1:my_size ) = 0
90
91 my_size = inv_group%SIZE_T
92 ALLOCATE( inv_group%PARTT( my_size ) )
93 inv_group%PARTT( 1:my_size ) = 0
94
95 my_size = inv_group%SIZE_P
96 ALLOCATE( inv_group%PARTP( my_size ) )
97 inv_group%PARTP( 1:my_size ) = 0
98
99 my_size = inv_group%SIZE_TG
100 ALLOCATE( inv_group%PARTTG( my_size ) )
101 inv_group%PARTTG( 1:my_size ) = 0
102
103 my_size = inv_group%SIZE_TRIA
104 ALLOCATE( inv_group%PARTTRIA( my_size ) )
105 inv_group%PARTTRIA( 1:my_size ) = 0
106
107 my_size = inv_group%SIZE_R
108 ALLOCATE( inv_group%PARTR( my_size ) )
109 inv_group%PARTR( 1:my_size ) = 0
110
111 my_size = inv_group%SIZE_SPH
112 ALLOCATE( inv_group%PARTSPH( my_size ) )
113 inv_group%PARTSPH( 1:my_size ) = 0
114! ----------------------------------------
115 RETURN
116 END SUBROUTINE inverted_group_alloc
subroutine inverted_group_alloc(inv_group)