OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
inter_struct_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!|| inter_struct_mod ../engine/share/modules/inter_struct_mod.F
25!||--- called by ------------------------------------------------------
26!|| compute_voxel_dimensions ../engine/source/interfaces/intsort/voxel_dimensions.F90
27!|| fill_voxel_local_partial ../engine/source/interfaces/intsort/fill_voxel.F90
28!|| inter7_collision_detection ../engine/source/interfaces/intsort/inter7_collision_detection.F90
29!|| inter_cell_color ../engine/source/interfaces/generic/inter_cell_color.F
30!|| inter_check_sort ../engine/source/interfaces/generic/inter_check_sort.F
31!|| inter_color_voxel ../engine/source/interfaces/generic/inter_color_voxel.F
32!|| inter_count_node_curv ../engine/source/interfaces/generic/inter_count_node_curv.F
33!|| inter_deallocate_wait ../engine/source/interfaces/generic/inter_deallocate_wait.F
34!|| inter_minmax_node ../engine/source/interfaces/generic/inter_minmax_node.F
35!|| inter_prepare_sort ../engine/source/interfaces/generic/inter_prepare_sort.F
36!|| inter_sort ../engine/source/interfaces/generic/inter_sort.F
37!|| inter_sort_07 ../engine/source/interfaces/int07/inter_sort_07.F
38!|| inter_struct_init ../engine/source/interfaces/generic/inter_struct_init.F
39!|| inter_trc_7 ../engine/source/interfaces/int07/inter_trc_7.F
40!|| inttri ../engine/source/interfaces/intsort/inttri.F
41!|| resol ../engine/source/engine/resol.F
42!|| spmd_box_limit_reduction ../engine/source/mpi/interfaces/spmd_box_limit_reduction.F
43!|| spmd_cell_exchange ../engine/source/mpi/generic/spmd_cell_exchange.F
44!|| spmd_cell_list_exchange ../engine/source/mpi/interfaces/spmd_cell_list_exchange.F
45!|| spmd_cell_size_exchange_init ../engine/source/mpi/interfaces/spmd_cell_size_exchange_init.F
46!|| spmd_get_inacti_global ../engine/source/mpi/interfaces/spmd_get_inacti_global.F
47!|| spmd_split_comm_inter ../engine/source/mpi/interfaces/spmd_split_comm_inter.F
48!||====================================================================
50#include "my_real.inc"
51!$COMMENT
52! INTER_STRUCT_MOD :
53! create the inter_struct_type
54! NMN_G : integer ; total number of main node of the interface
55! I_SK_OLD : integer ;
56! INACTI,INACTII : integer ; inacti option
57! CURV_MAX_MAX : float ; max value of CURV_MAX
58! CURV_MAX : float array ;
59! SIZE_CAND_A : integer ; size of cand_a array
60! CAND_A : integer array ;
61! NSNFIOLD : integer array ; old value of NSNFI
62! BOX_LIMIT_MAIN : float array ; min&max position of main nodes
63!$ENDCOMMENT
65 INTEGER :: NMN_G
66 INTEGER :: i_sk_old
67 INTEGER :: inacti,inactii
68 my_real :: curv_max_max
69 my_real, DIMENSION(:), ALLOCATABLE :: curv_max
70 INTEGER :: size_cand_a !< size of cand_a array
71 INTEGER, DIMENSION(:), ALLOCATABLE :: cand_a
72 INTEGER, DIMENSION(:), ALLOCATABLE :: nsnfiold
73 my_real, DIMENSION(12) :: box_limit_main
74 ! voxel structure
75 integer, dimension(:), allocatable :: voxel
76 integer :: voxel_size
77 integer :: nbx, nby, nbz !< number of voxels in each direction is (nbx+2, nby+2, nbz+2)
78 integer :: nb_voxel_on !< number of non empty voxels
79 integer,dimension(:), allocatable :: list_nb_voxel_on !< list of non empty voxels
80 integer :: size_node !< size of node arrays next_nod and last_nod
81 integer, dimension(:), allocatable :: next_nod !< next_node(i) is the next node of node i in the same voxel cell
82 integer, dimension(:), allocatable :: last_nod
83 integer :: istart !< next available space in next_nod and last_nod
84 END TYPE inter_struct_type
85 END MODULE inter_struct_mod
86
87
88
#define my_real
Definition cppsort.cpp:32