OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
setdef_mod.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!|| setdef_mod ../common_source/modules/setdef_mod.F
25!||--- called by ------------------------------------------------------
26!|| check_eltyp ../starter/source/model/sets/check_eltyp.F
27!|| clause_init ../starter/source/model/sets/clause_init.F
28!|| contrl ../starter/source/starter/contrl.F
29!|| copy_list_in_cause ../starter/source/model/sets/create_element_clause.F
30!|| create_box_clause ../starter/source/model/sets/create_box_clause.F
31!|| create_elem_all_clause ../starter/source/model/sets/create_elem_all_clause.F
32!|| create_element_from_part ../starter/source/model/sets/create_element_from_part.F
33!|| create_ellipse_clause ../starter/source/model/sets/create_ellipse_clause.F
34!|| create_elt_box ../starter/source/model/sets/create_elt_box.F
35!|| create_elt_clause ../starter/source/model/sets/create_element_clause.F
36!|| create_elt_list ../starter/source/model/sets/create_element_clause.F
37!|| create_elt_list_g ../starter/source/model/sets/create_element_clause.F
38!|| create_line_from_element ../starter/source/model/sets/create_line_from_element.F
39!|| create_line_from_surface ../starter/source/model/sets/create_line_from_surface.F
40!|| create_line_from_surface_all ../starter/source/model/sets/create_line_from_surface_all.F
41!|| create_line_from_surface_ext ../starter/source/model/sets/create_line_from_surface_ext.F
42!|| create_line_from_surface_ext_all ../starter/source/model/sets/create_line_from_ext_surface_ext_all.F
43!|| create_map_tables ../starter/source/model/sets/map_tables.F
44!|| create_node_all_clause ../starter/source/model/sets/create_node_all_clause.F
45!|| create_node_box ../starter/source/model/sets/create_node_box.F
46!|| create_node_clause ../starter/source/model/sets/create_node_clause.F
47!|| create_node_from_element ../starter/source/model/sets/create_node_from_element.F
48!|| create_node_from_rbody ../starter/source/model/sets/create_node_from_rbody.F
49!|| create_node_from_seg ../starter/source/model/sets/create_node_from_seg.F
50!|| create_node_list ../starter/source/model/sets/create_node_clause.F
51!|| create_node_list_g ../starter/source/model/sets/create_node_clause.F
52!|| create_nodens_clause ../starter/source/model/sets/create_nodens_clause.F90
53!|| create_part_all_clause ../starter/source/model/sets/create_part_all_clause.F
54!|| create_part_clause ../starter/source/model/sets/create_part_clause.F
55!|| create_part_list ../starter/source/model/sets/create_part_clause.F
56!|| create_part_list_g ../starter/source/model/sets/create_part_clause.F
57!|| create_plane_clause ../starter/source/model/sets/create_plane_clause.F90
58!|| create_rbody_box ../starter/source/model/sets/create_rbody_box.F
59!|| create_rbody_clause ../starter/source/model/sets/create_rbody_clause.F
60!|| create_rbody_list ../starter/source/model/sets/create_rbody_clause.F
61!|| create_rbody_list_g ../starter/source/model/sets/create_rbody_clause.F
62!|| create_seg_clause ../starter/source/model/sets/create_seg_clause.F
63!|| create_set_array ../starter/source/model/sets/create_set_clause.F
64!|| create_set_clause ../starter/source/model/sets/create_set_clause.F
65!|| create_set_collect ../starter/source/model/sets/create_setcol_clause.F
66!|| create_set_list ../starter/source/model/sets/create_set_clause.F
67!|| create_set_list_g ../starter/source/model/sets/create_set_clause.F
68!|| create_setcol_array ../starter/source/model/sets/create_setcol_clause.F
69!|| create_setcol_clause ../starter/source/model/sets/create_setcol_clause.F
70!|| create_setcol_list ../starter/source/model/sets/create_setcol_clause.F
71!|| create_setcol_list_g ../starter/source/model/sets/create_setcol_clause.F
72!|| create_subm_clause ../starter/source/model/sets/create_subm_clause.F
73!|| create_subm_list ../starter/source/model/sets/create_subm_clause.F
74!|| create_subm_list_g ../starter/source/model/sets/create_subm_clause.F
75!|| create_subs_clause ../starter/source/model/sets/create_subs_clause.F
76!|| create_subs_list ../starter/source/model/sets/create_subs_clause.F
77!|| create_subs_list_g ../starter/source/model/sets/create_subs_clause.F
78!|| create_surface_from_element ../starter/source/model/sets/create_surface_from_element.F
79!|| elem_1d_line_buffer ../starter/source/model/sets/elem_1D_line_buffer.F
80!|| fill_gr ../starter/source/model/sets/fill_gr.F
81!|| fill_igr ../starter/source/model/sets/fill_igr.F
82!|| fill_line ../starter/source/model/sets/fill_gr.F
83!|| fill_surf ../starter/source/model/sets/fill_gr.F
84!|| fill_surf_ellipse ../starter/source/model/sets/fill_gr_surf_ellipse.F
85!|| fill_surf_plane ../starter/source/model/sets/fill_gr_surf_plane.F90
86!|| fractal_element_neighbor ../starter/source/materials/fail/fractal/fractal_element_neighbor.F90
87!|| hm_read_inivol ../starter/source/initial_conditions/inivol/hm_read_inivol.F90
88!|| hm_set ../starter/source/model/sets/hm_set.F
89!|| insert_clause_in_set ../starter/source/model/sets/insert_clause_in_set.F
90!|| lectur ../engine/source/input/lectur.F
91!|| line_buffer ../starter/source/model/sets/line_buffer.F
92!|| quad_surface_buffer ../starter/source/model/sets/quad_surface_buffer.F
93!|| set_init ../starter/source/model/sets/set_init.F
94!|| set_mod ../starter/share/modules1/set_mod.F
95!|| shell_surface_buffer ../starter/source/model/sets/shell_surface_buffer.F
96!|| shell_surface_buffer_remesh ../starter/source/model/sets/shell_surface_buffer_remesh.F
97!|| solid_surface_buffer ../starter/source/model/sets/solid_surface_buffer.F
98!|| sort_set ../starter/source/model/sets/sort_sets.F
99!|| st_qaprint_driver ../starter/source/output/qaprint/st_qaprint_driver.F
100!|| st_qaprint_set ../starter/source/output/qaprint/st_qaprint_set.F
101!|| surface_buffer ../starter/source/model/sets/surface_buffer.F
102!|| surface_type ../starter/source/model/sets/surface_type.F90
103!|| tag_node_from_part_sphcel ../starter/source/model/sets/tag_node_from_part_sphcel.F90
104!||--- uses -----------------------------------------------------
105!|| names_and_titles_mod ../common_source/modules/names_and_titles_mod.F
106!||====================================================================
109C-----------------------------------------------------------------------
110#include "my_real.inc"
111c=======================================================================
112!---------
113! SET DATA STRUCTURE
114!---------
115c=======================================================================
116c=======================================================================
117! SET
118c=======================================================================
119C=======================================================================
120 INTEGER :: nsets
121
122C-----------------------------------------------------------------------
123 TYPE set_
124 INTEGER :: set_id ! SET identifier
125 CHARACTER(LEN=NCHARTITLE) :: title ! SET title
126 INTEGER :: set_type ! SET type (1-GENERAL, 2-COLLECT)
127 INTEGER :: set_activ
128 INTEGER :: keytype ! SET KEY type (all keys)
129 INTEGER :: surf_set_id ! SET surface ID
130 INTEGER :: line_set_id ! SET line ID
131 INTEGER :: surf_set_flag ! SET surface activation flag
132 INTEGER :: line_set_flag ! SET line activation flag
133 INTEGER :: nseg ! SET surface segments
134 INTEGER :: nseg_1d ! SET line/edge segments
135 INTEGER :: ext_all ! type of the surface : /EXT or /ALL
136!==============================================================
137! INTEGER :: LEVEL ! Hierarchy level
138! (FLAG 'SUBLEVEL DONE' FOR SET OF SET)
139! = 0 ---> not yet initialized
140! = 1 ---> done
141 INTEGER :: set_grnod_id ! SET grnod identifier
142 INTEGER :: set_grpart_id ! SET grpart identifier
143 INTEGER :: set_grsolid_id ! SET grsolid identifier
144 INTEGER :: set_grsh4n_id ! SET grsh4n identifier
145 INTEGER :: set_grsh3n_id ! SET grsh3n identifier
146 INTEGER :: set_grquad_id ! SET grquad identifier
147 INTEGER :: set_grtria_id ! SET grtria identifier
148 INTEGER :: set_grbeam_id ! SET grbeam identifier
149 INTEGER :: set_grtruss_id ! SET grtruss identifier
150 INTEGER :: set_grspring_id ! SET grspring identifier
151 INTEGER :: set_nsurf_id ! SET grsurf identifier
152 INTEGER :: set_nslin_id ! SET grslin identifier
153!
154 INTEGER :: nb_node ! SET nb of nodes
155 INTEGER :: nb_part ! SET nb of parts
156 INTEGER :: nb_solid ! SET nb of solids
157 INTEGER :: nb_sh4n ! SET nb of sh4n
158 INTEGER :: nb_sh3n ! SET nb of sh3n
159 INTEGER :: nb_quad ! SET nb of quads
160 INTEGER :: nb_tria ! SET nb of trias
161 INTEGER :: nb_beam ! SET nb of beams
162 INTEGER :: nb_truss ! SET nb of truss
163 INTEGER :: nb_spring ! SET nb of spring
164 INTEGER :: has_surf_seg ! Flag indicating if a surface was created even if NB_SURF_SEG = 0
165 INTEGER :: nb_surf_seg ! SET nb of surfacce's segments
166 INTEGER :: has_line_seg ! Flag indicating if a line was created even if NB_SURF_SEG = 0
167 INTEGER :: nb_line_seg ! SET nb of line/edge's segments
168!
169 INTEGER :: nb_rbody ! SET nb of Rbody
170 INTEGER :: nb_sphcel ! SET nb of sphcel
171
172 INTEGER :: nb_ellipse ! CLAUSE nb of Ellipses within a SET (max = 1, one per /SET)
173 INTEGER :: ellipse_iad_bufr
174 INTEGER :: ellipse_id_madymo
175 INTEGER :: ellipse_n
176 my_real :: ellipse_xc
177 my_real :: ellipse_yc
178 my_real :: ellipse_zc
179 my_real :: ellipse_a
180 my_real :: ellipse_b
181 my_real :: ellipse_c
182
183 INTEGER :: nb_plane ! CLAUSE nb of Planes within a SET (max = 1, one per /SET)
184 INTEGER :: plane_iad_bufr
185 my_real :: plane_xm
186 my_real :: plane_ym
187 my_real :: plane_zm
188 my_real :: plane_xm1
189 my_real :: plane_ym1
190 my_real :: plane_zm1
191
192 INTEGER :: nb_nodens ! CLAUSE nb of NODENS -> unsortable node list
193!
194 INTEGER, DIMENSION(:), ALLOCATABLE :: node
195 INTEGER, DIMENSION(:), ALLOCATABLE :: part
196 INTEGER, DIMENSION(:), ALLOCATABLE :: solid
197 INTEGER, DIMENSION(:), ALLOCATABLE :: sh4n
198 INTEGER, DIMENSION(:), ALLOCATABLE :: sh3n
199 INTEGER, DIMENSION(:), ALLOCATABLE :: quad
200 INTEGER, DIMENSION(:), ALLOCATABLE :: tria
201 INTEGER, DIMENSION(:), ALLOCATABLE :: beam
202 INTEGER, DIMENSION(:), ALLOCATABLE :: truss
203 INTEGER, DIMENSION(:), ALLOCATABLE :: spring
204 INTEGER, DIMENSION(:), ALLOCATABLE :: nodens
205 INTEGER, DIMENSION(:), ALLOCATABLE :: sphcel
206!
207 INTEGER, DIMENSION(:), ALLOCATABLE :: rbody
208!
209 INTEGER, DIMENSION(:,:), ALLOCATABLE :: surf_nodes ! dim = (NB_SURF_SEG,4)
210 INTEGER, DIMENSION(:) , ALLOCATABLE :: surf_eltyp ! dim = (NB_SURF_SEG)
211 INTEGER, DIMENSION(:) , ALLOCATABLE :: surf_elem ! dim = (NB_SURF_SEG)
212!
213 INTEGER, DIMENSION(:,:), ALLOCATABLE :: line_nodes ! dim = (NB_LINE_SEG,2)
214 INTEGER, DIMENSION(:) , ALLOCATABLE :: line_eltyp ! dim = (NB_LINE_SEG)
215 INTEGER, DIMENSION(:) , ALLOCATABLE :: line_elem ! dim = (NB_LINE_SEG)
216
217 my_real, DIMENSION(:) , ALLOCATABLE :: ellipse_skew
218!==============================================================
219! SET HIERARCHY
220 INTEGER :: father
221 INTEGER :: nchild
222!
223 INTEGER, DIMENSION(:) , ALLOCATABLE :: child
224 INTEGER, DIMENSION(:) , ALLOCATABLE :: child_op ! =0 add ; =1 remove
225!==============================================================
226!--------------
227 END TYPE set_
228C-----------------------------------------------------------------------
229c---------------
230 END MODULE setdef_mod
231
232
233!||====================================================================
234!|| set_scratch_mod ../common_source/modules/setdef_mod.F
235!||--- called by ------------------------------------------------------
236!|| create_box_clause ../starter/source/model/sets/create_box_clause.F
237!|| create_line_from_element ../starter/source/model/sets/create_line_from_element.F
238!|| create_line_from_surface ../starter/source/model/sets/create_line_from_surface.F
239!|| create_line_from_surface_ext_all ../starter/source/model/sets/create_line_from_ext_surface_ext_all.F
240!|| create_set_clause ../starter/source/model/sets/create_set_clause.F
241!|| create_set_collect ../starter/source/model/sets/create_setcol_clause.F
242!|| create_setcol_clause ../starter/source/model/sets/create_setcol_clause.F
243!|| create_surface_from_element ../starter/source/model/sets/create_surface_from_element.F
244!|| hm_set ../starter/source/model/sets/hm_set.F
245!|| insert_clause_in_set ../starter/source/model/sets/insert_clause_in_set.F
246!||====================================================================
248C-----------------------------------------------------------------------
249c=======================================================================
250!---------
251! SET DATA STRUCTURE
252!---------
253c=======================================================================
254c=======================================================================
255! SET
256c=======================================================================
257C=======================================================================
258C-----------------------------------------------------------------------
260 INTEGER :: sz_surf,sz_line
261 INTEGER, DIMENSION(:,:), ALLOCATABLE :: surf
262 INTEGER, DIMENSION(:,:), ALLOCATABLE :: line
263!==============================================================
264!--------------
265 END TYPE set_scratch
266C-----------------------------------------------------------------------
267c---------------
268 END MODULE set_scratch_mod
integer function father(nn, ixc, ipartc, ipart, sontype)
#define my_real
Definition cppsort.cpp:32
integer, parameter nchartitle
integer nsets
Definition setdef_mod.F:120