OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i9main3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine i9main3 (ipari, intbuf_tab, x, v, a, iskew, skew, lcod, fn, ft, ms, msmn, msmt, itab, fsav)

Function/Subroutine Documentation

◆ i9main3()

subroutine i9main3 ( integer, dimension(*) ipari,
type(intbuf_struct_) intbuf_tab,
x,
v,
a,
integer, dimension(*) iskew,
skew,
integer, dimension(*) lcod,
fn,
ft,
ms,
msmn,
msmt,
integer, dimension(*) itab,
fsav )

Definition at line 40 of file i9main3.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE intbufdef_mod
48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C G l o b a l P a r a m e t e r s
54C-----------------------------------------------
55#include "mvsiz_p.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "param_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER IPARI(*), ISKEW(*), LCOD(*), ITAB(*)
64 my_real x(*), v(*), a(*), skew(*), fn(*), msmn(*), ft(*), msmt(*), ms(*) ,fsav(nthvki,*)
65
66 TYPE(INTBUF_STRUCT_) INTBUF_TAB
67C-----------------------------------------------
68C L o c a l V a r i a b l e s
69C-----------------------------------------------
70 INTEGER NG, IGIMP, NGROUS
71 INTEGER, DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4
72 my_real, DIMENSION(MVSIZ) :: x1,x2,x3,x4,xi
73 my_real, DIMENSION(MVSIZ) :: y1,y2,y3,y4,yi
74 my_real, DIMENSION(MVSIZ) :: z1,z2,z3,z4,zi
75 my_real, DIMENSION(MVSIZ) :: xface,n1,n2,n3
76 my_real, DIMENSION(MVSIZ) :: ssc,ttc,area,thk,alp
77 my_real, DIMENSION(MVSIZ) :: x0,y0,z0,ans
78 my_real, DIMENSION(MVSIZ) :: xx1,xx2,xx3,xx4
79 my_real, DIMENSION(MVSIZ) :: yy1,yy2,yy3,yy4
80 my_real, DIMENSION(MVSIZ) :: zz1,zz2,zz3,zz4
81 my_real, DIMENSION(MVSIZ) :: xi1,xi2,xi3,xi4
82 my_real, DIMENSION(MVSIZ) :: yi1,yi2,yi3,yi4
83 my_real, DIMENSION(MVSIZ) :: zi1,zi2,zi3,zi4
84 my_real, DIMENSION(MVSIZ) :: xn1,xn2,xn3,xn4
85 my_real, DIMENSION(MVSIZ) :: yn1,yn2,yn3,yn4
86 my_real, DIMENSION(MVSIZ) :: zn1,zn2,zn3,zn4
87 my_real, DIMENSION(MVSIZ) :: xp,yp,zp
88 my_real, DIMENSION(MVSIZ) :: h1,h2,h3,h4
89 my_real startt, fric, gap, stopt,dist
90 INTEGER :: NMN,NSN,NTY
91 INTEGER :: LFT,LLT,NFT
92C-----------------------------------------------
93C P r e c o n d i t i o n s
94C-----------------------------------------------
95 nmn =ipari(6)
96 IF(nmn == 0)RETURN
97C-----------------------------------------------
98C B o d y
99C-----------------------------------------------
100 nsn =ipari(5)
101 nty =ipari(7)
102C
103
104C
105 fric =intbuf_tab%VARIABLES(1)
106 gap =intbuf_tab%VARIABLES(2)
107 ngrous=1+(nsn-1)/nvsiz
108C-----------------------------------------------------
109C SEARCH FOR IMPACTED POINTS
110C-----------------------------------------------------
111 DO 150 ng=1,ngrous
112 nft=(ng-1)*nvsiz
113 lft=1
114 llt=min(nvsiz,nsn-nft)
115 CALL i3loc3(
116 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR,
117 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%NSEGM, xi,
118 3 yi, zi, xface, lft,
119 4 llt, nft)
120 CALL i3msr3(
121 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR,
122 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%IRTLM, intbuf_tab%NSEGM,
123 3 xface, lft, llt, nft)
124 CALL i9cor3(
125 1 x, v, a, intbuf_tab%IRECTM,
126 2 intbuf_tab%MSR, intbuf_tab%NSV, intbuf_tab%IRTLM, ix1,
127 3 ix2, ix3, ix4, x1,
128 4 x2, x3, x4, xi,
129 5 y1, y2, y3, y4,
130 6 yi, z1, z2, z3,
131 7 z4, zi, lft, llt,
132 8 nft)
133 CALL i3cst3(
134 1 x1, x2, x3, x4,
135 2 xi, y1, y2, y3,
136 3 y4, yi, z1, z2,
137 4 z3, z4, zi, xface,
138 5 n1, n2, n3, ssc,
139 6 ttc, x0, y0, z0,
140 7 xx1, xx2, xx3, xx4,
141 8 yy1, yy2, yy3, yy4,
142 9 zz1, zz2, zz3, zz4,
143 a xi1, xi2, xi3, xi4,
144 b yi1, yi2, yi3, yi4,
145 c zi1, zi2, zi3, zi4,
146 d xn1, xn2, xn3, xn4,
147 e yn1, yn2, yn3, yn4,
148 f zn1, zn2, zn3, zn4,
149 g area, lft, llt)
150 CALL i3gap3(
151 1 gap, area, thk, alp,
152 2 lft, llt)
153 CALL i3dis3(
154 1 igimp, nty, dist, x1,
155 2 x2, x3, x4, xi,
156 3 y1, y2, y3, y4,
157 4 yi, z1, z2, z3,
158 5 z4, zi, xface, n1,
159 6 n2, n3, ssc, ttc,
160 7 alp, ans, xp, yp,
161 8 zp, h1, h2, h3,
162 9 h4, lft, llt)
163 CALL i9imp3(
164 1 intbuf_tab%ILOCS,intbuf_tab%CSTS, intbuf_tab%N, xface,
165 2 n1, n2, n3, ssc,
166 3 ttc, thk, ans, lft,
167 4 llt, nft)
168 150 CONTINUE
169C-----------------------------------------------------
170C MASSES AND CUMULATIVES FORCES
171C-----------------------------------------------------
172 CALL i9frms
173 1 (x ,skew ,a ,fn ,ft ,
174 2 intbuf_tab%IRECTM,intbuf_tab%LMSR,intbuf_tab%CSTS,intbuf_tab%MSR,
175 . intbuf_tab%NSV,
176 3 intbuf_tab%ILOCS,intbuf_tab%IRTLM,ms ,intbuf_tab%N,lcod ,
177 4 iskew ,fric ,msmn ,msmt , nmn, nsn)
178C-----------------------------------------------------
179C ACCELERATION (MAIN) AND VELOCITIES (SECOND)
180C-----------------------------------------------------
181 CALL i9avel
182 1 (x ,skew ,a ,fn ,ft ,
183 2 intbuf_tab%IRECTM,intbuf_tab%LMSR,intbuf_tab%CSTS,intbuf_tab%MSR,
184 . intbuf_tab%NSV,
185 3 intbuf_tab%ILOCS,intbuf_tab%IRTLM,lcod ,v ,iskew ,
186 4 intbuf_tab%N,ms ,intbuf_tab%VARIABLES(1),msmn ,msmt ,
187 5 intbuf_tab%STFNS,itab ,fsav, nmn, nsn )
188C
189 RETURN
#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 i3loc3(x, irect, lmsr, msr, nsv, iloc, nseg, xi, yi, zi, xface, lft, llt, nft)
Definition i3loc3.F:35
subroutine i3msr3(x, irect, lmsr, msr, nsv, iloc, irtl, nseg, xface, lft, llt, nft)
Definition i3msr3.F:36
subroutine i9avel(x, skew, a, fn, ft, irect, lmsr, crst, msr, nsv, iloc, irtl, lcode, v, iskew, nor, ms, frigap, msmn, msmt, efric, itab, fsav, nmn, nsn)
Definition i9avel.F:41
subroutine i9cor3(x, v, a, irect, msr, nsv, irtl, ix1, ix2, ix3, ix4, x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, lft, llt, nft)
Definition i9cor3.F:37
subroutine i9frms(x, skew, a, fn, ft, irect, lmsr, crst, msr, nsv, iloc, irtl, ms, nor, lcode, iskew, fric, msmn, msmt, nmn, nsn)
Definition i9frms.F:35
subroutine i9imp3(iloc, cst, nor, xface, n1, n2, n3, ssc, ttc, thk, ans, lft, llt, nft)
Definition i9imp3.F:33
#define min(a, b)
Definition macros.h:20