OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i25cor3_e2s.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!|| i25cor3_e2s ../starter/source/interfaces/inter3d1/i25cor3_e2s.F
25!||--- called by ------------------------------------------------------
26!|| inint3 ../starter/source/interfaces/inter3d1/inint3.F
27!||--- uses -----------------------------------------------------
28!|| tri7box ../starter/share/modules1/tri7box.F
29!||====================================================================
30 SUBROUTINE i25cor3_e2s(
31 1 JLT ,LEDGE ,IRECT ,X ,
32 2 CAND_S ,CAND_M ,EX ,EY ,EZ ,
33 3 XXS1 ,XXS2 ,XYS1 ,XYS2 ,
34 4 XZS1 ,XZS2 ,XXM1 ,XXM2 ,XYM1 ,
35 5 XYM2 ,XZM1 ,XZM2 ,
36 6 N1 ,N2 ,M1 ,M2 ,NRTS ,
37 7 GAPE ,GAPVE ,FX ,FY ,FZ ,
38 8 IEDGE ,ADMSR ,LBOUND ,EDG_BISECTOR ,
39 9 VTX_BISECTOR,ITAB )
40C-----------------------------------------------
41C M o d u l e s
42C-----------------------------------------------
43 USE tri7box
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48C-----------------------------------------------
49C G l o b a l P a r a m e t e r s
50C-----------------------------------------------
51#include "mvsiz_p.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "param_c.inc"
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER LEDGE(NLEDGE,*), IRECT(4,*), CAND_M(*), CAND_S(*), ADMSR(4,*),
60 . LBOUND(*), JLT, NRTS, IEDGE, ITAB(*),
61 . N1(MVSIZ), N2(MVSIZ),
62 . M1(4,MVSIZ), M2(4,MVSIZ)
63C REAL
64 my_real
65 . X(3,*),
66 . XXS1(MVSIZ), XXS2(MVSIZ), XYS1(MVSIZ), XYS2(MVSIZ),
67 . XZS1(MVSIZ), XZS2(MVSIZ), XXM1(4,MVSIZ), XXM2(4,MVSIZ),
68 . xym1(4,mvsiz), xym2(4,mvsiz), xzm1(4,mvsiz), xzm2(4,mvsiz),
69 . gape(*),gapve(mvsiz),
70 . ex(4,mvsiz), ey(4,mvsiz), ez(4,mvsiz), fx(mvsiz), fy(mvsiz), fz(mvsiz)
71 real*4 edg_bisector(3,4,*), vtx_bisector(3,2,*)
72C-----------------------------------------------
73C L o c a l V a r i a b l e s
74C-----------------------------------------------
75 INTEGER I ,NN, J, JRM, K, KRM, I1, J1, I2, J2, EJ, ES,
76 . IE, JE, SOL_EDGE, SH_EDGE
77 INTEGER IAM(MVSIZ),JAM(4,MVSIZ),IAS(MVSIZ),JAS(MVSIZ)
78 my_real
79 . AAA, DX, DY, DZ, DD, NNI, NI2, INVCOS, GAPE_M(MVSIZ), GAPE_S(MVSIZ)
80C-----------------------------------------------
81 DO i=1,jlt
82 IF(cand_s(i)<=nrts) THEN
83
84 es =cand_s(i)
85 ias(i)=ledge(1,es)
86 jas(i)=ledge(2,es)
87 n1(i)=ledge(5,es)
88 n2(i)=ledge(6,es)
89
90 xxs1(i) = x(1,n1(i))
91 xys1(i) = x(2,n1(i))
92 xzs1(i) = x(3,n1(i))
93 xxs2(i) = x(1,n2(i))
94 xys2(i) = x(2,n2(i))
95 xzs2(i) = x(3,n2(i))
96
97 iam(i)=cand_m(i)
98 DO ej=1,4
99 jam(ej,i)=ej
100 m1(ej,i)=irect(ej,iam(i))
101 m2(ej,i)=irect(mod(ej,4)+1,iam(i))
102
103 xxm1(ej,i) = x(1,m1(ej,i))
104 xym1(ej,i) = x(2,m1(ej,i))
105 xzm1(ej,i) = x(3,m1(ej,i))
106 xxm2(ej,i) = x(1,m2(ej,i))
107 xym2(ej,i) = x(2,m2(ej,i))
108 xzm2(ej,i) = x(3,m2(ej,i))
109 END DO
110 END IF
111 END DO
112
113 DO i=1,jlt
114 gape_m(i)=zero ! Solids
115 ! If edge is shared by solid and shell : edge is considered as a shell edge
116 IF(cand_s(i)<=nrts) THEN
117 gape_s(i)=gape(cand_s(i))
118 END IF
119 gapve(i)=zero
120 END DO
121
122C
123 sol_edge=iedge/10 ! solids
124 sh_edge =iedge-10*sol_edge ! shells
125
126 DO i=1,jlt
127 DO ej=1,4
128 ex(ej,i)=edg_bisector(1,ej,iam(i))
129 ey(ej,i)=edg_bisector(2,ej,iam(i))
130 ez(ej,i)=edg_bisector(3,ej,iam(i))
131 END DO
132 END DO
133C
134 DO i=1,jlt
135 fx(i) = edg_bisector(1,jas(i),ias(i))
136 fy(i) = edg_bisector(2,jas(i),ias(i))
137 fz(i) = edg_bisector(3,jas(i),ias(i))
138 END DO
139C
140 RETURN
141 END
subroutine i25cor3_e2s(jlt, ledge, irect, x, cand_s, cand_m, ex, ey, ez, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, n1, n2, m1, m2, nrts, gape, gapve, fx, fy, fz, iedge, admsr, lbound, edg_bisector, vtx_bisector, itab)
Definition i25cor3_e2s.F:40