OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s8zforc3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.F
25!||--- called by ------------------------------------------------------
26!|| forint ../engine/source/elements/forint.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../engine/source/output/message/message.F
29!|| basis8 ../engine/source/elements/solid/solide8/basis8.F
30!|| boltst ../engine/source/elements/solid/solide/boltst.F
31!|| csmall3 ../engine/source/elements/solid/solide/csmall3.F
32!|| degenes8 ../engine/source/elements/solid/solide/degenes8.F
33!|| jacob_f0 ../engine/source/elements/solid/solide8e/jacob_f0.F
34!|| mmain ../engine/source/materials/mat_share/mmain.F90
35!|| s8edefw3 ../engine/source/elements/solid/solide8e/s8edefw3.F
36!|| s8etherm ../engine/source/elements/solid/solide8e/s8etherm.F
37!|| s8fupd11t12 ../engine/source/elements/solid/solide8e/s8fupd11t12.F
38!|| s8sav12 ../engine/source/elements/solid/solide/s8sav12.F
39!|| s8sav3 ../engine/source/elements/solid/solide/s8sav3.F
40!|| s8zdefo3 ../engine/source/elements/solid/solide8z/s8zdefo3.F
41!|| s8zdefot3 ../engine/source/elements/solid/solide8z/s8zdefot3.F
42!|| s8zderic3 ../engine/source/elements/solid/solide8z/s8zderic3.F
43!|| s8zdericm3 ../engine/source/elements/solid/solide8z/s8zdericm3.F
44!|| s8zderict3 ../engine/source/elements/solid/solide8z/s8zderict3.F
45!|| s8zdericto3 ../engine/source/elements/solid/solide8z/s8zdericto3.F
46!|| s8zderim3 ../engine/source/elements/solid/solide8z/s8zderim3.F
47!|| s8zderims3 ../engine/source/elements/solid/solide8z/s8zderims3.F
48!|| s8zderipr3 ../engine/source/elements/solid/solide8z/s8zderipr3.F
49!|| s8zderit3 ../engine/source/elements/solid/solide8z/s8zderit3.F
50!|| s8zfint3 ../engine/source/elements/solid/solide8z/s8zfint3.F
51!|| s8zfint_reg ../engine/source/elements/solid/solide8z/s8zfint_reg.F
52!|| s8zfintp3 ../engine/source/elements/solid/solide8z/s8zfintp3.F
53!|| s8zsigp3 ../engine/source/elements/solid/solide8z/s8zsigp3.F
54!|| s8ztempel ../engine/source/elements/solid/solide8z/s8ztempel.F
55!|| s8zzero3 ../engine/source/elements/solid/solide8z/s8zzero3.F
56!|| sbilan ../engine/source/elements/solid/solide/sbilan.F
57!|| scoor3 ../engine/source/elements/solid/solide/scoor3.F
58!|| scoor_cp2sp ../engine/source/elements/solid/solidez/scoor_cp2sp.F
59!|| scumu3 ../engine/source/elements/solid/solide/scumu3.F
60!|| scumu3p ../engine/source/elements/solid/solide/scumu3p.F
61!|| sdlen_dege ../engine/source/elements/solid/solide/sdlen_dege.F
62!|| sdlen_sm11 ../engine/source/elements/solid/solide/sdlen_sm11.F
63!|| sdlenmax ../engine/source/elements/solid/solide/sdlenmax.F
64!|| sfillopt ../engine/source/elements/solid/solide/sfillopt.F
65!|| sgcoor3 ../engine/source/elements/solid/solide/sgcoor3.F
66!|| sgeodel3 ../engine/source/elements/solid/solide/sgeodel3.F
67!|| smallb3 ../engine/source/elements/solid/solide/smallb3.F
68!|| smallg3 ../engine/source/elements/solid/solide/smallg3.F
69!|| smallgeo3 ../engine/source/elements/solid/solide/smallgeo3.F
70!|| sordeft3 ../engine/source/elements/solid/solidez/sordeft3.F
71!|| srbilan ../engine/source/elements/solid/solide/srbilan.F
72!|| srcoor3 ../engine/source/elements/solid/solide/srcoor3.F
73!|| srho3 ../engine/source/elements/solid/solide/srho3.F
74!|| srota3 ../engine/source/elements/solid/solide/srota3.F
75!|| sroto3 ../engine/source/elements/solid/solidez/sroto3.F
76!|| srrota3 ../engine/source/elements/solid/solide/srrota3.F
77!|| srrotadp ../engine/source/elements/solid/solide/srrotadp.F
78!|| sstra3 ../engine/source/elements/solid/solide/sstra3.F
79!|| startime ../engine/source/system/timer_mod.F90
80!|| stoptime ../engine/source/system/timer_mod.F90
81!|| storth3 ../engine/source/elements/solid/solidez/storth3.F
82!|| sz_dt1 ../engine/source/elements/solid/solidez/sz_dt1.F90
83!|| szordef3 ../engine/source/elements/solid/solidez/szordef3.F
84!|| sztorth3 ../engine/source/elements/solid/solidez/sztorth3.F
85!||--- uses -----------------------------------------------------
86!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
87!|| dt_mod ../engine/source/modules/dt_mod.F
88!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
89!|| element_mod ../common_source/modules/elements/element_mod.F90
90!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
91!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
92!|| message_mod ../engine/share/message_module/message_mod.F
93!|| mmain_mod ../engine/source/materials/mat_share/mmain.F90
94!|| nlocal_reg_mod ../common_source/modules/nlocal_reg_mod.F
95!|| output_mod ../common_source/modules/output/output_mod.F90
96!|| sensor_mod ../common_source/modules/sensor_mod.F90
97!|| sz_dt1_mod ../engine/source/elements/solid/solidez/sz_dt1.F90
98!|| table_mod ../engine/share/modules/table_mod.F
99!|| timer_mod ../engine/source/system/timer_mod.F90
100!||====================================================================
101 SUBROUTINE s8zforc3(TIMERS, OUTPUT, ELBUF_TAB,NG ,
102 1 PM ,GEO ,IXS ,X ,
103 2 A ,V ,MS ,W ,FLUX ,
104 3 FLU1 ,VEUL ,FV ,ALE_CONNECT ,IPARG ,
105 4 TF ,NPF ,BUFMAT ,PARTSAV ,NLOC_DMG,
106 5 DT2T ,NELTST ,ITYPTST,STIFN ,FSKY ,
107 6 IADS ,OFFSET ,EANI ,IPARTS ,ICP ,
108 7 F11 ,F21 ,F31 ,F12 ,F22 ,
109 8 F32 ,F13 ,F23 ,F33 ,F14 ,
110 9 F24 ,F34 ,F15 ,F25 ,F35 ,
111 A F16 ,F26 ,F36 ,F17 ,F27 ,
112 B F37 ,F18 ,F28 ,F38 ,NEL ,
113 F ICSIG ,SMR ,SMS ,SMT ,MFXX ,
114 G MFXY ,MFXZ ,MFYX ,MFYY ,MFYZ ,
115 H MFZX ,MFZY ,MFZZ ,NVC ,IPM ,
116 I ITASK ,ISTRAIN,TEMP ,FTHE ,
117 J FTHESKY ,IEXPAN ,IGEO ,NNPT ,GRESAV ,
118 K GRTH ,IGRTH ,MSSA ,DMELS ,TABLE ,
119 L XDP ,VOLN ,CONDN ,CONDNSKY ,JFAC,
120 M D ,SENSORS,IOUTPRT,MAT_ELEM,H3D_STRAIN,
121 N DT ,SNPC ,STF,SBUFMAT,SVIS,NSVOIS,IDTMINS,
122 O IRESP ,MAXFUNC , USERL_AVAIL, GLOB_THERM,
123 V impl_s, idyna)
124C-----------------------------------------------
125C M o d u l e s
126C-----------------------------------------------
127 USE timer_mod
128 USE output_mod, only : output_
129 USE mmain_mod
130 USE table_mod
131 USE mat_elem_mod
132 USE message_mod
135 USE sensor_mod
136 USE dt_mod
137 USE elbufdef_mod
138 use glob_therm_mod
139 USE sz_dt1_mod, only : sz_dt1
140 use element_mod , only : nixs
141C-----------------------------------------------
142C I m p l i c i t T y p e s
143C-----------------------------------------------
144#include "implicit_f.inc"
145C-----------------------------------------------
146C G l o b a l P a r a m e t e r s
147C-----------------------------------------------
148#include "mvsiz_p.inc"
149C-----------------------------------------------
150C C o m m o n B l o c k s
151C-----------------------------------------------
152#include "vect01_c.inc"
153#include "com01_c.inc"
154#include "com04_c.inc"
155#include "com08_c.inc"
156#include "scr07_c.inc"
157#include "parit_c.inc"
158#include "param_c.inc"
159#include "timeri_c.inc"
160#include "scr17_c.inc"
161#include "scr18_c.inc"
162C-C-----------------------------------------------
163C D u m m y A r g u m e n t s
164C-----------------------------------------------
165 TYPE(timer_), INTENT(INOUT) :: TIMERS
166 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
167 INTEGER, INTENT(IN) ::SNPC
168 INTEGER, INTENT(IN) :: STF
169 INTEGER, INTENT(IN) :: SBUFMAT
170 INTEGER, INTENT(IN) :: NSVOIS
171 INTEGER, INTENT(IN) :: IDTMINS
172 INTEGER ,INTENT(IN) :: IRESP
173 INTEGER ,INTENT(IN) :: MAXFUNC
174 INTEGER, INTENT(IN) :: IMPL_S
175 INTEGER, INTENT(IN) :: IDYNA
176 INTEGER, INTENT(IN) :: USERL_AVAIL
177 INTEGER IXS(NIXS,*), IPARG(NPARG,NGROUP),NPF(*),
178 . IPARTS(*), IPM(NPROPMI,*),IGEO(NPROPGI,*),GRTH(*),
179 . IGRTH(*),IADS(8,*),IOUTPRT
180C
181 INTEGER NELTST,ITYPTST,OFFSET,NEL,ICP,NG,
182 . ICSIG, NVC, ITASK, ISTRAIN, IEXPAN ,NNPT,H3D_STRAIN
183
184 DOUBLE PRECISION
185 . XDP(3,*)
186
187 my_real
188 . dt2t
189C
190 my_real
191 . pm(npropm,*),geo(npropg,*),x(*),a(*),v(*),ms(*),w(*),
192 . flux(6,*),flu1(*),veul(*),fv(*),tf(*),bufmat(*),
193 . partsav(*),stifn(*), fsky(*),eani(*),
194 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
195 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
196 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
197 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
198 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
199 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
200 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
201 . f18(mvsiz),f28(mvsiz),f38(mvsiz)
202 my_real
203 . smr(mvsiz,729),sms(mvsiz,729),smt(mvsiz,729),
204 . mfxx(mvsiz,729),mfxy(mvsiz,729),mfyx(mvsiz,729),
205 . mfyy(mvsiz,729),mfyz(mvsiz,729),mfzy(mvsiz,729),
206 . mfzz(mvsiz,729),mfzx(mvsiz,729),mfxz(mvsiz,729),
207 . jfac(mvsiz,729),
208 . temp(*), fthe(*), fthesky(*),gresav(*), mssa(*), dmels(*),voln(mvsiz),
209 . condn(*),condnsky(*),d(*)
210 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
211 TYPE(ttable) TABLE(*)
212 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
213 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
214 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
215 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
216 TYPE (SENSORS_) , INTENT(INOUT) :: SENSORS
217 TYPE(DT_), INTENT(INOUT) :: DT
218 type (glob_therm_) ,intent(inout) :: glob_therm
219C-----------------------------------------------
220C L o c a l V a r i a b l e s
221C-----------------------------------------------
222 INTEGER I,J,NF1,IFLAG,ILAY,NLAY,
223 . IP,IR,IS,IT,NPTR,NPTS,NPTT,ICR,ICS,ICT,PID,
224 . ipmat,nlymax,ipang,ibid
225
226 DOUBLE PRECISION
227 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),
228 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
229 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
230 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
231 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
232 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
233 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),volp(mvsiz,nnpt)
234 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),IPARBID(1)
235 my_real
236 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
237 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
238 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
239 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
240 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
241 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
242 . ajc1(mvsiz) , ajc2(mvsiz) , ajc3(mvsiz) ,
243 . ajc4(mvsiz) , ajc5(mvsiz) , ajc6(mvsiz) ,
244 . ajc7(mvsiz) , ajc8(mvsiz) , ajc9(mvsiz) ,
245 . aj1(mvsiz) , aj2(mvsiz) , aj3(mvsiz) ,
246 . aj4(mvsiz) , aj5(mvsiz) , aj6(mvsiz) ,
247 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
248 . e0(mvsiz),c1,fac(mvsiz) ,them(mvsiz,8),tempel(mvsiz),ni(8),
249 . die(mvsiz),conde(mvsiz) ,conden(mvsiz),amu(mvsiz)
250 my_real, dimension(mvsiz) :: fheat
251C-----
252C variables used as arguments by materials
253 my_real
254 . sti(mvsiz),stin(mvsiz),gama(mvsiz,6),
255 . wxx0(mvsiz) , wyy0(mvsiz) , wzz0(mvsiz),
256 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
257C Variables used in argument by materials if SPH only.
258 my_real
259 . muvoid(mvsiz)
260 INTEGER IOFFS,ITET,IFVM22
261 my_real
262 . OFFS(MVSIZ),DSV(MVSIZ)
263C-----
264C variables used only in solid routines (as arguments)
265 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
266 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
267 INTEGER IDEG(MVSIZ),ICP0
268 my_real
269 . OFF(MVSIZ) ,OFFL(MVSIZ) , RHOO(MVSIZ),
270 . X1(MVSIZ), X2(MVSIZ), X3(MVSIZ), X4(MVSIZ),
271 . X5(MVSIZ), X6(MVSIZ), X7(MVSIZ), X8(MVSIZ),
272 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
273 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
274 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
275 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
276 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
277 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
278 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
279 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
280 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
281 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
282 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
283 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
284 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
285 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
286 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
287 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
288 . pxy1(mvsiz),pxy2(mvsiz),pxy3(mvsiz),pxy4(mvsiz),
289 . pxy5(mvsiz),pxy6(mvsiz),pxy7(mvsiz),pxy8(mvsiz),
290 . pyx1(mvsiz),pyx2(mvsiz),pyx3(mvsiz),pyx4(mvsiz),
291 . pyx5(mvsiz),pyx6(mvsiz),pyx7(mvsiz),pyx8(mvsiz),
292 . pxz1(mvsiz),pxz2(mvsiz),pxz3(mvsiz),pxz4(mvsiz),
293 . pxz5(mvsiz),pxz6(mvsiz),pxz7(mvsiz),pxz8(mvsiz),
294 . pzx1(mvsiz),pzx2(mvsiz),pzx3(mvsiz),pzx4(mvsiz),
295 . pzx5(mvsiz),pzx6(mvsiz),pzx7(mvsiz),pzx8(mvsiz),
296 . pyz1(mvsiz),pyz2(mvsiz),pyz3(mvsiz),pyz4(mvsiz),
297 . pyz5(mvsiz),pyz6(mvsiz),pyz7(mvsiz),pyz8(mvsiz),
298 . pzy1(mvsiz),pzy2(mvsiz),pzy3(mvsiz),pzy4(mvsiz),
299 . pzy5(mvsiz),pzy6(mvsiz),pzy7(mvsiz),pzy8(mvsiz),
300 . pxc1(mvsiz),pxc2(mvsiz),pxc3(mvsiz),pxc4(mvsiz),
301 . pyc1(mvsiz),pyc2(mvsiz),pyc3(mvsiz),pyc4(mvsiz),
302 . pzc1(mvsiz),pzc2(mvsiz),pzc3(mvsiz),pzc4(mvsiz),
303 . bxy1(mvsiz),bxy2(mvsiz),bxy3(mvsiz),bxy4(mvsiz),
304 . bxy5(mvsiz),bxy6(mvsiz),bxy7(mvsiz),bxy8(mvsiz),
305 . byx1(mvsiz),byx2(mvsiz),byx3(mvsiz),byx4(mvsiz),
306 . byx5(mvsiz),byx6(mvsiz),byx7(mvsiz),byx8(mvsiz),
307 . bxz1(mvsiz),bxz2(mvsiz),bxz3(mvsiz),bxz4(mvsiz),
308 . bxz5(mvsiz),bxz6(mvsiz),bxz7(mvsiz),bxz8(mvsiz),
309 . bzx1(mvsiz),bzx2(mvsiz),bzx3(mvsiz),bzx4(mvsiz),
310 . bzx5(mvsiz),bzx6(mvsiz),bzx7(mvsiz),bzx8(mvsiz),
311 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
312 . byz5(mvsiz),byz6(mvsiz),byz7(mvsiz),byz8(mvsiz),
313 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
314 . bzy5(mvsiz),bzy6(mvsiz),bzy7(mvsiz),bzy8(mvsiz),
315 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
316 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
317 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
318 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
319 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
320 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
321 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
322 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
323 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
324 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
325 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
326 . hx(mvsiz,4), hy(mvsiz,4), hz(mvsiz,4),offg0(mvsiz),
327 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
328 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
329 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
330 my_real
331 . dxy(mvsiz),dyx(mvsiz),
332 . dyz(mvsiz),dzy(mvsiz),
333 . dzx(mvsiz),dxz(mvsiz),detf0(mvsiz),divde(mvsiz)
334 my_real
335 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
336 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
337 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
338 . g1x(mvsiz),g2x(mvsiz),g3x(mvsiz),
339 . g1y(mvsiz),g2y(mvsiz),g3y(mvsiz),
340 . g1z(mvsiz),g2z(mvsiz),g3z(mvsiz)
341 my_real
342 . wi,smax(mvsiz),volg(mvsiz),nu(mvsiz),pp(mvsiz),usb(mvsiz),
343 . dti,bid(mvsiz),fac_nu,nu_sp,nu0
344 my_real
345 . sigy(mvsiz), sign(nel,6),et(mvsiz), nu1(mvsiz),
346 . r1_free(mvsiz),r3_free(mvsiz),deltaxi(mvsiz)
347 my_real
348 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8)
349 my_real
350 . zr,zs,zt,wt
351 my_real, DIMENSION(MVSIZ,NNPT) :: aji1,aji2,aji3
352 my_real, DIMENSION(MVSIZ,NNPT) :: aji4,aji5,aji6
353 my_real, DIMENSION(MVSIZ,NNPT) :: aji7,aji8,aji9
354 INTEGER NNEGA,INDEX(MVSIZ)
355 my_real
356 . aj7(mvsiz) , aj8(mvsiz) , aj9(mvsiz),l_max(mvsiz),div0(mvsiz)
357 INTEGER SZ_R1_FREE
358C-----
359
360c
361C-----
362C variables used for non-local
363 my_real,
364 . DIMENSION(:,:), ALLOCATABLE :: var_reg
365 INTEGER :: INLOC, L_NLOC, INOD(8), IPOS(8), IMAT,NN_DEL
366 my_real,
367 . DIMENSION(:), POINTER :: dnl
368 my_real
369 . h(8),ps(8),pr(8),pt(8)
370 INTEGER SZ_IX
371
372c Flag Bolt Preloading
373 INTEGER IBOLTP,NBPRELD,ISM12_11
374 my_real,
375 . DIMENSION(:), POINTER :: bpreld
376C-----
377 TYPE(g_bufel_) ,POINTER :: GBUF
378 TYPE(L_BUFEL_) ,POINTER :: LBUF
379c-----------------------------------------------------
380 parameter(nlymax = 200,ipmat = 100,ipang = 200)
381c-----------------------------------------------------
382 my_real
383 . w_gauss(9,9),a_gauss(9,9)
384 DATA w_gauss /
385c---
386 1 2.d0 ,0.d0 ,0.d0 ,
387 1 0.d0 ,0.d0 ,0.d0 ,
388 1 0.d0 ,0.d0 ,0.d0 ,
389 2 1.d0 ,1.d0 ,0.d0 ,
390 2 0.d0 ,0.d0 ,0.d0 ,
391 2 0.d0 ,0.d0 ,0.d0 ,
392 3 0.555555555555556d0,0.888888888888889d0,0.555555555555556d0,
393 3 0.d0 ,0.d0 ,0.d0 ,
394 3 0.d0 ,0.d0 ,0.d0 ,
395 4 0.347854845137454d0,0.652145154862546d0,0.652145154862546d0,
396 4 0.347854845137454d0,0.d0 ,0.d0 ,
397 4 0.d0 ,0.d0 ,0.d0 ,
398 5 0.236926885056189d0,0.478628670499366d0,0.568888888888889d0,
399 5 0.478628670499366d0,0.236926885056189d0,0.d0 ,
400 5 0.d0 ,0.d0 ,0.d0 ,
401 6 0.171324492379170d0,0.360761573048139d0,0.467913934572691d0,
402 6 0.467913934572691d0,0.360761573048139d0,0.171324492379170d0,
403 6 0.d0 ,0.d0 ,0.d0 ,
404 7 0.129484966168870d0,0.279705391489277d0,0.381830050505119d0,
405 7 0.417959183673469d0,0.381830050505119d0,0.279705391489277d0,
406 7 0.129484966168870d0,0.d0 ,0.d0 ,
407 8 0.101228536290376d0,0.222381034453374d0,0.313706645877887d0,
408 8 0.362683783378362d0,0.362683783378362d0,0.313706645877887d0,
409 8 0.222381034453374d0,0.101228536290376d0,0.d0 ,
410 9 0.081274388361574d0,0.180648160694857d0,0.260610696402935d0,
411 9 0.312347077040003d0,0.330239355001260d0,0.312347077040003d0,
412 9 0.260610696402935d0,0.180648160694857d0,0.081274388361574d0/
413c------------------------------------------------------------
414 DATA a_gauss /
415 1 0.d0 ,0.d0 ,0.d0 ,
416 1 0.d0 ,0.d0 ,0.d0 ,
417 1 0.d0 ,0.d0 ,0.d0 ,
418 2 -.577350269189625d0,0.577350269189625d0,0.d0 ,
419 2 0.d0 ,0.d0 ,0.d0 ,
420 2 0.d0 ,0.d0 ,0.d0 ,
421 3 -.774596669241483d0,0.d0 ,0.774596669241483d0,
422 3 0.d0 ,0.d0 ,0.d0 ,
423 3 0.d0 ,0.d0 ,0.d0 ,
424 4 -.861136311594053d0,-.339981043584856d0,0.339981043584856d0,
425 4 0.861136311594053d0,0.d0 ,0.d0 ,
426 4 0.d0 ,0.d0 ,0.d0 ,
427 5 -.906179845938664d0,-.538469310105683d0,0.d0 ,
428 5 0.538469310105683d0,0.906179845938664d0,0.d0 ,
429 5 0.d0 ,0.d0 ,0.d0 ,
430 6 -.932469514203152d0,-.661209386466265d0,-.238619186083197d0,
431 6 0.238619186083197d0,0.661209386466265d0,0.932469514203152d0,
432 6 0.d0 ,0.d0 ,0.d0 ,
433 7 -.949107912342759d0,-.741531185599394d0,-.405845151377397d0,
434 7 0.d0 ,0.405845151377397d0,0.741531185599394d0,
435 7 0.949107912342759d0,0.d0 ,0.d0 ,
436 8 -.960289856497536d0,-.796666477413627d0,-.525532409916329d0,
437 8 -.183434642495650d0,0.183434642495650d0,0.525532409916329d0,
438 8 0.796666477413627d0,0.960289856497536d0,0.d0 ,
439 9 -.968160239507626d0,-.836031107326636d0,-.613371432700590d0,
440 9 -.324253423403809d0,0.d0 ,0.324253423403809d0,
441 9 0.613371432700590d0,0.836031107326636d0,0.968160239507626d0/
442C-----------------------------------------------
443C S o u r c e L i n e s
444C=======================================================================
445 gbuf =>elbuf_tab(ng)%GBUF
446 nptr = elbuf_tab(ng)%NPTR
447 npts = elbuf_tab(ng)%NPTS
448 nptt = elbuf_tab(ng)%NPTT
449 nlay = elbuf_tab(ng)%NLAY
450 ilay = 1
451 ics = 0
452 ict = 0
453 icr = 0
454 dti = zero
455 iboltp = iparg(72,ng)
456 inloc = iparg(78,ng)
457 ALLOCATE(var_reg(nel,nptr*npts*nptt))
458 nbpreld = gbuf%G_BPRELD
459 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
460 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
461 tempel(:) = zero
462 fheat(:) = zero
463 sz_r1_free=mvsiz
464 sz_ix=numelq+numels+nsvois
465C----
466 nf1=nft+1
467C----
468 ibid = 0
469 iparbid= 0
470 IF (jcvt==1 .AND. isorth==1) jcvt=2
471 IF (igtyp /= 22) isorthg = 0
472c MPT = IABS(NPT)
473c NPTS=MPT/100
474c NPTT=MOD(MPT/10,10)
475c NPTR=MOD(MPT,10)
476C--------------------------
477C-----------
478C GATHER NODAL VARIABLES AND COMPUTE INTRINSIC ROTATION.
479C-----------
480 IF (jcvt == 0) THEN
481C GATHER NODAL VARIABLES
482 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
483 2 x1, x2, x3, x4, x5, x6, x7, x8,
484 3 y1, y2, y3, y4, y5, y6, y7, y8,
485 4 z1, z2, z3, z4, z5, z6, z7, z8,
486 5 vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
487 6 vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
488 7 vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
489 8 vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
490 9 vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
491 a vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
492 b vdx,vdy,vdz,vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,
493 c gbuf%RHO,rhoo,nc1,nc2,nc3,nc4,nc5,nc6,
494 c nc7,nc8,ngl,mxt,ngeo,
495 e bid,bid,bid,bid,bid,bid,
496 f xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
497 g yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
498 h zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
499 i xdp,iparg,ng , nel)
500 ELSE
501C GATHER NODAL VARIABLES AND COMPUTE INTRINSIC ROTATION.
502 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
503 . x1, x2, x3, x4, x5, x6, x7, x8,
504 . y1, y2, y3, y4, y5, y6, y7, y8,
505 . z1, z2, z3, z4, z5, z6, z7, z8,
506 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
507 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
508 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
509 . vd2,vis,gbuf%OFF,offl,gbuf%SMSTR,gbuf%RHO,rhoo,
510 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
511 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
512 . ngl,mxt,ngeo,ioutprt, vgxa, vgya, vgza, vga2,
513 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
514 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
515 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
516 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
517 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
518 . gbuf%GAMA_R)
519 ENDIF
520!
521 nn_del = 0
522 pid = ngeo(1)
523 imat = mxt(lft)
524!
525 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
526 . nn_del=8
527 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
528C-----------
529C GATHER NODAL VARIABLES FOR TOTAL STRAIN CASE.
530C-----------
531 IF (ismstr >= 10.AND.ismstr <= 12) THEN
532 CALL sgcoor3(
533 1 tt, 8, x, ixs(1,nf1),
534 2 x0, y0, z0, vx0,
535 3 vy0, vz0, gbuf%SMSTR,d,
536 4 gbuf%OFF, offg0, nel, xdp,
537 5 mtn, ismstr)
538C-----------Pij is in global system w/ Ismstr10 and local system w/ 11
539 IF (ismstr == 11) THEN
540 CALL srrotadp(
541 1 r11, r12, r13, r21,
542 2 r22, r23, r31, r32,
543 3 r33, x0(1,1), x0(1,2), x0(1,3),
544 4 x0(1,4), x0(1,5), x0(1,6), x0(1,7),
545 5 x0(1,8), y0(1,1), y0(1,2), y0(1,3),
546 6 y0(1,4), y0(1,5), y0(1,6), y0(1,7),
547 7 y0(1,8), z0(1,1), z0(1,2), z0(1,3),
548 8 z0(1,4), z0(1,5), z0(1,6), z0(1,7),
549 9 z0(1,8), nel)
550 CALL srrota3(
551 1 r11, r12, r13, r21,
552 2 r22, r23, r31, r32,
553 3 r33, vx0(1,1),vx0(1,2),vx0(1,3),
554 4 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
555 5 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
556 6 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
557 7 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
558 8 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
559 9 vz0(1,8),nel)
560 END IF !(ISMSTR == 11) THEN
561 ENDIF ! ISMSTR == 10.OR.ISMSTR == 11
562c
563 DO i=lft,llt
564 nu(i)=min(half,pm(21,imat))
565 deltax(i)=ep30
566 c1 =pm(32,imat)
567 e0(i) =three*(one-two*nu(i))*c1
568 usb(i)=em01/c1
569 ideg(i)=0
570 ENDDO
571! for sound speed takeing into account nu
572 icp0=mat_elem%MAT_PARAM(imat)%COMPRESSIBILITY
573 fac_nu = one
574 nu0 = pm(21,imat)
575 nu_sp = one
576 IF (idt1sol == 1.AND.(mtn==1.OR.icp0 ==3)) THEN
577 nu_sp=sqrt((one-nu0)/(one+nu0))
578 nu_sp = min(one,nu_sp/zep9)
579 fac_nu=(one-two*nu0)/(one-nu0)
580 END IF
581c---------------------------
582 IF (ismstr >= 10.AND.ismstr <= 12) THEN
583 IF (ismstr == 11) THEN
584 CALL s8zderict3(
585 1 offl, volg, ngl, x0(1,1),
586 2 x0(1,2), x0(1,3), x0(1,4), x0(1,5),
587 3 x0(1,6), x0(1,7), x0(1,8), y0(1,1),
588 4 y0(1,2), y0(1,3), y0(1,4), y0(1,5),
589 5 y0(1,6), y0(1,7), y0(1,8), z0(1,1),
590 6 z0(1,2), z0(1,3), z0(1,4), z0(1,5),
591 7 z0(1,6), z0(1,7), z0(1,8), pxc1,
592 8 pxc2, pxc3, pxc4, pyc1,
593 9 pyc2, pyc3, pyc4, pzc1,
594 a pzc2, pzc3, pzc4, px1h1,
595 b px1h2, px1h3, px1h4, px2h1,
596 c px2h2, px2h3, px2h4, px3h1,
597 d px3h2, px3h3, px3h4, px4h1,
598 e px4h2, px4h3, px4h4, hx,
599 f hy, hz, ajc1, ajc2,
600 g ajc3, ajc4, ajc5, ajc6,
601 h ajc7, ajc8, ajc9, smax,
602 i nel)
603 CALL scoor_cp2sp(
604 1 x0, y0, z0, x1,
605 2 x2, x3, x4, x5,
606 3 x6, x7, x8, y1,
607 4 y2, y3, y4, y5,
608 5 y6, y7, y8, z1,
609 6 z2, z3, z4, z5,
610 7 z6, z7, z8, nel)
611 IF (idts6>0) THEN
612 CALL sdlen_dege(
613 1 volg, deltax, x1, x2,
614 2 x3, x4, x5, x6,
615 3 x7, x8, y1, y2,
616 4 y3, y4, y5, y6,
617 5 y7, y8, z1, z2,
618 6 z3, z4, z5, z6,
619 7 z7, z8, ixs(1,nf1),ideg,
620 8 nel)
621 END IF
622 CALL sdlen_sm11(
623 1 volg, deltax, smax, ideg,
624 2 nel)
625 IF (jcvt == 2) THEN
626 CALL storth3(
627 1 lft, llt, nel, g1x,
628 2 g1y, g1z, g2x, g2y,
629 3 g2z, g3x, g3y, g3z,
630 4 gbuf%GAMA,isorth)
631 ENDIF
632C------Ismstr 10,12
633 ELSE
634 CALL s8zdericto3(
635 1 gbuf%OFF, volg, ngl, x0(1,1),
636 2 x0(1,2), x0(1,3), x0(1,4), x0(1,5),
637 3 x0(1,6), x0(1,7), x0(1,8), y0(1,1),
638 4 y0(1,2), y0(1,3), y0(1,4), y0(1,5),
639 5 y0(1,6), y0(1,7), y0(1,8), z0(1,1),
640 6 z0(1,2), z0(1,3), z0(1,4), z0(1,5),
641 7 z0(1,6), z0(1,7), z0(1,8), pxc1,
642 8 pxc2, pxc3, pxc4, pyc1,
643 9 pyc2, pyc3, pyc4, pzc1,
644 a pzc2, pzc3, pzc4, px1h1,
645 b px1h2, px1h3, px1h4, px2h1,
646 c px2h2, px2h3, px2h4, px3h1,
647 d px3h2, px3h3, px3h4, px4h1,
648 e px4h2, px4h3, px4h4, hx,
649 f hy, hz, ajc1, ajc2,
650 g ajc3, ajc4, ajc5, ajc6,
651 h ajc7, ajc8, ajc9, smax,
652 i gbuf%JAC_I,nel, ismstr)
653 CALL sztorth3(lft,llt,isorth,nel,
654 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
655 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gbuf%GAMA)
656 END IF !(ISMSTR==11) THEN
657 IF (icp ==1) THEN
658 CALL jacob_f0(
659 1 detf0, pxc1, pxc2, pxc3,
660 2 pxc4, pyc1, pyc2, pyc3,
661 3 pyc4, pzc1, pzc2, pzc3,
662 4 pzc4, vx0(1,1),vx0(1,2),vx0(1,3),
663 5 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
664 6 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
665 7 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
666 8 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
667 9 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
668 a vz0(1,8),div0, nel)
669 IF (idts6==0) CALL degenes8(
670 1 ixs(1,nf1),ideg, nel)
671 DO i=lft,llt
672 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
673 ENDDO
674 END IF
675C-----------Begin integrating points-----
676C
677 DO ir=1,nptr
678 DO is=1,npts
679 DO it=1,nptt
680 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
681C-----------
682 ip = ir + ( (is-1) + (it-1)*npts )*nptr
683 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
684C
685 CALL s8zderit3(
686 1 offl, off, voln, ngl,
687 2 a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),wi,
688 3 pxc1, pxc2, pxc3, pxc4,
689 4 pyc1, pyc2, pyc3, pyc4,
690 5 pzc1, pzc2, pzc3, pzc4,
691 6 px1h1, px1h2, px1h3, px1h4,
692 7 px2h1, px2h2, px2h3, px2h4,
693 8 px3h1, px3h2, px3h3, px3h4,
694 9 px4h1, px4h2, px4h3, px4h4,
695 a hx, hy, hz, px1,
696 b px2, px3, px4, px5,
697 c px6, px7, px8, py1,
698 d py2, py3, py4, py5,
699 e py6, py7, py8, pz1,
700 f pz2, pz3, pz4, pz5,
701 g pz6, pz7, pz8, pxy1,
702 h pxy2, pxy3, pxy4, pxy5,
703 i pxy6, pxy7, pxy8, pyx1,
704 j pyx2, pyx3, pyx4, pyx5,
705 k pyx6, pyx7, pyx8, pxz1,
706 l pxz2, pxz3, pxz4, pxz5,
707 m pxz6, pxz7, pxz8, pzx1,
708 n pzx2, pzx3, pzx4, pzx5,
709 o pzx6, pzx7, pzx8, pyz1,
710 p pyz2, pyz3, pyz4, pyz5,
711 q pyz6, pyz7, pyz8, pzy1,
712 r pzy2, pzy3, pzy4, pzy5,
713 s pzy6, pzy7, pzy8, bxy1,
714 t bxy2, bxy3, bxy4, bxy5,
715 u bxy6, bxy7, bxy8, byx1,
716 v byx2, byx3, byx4, byx5,
717 w byx6, byx7, byx8, bxz1,
718 x bxz2, bxz3, bxz4, bxz5,
719 y bxz6, bxz7, bxz8, bzx1,
720 z bzx2, bzx3, bzx4, bzx5,
721 1 bzx6, bzx7, bzx8, byz1,
722 2 byz2, byz3, byz4, byz5,
723 3 byz6, byz7, byz8, bzy1,
724 4 bzy2, bzy3, bzy4, bzy5,
725 5 bzy6, bzy7, bzy8, ajc1,
726 6 ajc2, ajc3, ajc4, ajc5,
727 7 ajc6, ajc7, ajc8, ajc9,
728 8 aj1, aj2, aj3, aj4,
729 9 aj5, aj6, smax, deltax,
730 a nu, icp, ideg, lbuf%JAC_I,
731 b nel, mtn, ismstr, jhbe)
732 CALL s8zdefot3(
733 1 px1, px2, px3, px4,
734 2 px5, px6, px7, px8,
735 3 py1, py2, py3, py4,
736 4 py5, py6, py7, py8,
737 5 pz1, pz2, pz3, pz4,
738 6 pz5, pz6, pz7, pz8,
739 7 pxy1, pxy2, pxy3, pxy4,
740 8 pxy5, pxy6, pxy7, pxy8,
741 9 pyx1, pyx2, pyx3, pyx4,
742 a pyx5, pyx6, pyx7, pyx8,
743 b pxz1, pxz2, pxz3, pxz4,
744 c pxz5, pxz6, pxz7, pxz8,
745 d pzx1, pzx2, pzx3, pzx4,
746 e pzx5, pzx6, pzx7, pzx8,
747 f pyz1, pyz2, pyz3, pyz4,
748 g pyz5, pyz6, pyz7, pyz8,
749 h pzy1, pzy2, pzy3, pzy4,
750 i pzy5, pzy6, pzy7, pzy8,
751 j bxy1, bxy2, bxy3, bxy4,
752 k bxy5, bxy6, bxy7, bxy8,
753 l byx1, byx2, byx3, byx4,
754 m byx5, byx6, byx7, byx8,
755 n bxz1, bxz2, bxz3, bxz4,
756 o bxz5, bxz6, bxz7, bxz8,
757 p bzx1, bzx2, bzx3, bzx4,
758 q bzx5, bzx6, bzx7, bzx8,
759 r byz1, byz2, byz3, byz4,
760 s byz5, byz6, byz7, byz8,
761 t bzy1, bzy2, bzy3, bzy4,
762 u bzy5, bzy6, bzy7, bzy8,
763 v vx0(1,1), vx0(1,2), vx0(1,3), vx0(1,4),
764 w vx0(1,5), vx0(1,6), vx0(1,7), vx0(1,8),
765 x vy0(1,1), vy0(1,2), vy0(1,3), vy0(1,4),
766 y vy0(1,5), vy0(1,6), vy0(1,7), vy0(1,8),
767 z vz0(1,1), vz0(1,2), vz0(1,3), vz0(1,4),
768 1 vz0(1,5), vz0(1,6), vz0(1,7), vz0(1,8),
769 2 mfxx(1,ip),mfxy(1,ip),mfxz(1,ip),mfyx(1,ip),
770 3 mfyy(1,ip),mfyz(1,ip),mfzx(1,ip),mfzy(1,ip),
771 4 mfzz(1,ip),icp, detf0, jfac(1,ip),
772 5 nu, ideg, nel)
773C
774 IF (jcvt == 2.OR.ismstr==10.OR.ismstr==12) THEN
775 CALL sordeft3(lft,llt,mfxx(1,ip), mfxy(1,ip), mfxz(1,ip),
776 . mfyx(1,ip), mfyy(1,ip), mfyz(1,ip),
777 . mfzx(1,ip), mfzy(1,ip), mfzz(1,ip),
778 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
779 ENDIF
780 ENDDO ! IR=1,NPTR
781 ENDDO ! IS=1,NPTS
782 ENDDO ! IT=1,NPTT
783 ENDIF ! ISMSTR == 10
784c---------------------------
785 IF (jcvt == 2) THEN
786 CALL storth3(
787 1 lft, llt, nel, g1x,
788 2 g1y, g1z, g2x, g2y,
789 3 g2z, g3x, g3y, g3z,
790 4 gbuf%GAMA,isorth)
791 ENDIF
792 IF (ismstr/=11) THEN
793 CALL s8zderic3(
794 1 offl, volg, ngl, xd1,
795 2 xd2, xd3, xd4, xd5,
796 3 xd6, xd7, xd8, yd1,
797 4 yd2, yd3, yd4, yd5,
798 5 yd6, yd7, yd8, zd1,
799 6 zd2, zd3, zd4, zd5,
800 7 zd6, zd7, zd8, pxc1,
801 8 pxc2, pxc3, pxc4, pyc1,
802 9 pyc2, pyc3, pyc4, pzc1,
803 a pzc2, pzc3, pzc4, px1h1,
804 b px1h2, px1h3, px1h4, px2h1,
805 c px2h2, px2h3, px2h4, px3h1,
806 d px3h2, px3h3, px3h4, px4h1,
807 e px4h2, px4h3, px4h4, hx,
808 f hy, hz, ajc1, ajc2,
809 g ajc3, ajc4, ajc5, ajc6,
810 h ajc7, ajc8, ajc9, smax,
811 i gbuf%SMSTR,gbuf%OFF, nel, ismstr,
812 j jlag)
813 IF (idts6>0) THEN
814 CALL sdlen_dege(
815 1 volg, deltax, x1, x2,
816 2 x3, x4, x5, x6,
817 3 x7, x8, y1, y2,
818 4 y3, y4, y5, y6,
819 5 y7, y8, z1, z2,
820 6 z3, z4, z5, z6,
821 7 z7, z8, ixs(1,nf1),ideg,
822 8 nel)
823 END IF
824 END IF !(ISMSTR/=11) THEN
825C----------JACOBIEN-inverse- in case of Vol<=0-------
826 nnega = 0
827C-----------Begin integrating points-----
828c
829 DO ir=1,nptr
830 DO is=1,npts
831 DO it=1,nptt
832 ip = ir + ( (is-1) + (it-1)*npts )*nptr
833C----------------
834 zr = a_gauss(ir,nptr)
835 zs = a_gauss(is,npts)
836 zt = a_gauss(it,nptt)
837 wt = w_gauss(it,nptt)
838 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*wt
839C--------[MF] is used as work array for AJI (inversed Jacobian)
840 CALL s8zderipr3(
841 1 gbuf%OFF, volp(1,ip),ngl, zr,
842 2 zs, zt, wi, ajc1,
843 3 ajc2, ajc3, ajc4, ajc5,
844 4 ajc6, ajc7, ajc8, ajc9,
845 5 hx, hy, hz, aj1,
846 6 aj2, aj3, aj4, aj5,
847 7 aj6, aji1(1,ip),aji2(1,ip),aji3(1,ip),
848 8 aji4(1,ip),aji5(1,ip),aji6(1,ip),aji7(1,ip),
849 9 aji8(1,ip),aji9(1,ip),nnega, index,
850 a ip, nel)
851 ENDDO ! IT=1,NPTT
852 ENDDO ! IS=1,NPTS
853 ENDDO ! IR=1,NPTR
854C
855 IF (nnega>0) THEN
856 CALL s8zdericm3(
857 1 volg, ngl, xd1, xd2,
858 2 xd3, xd4, xd5, xd6,
859 3 xd7, xd8, yd1, yd2,
860 4 yd3, yd4, yd5, yd6,
861 5 yd7, yd8, zd1, zd2,
862 6 zd3, zd4, zd5, zd6,
863 7 zd7, zd8, pxc1, pxc2,
864 8 pxc3, pxc4, pyc1, pyc2,
865 9 pyc3, pyc4, pzc1, pzc2,
866 a pzc3, pzc4, px1h1, px1h2,
867 b px1h3, px1h4, px2h1, px2h2,
868 c px2h3, px2h4, px3h1, px3h2,
869 d px3h3, px3h4, px4h1, px4h2,
870 e px4h3, px4h4, hx, hy,
871 f hz, ajc1, ajc2, ajc3,
872 g ajc4, ajc5, ajc6, ajc7,
873 h ajc8, ajc9, smax, gbuf%SMSTR,
874 i gbuf%OFF, nnega, index, nel,
875 j ismstr)
876 DO ir=1,nptr
877 DO is=1,npts
878 DO it=1,nptt
879 ip = ir + ( (is-1) + (it-1)*npts )*nptr
880C----------------
881 zr = a_gauss(ir,nptr)
882 zs = a_gauss(is,npts)
883 zt = a_gauss(it,nptt)
884 wt = w_gauss(it,nptt)
885 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*wt
886C
887 CALL s8zderims3(volp(1,ip),
888 . zr,zs,zt,wi,
889 . hx, hy, hz,
890 . ajc1,ajc2,ajc3,
891 . ajc4,ajc5,ajc6,
892 . ajc7,ajc8,ajc9,
893 . aj1,aj2,aj3,
894 . aj4,aj5,aj6,
895 . aj7,aj8,aj9,
896 . aji1(1,ip),aji2(1,ip),aji3(1,ip),
897 . aji4(1,ip),aji5(1,ip),aji6(1,ip),
898 . aji7(1,ip),aji8(1,ip),aji9(1,ip),nnega,index)
899 ENDDO ! IT=1,NPTT
900 ENDDO ! IS=1,NPTS
901 ENDDO ! IR=1,NPTR
902 IF (ineg_v ==0) THEN
903C--- /NEGAVOL/STOP
904 CALL ancmsg(msgid=280,anmode=aninfo)
905 mstop = 1
906 END IF !(INEG_V /=0) THEN
907 END IF
908C --------------------------
909C --- UPDATE REF CONFIGURATION (possible future change to small strain option)
910C --- ! Total strain option doesn't change the Ref CONF.
911C --------------------------
912 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
913 CALL s8sav3(
914 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
915 2 xd3, xd4, xd5, xd6,
916 3 xd7, xd8, yd1, yd2,
917 4 yd3, yd4, yd5, yd6,
918 5 yd7, yd8, zd1, zd2,
919 6 zd3, zd4, zd5, zd6,
920 7 zd7, zd8, nel)
921 END IF !(ISMSTR == 2) THEN
922C
923 IF (icp == 2) THEN
924 CALL s8zsigp3(lft ,llt ,gbuf%SIG,e0 ,gbuf%PLA,
925 2 fac ,gbuf%G_PLA,nel )
926 DO i=lft,llt
927 nu1(i)=nu(i)+(half-nu(i))*fac(i)
928 ENDDO
929 ELSE
930 DO i=lft,llt
931 nu1(i)=nu(i)
932 ENDDO
933 ENDIF
934C
935C-----don't do it w/ degenerated elm
936 IF (ismstr <10.AND.icp==1) THEN
937 IF (idts6==0) CALL degenes8(
938 1 ixs(1,nf1),ideg, nel)
939 DO i=lft,llt
940 IF (ideg(i)>0) ideg(i) = ideg(i) + 10
941 ENDDO
942 END IF !(ICP==1) THEN
943! dt1/brick for elastoplastic laws (including law1)
944 CALL sz_dt1(
945 1 pxc1, pxc2, pxc3, pxc4,
946 2 pyc1, pyc2, pyc3, pyc4,
947 3 pzc1, pzc2, pzc3, pzc4,
948 4 fac_nu, deltaxi, nel )
949C---------------------------------------
950C INITIALIZATION---Before increment-----
951C---------------------------------------
952 CALL s8zzero3(
953 1 f11, f21, f31, f12,
954 2 f22, f32, f13, f23,
955 3 f33, f14, f24, f34,
956 4 f15, f25, f35, f16,
957 5 f26, f36, f17, f27,
958 6 f37, f18, f28, f38,
959 7 gbuf%SIG, gbuf%EINT, gbuf%RHO, gbuf%QVIS,
960 8 gbuf%PLA, gbuf%EPSD, stin, pp,
961 9 gbuf%G_PLA, gbuf%G_EPSD,iexpan, gbuf%EINTTH,
962 a nel, conden)
963C-------------------------------------------
964C COMPUTE AVERAGE TEMPERATURE IN ELEMENT
965C-------------------------------------------
966 IF(jthe < 0) THEN
967 DO i=lft,llt
968 IF(gbuf%OFF(i) == zero) cycle
969 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
970 . + temp(nc3(i)) + temp(nc4(i))
971 . + temp(nc5(i)) + temp(nc6(i))
972 . + temp(nc7(i)) + temp(nc8(i)))
973 gbuf%TEMP(i) = tempel(i)
974 ENDDO
975 ENDIF
976C
977 ioffs=0
978 offs(lft:llt)=ep20
979 IF(jthe<0) them(lft:llt,1:8) = zero
980c-------------------------------------------
981c COMPUTE Regularized non local variable in Gauss point
982c-------------------------------------------
983 IF (inloc > 0) THEN
984 l_nloc = nloc_dmg%L_NLOC
985 dnl => nloc_dmg%DNL(1:l_nloc) ! DNL = non local variable increment
986 DO ir=1,nptr
987 DO is=1,npts
988 DO it=1,nptt
989 zr = a_gauss(ir,nptr)
990 zs = a_gauss(is,npts)
991 zt = a_gauss(it,nptt)
992 ip = ir + ( (is-1) + (it-1)*npts )*nptr
993 CALL basis8 (zr,zs,zt,h,pr,ps,pt)
994 DO i=lft,llt
995 inod(1) = nloc_dmg%IDXI(nc1(i))
996 inod(2) = nloc_dmg%IDXI(nc2(i))
997 inod(3) = nloc_dmg%IDXI(nc3(i))
998 inod(4) = nloc_dmg%IDXI(nc4(i))
999 inod(5) = nloc_dmg%IDXI(nc5(i))
1000 inod(6) = nloc_dmg%IDXI(nc6(i))
1001 inod(7) = nloc_dmg%IDXI(nc7(i))
1002 inod(8) = nloc_dmg%IDXI(nc8(i))
1003 DO j = 1, 8
1004 ipos(j) = nloc_dmg%POSI(inod(j))
1005 ENDDO
1006 var_reg(i,ip) = h(1)*dnl(ipos(1)) + h(2)*dnl(ipos(2)) + h(3)*dnl(ipos(3))
1007 . + h(4)*dnl(ipos(4)) + h(5)*dnl(ipos(5)) + h(6)*dnl(ipos(6))
1008 . + h(7)*dnl(ipos(7)) + h(8)*dnl(ipos(8))
1009 ENDDO
1010 ENDDO
1011 ENDDO
1012 ENDDO
1013 ENDIF
1014c-------------------------------------------
1015C-----------Matrix B----------
1016C-----------Begin integrating points-----
1017c
1018 DO ir=1,nptr
1019 DO is=1,npts
1020 DO it=1,nptt
1021 ip = ir + ( (is-1) + (it-1)*npts )*nptr
1022 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1023
1024C-----avoid multi-print
1025 IF (ioffs == 1)THEN
1026 DO i=lft,llt
1027 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
1028 ENDDO
1029 END IF
1030C-----------
1031c IF (IFAILURE > 0) ILAY = IP
1032C----------------
1033 zr = a_gauss(ir,nptr)
1034 zs = a_gauss(is,npts)
1035 zt = a_gauss(it,nptt)
1036 wt = w_gauss(it,nptt)
1037 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*wt
1038C--------[MF] is used as work array for AJI (inversed Jacobian)
1039 CALL s8zderim3(
1040 1 offl, off, voln, ngl,
1041 2 zr, zs, zt, wi,
1042 3 pxc1, pxc2, pxc3, pxc4,
1043 4 pyc1, pyc2, pyc3, pyc4,
1044 5 pzc1, pzc2, pzc3, pzc4,
1045 6 px1h1, px1h2, px1h3, px1h4,
1046 7 px2h1, px2h2, px2h3, px2h4,
1047 8 px3h1, px3h2, px3h3, px3h4,
1048 9 px4h1, px4h2, px4h3, px4h4,
1049 a px1, px2, px3, px4,
1050 b px5, px6, px7, px8,
1051 c py1, py2, py3, py4,
1052 d py5, py6, py7, py8,
1053 e pz1, pz2, pz3, pz4,
1054 f pz5, pz6, pz7, pz8,
1055 g pxy1, pxy2, pxy3, pxy4,
1056 h pxy5, pxy6, pxy7, pxy8,
1057 i pyx1, pyx2, pyx3, pyx4,
1058 j pyx5, pyx6, pyx7, pyx8,
1059 k pxz1, pxz2, pxz3, pxz4,
1060 l pxz5, pxz6, pxz7, pxz8,
1061 m pzx1, pzx2, pzx3, pzx4,
1062 n pzx5, pzx6, pzx7, pzx8,
1063 o pyz1, pyz2, pyz3, pyz4,
1064 p pyz5, pyz6, pyz7, pyz8,
1065 q pzy1, pzy2, pzy3, pzy4,
1066 r pzy5, pzy6, pzy7, pzy8,
1067 s bxy1, bxy2, bxy3, bxy4,
1068 t bxy5, bxy6, bxy7, bxy8,
1069 u byx1, byx2, byx3, byx4,
1070 v byx5, byx6, byx7, byx8,
1071 w bxz1, bxz2, bxz3, bxz4,
1072 x bxz5, bxz6, bxz7, bxz8,
1073 y bzx1, bzx2, bzx3, bzx4,
1074 z bzx5, bzx6, bzx7, bzx8,
1075 1 byz1, byz2, byz3, byz4,
1076 2 byz5, byz6, byz7, byz8,
1077 3 bzy1, bzy2, bzy3, bzy4,
1078 4 bzy5, bzy6, bzy7, bzy8,
1079 5 ajc1, ajc2, ajc3, ajc4,
1080 6 ajc5, ajc6, ajc7, ajc8,
1081 7 ajc9, hx, hy, hz,
1082 8 aj1, aj2, aj3, aj4,
1083 9 aj5, aj6, aji1(1,ip),aji2(1,ip),
1084 a aji3(1,ip),aji4(1,ip),aji5(1,ip),aji6(1,ip),
1085 b aji7(1,ip),aji8(1,ip),aji9(1,ip),smax,
1086 c deltax, nu1, icp, ideg,
1087 d volp(1,ip),nel, mtn, ismstr,
1088 e jhbe)
1089C
1090 CALL s8zdefo3(
1091 1 pxc1, pxc2, pxc3, pxc4,
1092 2 pyc1, pyc2, pyc3, pyc4,
1093 3 pzc1, pzc2, pzc3, pzc4,
1094 4 px1, px2, px3, px4,
1095 5 px5, px6, px7, px8,
1096 6 py1, py2, py3, py4,
1097 7 py5, py6, py7, py8,
1098 8 pz1, pz2, pz3, pz4,
1099 9 pz5, pz6, pz7, pz8,
1100 a pxy1, pxy2, pxy3, pxy4,
1101 b pxy5, pxy6, pxy7, pxy8,
1102 c pyx1, pyx2, pyx3, pyx4,
1103 d pyx5, pyx6, pyx7, pyx8,
1104 e pxz1, pxz2, pxz3, pxz4,
1105 f pxz5, pxz6, pxz7, pxz8,
1106 g pzx1, pzx2, pzx3, pzx4,
1107 h pzx5, pzx6, pzx7, pzx8,
1108 i pyz1, pyz2, pyz3, pyz4,
1109 j pyz5, pyz6, pyz7, pyz8,
1110 k pzy1, pzy2, pzy3, pzy4,
1111 l pzy5, pzy6, pzy7, pzy8,
1112 m bxy1, bxy2, bxy3, bxy4,
1113 n bxy5, bxy6, bxy7, bxy8,
1114 o byx1, byx2, byx3, byx4,
1115 p byx5, byx6, byx7, byx8,
1116 q bxz1, bxz2, bxz3, bxz4,
1117 r bxz5, bxz6, bxz7, bxz8,
1118 s bzx1, bzx2, bzx3, bzx4,
1119 t bzx5, bzx6, bzx7, bzx8,
1120 u byz1, byz2, byz3, byz4,
1121 v byz5, byz6, byz7, byz8,
1122 w bzy1, bzy2, bzy3, bzy4,
1123 x bzy5, bzy6, bzy7, bzy8,
1124 y vx1, vx2, vx3, vx4,
1125 z vx5, vx6, vx7, vx8,
1126 1 vy1, vy2, vy3, vy4,
1127 2 vy5, vy6, vy7, vy8,
1128 3 vz1, vz2, vz3, vz4,
1129 4 vz5, vz6, vz7, vz8,
1130 5 dxx, dxy, dxz, dyx,
1131 6 dyy, dyz, dzx, dzy,
1132 7 dzz, d4, d5, d6,
1133 8 wxx, wyy, wzz, lbuf%VOL,
1134 9 off, lbuf%EINT, gbuf%OFF, dsv,
1135 a icp, icr, ics, ict,
1136 b dti, smr(1,ip), sms(1,ip), smt(1,ip),
1137 c ngl, ideg, lbuf%VOL0DP,nel,
1138 d ismstr, jcvt)
1139C
1140 DO i=lft,llt
1141 rhoo(i) = lbuf%RHO(i)
1142 ENDDO
1143C
1144 IF (jcvt == 2) THEN
1145 CALL szordef3(lft,llt,dxx,dyy,dzz,d4,d5,d6,
1146 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
1147 ENDIF
1148 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+dsv(1:nel)
1149 CALL srho3(
1150 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
1151 2 divde, flux(1,nf1),flu1(nf1), voln,
1152 3 dvol, ngl, mxt, off,
1153 4 0, gbuf%TAG22, volp(1,ip), lbuf%VOL0DP,
1154 5 amu, gbuf%OFF, nel, mtn,
1155 6 jale, ismstr, jeul, jlag)
1156C
1157C-----------------------------
1158 IF (jcvt == 0) THEN
1159 CALL srota3(
1160 1 lbuf%SIG,s1, s2, s3,
1161 2 s4, s5, s6, wxx,
1162 3 wyy, wzz, nel, mtn,
1163 4 ismstr)
1164 ELSE
1165C-----
1166C EXTRACT STRESSES + SMALL STRAIN
1167 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
1168 . gbuf%OFF,off,nel)
1169 ENDIF
1170C-----------------------------
1171C
1172C for heat transfert
1173C
1174 IF (jthe < 0 ) THEN
1175 CALL s8ztempel(lft,llt,ni,
1176 1 zr,zs,zt,
1177 2 nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,
1178 3 temp,tempel)
1179 ENDIF
1180 deltaxi(1:nel) = deltax(1:nel)
1181 IF (fac_nu<one) deltaxi(1:nel) = max(deltaxi(1:nel),nu_sp*deltax(1:nel))
1182C------------------------------------------------------
1183C CALCUL DES CONTRAINTES SUIVANT LOIS CONSTITUTIVES
1184C TIME STEP EST CALCULE ICI DT2T
1185C------------------------------------------------------
1186 IF ((itask==0).AND.(imon_mat==1)) CALL startime(timers,35)
1187C
1188 IF (iboltp /= 0)
1189 . CALL boltst(ip ,bpreld ,lbuf%SIG ,tt ,nel ,
1190 . npt ,sensors%NSENSOR,sensors%SENSOR_TAB,
1191 . iparg(67,ng),iparg(68,ng))
1192C
1193 CALL mmain(timers, output,
1194 1 elbuf_tab, ng, pm, geo,
1195 2 ale_connect, ixs, iparg,
1196 3 v, tf, npf, bufmat,
1197 4 sti, x, dt2t, neltst,
1198 5 ityptst, offset, nel, w,
1199 6 off, ngeo, mxt, ngl,
1200 7 voln, vd2, dvol, deltaxi,
1201 8 vis, qvis, cxx, s1,
1202 9 s2, s3, s4, s5,
1203 a s6, dxx, dyy, dzz,
1204 b d4, d5, d6, wxx,
1205 c wyy, wzz, aj1, aj2,
1206 d aj3, aj4, aj5, aj6,
1207 e vdx, vdy, vdz, muvoid,
1208 f ssp_eq, aire, sigy, et,
1209 g r1_free, lbuf%PLA, r3_free, amu,
1210 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
1211 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
1212 j mfzz(1,ip), ipm, gama, bid,
1213 k bid, bid, bid, bid,
1214 l bid, bid, istrain, tempel,
1215 m die, iexpan, ilay, mssa,
1216 n dmels, ir, is, it,
1217 o table, bid, bid, bid,
1218 p bid, iparg(1,ng), igeo, conde,
1219 q itask, nloc_dmg, var_reg(1,ip),mat_elem,
1220 r h3d_strain, jplasol, jsph, sz_r1_free,
1221 t snpc, stf, sbufmat, glob_therm,
1222 u svis, sz_ix, iresp,
1223 v n2d, th_strain, ngroup, tt,
1224 . dt1, ntable, numelq, nummat,
1225 . numgeo, numnod, numels,
1226 . idel7nok, idtmin, maxfunc,
1227 . imon_mat, userl_avail, impl_s,
1228 . idyna, dt, fheat ,sensors)
1229C
1230 IF (istrain == 1) THEN
1231 CALL sstra3(
1232 1 dxx, dyy, dzz, d4,
1233 2 d5, d6, lbuf%STRA,wxx,
1234 3 wyy, wzz, off, nel,
1235 4 jcvt)
1236 ENDIF
1237C
1238 IF ((itask==0).AND.(imon_mat==1)) CALL stoptime(timers,35)
1239C
1240 IF (jcvt == 2) THEN
1241 CALL sroto3(lft,llt,lbuf%SIG,sign,
1242 . g1x, g2x, g3x, g1y, g2y, g3y, g1z, g2z, g3z,nel)
1243 CALL s8zfint3(
1244 1 sign, sign, px1, px2,
1245 2 px3, px4, py1, py2,
1246 3 py3, py4, pz1, pz2,
1247 4 pz3, pz4, px5, px6,
1248 5 px7, px8, py5, py6,
1249 6 py7, py8, pz5, pz6,
1250 7 pz7, pz8, pxy1, pxy2,
1251 8 pxy3, pxy4, pxy5, pxy6,
1252 9 pxy7, pxy8, pyx1, pyx2,
1253 a pyx3, pyx4, pyx5, pyx6,
1254 b pyx7, pyx8, pxz1, pxz2,
1255 c pxz3, pxz4, pxz5, pxz6,
1256 d pxz7, pxz8, pzx1, pzx2,
1257 e pzx3, pzx4, pzx5, pzx6,
1258 f pzx7, pzx8, pyz1, pyz2,
1259 g pyz3, pyz4, pyz5, pyz6,
1260 h pyz7, pyz8, pzy1, pzy2,
1261 i pzy3, pzy4, pzy5, pzy6,
1262 j pzy7, pzy8, bxy1, bxy2,
1263 k bxy3, bxy4, bxy5, bxy6,
1264 l bxy7, bxy8, byx1, byx2,
1265 m byx3, byx4, byx5, byx6,
1266 n byx7, byx8, bxz1, bxz2,
1267 o bxz3, bxz4, bxz5, bxz6,
1268 p bxz7, bxz8, bzx1, bzx2,
1269 q bzx3, bzx4, bzx5, bzx6,
1270 r bzx7, bzx8, byz1, byz2,
1271 s byz3, byz4, byz5, byz6,
1272 t byz7, byz8, bzy1, bzy2,
1273 u bzy3, bzy4, bzy5, bzy6,
1274 v bzy7, bzy8, f11, f21,
1275 w f31, f12, f22, f32,
1276 x f13, f23, f33, f14,
1277 y f24, f34, f15, f25,
1278 z f35, f16, f26, f36,
1279 1 f17, f27, f37, f18,
1280 2 f28, f38, voln, qvis,
1281 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1282 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1283 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1284 6 volg, sti, stin, icp,
1285 7 off, lbuf%VOL, gbuf%VOL, gbuf%G_PLA,
1286 8 gbuf%G_EPSD,jfac(1,ip), lbuf%EINTTH,gbuf%EINTTH,
1287 9 iexpan, nel, ideg, conde,
1288 a conden, mtn, ismstr,svis,glob_therm%NODADT_THERM,
1289 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA)
1290 ELSE
1291C----------------------------
1292C INTERNAL FORCES
1293C----------------------------
1294 CALL s8zfint3(
1295 1 lbuf%SIG, lbuf%SIG, px1, px2,
1296 2 px3, px4, py1, py2,
1297 3 py3, py4, pz1, pz2,
1298 4 pz3, pz4, px5, px6,
1299 5 px7, px8, py5, py6,
1300 6 py7, py8, pz5, pz6,
1301 7 pz7, pz8, pxy1, pxy2,
1302 8 pxy3, pxy4, pxy5, pxy6,
1303 9 pxy7, pxy8, pyx1, pyx2,
1304 a pyx3, pyx4, pyx5, pyx6,
1305 b pyx7, pyx8, pxz1, pxz2,
1306 c pxz3, pxz4, pxz5, pxz6,
1307 d pxz7, pxz8, pzx1, pzx2,
1308 e pzx3, pzx4, pzx5, pzx6,
1309 f pzx7, pzx8, pyz1, pyz2,
1310 g pyz3, pyz4, pyz5, pyz6,
1311 h pyz7, pyz8, pzy1, pzy2,
1312 i pzy3, pzy4, pzy5, pzy6,
1313 j pzy7, pzy8, bxy1, bxy2,
1314 k bxy3, bxy4, bxy5, bxy6,
1315 l bxy7, bxy8, byx1, byx2,
1316 m byx3, byx4, byx5, byx6,
1317 n byx7, byx8, bxz1, bxz2,
1318 o bxz3, bxz4, bxz5, bxz6,
1319 p bxz7, bxz8, bzx1, bzx2,
1320 q bzx3, bzx4, bzx5, bzx6,
1321 r bzx7, bzx8, byz1, byz2,
1322 s byz3, byz4, byz5, byz6,
1323 t byz7, byz8, bzy1, bzy2,
1324 u bzy3, bzy4, bzy5, bzy6,
1325 v bzy7, bzy8, f11, f21,
1326 w f31, f12, f22, f32,
1327 x f13, f23, f33, f14,
1328 y f24, f34, f15, f25,
1329 z f35, f16, f26, f36,
1330 1 f17, f27, f37, f18,
1331 2 f28, f38, voln, qvis,
1332 3 pp, lbuf%EINT, lbuf%RHO, lbuf%QVIS,
1333 4 lbuf%PLA, lbuf%EPSD, gbuf%EPSD, gbuf%SIG,
1334 5 gbuf%EINT, gbuf%RHO, gbuf%QVIS, gbuf%PLA,
1335 6 volg, sti, stin, icp,
1336 7 off, lbuf%VOL, gbuf%VOL, gbuf%G_PLA,
1337 8 gbuf%G_EPSD,jfac(1,ip), lbuf%EINTTH,gbuf%EINTTH,
1338 9 iexpan, nel, ideg, conde,
1339 a conden, mtn, ismstr, svis,glob_therm%NODADT_THERM,
1340 b gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA)
1341 ENDIF
1342c-------------------------
1343c Virtual internal forces of regularized non local ddl
1344c--------------------------
1345 IF (inloc > 0) THEN
1346 CALL basis8 (zr,zs,zt,h,pr,ps,pt)
1347 CALL s8zfint_reg(
1348 1 nloc_dmg, var_reg(1,ip),nel, gbuf%OFF,
1349 2 voln, nc1, nc2, nc3,
1350 3 nc4, nc5, nc6, nc7,
1351 4 nc8, px1, px2, px3,
1352 5 px4, px5, px6, px7,
1353 6 px8, py1, py2, py3,
1354 7 py4, py5, py6, py7,
1355 8 py8, pz1, pz2, pz3,
1356 9 pz4, pz5, pz6, pz7,
1357 a pz8, imat, h, wi,
1358 b ip, itask, dt2t, gbuf%VOL,
1359 c nft)
1360 ENDIF
1361c
1362 DO i=lft,llt
1363 offl(i)=min(offl(i),off(i))
1364 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one) THEN
1365 offs(i)=min(lbuf%OFF(i),offs(i))
1366 ioffs =1
1367 END IF
1368 ENDDO
1369c-------------------------
1370c finite element heat transfert
1371c-------------------------
1372 IF (jthe < 0) THEN
1373 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
1374 CALL s8etherm(mat_elem%MAT_PARAM(imat),
1375 1 voln, ni,
1376 2 nc1, nc2, nc3, nc4,
1377 3 nc5, nc6, nc7, nc8,
1378 4 px1, px2, px3, px4,
1379 5 py1, py2, py3, py4,
1380 6 pz1, pz2, pz3, pz4,
1381 7 px5, px6, px7, px8,
1382 8 py5, py6, py7, py8,
1383 9 pz5, pz6, pz7, pz8,
1384 a dt1, temp, tempel, fheat ,
1385 b them, gbuf%OFF,lbuf%OFF,partsav,
1386 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1387 ELSE
1388 CALL s8etherm(mat_elem%MAT_PARAM(imat),
1389 1 voln, ni,
1390 2 nc1, nc2, nc3, nc4,
1391 3 nc5, nc6, nc7, nc8,
1392 4 px1, px2, px3, px4,
1393 5 py1, py2, py3, py4,
1394 6 pz1, pz2, pz3, pz4,
1395 7 px5, px6, px7, px8,
1396 8 py5, py6, py7, py8,
1397 9 pz5, pz6, pz7, pz8,
1398 a dt1, temp, tempel, die ,
1399 b them, gbuf%OFF,lbuf%OFF,partsav,
1400 c iparts, lbuf%VOL,nel,glob_therm%THEACCFACT)
1401 END IF
1402 ENDIF
1403!
1404 ENDDO ! IT=1,NPTT
1405 ENDDO ! IS=1,NPTS
1406 ENDDO ! IR=1,NPTR
1407!---------------------------------------------------------
1408! End integrating points
1409!---------------------------------------------------------
1410 IF (ioffs == 1) THEN
1411 DO i=lft,llt
1412 IF (offs(i) <= two) gbuf%OFF(i)=offs(i)
1413 END DO
1414c
1415 DO ir=1,nptr
1416 DO is=1,npts
1417 DO it=1,nptt
1418 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1419 DO i=lft,llt
1420 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
1421 END DO
1422 END DO
1423 END DO
1424 END DO
1425 END IF
1426c----------------------
1427 IF (icp == 1.AND.ismstr/=10.AND.ismstr/=12) THEN
1428 CALL s8zfintp3(
1429 1 pxc1, pxc2, pxc3, pxc4,
1430 2 pyc1, pyc2, pyc3, pyc4,
1431 3 pzc1, pzc2, pzc3, pzc4,
1432 4 f11, f21, f31, f12,
1433 5 f22, f32, f13, f23,
1434 6 f33, f14, f24, f34,
1435 7 f15, f25, f35, f16,
1436 8 f26, f36, f17, f27,
1437 9 f37, f18, f28, f38,
1438 a volg, pp, ideg, nel)
1439 ENDIF
1440 itet = 0
1441 IF (nn_del >0) THEN
1442 CALL sdlenmax(l_max,
1443 1 x1, x2, x3, x4,
1444 2 x5, x6, x7, x8,
1445 3 y1, y2, y3, y4,
1446 4 y5, y6, y7, y8,
1447 5 z1, z2, z3, z4,
1448 6 z5, z6, z7, z8,
1449 7 nel)
1450 CALL sgeodel3(ngl,gbuf%OFF,volg,deltax,gbuf%VOL,geo(1,ngeo(1)),l_max,dt,nel,idel7nok)
1451 END IF
1452C-----------------------------
1453C SMALL STRAIN
1454C-----------------------------
1455 CALL smallb3(gbuf%OFF,offl,nel,ismstr)
1456 CALL smallgeo3(ngl, gbuf%OFF ,volg ,deltax, gbuf%VOL ,itet,nel,ismstr,dt)
1457 IF (ismstr==11.OR.(ismstr == 12.AND.idtmin(1)==3)) THEN
1458 CALL s8edefw3(
1459 1 pxc1, pxc2, pxc3, pxc4,
1460 2 pyc1, pyc2, pyc3, pyc4,
1461 3 pzc1, pzc2, pzc3, pzc4,
1462 4 vx1, vx2, vx3, vx4,
1463 5 vx5, vx6, vx7, vx8,
1464 6 vy1, vy2, vy3, vy4,
1465 7 vy5, vy6, vy7, vy8,
1466 8 vz1, vz2, vz3, vz4,
1467 9 vz5, vz6, vz7, vz8,
1468 a wxx0, wyy0, wzz0, nel)
1469 CALL smallg3(
1470 1 gbuf%SMSTR,gbuf%OFF, wxx0, wyy0,
1471 2 wzz0, r11, r12, r13,
1472 3 r21, r22, r23, r31,
1473 4 r32, r33, nel, ismstr,
1474 5 jcvt)
1475 END IF
1476 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1477 ioffs =0
1478 DO i=lft,llt
1479 IF(gbuf%OFF(i)/=offg0(i).AND.abs(gbuf%OFF(i)) > one ) ioffs=1
1480 ENDDO
1481 IF (ioffs == 1) THEN
1482 CALL s8sav12(
1483 1 gbuf%OFF, offg0, gbuf%SMSTR,x,
1484 2 xdp, nc1, nc2, nc3,
1485 3 nc4, nc5, nc6, nc7,
1486 4 nc8, nel, jcvt)
1487 IF (ism12_11>0 .AND. isorth == 0) THEN
1488 CALL s8fupd11t12(elbuf_tab(ng),gbuf%OFF,offg0 ,x ,xdp ,
1489 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,nc7 ,nc8, nel)
1490 END IF
1491 DO ir=1,nptr
1492 DO is=1,npts
1493 DO it=1,nptt
1494 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
1495 DO i=lft,llt
1496 IF (abs(gbuf%OFF(i)) > one) lbuf%OFF(i)=gbuf%OFF(i)
1497 END DO
1498 END DO
1499 END DO
1500 END DO
1501 END IF !(IOFFS == 1) THEN
1502 ENDIF
1503C--------------------------
1504C balances by material
1505C--------------------------
1506 iflag=mod(ncycle,ncpri)
1507 IF(ioutprt>0)THEN
1508 IF (jcvt == 0) THEN
1509 ifvm22 = 0
1510 CALL sbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1511 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1512 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1513 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1514 . volg,iparts , gresav,grth,igrth,gbuf%OFF,
1515 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1516 . x1, x2, x3, x4, x5, x6, x7, x8,
1517 . y1, y2, y3, y4, y5, y6, y7, y8,
1518 . z1, z2, z3, z4, z5, z6, z7, z8,
1519 . itask,iparg(1,ng),sensors,gbuf%G_WPLA,gbuf%WPLA)
1520 ELSE
1521 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK,gbuf%VOL,
1522 . vgxa, vgya, vgza, vga2, volg,iparts,
1523 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1524 . gbuf%FILL,xgxa, xgya, xgza,
1525 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1526 . nel,gbuf%G_WPLA,gbuf%WPLA)
1527 ENDIF
1528 ENDIF
1529C----------------------------
1530C CONVECTE --> GLOBAL.
1531C----------------------------
1532 IF (jcvt/=0) THEN
1533 CALL srrota3(
1534 1 r11, r21, r31, r12,
1535 2 r22, r32, r13, r23,
1536 3 r33, f11, f12, f13,
1537 4 f14, f15, f16, f17,
1538 5 f18, f21, f22, f23,
1539 6 f24, f25, f26, f27,
1540 7 f28, f31, f32, f33,
1541 8 f34, f35, f36, f37,
1542 9 f38, nel)
1543 ENDIF
1544C----------------------------
1545 IF(nfilsol/=0) CALL sfillopt(
1546 1 gbuf%FILL,stin, f11, f21,
1547 2 f31, f12, f22, f32,
1548 3 f13, f23, f33, f14,
1549 4 f24, f34, f15, f25,
1550 5 f35, f16, f26, f36,
1551 6 f17, f27, f37, f18,
1552 7 f28, f38, nel)
1553C----------------------------
1554 IF(iparit == 0)THEN
1555 CALL scumu3(
1556 1 gbuf%OFF,a, nc1, nc2,
1557 2 nc3, nc4, nc5, nc6,
1558 3 nc7, nc8, stifn, stin,
1559 4 f11, f21, f31, f12,
1560 5 f22, f32, f13, f23,
1561 6 f33, f14, f24, f34,
1562 7 f15, f25, f35, f16,
1563 8 f26, f36, f17, f27,
1564 9 f37, f18, f28, f38,
1565 a nvc, bid, bid, bid,
1566 b bid, bid, bid, bid,
1567 c bid, bid, bid, bid,
1568 d bid, bid, bid, bid,
1569 e bid, bid, bid, bid,
1570 f bid, bid, bid, bid,
1571 g bid, bid, bid, bid,
1572 h them, fthe, condn, conden,
1573 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1574 ELSE
1575 CALL scumu3p(
1576 1 gbuf%OFF,stin, fsky, fsky,
1577 2 iads, f11, f21, f31,
1578 3 f12, f22, f32, f13,
1579 4 f23, f33, f14, f24,
1580 5 f34, f15, f25, f35,
1581 6 f16, f26, f36, f17,
1582 7 f27, f37, f18, f28,
1583 8 f38, nc1, nc2, nc3,
1584 9 nc4, nc5, nc6, nc7,
1585 a nc8, bid, bid, bid,
1586 b bid, bid, bid, bid,
1587 c bid, bid, bid, bid,
1588 d bid, bid, bid, bid,
1589 e bid, bid, bid, bid,
1590 f bid, bid, bid, bid,
1591 g bid, bid, bid, bid,
1592 h them, fthesky, condnsky,conden,
1593 i nel, nft, jthe, isrot,
1594 j ipartsph,glob_therm%NODADT_THERM)
1595 ENDIF
1596C-----------
1597 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1598 RETURN
1599 END
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab, fun_id, sens_id)
Definition boltst.F:39
#define my_real
Definition cppsort.cpp:32
subroutine csmall3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
Definition csmall3.F:36
subroutine degenes8(ixs, idege, nel)
Definition degenes8.F:39
subroutine jacob_f0(det0, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, div0, nel)
Definition jacob_f0.F:43
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
subroutine mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
Definition mmain.F:43
subroutine s8edefw3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, wxx, wyy, wzz, nel)
Definition s8edefw3.F:41
subroutine s8etherm(mat_param, vol, ni, 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, dt1, tempnc, tel, heat, fphi, offg, off, partsav, iparts, vol0, nel, theaccfact)
Definition s8etherm.F:45
subroutine s8fupd11t12(elbuf_tab, offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel)
Definition s8fupd11t12.F:35
subroutine s8sav12(offg, offg0, sav, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel, jcvt)
Definition s8sav12.F:36
subroutine s8sav3(offg, sav, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, nel)
Definition s8sav3.F:41
subroutine s8zdefo3(pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, 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, d4, d5, d6, wxx, wyy, wzz, volo, off, eint, offs, dsv, icp, icr, ics, ict, dti, dsr, dss, dst, ngl, ideg, vol0dp, nel, ismstr, jcvt)
Definition s8zdefo3.F:77
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)
Definition s8zdefot3.F:71
subroutine s8zdericm3(det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, sav, offg, nnega, index, nel, ismstr)
Definition s8zdericm3.F:52
subroutine s8zderict3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, nel)
Definition s8zderict3.F:55
subroutine s8zdericto3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, jac_i, nel, ismstr)
Definition s8zdericto3.F:52
subroutine s8zderim3(offg, off, vol, ngl, ksi, eta, zeta, wi, pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, 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, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, smax, deltax, nu, icp, ideg, voldp, nel, mtn, ismstr, jhbe)
Definition s8zderim3.F:78
subroutine s8zderims3(voldp, ksi, eta, zeta, wi, hx, hy, hz, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, nnega, index)
Definition s8zderims3.F:42
subroutine s8zderipr3(offg, voldp, ngl, ksi, eta, zeta, wi, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jaci1, jaci2, jaci3, jaci4, jaci5, jaci6, jaci7, jaci8, jaci9, nnega, index, ipt, nel)
Definition s8zderipr3.F:41
subroutine s8zderit3(offg, off, vol, ngl, ksi, eta, zeta, wi, pxc1, pxc2, pxc3, pxc4, pyc1, pyc2, pyc3, pyc4, pzc1, pzc2, pzc3, pzc4, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hx, hy, hz, 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, cj1, cj2, cj3, cj4, cj5, cj6, cj7, cj8, cj9, jac4, jac5, jac6, jac7, jac8, jac9, smax, deltax, nu, icp, ideg, jac_i, nel, mtn, ismstr, jhbe)
Definition s8zderit3.F:75
subroutine s8zfint3(sig, sigor, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, 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, 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, pp, eint, rho, q, defp, epsd, epsdm, sigm, eintm, rhom, qm, defpm, volg, sti, stin, icp, off, vol0, vol0g, g_pla, g_epsd, jfac, eintth, eintthm, iexpan, nel, ideg, conde, conden, mtn, ismstr, svis, nodadt_therm, g_wpla, l_wpla, g_wpla_flag)
Definition s8zfint3.F:76
subroutine s8zfint_reg(nloc_dmg, var_reg, nel, offg, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, px5, px6, px7, px8, py1, py2, py3, py4, py5, py6, py7, py8, pz1, pz2, pz3, pz4, pz5, pz6, pz7, pz8, imat, h, wi, ip, itask, dt2t, vol0, nft)
Definition s8zfint_reg.F:45
subroutine s8zfintp3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, 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, pp, idege, nel)
Definition s8zfintp3.F:42
subroutine s8zforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, jfac, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
Definition s8zforc3.F:124
subroutine s8zsigp3(lft, llt, sig, e0, defp, fac, g_pla, nel)
Definition s8zsigp3.F:37
subroutine s8ztempel(lft, llt, ni, ksi, eta, zeta, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, temp, tempel)
Definition s8ztempel.F:34
subroutine s8zzero3(fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, fx5, fy5, fz5, fx6, fy6, fz6, fx7, fy7, fz7, fx8, fy8, fz8, sigm, eintm, rhom, qm, defpm, epsdm, stin, pp, g_pla, g_epsd, iexpan, eintthm, nel, conden)
Definition s8zzero3.F:42
subroutine sbilan(partsav, eint, rho, rk, vol, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, mom, nel, ifvm22, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, itask, iparg, sensors, g_wpla, wpla)
Definition sbilan.F:47
subroutine scoor_cp2sp(x0, y0, z0, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
Definition scoor_cp2sp.F:39
subroutine scumu3(offg, e, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, stifn, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nvc, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthe, condn, conde, nel, jthe, isrot, ipartsph, nodadt_therm)
Definition scumu3.F:55
subroutine scumu3p(offg, sti, fsky, fskyv, iads, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthesky, condnsky, conde, nel, nft, jthe, isrot, ipartsph, nodadt_therm)
Definition scumu3p.F:56
subroutine sdlen_dege(volg, lat, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, ixs, idege, nel)
Definition sdlen_dege.F:47
subroutine sdlen_sm11(volg, deltax, smax, idege, nel)
Definition sdlen_sm11.F:32
subroutine sdlenmax(lm_max, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
Definition sdlenmax.F:40
subroutine sfillopt(fill, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel)
Definition sfillopt.F:43
subroutine sgcoor3(time, npe, x, ixs, x0, y0, z0, vx0, vy0, vz0, sav, d, off, off0, nel, xdp, mtn, ismstr)
Definition sgcoor3.F:40
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)
Definition sgeodel3.F:42
subroutine smallb3(offg, off, nel, ismstr)
Definition smallb3.F:45
subroutine smallg3(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr, jcvt)
Definition smallg3.F:36
subroutine smallgeo3(ngl, offg, volg, deltax, volg0, itet, nel, ismstr, dt)
Definition smallgeo3.F:41
subroutine srbilan(partsav, eint, rho, rk, vol, vxa, vya, vza, va2, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, xx, yy, zz, xx2, yy2, zz2, xy, yz, zx, itask, iparg, sensors, nel, g_wpla, wpla)
Definition srbilan.F:45
subroutine sordeft3(nel, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
Definition srefsta3.F:744
subroutine srota3(sig, s1, s2, s3, s4, s5, s6, wxx, wyy, wzz, nel, mtn, ismstr)
Definition srota3.F:43
subroutine srrotadp(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
Definition srrotadp.F:41
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
Definition sstra3.F:47
subroutine basis8(r, s, t, h, pr, ps, pt)
Definition basis8.F:30
subroutine s8zderic3(vol, hx, hy, hz, jac1, jac2, jac3, jac4, jac5, jac6, jac7, jac8, jac9, smax, det, ngl, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition s8zderi3.F:142
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition scoor3.F:52
subroutine srcoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, jhbe, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition srcoor3.F:52
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
Definition srho3.F:31
subroutine srrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
Definition srrota3.F:33
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:895
subroutine startime(event, itask)
Definition timer.F:93
subroutine stoptime(event, itask)
Definition timer.F:135
subroutine storth3(isorth, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama)
Definition szorth3.F:30
subroutine sroto3(nel, sig, sign, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
Definition szorth3.F:136
subroutine szordef3(nel, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
Definition szorth3.F:84
subroutine sztorth3(jft, jlt, isorth, nel, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama)
Definition sztorth3.F:32