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_tri ../engine/source/interfaces/intsort/i25main_tri.F
33!|| i25mainf ../engine/source/interfaces/int25/i25mainf.F
34!|| i25optcd_e2s ../engine/source/interfaces/intsort/i25optcd_e2s.F
35!|| i25optcd_edg ../engine/source/interfaces/intsort/i25optcd_edg.F
36!|| i25sto_e2s ../engine/source/interfaces/intsort/i25sto_e2s.F
37!|| i25sto_edg ../engine/source/interfaces/intsort/i25sto_edg.F
38!|| i25trivox_edg ../engine/source/interfaces/intsort/i25trivox_edg.F
39!|| intmass_update ../engine/source/interfaces/interf/intmass_update.F
40!|| mpp_init ../engine/source/mpi/interfaces/spmd_i7tool.F
41!|| spmd_exch_efric ../engine/source/mpi/interfaces/spmd_exch_efric.F
42!|| spmd_exch_press ../engine/source/mpi/interfaces/spmd_exch_press.F
43!|| spmd_exch_sorting_efric ../engine/source/mpi/interfaces/spmd_exch_sorting_efric.F
44!|| spmd_get_stif25_edg ../engine/source/mpi/interfaces/spmd_getstif25_edg.F
45!|| spmd_i25front_nor ../engine/source/mpi/interfaces/spmd_i25front.F
46!|| spmd_i7fcom_poff ../engine/source/mpi/forces/spmd_i7fcom_poff.F
47!|| spmd_i7fcom_pon ../engine/source/mpi/forces/spmd_i7fcom_pon.F
48!|| spmd_i7xvcom2 ../engine/source/mpi/interfaces/spmd_i7xvcom2.F
49!|| spmd_ifront ../engine/source/mpi/interfaces/spmd_ifront.F
50!|| spmd_initfi ../engine/source/mpi/interfaces/spmd_i7tool.F
51!|| spmd_rnum25_edge ../engine/source/mpi/interfaces/spmd_rnum25_edge.F
52!|| spmd_savefi ../engine/source/mpi/interfaces/spmd_i7tool.F
53!|| spmd_tri25egat ../engine/source/mpi/interfaces/spmd_tri25egat.F
54!|| spmd_tri25vox ../engine/source/mpi/interfaces/spmd_tri25vox.F
55!|| spmd_tri25vox0 ../engine/source/mpi/interfaces/spmd_tri25vox0.F
56!|| spmd_tri25vox0_edge ../engine/source/mpi/interfaces/spmd_tri25vox0.F
57!|| upgrade_rem_2ry ../engine/source/mpi/interfaces/spmd_i7tool.F
58!||--- uses -----------------------------------------------------
59!|| pointerdef ../engine/share/modules/pointerdef_mod.F
60!||====================================================================
61 MODULE tri25ebox
62 USE pointerdef
63#include "my_real.inc"
64 INTEGER, DIMENSION(:,:), ALLOCATABLE :: irem_edge
65 my_real, DIMENSION(:,:), ALLOCATABLE :: xrem_edge
66
67 TYPE(int_pointer) , DIMENSION(:), ALLOCATABLE :: EDGE_FI
68! CRVOXEL25 has one more dimension than CRVOXEL: edge + node
69 INTEGER, PARAMETER :: LRVOXEL25 = 31
70 INTEGER, DIMENSION(:,:,:,:), ALLOCATABLE :: crvoxel25 ! CRVOXEL
71
72
73 INTEGER :: nedge_remote
74
75! size of MPI buffers
76 INTEGER :: islen25,irlen25
77 INTEGER :: islen25e,irlen25e
78 INTEGER :: islen25t,irlen25t
79 INTEGER :: islen25et,IRLEN25ET
80
81 INTEGER :: nfskyie
82
83 TYPE(real4_pointer3), DIMENSION(:), ALLOCATABLE :: edg_bisector_fie
84 TYPE(real4_pointer3), DIMENSION(:), ALLOCATABLE :: vtx_bisector_fie
85 TYPE(real_pointer3), DIMENSION(:), ALLOCATABLE :: x_seg_fie
86 TYPE(real_pointer), DIMENSION(:), ALLOCATABLE :: gape_l_fie
87C TYPE(real_pointer), DIMENSION(:), ALLOCATABLE :: MAIN_FIE
88 TYPE(int_pointer2), DIMENSION(:), ALLOCATABLE :: ledge_fie
89
90
91! Inacti-like data
92 INTEGER, DIMENSION(:), ALLOCATABLE :: renum_edge ! index of old edges
93 INTEGER, DIMENSION(:), ALLOCATABLE :: oldnum_edge ! revesed index
94
95 INTEGER, DIMENSION(:), ALLOCATABLE :: nsnfieold ! old number of edges per SPMD
96 INTEGER :: nedge_remote_old ! total number of old edges
97
98C tableau de pointeurs NISUBSFIE de taille NINTER
99C indiquant pour chaque interface type7, 10 le nbre d elt dans LISUBSFIE
100C par processeur
101 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: nisubsfie
102C tableau de pointeurs LISUBSFIE de taille NINTER
103C indiquant pour chaque interface type7, 10, 24, 25 et pour chaque noeud remote de cette interface
104C la liste des sous interfaces
105 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: lisubsfie
106C tableau de pointeurs INFLG_SUBSFIE de taille NINTER
107C indiquant pour chaque interface type25 et pour chaque noeud remote de cette interface
108C l appartenance a S1, S2, ou GRNOD
109 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: inflg_subsfie
110C tableau de pointeurs ADDSUBSFIE de taille NINTER
111C indiquant pour chaque interface type7, 10, 24, 25, et pour chaque noeud remote de cette interface
112C son adresse de depart dans LISUBSFIE et INFLG_SUBSFIE (tableau dimensionne a NSNR+1 (noeud remote + 1)
113 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: addsubsfie
114
115 END MODULE tri25ebox
#define my_real
Definition cppsort.cpp:32
type(int_pointer), dimension(:), allocatable nisubsfie
Definition tri25ebox.F:101
integer, dimension(:), allocatable renum_edge
Definition tri25ebox.F:92
integer islen25e
Definition tri25ebox.F:77
type(int_pointer), dimension(:), allocatable inflg_subsfie
Definition tri25ebox.F:109
integer islen25et
Definition tri25ebox.F:79
type(real_pointer), dimension(:), allocatable gape_l_fie
Definition tri25ebox.F:86
integer nfskyie
Definition tri25ebox.F:81
integer nedge_remote
Definition tri25ebox.F:73
integer, dimension(:,:,:,:), allocatable crvoxel25
Definition tri25ebox.F:70
integer nedge_remote_old
Definition tri25ebox.F:96
integer irlen25
Definition tri25ebox.F:76
integer irlen25t
Definition tri25ebox.F:78
type(int_pointer), dimension(:), allocatable lisubsfie
Definition tri25ebox.F:105
type(real4_pointer3), dimension(:), allocatable edg_bisector_fie
Definition tri25ebox.F:83
type(real4_pointer3), dimension(:), allocatable vtx_bisector_fie
Definition tri25ebox.F:84
type(int_pointer), dimension(:), allocatable addsubsfie
Definition tri25ebox.F:113
integer islen25t
Definition tri25ebox.F:78
integer islen25
Definition tri25ebox.F:76
integer, dimension(:), allocatable oldnum_edge
Definition tri25ebox.F:93
type(real_pointer3), dimension(:), allocatable x_seg_fie
Definition tri25ebox.F:85
integer, dimension(:,:), allocatable irem_edge
Definition tri25ebox.F:64
integer, dimension(:), allocatable nsnfieold
Definition tri25ebox.F:95
integer irlen25e
Definition tri25ebox.F:77
type(int_pointer2), dimension(:), allocatable ledge_fie
Definition tri25ebox.F:88