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