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

Go to the source code of this file.

Functions/Subroutines

subroutine i6for3 (irect, msr, nsv, irtl, stf, stfn, igimp, es, em, ansmx, fmx, fmy, fmz, peni, n1, n2, n3, xface, ans, h1, h2, h3, h4, thk, fni, fxi, fyi, fzi, fx1, fx2, fx3, fx4, fy1, fy2, fy3, fy4, fz1, fz2, fz3, fz4, lft, llt, nft)

Function/Subroutine Documentation

◆ i6for3()

subroutine i6for3 ( integer, dimension(4,*) irect,
integer, dimension(*) msr,
integer, dimension(*) nsv,
integer, dimension(*) irtl,
stf,
stfn,
integer igimp,
es,
em,
ansmx,
fmx,
fmy,
fmz,
peni,
intent(in) n1,
intent(in) n2,
intent(in) n3,
intent(inout) xface,
intent(inout) ans,
intent(in) h1,
intent(in) h2,
intent(in) h3,
intent(in) h4,
intent(in) thk,
intent(inout) fni,
intent(inout) fxi,
intent(inout) fyi,
intent(inout) fzi,
intent(inout) fx1,
intent(inout) fx2,
intent(inout) fx3,
intent(inout) fx4,
intent(inout) fy1,
intent(inout) fy2,
intent(inout) fy3,
intent(inout) fy4,
intent(inout) fz1,
intent(inout) fz2,
intent(inout) fz3,
intent(inout) fz4,
integer, intent(inout) lft,
integer, intent(inout) llt,
integer, intent(inout) nft )

Definition at line 28 of file i6for3.F.

40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C G l o b a l P a r a m e t e r s
46C-----------------------------------------------
47#include "mvsiz_p.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER, INTENT(INOUT) :: LFT
52 INTEGER, INTENT(INOUT) :: LLT
53 INTEGER, INTENT(INOUT) :: NFT
54 INTEGER IGIMP
55C REAL
57 . ansmx, fmx, fmy, fmz, peni
58 INTEGER IRECT(4,*), MSR(*), NSV(*), IRTL(*)
59C REAL
61 . stf(*), stfn(*), es(*), em(*)
62 my_real, DIMENSION(MVSIZ), INTENT(IN) :: n1,n2,n3
63 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: ans,xface
64 my_real, DIMENSION(MVSIZ), INTENT(IN) :: h1,h2,h3,h4,thk
65 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: fni
66 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: fxi,fyi,fzi
67 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: fx1,fx2,fx3,fx4
68 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: fy1,fy2,fy3,fy4
69 my_real, DIMENSION(MVSIZ), INTENT(INOUT) :: fz1,fz2,fz3,fz4
70C-----------------------------------------------
71C C o m m o n B l o c k s
72C-----------------------------------------------
73C-----------------------------------------------
74C L o c a l V a r i a b l e s
75C-----------------------------------------------
76 INTEGER I, IL, L, J3, J2, J1, I3,I2, I1
77C REAL
79 . penet
80C-----------------------------------------------
81 DO i=lft,llt
82 penet = (ans(i)-thk(i))*xface(i)
83 ansmx = min(ansmx,penet)
84 ans(i)= min(zero,penet)
85 IF (ans(i) == zero) xface(i)=zero
86 ans(i) = xface(i)*ans(i)
87 ENDDO
88C
89 igimp = 0
90 DO i=lft,llt
91 igimp = igimp+abs(xface(i))
92 ENDDO
93 IF (igimp == 0) RETURN
94C
95 DO i=lft,llt
96 fni(i)=ans(i)
97 fxi(i)=n1(i)*fni(i)
98 fyi(i)=n2(i)*fni(i)
99 fzi(i)=n3(i)*fni(i)
100 ENDDO
101C
102 DO i=lft,llt
103 fx1(i)=fxi(i)*h1(i)
104 fy1(i)=fyi(i)*h1(i)
105 fz1(i)=fzi(i)*h1(i)
106C
107 fx2(i)=fxi(i)*h2(i)
108 fy2(i)=fyi(i)*h2(i)
109 fz2(i)=fzi(i)*h2(i)
110C
111 fx3(i)=fxi(i)*h3(i)
112 fy3(i)=fyi(i)*h3(i)
113 fz3(i)=fzi(i)*h3(i)
114C
115 fx4(i)=fxi(i)*h4(i)
116 fy4(i)=fyi(i)*h4(i)
117 fz4(i)=fzi(i)*h4(i)
118 ENDDO
119C
120 DO i=lft,llt
121 il=i+nft
122 l =irtl(il)
123 j3=3*irect(1,l)
124 j2=j3-1
125 j1=j2-1
126 em(j1)=em(j1)+fx1(i)
127 em(j2)=em(j2)+fy1(i)
128 em(j3)=em(j3)+fz1(i)
129C
130 j3=3*irect(2,l)
131 j2=j3-1
132 j1=j2-1
133 em(j1)=em(j1)+fx2(i)
134 em(j2)=em(j2)+fy2(i)
135 em(j3)=em(j3)+fz2(i)
136C
137 j3=3*irect(3,l)
138 j2=j3-1
139 j1=j2-1
140 em(j1)=em(j1)+fx3(i)
141 em(j2)=em(j2)+fy3(i)
142 em(j3)=em(j3)+fz3(i)
143C
144 j3=3*irect(4,l)
145 j2=j3-1
146 j1=j2-1
147 em(j1)=em(j1)+fx4(i)
148 em(j2)=em(j2)+fy4(i)
149 em(j3)=em(j3)+fz4(i)
150 ENDDO
151C
152 DO i=lft,llt
153 i3=3*(i+nft)
154 i2=i3-1
155 i1=i2-1
156 es(i1)=es(i1)-fxi(i)
157 es(i2)=es(i2)-fyi(i)
158 es(i3)=es(i3)-fzi(i)
159 fmx = fmx + fxi(i)
160 fmy = fmy + fyi(i)
161 fmz = fmz + fzi(i)
162 ENDDO
163C-----------
164 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20