OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i21sto.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!|| i21sto ../engine/source/interfaces/int21/i21sto.F
25!||--- called by ------------------------------------------------------
26!|| i21tri ../engine/source/interfaces/intsort/i21tri.F
27!||--- calls -----------------------------------------------------
28!|| i21cor3t ../engine/source/interfaces/int21/i21cor3t.F
29!|| i7pen3 ../engine/source/interfaces/intsort/i7pen3.F
30!||====================================================================
31 SUBROUTINE i21sto(
32 1 J_STOK ,IRECT ,XLOC ,II_STOK,CAND_N ,
33 2 CAND_E ,MULNSN ,NOINT ,MARGE ,I_MEM ,
34 3 PROV_N ,PROV_E ,ESHIFT ,INACTI ,NSN ,
35 4 IGAP ,GAP ,GAP_S ,GAPMIN ,GAPMAX ,
36 5 CURV_MAX ,XM0 ,NOD_NORMAL ,DEPTH ,DRAD ,
37 6 DGAPLOAD )
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42#include "comlock.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER I_MEM, NSN,IGAP
51 INTEGER J_STOK,MULNSN,NOINT,INACTI,ESHIFT,II_STOK
52 INTEGER IRECT(4,*),CAND_N(*),CAND_E(*)
53 INTEGER PROV_N(MVSIZ),PROV_E(MVSIZ)
54C REAL
55 my_real
56 . xloc(3,*), gap_s(*),
57 . marge, gap, gapmin, gapmax, curv_max(*),
58 . depth, xm0(3,*), nod_normal(3,*)
59 my_real , INTENT(IN) :: dgapload,drad
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I,K_STOK,I_STOK,N,NE,J
64 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
65C REAL
66 my_real
67 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
68 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
69 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
70 . xi(mvsiz), yi(mvsiz), zi(mvsiz),
71 . nnx1(mvsiz), nnx2(mvsiz), nnx3(mvsiz), nnx4(mvsiz),
72 . nny1(mvsiz), nny2(mvsiz), nny3(mvsiz), nny4(mvsiz),
73 . nnz1(mvsiz), nnz2(mvsiz), nnz3(mvsiz), nnz4(mvsiz),
74 . pene(mvsiz), gapv(mvsiz)
75C-----------------------------------------------
76 CALL i21cor3t(j_stok ,xloc ,irect ,prov_e ,
77 1 prov_n ,igap ,gap ,x1 ,x2 ,
78 2 x3 ,x4 ,y1 ,y2 ,y3 ,
79 3 y4 ,z1 ,z2 ,z3 ,z4 ,
80 4 xi ,yi ,zi ,ix1 ,ix2 ,
81 5 ix3 ,ix4 ,nsn ,gap_s ,gapv ,
82 6 gapmax ,gapmin,curv_max,depth ,xm0 ,
83 7 drad ,dgapload)
84C-----------------------------------------------
85 CALL i7pen3(j_stok ,marge ,x1 ,x2 ,x3 ,
86 . x4 ,y1 ,y2 ,y3 ,y4 ,
87 . z1 ,z2 ,z3 ,z4 ,xi ,
88 . yi ,zi ,pene ,ix1 ,ix2 ,
89 . ix3 ,ix4 ,igap ,gap ,gapv )
90C-----------------------------------------------
91 k_stok = 0
92 DO i=1,j_stok
93 IF(pene(i)/=zero) k_stok = k_stok + 1
94 ENDDO
95 IF(k_stok==0)RETURN
96C
97#include "lockon.inc"
98 i_stok = ii_stok
99 IF(i_stok+k_stok>mulnsn) THEN
100 i_mem = 2
101#include "lockoff.inc"
102 RETURN
103 ENDIF
104 ii_stok = i_stok + k_stok
105#include "lockoff.inc"
106C-----------------------------------------------
107 DO i=1,j_stok
108 IF(pene(i)/=zero)THEN
109 i_stok = i_stok + 1
110 cand_n(i_stok) = prov_n(i)
111 cand_e(i_stok) = prov_e(i)+eshift
112 ENDIF
113 ENDDO
114C-----------------------------------------------
115 RETURN
116 END
subroutine i21sto(j_stok, irect, xloc, ii_stok, cand_n, cand_e, mulnsn, noint, marge, i_mem, prov_n, prov_e, eshift, inacti, nsn, igap, gap, gap_s, gapmin, gapmax, curv_max, xm0, nod_normal, depth, drad, dgapload)
Definition i21sto.F:38
subroutine i21cor3t(x, irect, nsv, cand_e, cand_n, gapv, igap, gap, gap_s, gapmin, gapmax, xm0, depth, drad, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, dgapload)
Definition i21cor3t.F:36
subroutine i7pen3(marge, gapv, n1, n2, n3, pene, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, last)
Definition i7pen3.F:43