OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
tri25tmp_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!|| tri25tmp ../engine/share/modules/tri25tmp_mod.F
25!||--- called by ------------------------------------------------------
26!|| check_fi ../engine/source/mpi/interfaces/spmd_i25slide.F
27!|| deallocate_fi1_tmp ../engine/source/mpi/interfaces/spmd_i25slide.F
28!|| reallocate_fi1 ../engine/source/mpi/interfaces/spmd_i25slide.F
29!|| spmd_i25_slide_gat ../engine/source/mpi/interfaces/spmd_i25slide.F
30!||--- uses -----------------------------------------------------
31!|| pointerdef ../engine/share/modules/pointerdef_mod.F
32!||====================================================================
33 MODULE tri25tmp
34#include "my_real.inc"
35 USE pointerdef
36c USE TRI7BOX
37c TYPE int_pointer
38c INTEGER, DIMENSION(:), POINTER :: P
39c END TYPE int_pointer
40c TYPE int_pointer2
41c INTEGER, DIMENSION(:,:), POINTER :: P
42c END TYPE int_pointer2
43c TYPE real_pointer
44c my_real, DIMENSION(:), POINTER :: P
45c END TYPE real_pointer
46c TYPE real_pointer2
47c my_real, DIMENSION(:,:), POINTER :: P
48c END TYPE real_pointer2
49c TYPE real_pointer3
50c my_real, DIMENSION(:,:,:), POINTER :: P
51c END TYPE real_pointer3
52c TYPE r8_pointer
53c DOUBLE PRECISION, DIMENSION(:), POINTER :: P
54c END TYPE r8_pointer
55c TYPE r8_pointer3
56c DOUBLE PRECISION, DIMENSION(:,:,:), POINTER :: P
57c END TYPE r8_pointer3
58
60C On utlise PANE_OLD
61
62 INTEGER i24xremp,igapxremp,i24iremp,i24irempnsne
63
64 INTEGER :: current_nodfi
65 INTEGER :: current_fi_size
66
67C buffer envoi/reception forces interfaces
68C tableau de pointeurs NSVFI de taille NINTER
69C indiquant liste noeuds remote a recevoir du "proc main"
70 TYPE(int_pointer) :: nsvfi
71
72C Proc main of the secnd node. Assumes that only the main processor sends
73C secnds nodes
74 TYPE(int_pointer) pmainfi
75
76C tableau de pointeurs NSNFI de taille NINTER
77C indiquant pour chaque interface type7 le nb de noeuds secnd dans NSVFI
78C par processeur
79 TYPE(int_pointer) ::
80 . nsnfi, nsnfi_sav, itafi, kinfi, matsfi,
81C tableau i20 specifique (flag nodal)
82 . nbinflfi,
83 . nodnxfi, nodamsfi, procamsfi,
84C tableau i20 partie edge
85 . nsnfie,nsvfie,itafie,nodnxfie, nodamsfie, procamsfie,
86C Friction model : secnd parts id
87 . ipartfricsfi,ipartfric_fie,
88C type25 interface adhesion
89 . if_adhfi
90C tableaux frontieres interfaces pour MS, STFN, STIFN
91 TYPE(int_pointer) :: icodt_fi,iskew_fi
92 TYPE(real_pointer) ::
93 . msfi, STIFI, stnfi, gapfi,vscfi, fthefi, ftheskyfi,
94 . areasfi, tempfi, alphakfi, diag_smsfi,gap_lfi,condnfi,
95 . condnskyfi,
96C tableau i20 partie edge
97 . msfie, STIFIE, stnfie, gapfie, vscfie, alphakfie,
98 . diag_smsfie,
99C tableau I18 Kine
100 . mtfi_pene,mtfi_penemin
101C tableaux frontieres interfaces pour X, V A ou FSKY
103 . xfi, vfi, AFI, fskyfi, penfi, PENFIA,mtfi_v,mtfi_a,
104 . i18kafi,mtfi_n,daancfi
105C tableau i20 partie edge
106 . xfie, vfie, afie, fskyfie, penfie, penfiae, daancfie
107C tableaux frontieres interfaces 17 pour
109 . eminxfi, ksfi, frotsfi, stnfi17
110C tableaux frontieres interfaces 17 pour XFI17, VFI17, AFI17
112 . xfi17, vfi17, afi17
113C tableaux frontieres interfaces 20 pour DXANC,DVANC
115 . dxancfi, dvancfi, dxancfie, dvancfie
116C tableaux frontieres interfaces 20 pour DAANC6
117 TYPE(r8_pointer3) ::
118 . daanc6fi, daanc6fie
119C tableau de pointeurs ISKYFI de taille NINTER indiquant pour chaque interface
120C la liste des noeuds remote associe a une force dans FSKYI
121 TYPE(int_pointer) :: iskyfi,
122C tableau i20 partie edge
123 . iskyfie
124C tableau de pointeurs NSVSI de taille NINTER
125C indiquant liste noeuds remote a envoyer au "proc secnd"
126 TYPE(int_pointer) :: nsvsi,
127C tableau i20 partie edge
128 . nsvsie
129C tableau de pointeurs NSNSI de taille NINTER
130C indiquant pour chaque interface type7, 10, 11 le nb de noeuds secnd dans NSVSI
131C par processeur
132 TYPE(int_pointer) :: nsnsi,
133C tableau i20 partie edge
134 . nsnsie
135C tableau de pointeurs NISUBSFI de taille NINTER
136C indiquant pour chaque interface type7, 10 le nbre d elt dans LISUBSFI
137C par processeur
138 TYPE(int_pointer) :: nisubsfi
139C tableau de pointeurs LISUBSFI de taille NINTER
140C indiquant pour chaque interface type7, 10, et pour chaque noeud remote de cette interface
141C la liste des sous interfaces
142 TYPE(int_pointer) :: lisubsfi
143C tableau de pointeurs INFLG_SUBSFI de taille NINTER
144C indiquant pour chaque interface type25 et pour chaque noeud remote de cette interface
145C l appartenance a S1, S2, ou GRNOD
146 TYPE(int_pointer), DIMENSION(:), ALLOCATABLE :: inflg_subsfi
147C tableau de pointeurs ADDSUBSFI de taille NINTER
148C indiquant pour chaque interface type7, 10, et pour chaque noeud remote de cette interface
149C son adresse de depart dans LISUBSFI et INFLG_SUBSFI(tableau dimensionne a NSNR+1 (noeud remote + 1)
150 TYPE(int_pointer) :: addsubsfi
151 TYPE(real_pointer2) :: fnconti, ftconti
152 TYPE(real_pointer) :: efricfi, efricgfi
153 INTEGER :: nlskyfi, nlskyfie
154C Flag array to tag if NSNFI was frozen into NSNFI_SAV - Case INACTI + TSTART
155 INTEGER :: nsnfi_flag
156C Type 24 & 25 Interface
157 TYPE(int_pointer) :: icont_i_fi
158 TYPE(int_pointer2) :: irtlm_fi
159C T24 E2E
160 TYPE(int_pointer2) :: irtse_fi
161 TYPE(int_pointer2) :: is2se_fi
162 TYPE(int_pointer) :: is2pt_fi
163 TYPE(int_pointer) :: isegpt_fi
164 TYPE(int_pointer) :: isedge_fi
165
166 TYPE(real_pointer) :: time_sfi
167 TYPE(real_pointer2) :: secnd_frfi
168 TYPE(real_pointer2) :: pene_oldfi
169 TYPE(real_pointer2) :: stif_oldfi
170C Type 25 Interface
171 TYPE(int_pointer2) :: islide_fi
172C Type 25 Interface FLAGREMN
173 TYPE(int_pointer) :: remnor_fi
174 TYPE(int_pointer) :: kremnor_fi
175 TYPE(real_pointer) :: stif_msdt_fi
176 TYPE(real_pointer) :: intareanfi
177
178 END TYPE i25_tmp_struct
179
180 END MODULE tri25tmp