OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
tri25ebox.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!|| tri25ebox ../engine/share/modules/tri25ebox.F
25!||--- called by ------------------------------------------------------
26!|| i25asse2 ../engine/source/interfaces/int25/i25asse.F
27!|| i25cor3_e2s ../engine/source/interfaces/int25/i25cor3_e2s.F
28!|| i25cor3e ../engine/source/interfaces/int25/i25cor3e.F
29!|| i25dst3_e2s ../engine/source/interfaces/int25/i25dst3_e2s.F
30!|| i25for3_e2s ../engine/source/interfaces/int25/i25for3_e2s.F
31!|| i25for3e ../engine/source/interfaces/int25/i25for3e.F
32!|| i25main_free ../engine/source/interfaces/intsort/i25main_free.F
33!|| i25main_tri ../engine/source/interfaces/intsort/i25main_tri.F
34!|| i25mainf ../engine/source/interfaces/int25/i25mainf.F
35!|| i25optcd_e2s ../engine/source/interfaces/intsort/i25optcd_e2s.F
36!|| i25optcd_edg ../engine/source/interfaces/intsort/i25optcd_edg.F
37!|| i25sto_e2s ../engine/source/interfaces/intsort/i25sto_e2s.F
38!|| i25sto_edg ../engine/source/interfaces/intsort/i25sto_edg.F
39!|| i25trivox_edg ../engine/source/interfaces/intsort/i25trivox_edg.F
40!|| intmass_update ../engine/source/interfaces/interf/intmass_update.F
41!|| inttri ../engine/source/interfaces/intsort/inttri.F
42!|| mpp_init ../engine/source/mpi/interfaces/spmd_i7tool.F
43!|| spmd_exch_efric ../engine/source/mpi/interfaces/spmd_exch_efric.F
44!|| spmd_exch_press ../engine/source/mpi/interfaces/spmd_exch_press.F
45!|| spmd_exch_sorting_efric ../engine/source/mpi/interfaces/spmd_exch_sorting_efric.F
46!|| spmd_get_stif25_edg ../engine/source/mpi/interfaces/spmd_getstif25_edg.F
47!|| spmd_i25front_nor ../engine/source/mpi/interfaces/spmd_i25front.F
48!|| spmd_i7fcom_poff ../engine/source/mpi/forces/spmd_i7fcom_poff.F
49!|| spmd_i7fcom_pon ../engine/source/mpi/forces/spmd_i7fcom_pon.F
50!|| spmd_i7xvcom2 ../engine/source/mpi/interfaces/spmd_i7xvcom2.F
51!|| spmd_ifront ../engine/source/mpi/interfaces/spmd_ifront.F
52!|| spmd_initfi ../engine/source/mpi/interfaces/spmd_i7tool.F
53!|| spmd_rnum25_edge ../engine/source/mpi/interfaces/spmd_rnum25_edge.F
54!|| spmd_savefi ../engine/source/mpi/interfaces/spmd_i7tool.F
55!|| spmd_tri25egat ../engine/source/mpi/interfaces/spmd_tri25egat.F
56!|| spmd_tri25vox ../engine/source/mpi/interfaces/spmd_tri25vox.F
57!|| spmd_tri25vox0 ../engine/source/mpi/interfaces/spmd_tri25vox0.F
58!|| spmd_tri25vox0_edge ../engine/source/mpi/interfaces/spmd_tri25vox0.F
59!|| upgrade_rem_2ry ../engine/source/mpi/interfaces/spmd_i7tool.F
60!||--- uses -----------------------------------------------------
61!|| pointerdef ../engine/share/modules/pointerdef_mod.F
62!||====================================================================
63 MODULE tri25ebox
64 USE pointerdef
65#include "my_real.inc"
66 INTEGER, DIMENSION(:,:), ALLOCATABLE :: irem_edge
67 my_real, DIMENSION(:,:), ALLOCATABLE :: xrem_edge
68
69 TYPE(int_pointer) , DIMENSION(:), ALLOCATABLE :: edge_fi
70! CRVOXEL25 has one more dimension than CRVOXEL: edge + node
71 INTEGER, PARAMETER :: lrvoxel25 = 31
72 INTEGER, DIMENSION(:,:,:,:), ALLOCATABLE :: crvoxel25 ! CRVOXEL
73
74
75 INTEGER :: nedge_remote
76
77! size of MPI buffers
78 INTEGER :: islen25,irlen25
79 INTEGER :: islen25e,IRLEN25E
80 INTEGER :: islen25t,irlen25t
82
83 INTEGER :: nfskyie
84
85 TYPE(real4_pointer3), DIMENSION(:), ALLOCATABLE :: edg_bisector_fie
86 TYPE(real4_pointer3), DIMENSION(:), ALLOCATABLE :: vtx_bisector_fie
87 TYPE(real_pointer3), DIMENSION(:), ALLOCATABLE :: x_seg_fie
88 TYPE(real_pointer), DIMENSION(:), ALLOCATABLE :: gape_l_fie
89C TYPE(real_pointer), DIMENSION(:), ALLOCATABLE :: MAIN_FIE
90 TYPE(int_pointer2), DIMENSION(:), ALLOCATABLE :: ledge_fie
91
92
93! Inacti-like data
94 INTEGER, DIMENSION(:), ALLOCATABLE :: renum_edge ! index of old edges
95 INTEGER, DIMENSION(:), ALLOCATABLE :: oldnum_edge ! revesed index
96
97 INTEGER, DIMENSION(:), ALLOCATABLE :: nsnfieold ! old number of edges per SPMD
98 INTEGER :: nedge_remote_old ! total number of old edges
99
100C pointer array NISUBSFIE of size NINTER
101C indicating for each interface type7, 10 the number of elements in LISUBSFIE
102C per processor
103 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: nisubsfie
104C pointer array LISUBSFIE of size NINTER
105C indicating for each interface type7, 10, 24, 25 and for each remote node of this interface
106C the list of sub-interfaces
107 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: lisubsfie
108C pointer array INFLG_SUBSFIE of size NINTER
109C indicating for each interface type25 and for each remote node of this interface
110C belonging to S1, S2, or Grnod
111 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: inflg_subsfie
112C pointer array ADDSUBSFIE of size NINTER
113C indicating for each interface type7, 10, 24, 25, and for each remote node of this interface
114C Its departure address in lisubsfie and inflg_subsfie (Table dimensioning a nsnr + 1 (Remote node + 1)
115 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: addsubsfie
116
117 END MODULE tri25ebox
#define my_real
Definition cppsort.cpp:32
type(int_pointer), dimension(:), allocatable nisubsfie
Definition tri25ebox.F:103
integer, dimension(:), allocatable renum_edge
Definition tri25ebox.F:94
integer islen25e
Definition tri25ebox.F:79
type(int_pointer), dimension(:), allocatable inflg_subsfie
Definition tri25ebox.F:111
integer islen25et
Definition tri25ebox.F:81
integer irlen25et
Definition tri25ebox.F:81
type(real_pointer), dimension(:), allocatable gape_l_fie
Definition tri25ebox.F:88
integer nfskyie
Definition tri25ebox.F:83
integer nedge_remote
Definition tri25ebox.F:75
integer, dimension(:,:,:,:), allocatable crvoxel25
Definition tri25ebox.F:72
integer nedge_remote_old
Definition tri25ebox.F:98
integer irlen25
Definition tri25ebox.F:78
integer irlen25t
Definition tri25ebox.F:80
type(int_pointer), dimension(:), allocatable lisubsfie
Definition tri25ebox.F:107
type(real4_pointer3), dimension(:), allocatable edg_bisector_fie
Definition tri25ebox.F:85
type(real4_pointer3), dimension(:), allocatable vtx_bisector_fie
Definition tri25ebox.F:86
integer, parameter lrvoxel25
Definition tri25ebox.F:71
type(int_pointer), dimension(:), allocatable addsubsfie
Definition tri25ebox.F:115
integer islen25t
Definition tri25ebox.F:80
integer islen25
Definition tri25ebox.F:78
integer, dimension(:), allocatable oldnum_edge
Definition tri25ebox.F:95
type(real_pointer3), dimension(:), allocatable x_seg_fie
Definition tri25ebox.F:87
integer, dimension(:,:), allocatable irem_edge
Definition tri25ebox.F:66
integer, dimension(:), allocatable nsnfieold
Definition tri25ebox.F:97
type(int_pointer), dimension(:), allocatable edge_fi
Definition tri25ebox.F:69
type(int_pointer2), dimension(:), allocatable ledge_fie
Definition tri25ebox.F:90