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

Go to the source code of this file.

Functions/Subroutines

subroutine s8zdefot3 (px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, pxy1, pxy2, pxy3, pxy4, pxy5, pxy6, pxy7, pxy8, pyx1, pyx2, pyx3, pyx4, pyx5, pyx6, pyx7, pyx8, pxz1, pxz2, pxz3, pxz4, pxz5, pxz6, pxz7, pxz8, pzx1, pzx2, pzx3, pzx4, pzx5, pzx6, pzx7, pzx8, pyz1, pyz2, pyz3, pyz4, pyz5, pyz6, pyz7, pyz8, pzy1, pzy2, pzy3, pzy4, pzy5, pzy6, pzy7, pzy8, bxy1, bxy2, bxy3, bxy4, bxy5, bxy6, bxy7, bxy8, byx1, byx2, byx3, byx4, byx5, byx6, byx7, byx8, bxz1, bxz2, bxz3, bxz4, bxz5, bxz6, bxz7, bxz8, bzx1, bzx2, bzx3, bzx4, bzx5, bzx6, bzx7, bzx8, byz1, byz2, byz3, byz4, byz5, byz6, byz7, byz8, bzy1, bzy2, bzy3, bzy4, bzy5, bzy6, bzy7, bzy8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, icp, det0, jfac, nu, ideg, nel)

Function/Subroutine Documentation

◆ s8zdefot3()

subroutine s8zdefot3 ( px1,
px2,
px3,
px4,
px5,
px6,
px7,
px8,
py1,
py2,
py3,
py4,
py5,
py6,
py7,
py8,
pz1,
pz2,
pz3,
pz4,
pz5,
pz6,
pz7,
pz8,
pxy1,
pxy2,
pxy3,
pxy4,
pxy5,
pxy6,
pxy7,
pxy8,
pyx1,
pyx2,
pyx3,
pyx4,
pyx5,
pyx6,
pyx7,
pyx8,
pxz1,
pxz2,
pxz3,
pxz4,
pxz5,
pxz6,
pxz7,
pxz8,
pzx1,
pzx2,
pzx3,
pzx4,
pzx5,
pzx6,
pzx7,
pzx8,
pyz1,
pyz2,
pyz3,
pyz4,
pyz5,
pyz6,
pyz7,
pyz8,
pzy1,
pzy2,
pzy3,
pzy4,
pzy5,
pzy6,
pzy7,
pzy8,
bxy1,
bxy2,
bxy3,
bxy4,
bxy5,
bxy6,
bxy7,
bxy8,
byx1,
byx2,
byx3,
byx4,
byx5,
byx6,
byx7,
byx8,
bxz1,
bxz2,
bxz3,
bxz4,
bxz5,
bxz6,
bxz7,
bxz8,
bzx1,
bzx2,
bzx3,
bzx4,
bzx5,
bzx6,
bzx7,
bzx8,
byz1,
byz2,
byz3,
byz4,
byz5,
byz6,
byz7,
byz8,
bzy1,
bzy2,
bzy3,
bzy4,
bzy5,
bzy6,
bzy7,
bzy8,
vx1,
vx2,
vx3,
vx4,
vx5,
vx6,
vx7,
vx8,
vy1,
vy2,
vy3,
vy4,
vy5,
vy6,
vy7,
vy8,
vz1,
vz2,
vz3,
vz4,
vz5,
vz6,
vz7,
vz8,
dxx,
dxy,
dxz,
dyx,
dyy,
dyz,
dzx,
dzy,
dzz,
integer icp,
det0,
jfac,
nu,
integer, dimension(*) ideg,
integer, intent(in) nel )

Definition at line 30 of file s8zdefot3.F.

