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

Go to the source code of this file.

Functions/Subroutines

subroutine sfint3b (sig, sigd, x, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, qvis, dr, rho, cxx, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, ixs, nel, ismstr, svis)

Function/Subroutine Documentation

◆ sfint3b()

subroutine sfint3b ( sig,
sigd,
x,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
integer, dimension(*) nc3,
integer, dimension(*) nc4,
integer, dimension(*) nc5,
integer, dimension(*) nc6,
integer, dimension(*) nc7,
integer, dimension(*) nc8,
px1,
px2,
px3,
px4,
py1,
py2,
py3,
py4,
pz1,
pz2,
pz3,
pz4,
px5,
px6,
px7,
px8,
py5,
py6,
py7,
py8,
pz5,
pz6,
pz7,
pz8,
f11,
f21,
f31,
f12,
f22,
f32,
f13,
f23,
f33,
f14,
f24,
f34,
f15,
f25,
f35,
f16,
f26,
f36,
f17,
f27,
f37,
f18,
f28,
f38,
vol,
qvis,
dr,
rho,
cxx,
mx1,
my1,
mz1,
mx2,
my2,
mz2,
mx3,
my3,
mz3,
mx4,
my4,
mz4,
mx5,
my5,
mz5,
mx6,
my6,
mz6,
mx7,
my7,
mz7,
mx8,
my8,
mz8,
integer, dimension(nixs,*) ixs,
integer nel,
integer, intent(in) ismstr,
intent(inout) svis )

Definition at line 32 of file sfint3b.F.

