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 30 of file sfint3b.F.

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