71C 12
72C-----------------------------------------------
73C I m p l i c i t T y p e s
74C-----------------------------------------------
75#include "implicit_f.inc"
76C-----------------------------------------------
77C G l o b a l P a r a m e t e r s
78C-----------------------------------------------
79#include "mvsiz_p.inc"
80C-----------------------------------------------
81C C o m m o n B l o c k s
82C-----------------------------------------------
83C-----------------------------------------------
84C D u m m y A r g u m e n t s
85C-----------------------------------------------
86 INTEGER, INTENT(IN) :: NEL
87 INTEGER ICP,IDEG(*)
88C REAL
90 . vx1(*), vx2(*), vx3(*), vx4(*), vx5(*), vx6(*), vx7(*), vx8(*),
91 . vy1(*), vy2(*), vy3(*), vy4(*), vy5(*), vy6(*), vy7(*), vy8(*),
92 . vz1(*), vz2(*), vz3(*), vz4(*), vz5(*), vz6(*), vz7(*), vz8(*),
93 . px1(*), px2(*), px3(*), px4(*),
94 . px5(*), px6(*), px7(*), px8(*),
95 . py1(*), py2(*), py3(*), py4(*),
96 . py5(*), py6(*), py7(*), py8(*),
97 . pz1(*), pz2(*), pz3(*), pz4(*),
98 . pz5(*), pz6(*), pz7(*), pz8(*),
99 . pxy1(*),pxy2(*),pxy3(*),pxy4(*),
100 . pxy5(*),pxy6(*),pxy7(*),pxy8(*),
101 . pyx1(*),pyx2(*),pyx3(*),pyx4(*),
102 . pyx5(*),pyx6(*),pyx7(*),pyx8(*),
103 . pxz1(*),pxz2(*),pxz3(*),pxz4(*),
104 . pxz5(*),pxz6(*),pxz7(*),pxz8(*),
105 . pzx1(*),pzx2(*),pzx3(*),pzx4(*),
106 . pzx5(*),pzx6(*),pzx7(*),pzx8(*),
107 . pyz1(*),pyz2(*),pyz3(*),pyz4(*),
108 . pyz5(*),pyz6(*),pyz7(*),pyz8(*),
109 . pzy1(*),pzy2(*),pzy3(*),pzy4(*),
110 . pzy5(*),pzy6(*),pzy7(*),pzy8(*),
111 . bxy1(*),bxy2(*),bxy3(*),bxy4(*),
112 . bxy5(*),bxy6(*),bxy7(*),bxy8(*),
113 . byx1(*),byx2(*),byx3(*),byx4(*),
114 . byx5(*),byx6(*),byx7(*),byx8(*),
115 . bxz1(*),bxz2(*),bxz3(*),bxz4(*),
116 . bxz5(*),bxz6(*),bxz7(*),bxz8(*),
117 . bzx1(*),bzx2(*),bzx3(*),bzx4(*),
118 . bzx5(*),bzx6(*),bzx7(*),bzx8(*),
119 . byz1(*),byz2(*),byz3(*),byz4(*),
120 . byz5(*),byz6(*),byz7(*),byz8(*),
121 . bzy1(*),bzy2(*),bzy3(*),bzy4(*),
122 . bzy5(*),bzy6(*),bzy7(*),bzy8(*),
123 . dxx(*), dxy(*), dxz(*),
124 . dyx(*), dyy(*), dyz(*),
125 . dzx(*), dzy(*), dzz(*) ,det0(*),jfac(*),nu(*)
126C-----------------------------------------------
127C L o c a l V a r i a b l e s
128C-----------------------------------------------
129 INTEGER I
130C REAL
131 my_real
132 . fac,det(mvsiz),base
133C-----------------------------------------------
134 dxx(1:nel) =px1(1:nel)*vx1(1:nel)+px2(1:nel)*vx2(1:nel)+px3(1:nel)*vx3(1:nel)+px4(1:nel)*vx4(1:nel)
135 . +px5(1:nel)*vx5(1:nel)+px6(1:nel)*vx6(1:nel)+px7(1:nel)*vx7(1:nel)+px8(1:nel)*vx8(1:nel)
136 dyy(1:nel) =py1(1:nel)*vy1(1:nel)+py2(1:nel)*vy2(1:nel)+py3(1:nel)*vy3(1:nel)+py4(1:nel)*vy4(1:nel)
137 . +py5(1:nel)*vy5(1:nel)+py6(1:nel)*vy6(1:nel)+py7(1:nel)*vy7(1:nel)+py8(1:nel)*vy8(1:nel)
138 dzz(1:nel) =pz1(1:nel)*vz1(1:nel)+pz2(1:nel)*vz2(1:nel)+pz3(1:nel)*vz3(1:nel)+pz4(1:nel)*vz4(1:nel)
139 . +pz5(1:nel)*vz5(1:nel)+pz6(1:nel)*vz6(1:nel)+pz7(1:nel)*vz7(1:nel)+pz8(1:nel)*vz8(1:nel)
140 dxy(1:nel) =pxy1(1:nel)*vx1(1:nel)+pxy2(1:nel)*vx2(1:nel)
141 + +pxy3(1:nel)*vx3(1:nel)+pxy4(1:nel)*vx4(1:nel)
142 + +pxy5(1:nel)*vx5(1:nel)+pxy6(1:nel)*vx6(1:nel)
143 + +pxy7(1:nel)*vx7(1:nel)+pxy8(1:nel)*vx8(1:nel)
144 dxz(1:nel) =pxz1(1:nel)*vx1(1:nel)+pxz2(1:nel)*vx2(1:nel)
145 + +pxz3(1:nel)*vx3(1:nel)+pxz4(1:nel)*vx4(1:nel)
146 + +pxz5(1:nel)*vx5(1:nel)+pxz6(1:nel)*vx6(1:nel)
147 + +pxz7(1:nel)*vx7(1:nel)+pxz8(1:nel)*vx8(1:nel)
148 dyx(1:nel) =pyx1(1:nel)*vy1(1:nel)+pyx2(1:nel)*vy2(1:nel)
149 + +pyx3(1:nel)*vy3(1:nel)+pyx4(1:nel)*vy4(1:nel)
150 + +pyx5(1:nel)*vy5(1:nel)+pyx6(1:nel)*vy6(1:nel)
151 + +pyx7(1:nel)*vy7(1:nel)+pyx8(1:nel)*vy8(1:nel)
152 dyz(1:nel) =pyz1(1:nel)*vy1(1:nel)+pyz2(1:nel)*vy2(1:nel)
153 + +pyz3(1:nel)*vy3(1:nel)+pyz4(1:nel)*vy4(1:nel)
154 + +pyz5(1:nel)*vy5(1:nel)+pyz6(1:nel)*vy6(1:nel)
155 + +pyz7(1:nel)*vy7(1:nel)+pyz8(1:nel)*vy8(1:nel)
156 dzx(1:nel) =pzx1(1:nel)*vz1(1:nel)+pzx2(1:nel)*vz2(1:nel)
157 + +pzx3(1:nel)*vz3(1:nel)+pzx4(1:nel)*vz4(1:nel)
158 + +pzx5(1:nel)*vz5(1:nel)+pzx6(1:nel)*vz6(1:nel)
159 + +pzx7(1:nel)*vz7(1:nel)+pzx8(1:nel)*vz8(1:nel)
160 dzy(1:nel) =pzy1(1:nel)*vz1(1:nel)+pzy2(1:nel)*vz2(1:nel)
161 + +pzy3(1:nel)*vz3(1:nel)+pzy4(1:nel)*vz4(1:nel)
162 + +pzy5(1:nel)*vz5(1:nel)+pzy6(1:nel)*vz6(1:nel)
163 + +pzy7(1:nel)*vz7(1:nel)+pzy8(1:nel)*vz8(1:nel)
164C
165 IF (icp==1) THEN
166 CALL jacob_j33(
167 1 det, dxx, dxy, dxz,
168 2 dyx, dyy, dyz, dzx,
169 3 dzy, dzz, nel)
170C-----F'=FAC*F=MF'+[1]-->MF'=FAC*MF+(FAC-ONE)*[1]
171 DO i=1,nel
172 fac=two_third*nu(i)
173 base = det0(i)/max(em20,det(i))
174 jfac(i)=exp(fac*log(max(em20,base)))
175 IF (ideg(i)>10) jfac(i) =one
176 ENDDO
177 dxx(1:nel) = jfac(1:nel)*dxx(1:nel)+jfac(1:nel)-one
178 dyy(1:nel) = jfac(1:nel)*dyy(1:nel)+jfac(1:nel)-one
179 dzz(1:nel) = jfac(1:nel)*dzz(1:nel)+jfac(1:nel)-one
180 dxy(1:nel) = jfac(1:nel)*dxy(1:nel)
181 dyx(1:nel) = jfac(1:nel)*dyx(1:nel)
182 dzx(1:nel) = jfac(1:nel)*dzx(1:nel)
183 dxz(1:nel) = jfac(1:nel)*dxz(1:nel)
184 dyz(1:nel) = jfac(1:nel)*dyz(1:nel)
185 dzy(1:nel) = jfac(1:nel)*dzy(1:nel)
186 ELSE
187 dyy(1:nel) =dyy(1:nel)+bxy1(1:nel)*vx1(1:nel)+bxy2(1:nel)*vx2(1:nel)
188 + +bxy3(1:nel)*vx3(1:nel)+bxy4(1:nel)*vx4(1:nel)
189 + +bxy5(1:nel)*vx5(1:nel)+bxy6(1:nel)*vx6(1:nel)
190 + +bxy7(1:nel)*vx7(1:nel)+bxy8(1:nel)*vx8(1:nel)
191 dzz(1:nel) =dzz(1:nel)+bxz1(1:nel)*vx1(1:nel)+bxz2(1:nel)*vx2(1:nel)
192 + +bxz3(1:nel)*vx3(1:nel)+bxz4(1:nel)*vx4(1:nel)
193 + +bxz5(1:nel)*vx5(1:nel)+bxz6(1:nel)*vx6(1:nel)
194 + +bxz7(1:nel)*vx7(1:nel)+bxz8(1:nel)*vx8(1:nel)
195 dxx(1:nel) =dxx(1:nel)+byx1(1:nel)*vy1(1:nel)+byx2(1:nel)*vy2(1:nel)
196 + +byx3(1:nel)*vy3(1:nel)+byx4(1:nel)*vy4(1:nel)
197 + +byx5(1:nel)*vy5(1:nel)+byx6(1:nel)*vy6(1:nel)
198 + +byx7(1:nel)*vy7(1:nel)+byx8(1:nel)*vy8(1:nel)
199 dzz(1:nel) =dzz(1:nel)+byz1(1:nel)*vy1(1:nel)+byz2(1:nel)*vy2(1:nel)
200 + +byz3(1:nel)*vy3(1:nel)+byz4(1:nel)*vy4(1:nel)
201 + +byz5(1:nel)*vy5(1:nel)+byz6(1:nel)*vy6(1:nel)
202 + +byz7(1:nel)*vy7(1:nel)+byz8(1:nel)*vy8(1:nel)
203 dxx(1:nel) =dxx(1:nel)+bzx1(1:nel)*vz1(1:nel)+bzx2(1:nel)*vz2(1:nel)
204 + +bzx3(1:nel)*vz3(1:nel)+bzx4(1:nel)*vz4(1:nel)
205 + +bzx5(1:nel)*vz5(1:nel)+bzx6(1:nel)*vz6(1:nel)
206 + +bzx7(1:nel)*vz7(1:nel)+bzx8(1:nel)*vz8(1:nel)
207 dyy(1:nel) =dyy(1:nel)+bzy1(1:nel)*vz1(1:nel)+bzy2(1:nel)*vz2(1:nel)
208 + +bzy3(1:nel)*vz3(1:nel)+bzy4(1:nel)*vz4(1:nel)
209 + +bzy5(1:nel)*vz5(1:nel)+bzy6(1:nel)*vz6(1:nel)
210 + +bzy7(1:nel)*vz7(1:nel)+bzy8(1:nel)*vz8(1:nel)
211 ENDIF !IF (ICP==1) THEN
212C
213 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine jacob_j33(det, aj1, aj2, aj3, aj4, aj5, aj6, aj7, aj8, aj9, nel)
Definition jacob_j33.F:37
#define max(a, b)
Definition macros.h:21