56 use element_mod , only : nixs
57C-----------------------------------------------
58C I m p l i c i t T y p e s
59C-----------------------------------------------
60#include "implicit_f.inc"
61C-----------------------------------------------
62C G l o b a l P a r a m e t e r s
63C-----------------------------------------------
64#include "mvsiz_p.inc"
65C-----------------------------------------------
66C D u m m y A r g u m e n t s
67C-----------------------------------------------
68 INTEGER, INTENT(IN) :: ISMSTR
69 INTEGER NC1(*), NC2(*), NC3(*), NC4(*), NC5(*), NC6(*), NC7(*),
70 . NC8(*),IXS(NIXS,*),NEL
71 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
73 . sig(nel,6),sigd(nel,6),x(3,*),dr(3,*),
74 . px1(*), px2(*), px3(*), px4(*),
75 . py1(*), py2(*), py3(*), py4(*),
76 . pz1(*), pz2(*), pz3(*), pz4(*),
77 . px5(*), px6(*), px7(*), px8(*),
78 . py5(*), py6(*), py7(*), py8(*),
79 . pz5(*), pz6(*), pz7(*), pz8(*),
80 . f11(*),f21(*),f31(*),f12(*),f22(*),f32(*),
81 . f13(*),f23(*),f33(*),f14(*),f24(*),f34(*),
82 . f15(*),f25(*),f35(*),f16(*),f26(*),f36(*),
83 . f17(*),f27(*),f37(*),f18(*),f28(*),f38(*),
84 . vol(*),qvis(*),rho(*),cxx(*),
85 . mx1(*),my1(*),mz1(*),mx2(*),my2(*),mz2(*),
86 . mx3(*),my3(*),mz3(*),mx4(*),my4(*),mz4(*),
87 . mx5(*),my5(*),mz5(*),mx6(*),my6(*),mz6(*),
88 . mx7(*),my7(*),mz7(*),mx8(*),my8(*),mz8(*)
89C-----------------------------------------------
90C L o c a l V a r i a b l e s
91C-----------------------------------------------
92 INTEGER I
94 . s1, s2, s3,
95 . s4, s5, s6,
96 . sxy, syz, szx,
97 . syx, szy, sxz,
98 . mx(mvsiz), my(mvsiz), mz(mvsiz),
99 . fint,aaa,dxr,dyr,dzr
100C-----------------------------------------------
101 DO i=1,nel
102 s1=(sig(i,1)+svis(i,1)-qvis(i))*vol(i)
103 s2=(sig(i,2)+svis(i,2)-qvis(i))*vol(i)
104 s3=(sig(i,3)+svis(i,3)-qvis(i))*vol(i)
105 s4 = (sig(i,4)+svis(i,4))*vol(i)
106 s5 = (sig(i,5)+svis(i,5))*vol(i)
107 s6 = (sig(i,6)+svis(i,6))*vol(i)
108 mz(i) = (sigd(i,1))*vol(i)
109 mx(i) = (sigd(i,2))*vol(i)
110 my(i) = (sigd(i,3))*vol(i)
111 sxy = s4 + mz(i)
112 syz = s5 + mx(i)
113 szx = s6 + my(i)
114 syx = s4 - mz(i)
115 szy = s5 - mx(i)
116 sxz = s6 - my(i)
117 mz(i) = -mz(i)*0.25
118 mx(i) = -mx(i)*0.25
119 my(i) = -my(i)*0.25
120C
121 fint=s1*px1(i)+sxy*py1(i)+sxz*pz1(i)
122 f11(i)=f11(i)-fint
123 f17(i)=f17(i)+fint
124 fint=s2*py1(i)+syx*px1(i)+syz*pz1(i)
125 f21(i)=f21(i)-fint
126 f27(i)=f27(i)+fint
127 fint=s3*pz1(i)+szx*px1(i)+szy*py1(i)
128 f31(i)=f31(i)-fint
129 f37(i)=f37(i)+fint
130C
131 fint=s1*px2(i)+sxy*py2(i)+sxz*pz2(i)
132 f12(i)=f12(i)-fint
133 f18(i)=f18(i)+fint
134 fint=s2*py2(i)+syx*px2(i)+syz*pz2(i)
135 f22(i)=f22(i)-fint
136 f28(i)=f28(i)+fint
137 fint=s3*pz2(i)+szx*px2(i)+szy*py2(i)
138 f32(i)=f32(i)-fint
139 f38(i)=f38(i)+fint
140C
141 fint=s1*px3(i)+sxy*py3(i)+sxz*pz3(i)
142 f13(i)=f13(i)-fint
143 f15(i)=f15(i)+fint
144 fint=s2*py3(i)+syx*px3(i)+syz*pz3(i)
145 f23(i)=f23(i)-fint
146 f25(i)=f25(i)+fint
147 fint=s3*pz3(i)+szx*px3(i)+szy*py3(i)
148 f33(i)=f33(i)-fint
149 f35(i)=f35(i)+fint
150C
151 fint=s1*px4(i)+sxy*py4(i)+sxz*pz4(i)
152 f14(i)=f14(i)-fint
153 f16(i)=f16(i)+fint
154 fint=s2*py4(i)+syx*px4(i)+syz*pz4(i)
155 f24(i)=f24(i)-fint
156 f26(i)=f26(i)+fint
157 fint=s3*pz4(i)+szx*px4(i)+szy*py4(i)
158 f34(i)=f34(i)-fint
159 f36(i)=f36(i)+fint
160 ENDDO
161C
162 goto 111
163C correction of moments to avoid instability
164 IF(ismstr==1.OR.ismstr==2.OR.ismstr==3)THEN
165 DO i=1,nel
166 mx(i) = x(2,nc1(i))*f31(i) - x(3,nc1(i))*f21(i)
167 . + x(2,nc2(i))*f32(i) - x(3,nc2(i))*f22(i)
168 . + x(2,nc3(i))*f33(i) - x(3,nc3(i))*f23(i)
169 . + x(2,nc4(i))*f34(i) - x(3,nc4(i))*f24(i)
170 . + x(2,nc5(i))*f35(i) - x(3,nc5(i))*f25(i)
171 . + x(2,nc6(i))*f36(i) - x(3,nc6(i))*f26(i)
172 . + x(2,nc7(i))*f37(i) - x(3,nc7(i))*f27(i)
173 . + x(2,nc8(i))*f38(i) - x(3,nc8(i))*f28(i)
174
175 my(i) = x(3,nc1(i))*f11(i) - x(1,nc1(i))*f31(i)
176 . + x(3,nc2(i))*f12(i) - x(1,nc2(i))*f32(i)
177 . + x(3,nc3(i))*f13(i) - x(1,nc3(i))*f33(i)
178 . + x(3,nc4(i))*f14(i) - x(1,nc4(i))*f34(i)
179 . + x(3,nc5(i))*f15(i) - x(1,nc5(i))*f35(i)
180 . + x(3,nc6(i))*f16(i) - x(1,nc6(i))*f36(i)
181 . + x(3,nc7(i))*f17(i) - x(1,nc7(i))*f37(i)
182 . + x(3,nc8(i))*f18(i) - x(1,nc8(i))*f38(i)
183
184 mz(i) = x(1,nc1(i))*f21(i) - x(2,nc1(i))*f11(i)
185 . + x(1,nc2(i))*f22(i) - x(2,nc2(i))*f12(i)
186 . + x(1,nc3(i))*f23(i) - x(2,nc3(i))*f13(i)
187 . + x(1,nc4(i))*f24(i) - x(2,nc4(i))*f14(i)
188 . + x(1,nc5(i))*f25(i) - x(2,nc5(i))*f15(i)
189 . + x(1,nc6(i))*f26(i) - x(2,nc6(i))*f16(i)
190 . + x(1,nc7(i))*f27(i) - x(2,nc7(i))*f17(i)
191 . + x(1,nc8(i))*f28(i) - x(2,nc8(i))*f18(i)
192
193 mx(i) = -mx(i)*0.125
194 my(i) = -my(i)*0.125
195 mz(i) = -mz(i)*0.125
196 ENDDO
197 ENDIF
198 111 continue
199C
200 DO i=1,nel
201C
202 aaa = 0.0125 * rho(i) * cxx(i)**2 * vol(i)
203C
204 dxr = 0.125 *
205 . (dr(1,nc1(i))+dr(1,nc2(i))+dr(1,nc3(i))+dr(1,nc4(i))
206 . +dr(1,nc5(i))+dr(1,nc6(i))+dr(1,nc7(i))+dr(1,nc8(i)))
207 dyr = 0.125 *
208 . (dr(2,nc1(i))+dr(2,nc2(i))+dr(2,nc3(i))+dr(2,nc4(i))
209 . +dr(2,nc5(i))+dr(2,nc6(i))+dr(2,nc7(i))+dr(2,nc8(i)))
210 dzr = 0.125 *
211 . (dr(3,nc1(i))+dr(3,nc2(i))+dr(3,nc3(i))+dr(3,nc4(i))
212 . +dr(3,nc5(i))+dr(3,nc6(i))+dr(3,nc7(i))+dr(3,nc8(i)))
213C
214 mx1(i) = mx(i) - aaa * (dr(1,nc1(i))-dxr)
215 my1(i) = my(i) - aaa * (dr(2,nc1(i))-dyr)
216 mz1(i) = mz(i) - aaa * (dr(3,nc1(i))-dzr)
217C
218 mx2(i) = mx(i) - aaa * (dr(1,nc2(i))-dxr)
219 my2(i) = my(i) - aaa * (dr(2,nc2(i))-dyr)
220 mz2(i) = mz(i) - aaa * (dr(3,nc2(i))-dzr)
221C
222 mx3(i) = mx(i) - aaa * (dr(1,nc3(i))-dxr)
223 my3(i) = my(i) - aaa * (dr(2,nc3(i))-dyr)
224 mz3(i) = mz(i) - aaa * (dr(3,nc3(i))-dzr)
225C
226 mx4(i) = mx(i) - aaa * (dr(1,nc4(i))-dxr)
227 my4(i) = my(i) - aaa * (dr(2,nc4(i))-dyr)
228 mz4(i) = mz(i) - aaa * (dr(3,nc4(i))-dzr)
229C
230 mx5(i) = mx(i) - aaa * (dr(1,nc5(i))-dxr)
231 my5(i) = my(i) - aaa * (dr(2,nc5(i))-dyr)
232 mz5(i) = mz(i) - aaa * (dr(3,nc5(i))-dzr)
233C
234 mx6(i) = mx(i) - aaa * (dr(1,nc6(i))-dxr)
235 my6(i) = my(i) - aaa * (dr(2,nc6(i))-dyr)
236 mz6(i) = mz(i) - aaa * (dr(3,nc6(i))-dzr)
237C
238 mx7(i) = mx(i) - aaa * (dr(1,nc7(i))-dxr)
239 my7(i) = my(i) - aaa * (dr(2,nc7(i))-dyr)
240 mz7(i) = mz(i) - aaa * (dr(3,nc7(i))-dzr)
241C
242 mx8(i) = mx(i) - aaa * (dr(1,nc8(i))-dxr)
243 my8(i) = my(i) - aaa * (dr(2,nc8(i))-dyr)
244 mz8(i) = mz(i) - aaa * (dr(3,nc8(i))-dzr)
245 ENDDO
246C
247 RETURN
#define my_real
Definition cppsort.cpp:32