OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i5ke3.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!|| i5ke3 ../engine/source/interfaces/inter3d/i5ke3.F
25!||--- called by ------------------------------------------------------
26!|| imp_int_k ../engine/source/implicit/imp_int_k.F
27!||--- calls -----------------------------------------------------
28!|| assem_int ../engine/source/implicit/assem_int.F
29!|| i3cst3 ../engine/source/interfaces/inter3d/i3cst3.F
30!|| i3dis3 ../engine/source/interfaces/inter3d/i3dis3.F
31!|| i3gap3 ../engine/source/interfaces/inter3d/i3gap3.F
32!|| i5cork3 ../engine/source/interfaces/inter3d/i5cork3.F
33!|| i5frik3 ../engine/source/interfaces/inter3d/i5keg3.F
34!|| i5keg3 ../engine/source/interfaces/inter3d/i5keg3.F
35!||--- uses -----------------------------------------------------
36!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
37!||====================================================================
38 SUBROUTINE i5ke3( A ,V ,MS ,
39 1 IPARI ,INTBUF_TAB,X ,
40 2 NUM_IMP,CAND_N,CAND_E ,
41 3 IDDL ,K_DIAG ,K_LT ,IADK ,JDIK )
42C-----------------------------------------------
43C M o d u l e s
44C-----------------------------------------------
45 USE intbufdef_mod
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C G l o b a l P a r a m e t e r s
52C-----------------------------------------------
53#include "mvsiz_p.inc"
54C-----------------------------------------------
55C C o m m o n B l o c k s
56C-----------------------------------------------
57#include "com08_c.inc"
58#include "param_c.inc"
59#include "impl2_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER IPARI(*)
64 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),IDDL(*),
65 . IADK(*) ,JDIK(*)
66C REAL
67 my_real
68 . a(3,*), ms(*), v(3,*),x(*),k_diag(*),k_lt(*)
69
70 TYPE(intbuf_struct_) INTBUF_TAB
71C-----------------------------------------------
72C L o c a l V a r i a b l e s
73C-----------------------------------------------
74 INTEGER I,IGAP, INACTI, IFQ, MFROT, IGSTI
75 INTEGER JX1(MVSIZ), JX2(MVSIZ), JX3(MVSIZ), JX4(MVSIZ),
76 . NSVG(MVSIZ), I3N ,IGIMP
77 INTEGER, DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4
78C REAL
80 . startt, fric, gap, stopt,stiglo,gapmin,
81 . kmin, kmax, gapmax,gap_imp
82C-----------------------------------------------
83C REAL
85 . ntj(3,mvsiz),ki11(9,mvsiz),kj11(9,mvsiz),
86 . kk11(9,mvsiz),kl11(9,mvsiz),ki12(9,mvsiz),freq,
87 . kj12(9,mvsiz),kk12(9,mvsiz),kl12(9,mvsiz),off(mvsiz),
88 . dist(mvsiz)
89 my_real, DIMENSION(MVSIZ) :: x1,x2,x3,x4,xi
90 my_real, DIMENSION(MVSIZ) :: y1,y2,y3,y4,yi
91 my_real, DIMENSION(MVSIZ) :: z1,z2,z3,z4,zi
92 my_real, DIMENSION(MVSIZ) :: xface,n1,n2,n3
93 my_real, DIMENSION(MVSIZ) :: ssc,ttc,area,thk,alp
94 my_real, DIMENSION(MVSIZ) :: x0,y0,z0,ans
95 my_real, DIMENSION(MVSIZ) :: xx1,xx2,xx3,xx4
96 my_real, DIMENSION(MVSIZ) :: yy1,yy2,yy3,yy4
97 my_real, DIMENSION(MVSIZ) :: zz1,zz2,zz3,zz4
98 my_real, DIMENSION(MVSIZ) :: xi1,xi2,xi3,xi4
99 my_real, DIMENSION(MVSIZ) :: yi1,yi2,yi3,yi4
100 my_real, DIMENSION(MVSIZ) :: zi1,zi2,zi3,zi4
101 my_real, DIMENSION(MVSIZ) :: xn1,xn2,xn3,xn4
102 my_real, DIMENSION(MVSIZ) :: yn1,yn2,yn3,yn4
103 my_real, DIMENSION(MVSIZ) :: zn1,zn2,zn3,zn4
104 my_real, DIMENSION(MVSIZ) :: xp,yp,zp
105 my_real, DIMENSION(MVSIZ) :: h1,h2,h3,h4,stif
106 INTEGER :: NSN,NTY
107 INTEGER :: LFT,LLT,NFT
108C=======================================================================
109 nsn = ipari(5)
110 nty = ipari(7)
111 mfrot = ipari(30)
112 ifq = ipari(31)
113 freq = one
114C
115 startt=intbuf_tab%VARIABLES(3)
116 stopt =intbuf_tab%VARIABLES(11)
117 IF(startt>tt) RETURN
118 IF(tt>stopt) RETURN
119C
120 gap =intbuf_tab%VARIABLES(2)
121C
122 IF(nty==3)THEN
123 ELSEIF(nty==4)THEN
124 ELSEIF(nty==5)THEN
125 fric = intbuf_tab%VARIABLES(1)
126 IF (ifq /= 0) freq = intbuf_tab%XFILTR(1)
127c
128 DO nft = 0 , num_imp - 1 , nvsiz
129 lft=1
130 llt = min( nvsiz, num_imp - nft )
131 CALL i5cork3(
132 1 x, intbuf_tab%IRECTM,intbuf_tab%MSR, intbuf_tab%NSV,
133 2 intbuf_tab%IRTLM, cand_n(nft+1), cand_e(nft+1), nsvg,
134 3 jx1, jx2, jx3, jx4,
135 4 x1, x2, x3, x4,
136 5 y1, y2, y3, y4,
137 6 z1, z2, z3, z4,
138 7 xface, xi, yi, zi,
139 8 ix1, ix2, ix3, ix4,
140 9 lft, llt, nft)
141 CALL i3cst3(
142 1 x1, x2, x3, x4,
143 2 xi, y1, y2, y3,
144 3 y4, yi, z1, z2,
145 4 z3, z4, zi, xface,
146 5 n1, n2, n3, ssc,
147 6 ttc, x0, y0, z0,
148 7 xx1, xx2, xx3, xx4,
149 8 yy1, yy2, yy3, yy4,
150 9 zz1, zz2, zz3, zz4,
151 a xi1, xi2, xi3, xi4,
152 b yi1, yi2, yi3, yi4,
153 c zi1, zi2, zi3, zi4,
154 d xn1, xn2, xn3, xn4,
155 e yn1, yn2, yn3, yn4,
156 f zn1, zn2, zn3, zn4,
157 g area, lft, llt)
158 CALL i3gap3(
159 1 gap, area, thk, alp,
160 2 lft, llt)
161 CALL i3dis3(
162 1 igimp, nty, dist, x1,
163 2 x2, x3, x4, xi,
164 3 y1, y2, y3, y4,
165 4 yi, z1, z2, z3,
166 5 z4, zi, xface, n1,
167 6 n2, n3, ssc, ttc,
168 7 alp, ans, xp, yp,
169 8 zp, h1, h2, h3,
170 9 h4, lft, llt)
171 CALL i5frik3(lft ,llt ,cand_n(nft+1),cand_e(nft+1),ipari ,
172 2 x ,intbuf_tab%IRECTM,intbuf_tab%MSR,intbuf_tab%NSV,
173 3 intbuf_tab%IRTLM,intbuf_tab%CSTS,intbuf_tab%IRTLOM,intbuf_tab%FRICOS,
174 4 fric ,freq ,intbuf_tab%FTSAV,intbuf_tab%STFM,ntj ,xp ,yp ,
175 5 zp ,n1 ,n2 ,n3 ,ans ,
176 6 stif )!,FXI ,FYI ,FZI ,FNI)
177 CALL i5keg3(lft ,llt ,fric ,sk_int,
178 3 ntj ,ki11 ,ki12 ,kj11 ,kj12 ,
179 4 kk11 ,kk12 ,kl11 ,kl12 ,off ,
180 5 n1 ,n2 ,n3 ,stif ,h1 ,
181 6 h2 ,h3 ,h4)
182 CALL assem_int(3 ,nsvg ,jx1 ,jx2 ,jx3 ,
183 1 jx4 ,llt ,iddl ,k_diag ,k_lt ,
184 2 iadk ,jdik ,ki11 ,ki12 ,kj11 ,
185 3 kj12 ,kk11 ,kk12 ,kl11 ,kl12 ,
186 4 off )
187 END DO
188 ELSEIF(nty==6)THEN
189C
190 ELSEIF(nty==7.OR.nty==22)THEN
191C
192 ENDIF
193C
194 RETURN
195 END
subroutine assem_int(nd, ns, n1, n2, n3, n4, nel, iddl, k_diag, k_lt, iadk, jdik, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off)
Definition assem_int.F:39
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine i3cst3(x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, n1, n2, n3, ssc, ttc, x0, y0, z0, xx1, xx2, xx3, xx4, yy1, yy2, yy3, yy4, zz1, zz2, zz3, zz4, xi1, xi2, xi3, xi4, yi1, yi2, yi3, yi4, zi1, zi2, zi3, zi4, xn1, xn2, xn3, xn4, yn1, yn2, yn3, yn4, zn1, zn2, zn3, zn4, area, lft, llt)
Definition i3cst3.F:50
subroutine i3dis3(igimp, nty, dist, x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, n1, n2, n3, ssc, ttc, alp, ans, xp, yp, zp, h1, h2, h3, h4, lft, llt)
Definition i3dis3.F:42
subroutine i3gap3(gap, area, thk, alp, lft, llt)
Definition i3gap3.F:35
subroutine i5cork3(x, irect, msr, nsv, irtl, i_n, i_e, nsvg, jx1, jx2, jx3, jx4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xface, xi, yi, zi, ix1, ix2, ix3, ix4, lft, llt, nft)
Definition i5cork3.F:39
subroutine i5ke3(a, v, ms, ipari, intbuf_tab, x, num_imp, cand_n, cand_e, iddl, k_diag, k_lt, iadk, jdik)
Definition i5ke3.F:42
subroutine i5frik3(lft, llt, i_n, i_e, ipari, x, irect, msr, nsv, irtl, cst, irtlo, fric0, fric, freq, ftsav, stfm, tnj, xp, yp, zp, n1, n2, n3, ans, stif)
Definition i5keg3.F:179
subroutine i5keg3(lft, llt, fric, scalk, tnj, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off, n1, n2, n3, stif, h1, h2, h3, h4)
Definition i5keg3.F:33
#define min(a, b)
Definition macros.h:20