OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
szforc3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "vect01_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com06_c.inc"
#include "scr07_c.inc"
#include "com08_c.inc"
#include "scr06_c.inc"
#include "scr17_c.inc"
#include "parit_c.inc"
#include "param_c.inc"
#include "timeri_c.inc"
#include "scr18_c.inc"
#include "sms_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine szforc3 (timers, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, 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, fskym, msnf, nvc, ipm, itask, qmv, istrain, imatvis, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, igeo, xdp, condn, condnsky, d, tagprt_sms, sensors, ioutprt, nale, nloc_dmg, mat_elem, h3d_strain, dt, output, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)

Function/Subroutine Documentation

◆ szforc3()

subroutine szforc3 ( type(timer_), intent(inout) timers,
type (elbuf_struct_), dimension(ngroup), target elbuf_tab,
integer ng,
pm,
geo,
integer, dimension(nixs,*) ixs,
x,
a,
v,
ms,
w,
flux,
flu1,
veul,
fv,
type(t_ale_connectivity), intent(in) ale_connect,
integer, dimension(nparg,ngroup) iparg,
tf,
integer, dimension(*) npf,
bufmat,
partsav,
dt2t,
integer neltst,
integer ityptst,
stifn,
fsky,
integer, dimension(8,*) iads,
integer offset,
eani,
integer, dimension(*) iparts,
integer 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,
integer nel,
fskym,
msnf,
integer nvc,
integer, dimension(npropmi,nummat) ipm,
integer itask,
qmv,
integer istrain,
integer imatvis,
temp,
fthe,
fthesky,
integer iexpan,
gresav,
integer, dimension(*) grth,
integer, dimension(*) igrth,
mssa,
dmels,
type (ttable), dimension(*) table,
integer, dimension(npropgi,*) igeo,
double precision, dimension(3,*) xdp,
condn,
condnsky,
d,
integer, dimension(*) tagprt_sms,
type (sensors_), intent(inout) sensors,
integer ioutprt,
integer, dimension(*) nale,
type (nlocal_str_), target nloc_dmg,
type (mat_elem_), intent(inout) mat_elem,
integer h3d_strain,
type(dt_), intent(inout) dt,
type(output_), intent(inout) output,
integer, intent(in) nsvois,
integer, intent(in) sz_bufvois,
integer, intent(in) snpc,
integer, intent(in) stf,
integer, intent(in) sbufmat,
intent(inout) svis,
integer, intent(in) iresp,
integer, intent(in) maxfunc,
integer, intent(in) userl_avail,
type (glob_therm_), intent(inout) glob_therm,
integer, intent(in) impl_s,
integer, intent(in) idyna )
Parameters
[in,out]outputoutput structure

Definition at line 102 of file szforc3.F.

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
134 USE sensor_mod
135 USE ale_mod
136 USE dt_mod
137 USE output_mod
138 USE elbufdef_mod
139 USE sdistor_ini_mod, ONLY : sdistor_ini
140 use glob_therm_mod
141 USE sensor_mod
142 USE sz_dt1_mod, only : sz_dt1
143C-----------------------------------------------
144C I m p l i c i t T y p e s
145C-----------------------------------------------
146#include "implicit_f.inc"
147C-----------------------------------------------
148C G l o b a l P a r a m e t e r s
149C-----------------------------------------------
150#include "mvsiz_p.inc"
151C-----------------------------------------------
152C C o m m o n B l o c k s
153C-----------------------------------------------
154#include "vect01_c.inc"
155#include "com01_c.inc"
156#include "com04_c.inc"
157#include "com06_c.inc"
158#include "scr07_c.inc"
159#include "com08_c.inc"
160#include "scr06_c.inc"
161#include "scr17_c.inc"
162#include "parit_c.inc"
163#include "param_c.inc"
164#include "timeri_c.inc"
165#include "scr18_c.inc"
166#include "sms_c.inc"
167C-----------------------------------------------
168C D u m m y A r g u m e n t s
169C-----------------------------------------------
170 TYPE(TIMER_) , INTENT(INOUT) :: TIMERS
171 INTEGER, INTENT(IN) :: NSVOIS
172 INTEGER, INTENT(IN) :: SZ_BUFVOIS
173 INTEGER, INTENT(IN) :: SNPC
174 INTEGER, INTENT(IN) :: STF
175 INTEGER, INTENT(IN) :: SBUFMAT
176 INTEGER ,INTENT(IN) :: IRESP
177 INTEGER ,INTENT(IN) :: MAXFUNC
178 INTEGER, INTENT(IN) :: IMPL_S
179 INTEGER, INTENT(IN) :: IDYNA
180 INTEGER, INTENT(IN) :: USERL_AVAIL
181 INTEGER IXS(NIXS,*),IPARG(NPARG,NGROUP), NPF(*),IADS(8,*),
182 . IPARTS(*),IPM(NPROPMI,NUMMAT),ITASK,IMATVIS,GRTH(*),IGRTH(*),
183 . IGEO(NPROPGI,*), TAGPRT_SMS(*)
184 INTEGER NELTST,ITYPTST,OFFSET,NEL ,ICP,
185 . NVC,ISTRAIN,IEXPAN,NG,NPTS,IOUTPRT,NALE(*),H3D_STRAIN
186
187 DOUBLE PRECISION
188 . XDP(3,*)
189 my_real
190 . dt2t
191 my_real
192 . pm(npropm,nummat), geo(npropg,*), x(*), a(*), v(3,*), ms(*), w(*),
193 . flux(6,*), fskym(*),
194 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
195 . partsav(*),stifn(*), fsky(*),eani(*),msnf(*),
196 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
197 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
198 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
199 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
200 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
201 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
202 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
203 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
204 . temp(*), fthe(*), fthesky(*),
205 . qmv(12,*),gresav(*), mssa(*), dmels(*),
206 . condn(*),condnsky(*),d(*)
207
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(OUTPUT_), INTENT(INOUT) :: OUTPUT !< output structure
217 type (glob_therm_) ,intent(inout) :: glob_therm
218C-----------------------------------------------
219C L o c a l V a r i a b l e s
220C-----------------------------------------------
221 INTEGER I,J,NF1,IFLAG,ILAY,IPTR,IPTS,IPTT,II(6)
222 INTEGER IBID,IBIDV(1),ITET,IADBUF,IVISC,IP
223 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),INOD(8),
224 . IPOS(8), L_NLOC, INLOC,ICP0
225 my_real
226 . voln(mvsiz), vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
227 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
228 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
229 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
230 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
231 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
232 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
233 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz), jac9(mvsiz),
234 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
235 . conde(mvsiz),divde(mvsiz),deltaxi(mvsiz)
236
237 DOUBLE PRECISION
238 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
239 . XD5(MVSIZ), XD6(MVSIZ), XD7(MVSIZ), XD8(MVSIZ),
240 . YD1(MVSIZ), YD2(MVSIZ), YD3(MVSIZ), YD4(MVSIZ),
241 . YD5(MVSIZ), YD6(MVSIZ), YD7(MVSIZ), YD8(MVSIZ),
242 . ZD1(MVSIZ), ZD2(MVSIZ), ZD3(MVSIZ), ZD4(MVSIZ),
243 . ZD5(MVSIZ), ZD6(MVSIZ), ZD7(MVSIZ), ZD8(MVSIZ),
244 . X0(MVSIZ,8),Y0(MVSIZ,8),Z0(MVSIZ,8),VOLDP(MVSIZ)
245C-----
246C
247 my_real
248 . sti(mvsiz),gama(mvsiz,6),
249 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
250C
251 my_real
252 . muvoid(mvsiz),fac_nu,nu_sp,nu0,dn
253C-----
254C 8-nodes solid connectivities
255 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
256 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
257 my_real
258 . off(mvsiz) , rhoo(mvsiz),hh(mvsiz),bid(mvsiz),
259 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
260 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
261 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
262 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
263 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
264 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
265 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
266 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
267 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
268 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
269 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
270 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
271 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
272 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
273 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
274 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
275 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
276 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
277 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
278 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
279 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
280 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
281 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
282 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
283 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
284 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
285 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
286 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
287 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
288 . dxy(mvsiz),dyx(mvsiz),dyz(mvsiz),dzy(mvsiz),
289 . dzx(mvsiz),dxz(mvsiz),
290 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
291 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
292 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
293 . g1x(mvsiz),g2x(mvsiz),g3x(mvsiz),
294 . g1y(mvsiz),g2y(mvsiz),g3y(mvsiz),
295 . g1z(mvsiz),g2z(mvsiz),g3z(mvsiz),
296 . n1x(mvsiz),n2x(mvsiz),n3x(mvsiz),
297 . n1y(mvsiz),n2y(mvsiz),n3y(mvsiz),
298 . n1z(mvsiz),n2z(mvsiz),n3z(mvsiz),
299 . n4x(mvsiz),n5x(mvsiz),n6x(mvsiz),
300 . n4y(mvsiz),n5y(mvsiz),n6y(mvsiz),
301 . n4z(mvsiz),n5z(mvsiz),n6z(mvsiz),
302 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
303 . mfxx(mvsiz),mfxy(mvsiz),mfyx(mvsiz),
304 . mfyy(mvsiz),mfyz(mvsiz),mfzy(mvsiz),
305 . mfzz(mvsiz),mfzx(mvsiz),mfxz(mvsiz),
306 . tempel(mvsiz),them(mvsiz,8),die(mvsiz),
307 . sigy(mvsiz), sigo(nel,6),et(mvsiz), sign(nel,6),
308 . r1_free(mvsiz),r3_dam(mvsiz),offg0(mvsiz),amu(mvsiz),
309 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
310 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
311 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz),
312 . sti_c(mvsiz),ll(mvsiz),l_max(mvsiz),fld(mvsiz),
313 . cns2,rho0_1,nu,c1,caq,fqmax
314 my_real, dimension(mvsiz) :: fheat
315 my_real ,DIMENSION(:), POINTER :: eint
316C-----
317 TYPE(G_BUFEL_) ,POINTER :: GBUF
318 TYPE(L_BUFEL_) ,POINTER :: LBUF
319C-----
320C-----
321C IBOLTP : flag bolt preloading
322 INTEGER IBOLTP,NBPRELD,IMAT,ISM12_11,NN_DEL,PID,ISCTL,ISTAB(MVSIZ)
323 my_real, DIMENSION(:), ALLOCATABLE :: var_reg
324 my_real :: nl_nbnod
325 my_real, DIMENSION(:), POINTER :: bpreld,dnl
326 my_real :: p(mvsiz)
327 INTEGER SZ_IX
328C-----------------------------------------------
329C S o u r c e L i n e s
330C=======================================================================
331 gbuf => elbuf_tab(ng)%GBUF
332 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
333 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
334 npts = iparg(6,ng)
335 inloc = iparg(78,ng)
336 ALLOCATE(var_reg(nel))
337 tempel(:) = zero
338 fheat(:) = zero
339 ibid = 0
340 ibidv = 0
341 sz_ix=numelq+numels+nsvois
342 IF (jcvt==1 .AND. isorth>0) jcvt=2
343C
344 iboltp = iparg(72,ng)
345 nbpreld = gbuf%G_BPRELD
346 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
347C
348 DO i=1,6
349 ii(i) = nel*(i-1)
350 ENDDO
351C
352 nf1=nft+1
353C
354 DO i=1,nel
355 sigy(i) = ep20
356 sigo(i,1) = gbuf%SIG(ii(1)+i)
357 sigo(i,2) = gbuf%SIG(ii(2)+i)
358 sigo(i,3) = gbuf%SIG(ii(3)+i)
359 sigo(i,4) = gbuf%SIG(ii(4)+i)
360 sigo(i,5) = gbuf%SIG(ii(5)+i)
361 sigo(i,6) = gbuf%SIG(ii(6)+i)
362 ENDDO
363C
364C Gather nodal variables and compute rotation
365 CALL srcoor3(x,ixs(1,nf1),v ,w ,gbuf%GAMA ,gama ,
366 . x1, x2, x3, x4, x5, x6, x7, x8,
367 . y1, y2, y3, y4, y5, y6, y7, y8,
368 . z1, z2, z3, z4, z5, z6, z7, z8,
369 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
370 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
371 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
372 . vd2,vis,gbuf%OFF,off,gbuf%SMSTR,gbuf%RHO,rhoo,
373 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
374 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
375 . ioutprt, vgxa, vgya, vgza, vga2,
376 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
377 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
378 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
379 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
380 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
381 . gbuf%GAMA_R)
382C
383 nn_del = 0
384 pid = ngeo(1)
385 imat = mxt(1)
386
387 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
388 . nn_del=8
389 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
390 cns2 = zero
391 IF (icp==1.AND.mtn==1.AND.ismstr==12) THEN
392 rho0_1 =pm( 1,imat)
393 cns2 = zep02
394 IF (igeo(35,ngeo(1))>0) cns2=cns2-abs(geo(17,ngeo(1)))
395 END IF
396! for sound speed takeing into account nu
397 imat = mxt(1)
398 icp0=mat_elem%MAT_PARAM(imat)%COMPRESSIBILITY
399 fac_nu = one
400 nu0 = pm(21,imat)
401 nu_sp = one
402 IF (idt1sol == 1.AND.(mtn==1.OR.icp0 ==3)) THEN
403 nu_sp=sqrt((one-nu0)/(one+nu0))
404 nu_sp = min(one,nu_sp/zep9)
405 fac_nu=(one-two*nu0)/(one-nu0)
406 END IF
407 isctl = igeo(97,pid)
408C Total strain Pij are in global system for ISMSTR=10,12 and in local system for ISMSTR=11
409 IF ((ismstr >= 10.AND.ismstr <= 12).AND.jlag > 0) THEN
410 CALL sgcoor3(
411 1 tt, 8, x, ixs(1,nf1),
412 2 x0, y0, z0, vx0,
413 3 vy0, vz0, gbuf%SMSTR,d,
414 4 gbuf%OFF, offg0, nel, xdp,
415 5 mtn, ismstr)
416 IF (ismstr == 11) THEN
417 CALL srrotadp(
418 1 r11, r12, r13, r21,
419 2 r22, r23, r31, r32,
420 3 r33, x0(1,1), x0(1,2), x0(1,3),
421 4 x0(1,4), x0(1,5), x0(1,6), x0(1,7),
422 5 x0(1,8), y0(1,1), y0(1,2), y0(1,3),
423 6 y0(1,4), y0(1,5), y0(1,6), y0(1,7),
424 7 y0(1,8), z0(1,1), z0(1,2), z0(1,3),
425 8 z0(1,4), z0(1,5), z0(1,6), z0(1,7),
426 9 z0(1,8), nel)
427 CALL srrota3(
428 1 r11, r12, r13, r21,
429 2 r22, r23, r31, r32,
430 3 r33, vx0(1,1),vx0(1,2),vx0(1,3),
431 4 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
432 5 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
433 6 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
434 7 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
435 8 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
436 9 vz0(1,8),nel)
437 CALL szderit3(off,voln,ngl,nel,
438 . x0(1,1), x0(1,2), x0(1,3), x0(1,4),
439 . x0(1,5), x0(1,6), x0(1,7), x0(1,8),
440 . y0(1,1), y0(1,2), y0(1,3), y0(1,4),
441 . y0(1,5), y0(1,6), y0(1,7), y0(1,8),
442 . z0(1,1), z0(1,2), z0(1,3), z0(1,4),
443 . z0(1,5), z0(1,6), z0(1,7), z0(1,8),
444 . px1, px2, px3, px4,
445 . py1, py2, py3, py4,
446 . pz1, pz2, pz3, pz4,
447 . px1h1, px1h2, px1h3, px1h4,
448 . px2h1, px2h2, px2h3, px2h4,
449 . px3h1, px3h2, px3h3, px3h4,
450 . px4h1, px4h2, px4h3, px4h4,
451 . jac1,jac2,jac3,
452 . jac4,jac5,jac6,jac9,jlag)
453 ELSE
454 CALL szderito3(
455 1 off, voln, px1, px2,
456 2 px3, px4, py1, py2,
457 3 py3, py4, pz1, pz2,
458 4 pz3, pz4, gbuf%JAC_I,nel,
459 5 jlag)
460 END IF
461 CALL sdefot3(
462 1 px1, px2, px3, px4,
463 2 py1, py2, py3, py4,
464 3 pz1, pz2, pz3, pz4,
465 4 vx0(1,1),vx0(1,2),vx0(1,3),vx0(1,4),
466 5 vx0(1,5),vx0(1,6),vx0(1,7),vx0(1,8),
467 6 vy0(1,1),vy0(1,2),vy0(1,3),vy0(1,4),
468 7 vy0(1,5),vy0(1,6),vy0(1,7),vy0(1,8),
469 8 vz0(1,1),vz0(1,2),vz0(1,3),vz0(1,4),
470 9 vz0(1,5),vz0(1,6),vz0(1,7),vz0(1,8),
471 a mfxx, mfxy, mfxz, mfyx,
472 b mfyy, mfyz, mfzx, mfzy,
473 c mfzz, nel)
474c
475 IF (ismstr==10.OR.ismstr==12.OR.isorth/=0) THEN
476 CALL sztorth3(lft,llt,isorth,nel,
477 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
478 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gbuf%GAMA)
479 CALL sordeft3(lft,llt,mfxx, mfxy, mfxz, mfyx, mfyy, mfyz,
480 . mfzx, mfzy, mfzz,
481 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
482 ENDIF
483 ENDIF ! ISMSTR==10.AND.JLAG>0
484C-----------
485C
486 IF(jale+jlag /= 0)THEN
487 IF(jclose /= 0) CALL mod_close(
488 1 geo, ngeo, x1, x2,
489 2 x3, x4, x5, x6,
490 3 x7, x8, y1, y2,
491 4 y3, y4, y5, y6,
492 5 y7, y8, z1, z2,
493 6 z3, z4, z5, z6,
494 7 z7, z8, hh, xd1,
495 8 xd2, xd3, xd4, xd5,
496 9 xd6, xd7, xd8, yd1,
497 a yd2, yd3, yd4, yd5,
498 b yd6, yd7, yd8, zd1,
499 c zd2, zd3, zd4, zd5,
500 d zd6, zd7, zd8, nel)
501C
502C------
503 IF (ismstr==11) THEN
504 CALL scoor_cp2sp(
505 1 x0, y0, z0, x1,
506 2 x2, x3, x4, x5,
507 3 x6, x7, x8, y1,
508 4 y2, y3, y4, y5,
509 5 y6, y7, y8, z1,
510 6 z2, z3, z4, z5,
511 7 z6, z7, z8, nel)
512 ELSE
513 CALL szderi3(off,voln,ngl,ismstr,
514 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
515 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
516 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
517 . px1, px2, px3, px4,
518 . py1, py2, py3, py4,
519 . pz1, pz2, pz3, pz4,
520 . px1h1, px1h2, px1h3, px1h4,
521 . px2h1, px2h2, px2h3, px2h4,
522 . px3h1, px3h2, px3h3, px3h4,
523 . px4h1, px4h2, px4h3, px4h4,
524 . jac1,jac2,jac3,jac4,jac5,jac6,jac9,
525 . gbuf%SMSTR,gbuf%OFF,nel,voldp,jlag)
526 END IF
527C
528 IF (idt1sol == 1.OR.(isctl>0.AND.nu0>0.48999)) THEN
529 CALL sdlen8(
530 1 deltax, voln, ixs(1,nf1),x1,
531 2 x2, x3, x4, x5,
532 3 x6, x7, x8, y1,
533 4 y2, y3, y4, y5,
534 5 y6, y7, y8, z1,
535 6 z2, z3, z4, z5,
536 7 z6, z7, z8, nel)
537 ELSEIF(idtmins==2)THEN
538C
539C Possible mix of elts computing DELTAX like in sdlen3 & sdlen8
540 CALL sdlen_sms(
541 1 deltax, voln, ixs(1,nf1),x1,
542 2 x2, x3, x4, x5,
543 3 x6, x7, x8, y1,
544 4 y2, y3, y4, y5,
545 5 y6, y7, y8, z1,
546 6 z2, z3, z4, z5,
547 7 z6, z7, z8, iparts,
548 8 tagprt_sms,gbuf%ISMS, nel)
549 ELSE
550 CALL sdlen3(
551 1 voln, deltax, x1, x2,
552 2 x3, x4, x5, x6,
553 3 x7, x8, y1, y2,
554 4 y3, y4, y5, y6,
555 5 y7, y8, z1, z2,
556 6 z3, z4, z5, z6,
557 7 z7, z8, n1x, n2x,
558 8 n3x, n4x, n5x, n6x,
559 9 n1y, n2y, n3y, n4y,
560 a n5y, n6y, n1z, n2z,
561 b n3z, n4z, n5z, n6z,
562 c nel, mtn, jale, jeul)
563 END IF !IF (IDTHEPH == 1) THEN
564 ELSEIF (jeul /= 0) THEN
565 CALL epxle3(
566 1 gbuf%VOL,veul, x1, x2,
567 2 x3, x4, x5, x6,
568 3 x7, x8, y1, y2,
569 4 y3, y4, y5, y6,
570 5 y7, y8, z1, z2,
571 6 z3, z4, z5, z6,
572 7 z7, z8, px1, px2,
573 8 px3, px4, py1, py2,
574 9 py3, py4, pz1, pz2,
575 a pz3, pz4, px5, px6,
576 b px7, px8, py5, py6,
577 c py7, py8, pz5, pz6,
578 d pz7, pz8, px1h1, px1h2,
579 e px1h3, px2h1, px2h2, px2h3,
580 f px3h1, px3h2, px3h3, px4h1,
581 g px4h2, px4h3, voln, deltax,
582 h n1x, n2x, n3x, n4x,
583 i n5x, n6x, n1y, n2y,
584 j n3y, n4y, n5y, n6y,
585 k n1z, n2z, n3z, n4z,
586 l n5z, n6z, nel, nft,
587 m jhbe)
588 ENDIF
589! dt1/brick for elastoplastic laws (including law1)
590 CALL sz_dt1(
591 1 px1, px2, px3, px4,
592 2 py1, py2, py3, py4,
593 3 pz1, pz2, pz3, pz4,
594 4 fac_nu,deltaxi, nel )
595c
596 IF (jale+jeul > 0 .AND. mtn == 11) THEN
597 CALL s11defo3(
598 1 pm, v, veul, x,
599 2 ixs, ale_connect,dxx, dxy,
600 3 dxz, dyx, dyy, dyz,
601 4 dzx, dzy, dzz, d4,
602 5 d5, d6, wxx, wyy,
603 6 wzz, bufmat, nel, nft,
604 7 ipm, nummat, numels+nsvois)
605 ELSE
606 CALL sdefo3(
607 1 px1, px2, px3, px4,
608 2 py1, py2, py3, py4,
609 3 pz1, pz2, pz3, pz4,
610 4 px5, px6, px7, px8,
611 5 py5, py6, py7, py8,
612 6 pz5, pz6, pz7, pz8,
613 7 vx1, vx2, vx3, vx4,
614 8 vx5, vx6, vx7, vx8,
615 9 vy1, vy2, vy3, vy4,
616 a vy5, vy6, vy7, vy8,
617 b vz1, vz2, vz3, vz4,
618 c vz5, vz6, vz7, vz8,
619 d dxx, dxy, dxz, dyx,
620 e dyy, dyz, dzx, dzy,
621 f dzz, d4, d5, d6,
622 g wxx, wyy, wzz, bid,
623 h bid, bid, nel,
624 i nft, ismstr, jeul, jhbe,
625 j jcvt, isrot)
626 ENDIF
627C
628 IF (jcvt == 2) THEN
629 CALL storth3(
630 1 lft, llt, nel, g1x,
631 2 g1y, g1z, g2x, g2y,
632 3 g2z, g3x, g3y, g3z,
633 4 gbuf%GAMA,isorth)
634 CALL szordef3(lft,llt,dxx,dyy,dzz,d4,d5,d6,
635 . g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
636 ENDIF
637 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))
638 CALL srho3(
639 1 pm, gbuf%VOL, gbuf%RHO, gbuf%EINT,
640 2 divde, flux(1,nf1),flu1(nf1), voln,
641 3 dvol, ngl, mxt, off,
642 4 ibid, gbuf%TAG22, voldp, lbuf%VOL0DP,
643 5 amu, gbuf%OFF, nel, mtn,
644 6 jale, ismstr, jeul, jlag)
645C
646C Extract stresses + small strain
647 CALL srmalla3(gbuf%SIG,s1,s2,s3,s4,s5,s6,
648 . gbuf%OFF,off,nel)
649 CALL srmalla11(
650 1 gbuf%SMSTR,gbuf%OFF, wxx, wyy,
651 2 wzz, r11, r12, r13,
652 3 r21, r22, r23, r31,
653 4 r32, r33, nel, ismstr)
654C
655C Update reference configuration (possible future change to small strain option)
656C Total strain option doesn't change the reference configuration
657 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
658 CALL s8sav3(
659 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
660 2 xd3, xd4, xd5, xd6,
661 3 xd7, xd8, yd1, yd2,
662 4 yd3, yd4, yd5, yd6,
663 5 yd7, yd8, zd1, zd2,
664 6 zd3, zd4, zd5, zd6,
665 7 zd7, zd8, nel)
666 END IF !(ISMSTR == 2) THEN
667C
668C Element temperature
669 IF (jthe < 0) THEN
670 DO i=1,nel
671 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
672 . + temp(nc3(i)) + temp(nc4(i))
673 . + temp(nc5(i)) + temp(nc6(i))
674 . + temp(nc7(i)) + temp(nc8(i)))
675 ENDDO
676 ENDIF
677C
678 deltaxi(1:nel) = deltax(1:nel)
679 IF (fac_nu<one) deltaxi(1:nel) = max(deltaxi(1:nel),nu_sp*deltax(1:nel))
680C-----------------------------------------------------------------------
681 IF ((itask==0).AND.(imon_mat==1)) CALL startime(timers,35)
682 ilay = 1
683 iptr = 1
684 ipts = 1
685 iptt = 1
686 ip = 1
687C
688c===========================================================================
689c Computation of the non-local variable at Gauss point from nodal d.o.fs
690c===========================================================================
691 IF (inloc > 0) THEN
692 l_nloc = nloc_dmg%L_NLOC
693 dnl => nloc_dmg%DNL(1:l_nloc) ! DNL = non local variable increment
694 DO i=1,nel
695 ! Recover non-local d.o.fs position
696 inod(1:8) = 0
697 ipos(1:8) = 0
698 DO j = 1,elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
699 inod(j) = nloc_dmg%IDXI(elbuf_tab(ng)%NLOCS%NL_SOLNOD(j,i))
700 ipos(j) = nloc_dmg%POSI(inod(j))
701 ENDDO
702 ! Computation of non-local variable at intg. point
703 var_reg(i) = zero
704 nl_nbnod = elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
705 DO j = 1, elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
706 var_reg(i) = var_reg(i) + dnl(ipos(j))/nl_nbnod
707 ENDDO
708 ENDDO
709 ENDIF
710c===========================================================================
711C
712 IF(iboltp /= 0) CALL boltst(ip ,bpreld ,lbuf%SIG ,tt ,nel ,
713 . npt ,sensors%NSENSOR,sensors%SENSOR_TAB)
714C
715C Compute stresses according to the material law
716 CALL mmain(timers, output,
717 1 elbuf_tab, ng, pm, geo,
718 2 ale_connect, ixs, iparg,
719 3 v, tf, npf, bufmat,
720 4 sti, x, dt2t, neltst,
721 5 ityptst, offset, nel, w,
722 6 off, ngeo, mxt, ngl,
723 7 voln, vd2, dvol, deltaxi,
724 8 vis, qvis, cxx, s1,
725 9 s2, s3, s4, s5,
726 a s6, dxx, dyy, dzz,
727 b d4, d5, d6, wxx,
728 c wyy, wzz, jac1, jac2,
729 d jac3, jac4, jac5, jac6,
730 e vdx, vdy, vdz, muvoid,
731 f ssp_eq, aire, sigy, et,
732 g r1_free, lbuf%PLA, r3_dam, amu,
733 h mfxx, mfxy, mfxz, mfyx,
734 i mfyy, mfyz, mfzx, mfzy,
735 j mfzz, ipm, gama, bid,
736 k dxy, dyx, dyz, dzy,
737 l dzx, dxz, istrain, tempel,
738 m die, iexpan, ilay, mssa,
739 n dmels, iptr, ipts, iptt,
740 o table, bid, bid, bid,
741 p bid, iparg(1,ng), igeo, conde,
742 q itask, nloc_dmg, var_reg, mat_elem,
743 r h3d_strain, jplasol, jsph, sz_bufvois,
744 s snpc, stf, sbufmat, glob_therm,
745 t svis, sz_ix, iresp,
746 * n2d, th_strain, ngroup, tt,
747 . dt1, ntable, numelq, nummat,
748 . numgeo, numnod, numels,
749 . idel7nok, idtmin, maxfunc,
750 . imon_mat, userl_avail, impl_s,
751 . idyna, dt ,fheat ,sensors)
752
753 IF (istrain == 1)THEN
754 CALL sstra3(
755 1 dxx, dyy, dzz, d4,
756 2 d5, d6, lbuf%STRA,wxx,
757 3 wyy, wzz, off, nel,
758 4 jcvt)
759 ENDIF
760 IF ((itask==0).AND.(imon_mat==1)) CALL stoptime(timers,35)
761C
762 IF (jcvt == 2) THEN
763 CALL sroto3(lft,llt,gbuf%SIG,sign,
764 . g1x, g2x, g3x, g1y, g2y, g3y, g1z, g2z, g3z,nel)
765 ELSE
766 DO i=1,nel
767 sign(i,1) = gbuf%SIG(ii(1)+i)
768 sign(i,2) = gbuf%SIG(ii(2)+i)
769 sign(i,3) = gbuf%SIG(ii(3)+i)
770 sign(i,4) = gbuf%SIG(ii(4)+i)
771 sign(i,5) = gbuf%SIG(ii(5)+i)
772 sign(i,6) = gbuf%SIG(ii(6)+i)
773 ENDDO
774 ENDIF
775C
776 itet = 0
777 IF (nn_del >0) THEN
778 CALL sdlenmax(l_max,
779 1 x1, x2, x3, x4,
780 2 x5, x6, x7, x8,
781 3 y1, y2, y3, y4,
782 4 y5, y6, y7, y8,
783 5 z1, z2, z3, z4,
784 6 z5, z6, z7, z8,
785 7 nel)
786 CALL sgeodel3(ngl,gbuf%OFF,voln,deltax,gbuf%VOL,geo(1,ngeo(1)),l_max,dt,nel,idel7nok )
787 END IF
788C
789C Small strain formulation is activated:
790C a) by minimum time step in MMAIN
791C b) by small volume or bad aspect ratio in SMALLGEO3
792C If ISMSTR=2 GBUF%SMSTR was updated by S8SAV3 (before MMAIN, each cycle) fixed when off=2
793C If ISMSTR=12 fixed GBUF%SMSTR before, updated only once by S8SAV12
794 CALL smallb3(gbuf%OFF,off,nel,ismstr)
795 CALL smallgeo3(ngl, gbuf%OFF ,voln ,deltax, gbuf%VOL ,itet,nel,ismstr,dt)
796 IF (ismstr == 12.AND.idtmin(1)==3) THEN
797 CALL s8sav12(
798 1 gbuf%OFF, offg0, gbuf%SMSTR,x,
799 2 xdp, nc1, nc2, nc3,
800 3 nc4, nc5, nc6, nc7,
801 4 nc8, nel, jcvt)
802 IF (ism12_11>0 .AND. isorth == 0) THEN
803 CALL s8upd11t12(gbuf%OFF,offg0 ,x ,xdp ,
804 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,nc7 ,nc8 ,
805 . gbuf%JAC_I,gbuf%SIG,lbuf%SIGL ,nel )
806 END IF
807 ENDIF
808 IF (jlag+jale+jeul == 0) THEN
809C
810C Balance thermal material
811 iflag=mod(ncycle,ncpri)
812 IF(ioutprt>0)THEN
813 IF (mtn == 11) THEN
814 eint => elbuf_tab(ng)%GBUF%EINS(1:nel)
815 ELSE
816 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
817 ENDIF
818 CALL srbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
819 . vgxa, vgya, vgza, vga2, voln,iparts,
820 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
821 . gbuf%FILL, xgxa, xgya, xgza,
822 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),
823 . sensors,nel,gbuf%G_WPLA,gbuf%WPLA)
824 ENDIF
825 RETURN
826 ENDIF
827C
828C ALE or EULER : update masses
829 IF (jale+jeul > 0 .AND. ale%GLOBAL%INCOMP == 0) THEN
830 IF(iparit == 0)THEN
831 CALL amass3(
832 1 ms, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
833 2 voln, nc1, nc2, nc3,
834 3 nc4, nc5, nc6, nc7,
835 4 nc8, msnf, nvc, off,
836 5 ixs, nel, jeul)
837 ELSE
838 CALL amass3p(
839 1 fskym, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
840 2 voln, iads, off, ixs,
841 3 nel, nft, jeul)
842 ENDIF
843 ENDIF
844C
845C Update ET for /VISC/PRONY
846 IF (imatvis > 2) THEN
847 ivisc = elbuf_tab(ng)%BUFLY(ilay)%IVISC
848 IF (ivisc == 1) THEN ! /VISC/PRONY only
849 rho0_1 = pm(1 ,imat)
850 nu = pm(21,imat)
851 CALL visc_et(nel ,mat_elem%MAT_PARAM(imat)%VISC,
852 . rho0_1 ,nu ,cxx ,et )
853
854 END IF
855 END IF
856C
857 IF (isctl > 0) THEN
858 dn = geo(13,pid)
859 CALL szhour_ctl(
860 . pm, gbuf%RHO, off, vx1,
861 . vx2, vx3, vx4, vx5,
862 . vx6, vx7, vx8, vy1,
863 . vy2, vy3, vy4, vy5,
864 . vy6, vy7, vy8, vz1,
865 . vz2, vz3, vz4, vz5,
866 . vz6, vz7, vz8, f11,
867 . f21, f31, f12, f22,
868 . f32, f13, f23, f33,
869 . f14, f24, f34, f15,
870 . f25, f35, f16, f26,
871 . f36, f17, f27, f37,
872 . f18, f28, f38, px1h1,
873 . px1h2, px1h3, px2h1, px2h2,
874 . px2h3, px3h1, px3h2, px3h3,
875 . px4h1, px4h2, px4h3, voln,
876 . gbuf%HOURG, mtn, dt1 , mxt,
877 . cxx, gbuf%EINT , npropm, nummat,
878 . gbuf%STRHG, jac1, jac5, jac9,
879 . gbuf%VOL, dn , sti , nel )
880C Anti hourglass forces
881 ELSEIF (isorth>0) THEN
882 IF (mtn>=28) THEN
883 iadbuf = ipm(7,mxt(1))
884 ELSE
885 iadbuf = 1 ! BUFMAT starts at 1 => BUFMAT(0) is wrong
886 ENDIF
887 CALL szhour3_or(
888 1 elbuf_tab(ng), pm, gbuf%RHO, off,
889 2 vx1, vx2, vx3, vx4,
890 3 vx5, vx6, vx7, vx8,
891 4 vy1, vy2, vy3, vy4,
892 5 vy5, vy6, vy7, vy8,
893 6 vz1, vz2, vz3, vz4,
894 7 vz5, vz6, vz7, vz8,
895 8 f11, f21, f31, f12,
896 9 f22, f32, f13, f23,
897 a f33, f14, f24, f34,
898 b f15, f25, f35, f16,
899 c f26, f36, f17, f27,
900 d f37, f18, f28, f38,
901 e px1h1, px1h2, px1h3, px1h4,
902 f px2h1, px2h2, px2h3, px2h4,
903 g px3h1, px3h2, px3h3, px3h4,
904 h px4h1, px4h2, px4h3, px4h4,
905 i voln, mxt, cxx, vis,
906 j vd2, deltax, ngeo, geo,
907 k partsav, iparts, dxx, dyy,
908 l dzz, d4, d5, d6,
909 m gbuf%HOURG, jac1, jac5, jac9,
910 n gbuf%EINT, gbuf%VOL, sigy, sign,
911 o sigo, icp, lbuf%PLA, imatvis,
912 p et, r3_dam, nel, gama,
913 q bufmat(iadbuf),gbuf%STRHG, lbuf%STRA, istrain,
914 r mtn, ismstr, jlag, iint,
915 s mat_elem%MAT_PARAM(imat) )
916C
917 ELSE
918 CALL szhour3(
919 1 elbuf_tab(ng),pm, gbuf%RHO, off,
920 2 vx1, vx2, vx3, vx4,
921 3 vx5, vx6, vx7, vx8,
922 4 vy1, vy2, vy3, vy4,
923 5 vy5, vy6, vy7, vy8,
924 6 vz1, vz2, vz3, vz4,
925 7 vz5, vz6, vz7, vz8,
926 8 f11, f21, f31, f12,
927 9 f22, f32, f13, f23,
928 a f33, f14, f24, f34,
929 b f15, f25, f35, f16,
930 c f26, f36, f17, f27,
931 d f37, f18, f28, f38,
932 e px1h1, px1h2, px1h3, px1h4,
933 f px2h1, px2h2, px2h3, px2h4,
934 g px3h1, px3h2, px3h3, px3h4,
935 h px4h1, px4h2, px4h3, px4h4,
936 i voln, mxt, cxx, vis,
937 j vd2, deltax, ngeo, geo,
938 k partsav, iparts, dxx, dyy,
939 l dzz, d4, d5, d6,
940 m gbuf%HOURG, jac1, jac5, jac9,
941 n gbuf%EINT, gbuf%VOL, sigy, sign,
942 o sigo, icp, lbuf%PLA, imatvis,
943 p et, r3_dam, nel, gbuf%STRHG,
944 q istrain, mtn, ismstr, jlag,
945 r iint)
946 END IF !(ISORTH>0) THEN
947 IF (cns2 > zero)
948 . CALL nsvis_sm12(gbuf%OFF ,cns2,cxx ,voln ,dxx ,
949 . dyy ,dzz ,d4 ,d5 ,d6 ,
950 . lbuf%VOL,rho0_1 ,sti ,nel,svis )
951C
952 IF(jclose /= 0) CALL fe_close(
953 1 hh, gbuf%RHO,voln, vx1,
954 2 vx2, vx3, vx4, vx5,
955 3 vx6, vx7, vx8, vy1,
956 4 vy2, vy3, vy4, vy5,
957 5 vy6, vy7, vy8, vz1,
958 6 vz2, vz3, vz4, vz5,
959 7 vz6, vz7, vz8, f11,
960 8 f21, f31, f12, f22,
961 9 f32, f13, f23, f33,
962 a f14, f24, f34, f15,
963 b f25, f35, f16, f26,
964 c f36, f17, f27, f37,
965 d f18, f28, f38, nel)
966C
967 IF (jale == 1 .OR. (jeul == 1.AND.integ8 == 0)) THEN
968C
969C ALE or EULER : update momentum transport forces
970 CALL amomt3(
971 1 pm, gbuf%RHO, voln, x1,
972 2 x2, x3, x4, x5,
973 3 x6, x7, x8, y1,
974 4 y2, y3, y4, y5,
975 5 y6, y7, y8, z1,
976 6 z2, z3, z4, z5,
977 7 z6, z7, z8, vx1,
978 8 vx2, vx3, vx4, vx5,
979 9 vx6, vx7, vx8, vy1,
980 a vy2, vy3, vy4, vy5,
981 b vy6, vy7, vy8, vz1,
982 c vz2, vz3, vz4, vz5,
983 d vz6, vz7, vz8, f11,
984 e f21, f31, f12, f22,
985 f f32, f13, f23, f33,
986 g f14, f24, f34, f15,
987 h f25, f35, f16, f26,
988 i f36, f17, f27, f37,
989 j f18, f28, f38, px1,
990 k px2, px3, px4, py1,
991 l py2, py3, py4, pz1,
992 m pz2, pz3, pz4, dxx,
993 n dxy, dxz, dyx, dyy,
994 o dyz, dzx, dzy, dzz,
995 p vdx1, vdx2, vdx3, vdx4,
996 q vdx5, vdx6, vdx7, vdx8,
997 r vdy1, vdy2, vdy3, vdy4,
998 s vdy5, vdy6, vdy7, vdy8,
999 t vdz1, vdz2, vdz3, vdz4,
1000 u vdz5, vdz6, vdz7, vdz8,
1001 v vdx, vdy, vdz, deltax,
1002 w vis, mxt, qmv, bufmat,
1003 x iparg(1,ng),ixs, gbuf%TAG22, nc1,
1004 y nc2, nc3, nc4, nc5,
1005 z nc6, nc7, nc8, nale,
1006 1 nel, nft, mtn, ipm)
1007 ELSEIF(jeul == 1 .AND. integ8 == 1)THEN
1008C
1009C Does not include upwind SUPG or TG
1010 CALL emomt3b(
1011 1 pm, gbuf%RHO, veul(lveul*nft+44),f11,
1012 2 f21, f31, f12, f22,
1013 3 f32, f13, f23, f33,
1014 4 f14, f24, f34, f15,
1015 5 f25, f35, f16, f26,
1016 6 f36, f17, f27, f37,
1017 7 f18, f28, f38, px1,
1018 8 px2, px3, px4, py1,
1019 9 py2, py3, py4, pz1,
1020 a pz2, pz3, pz4, px5,
1021 b px6, px7, px8, py5,
1022 c py6, py7, py8, pz5,
1023 d pz6, pz7, pz8, dxx,
1024 e dxy, dxz, dyx, dyy,
1025 f dyz, dzx, dzy, dzz,
1026 g vdx, vdy, vdz, mxt,
1027 h qmv, bufmat, vx1, vx2,
1028 i vx3, vx4, vx5, vx6,
1029 j vx7, vx8, vy1, vy2,
1030 k vy3, vy4, vy5, vy6,
1031 l vy7, vy8, vz1, vz2,
1032 m vz3, vz4, vz5, vz6,
1033 n vz7, vz8, iparg(1,ng), nel,
1034 o mtn, ipm)
1035 ENDIF
1036
1037 IF(jeul+jale/=0) CALL check_off_ale(f11,f21,f31,f12,f22,
1038 1 f32,f13,f23,f33,f14,
1039 2 f24,f34,f15,f25,f35,
1040 3 f16,f26,f36,f17,f27,
1041 4 f37,f18,f28,f38,gbuf%OFF,
1042 5 lft,llt,nel)
1043C
1044C Energy, momentum, mass balance per part in case of output
1045 iflag=mod(ncycle,ncpri)
1046 IF(iflag == 0.OR.tt >= output%TH%THIS.OR.mdess /= 0.
1047 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS).
1048 . or.tt >= output%TH%THIS1(1).OR.tt >= output%TH%THIS1(2).
1049 . or.tt >= output%TH%THIS1(3).OR.tt >= output%TH%THIS1(4).OR.tt >= output%TH%THIS1(5).
1050 . or.tt >= output%TH%THIS1(6).OR.tt >= output%TH%THIS1(7).OR.tt >= output%TH%THIS1(8).
1051 . or.tt >= output%TH%THIS1(9).OR.nth /= 0.OR.nanim /= 0.
1052 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(1)).
1053 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(2)).
1054 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(3)).
1055 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(4)).
1056 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(5)).
1057 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(6)).
1058 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(7)).
1059 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(8)).
1060 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s >= output%TH%THIS1(9)))THEN
1061 IF (mtn == 11) THEN
1062 eint => elbuf_tab(ng)%GBUF%EINS(1:nel)
1063 ELSE
1064 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
1065 ENDIF
1066 CALL srbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1067 . vgxa, vgya, vgza, vga2, voln,iparts,
1068 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1069 . gbuf%FILL, xgxa, xgya, xgza,
1070 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),
1071 . sensors,nel,gbuf%G_WPLA,gbuf%WPLA)
1072 ENDIF
1073C
1074C Compute nodal internal forces
1075 CALL sfint3(
1076 1 sign, px1, px2, px3,
1077 2 px4, py1, py2, py3,
1078 3 py4, pz1, pz2, pz3,
1079 4 pz4, px5, px6, px7,
1080 5 px8, py5, py6, py7,
1081 6 py8, pz5, pz6, pz7,
1082 7 pz8, f11, f21, f31,
1083 8 f12, f22, f32, f13,
1084 9 f23, f33, f14, f24,
1085 a f34, f15, f25, f35,
1086 b f16, f26, f36, f17,
1087 c f27, f37, f18, f28,
1088 d f38, voln, qvis, n1x,
1089 e n2x, n3x, n4x, n5x,
1090 f n6x, n1y, n2y, n3y,
1091 g n4y, n5y, n6y, n1z,
1092 h n2z, n3z, n4z, n5z,
1093 i n6z, bid, p, ixs,
1094 j nel, nft, jale, jeul,
1095 k svis)
1096C
1097c===========================================================================
1098c Computation of the internal non-local forces
1099c===========================================================================
1100 IF (inloc > 0) THEN
1101 CALL sfint_reg(
1102 1 nloc_dmg ,var_reg ,nel ,off ,
1103 2 voln ,elbuf_tab(ng)%NLOCS,gbuf%VOL ,
1104 3 px1 ,px2 ,px3 ,px4 ,
1105 4 py1 ,py2 ,py3 ,py4 ,
1106 5 pz1 ,pz2 ,pz3 ,pz4 ,
1107 6 imat ,itask ,dt2t ,nft )
1108 ENDIF
1109c===========================================================================
1110C
1111C Finite element heat transfert
1112 IF (jthe < 0) THEN
1113 imat = mxt(1)
1114 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
1115 CALL stherm(
1116 1 pm, imat, voln, nc1,
1117 2 nc2, nc3, nc4, nc5,
1118 3 nc6, nc7, nc8, px1,
1119 4 px2, px3, px4, py1,
1120 5 py2, py3, py4, pz1,
1121 6 pz2, pz3, pz4, dt1,
1122 7 temp, tempel, fheat, them,
1123 8 gbuf%OFF,lbuf%OFF,partsav, iparts,
1124 9 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1125 ELSE
1126 CALL stherm(
1127 1 pm, imat, voln, nc1,
1128 2 nc2, nc3, nc4, nc5,
1129 3 nc6, nc7, nc8, px1,
1130 4 px2, px3, px4, py1,
1131 5 py2, py3, py4, pz1,
1132 6 pz2, pz3, pz4, dt1,
1133 7 temp, tempel, die, them,
1134 8 gbuf%OFF,lbuf%OFF,partsav, iparts,
1135 9 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1136 END IF
1137 ENDIF
1138C
1139C Transform forces from convected frame to global frame
1140 CALL srrota3(
1141 1 r11, r21, r31, r12,
1142 2 r22, r32, r13, r23,
1143 3 r33, f11, f12, f13,
1144 4 f14, f15, f16, f17,
1145 5 f18, f21, f22, f23,
1146 6 f24, f25, f26, f27,
1147 7 f28, f31, f32, f33,
1148 8 f34, f35, f36, f37,
1149 9 f38, nel)
1150C----------------------------
1151C distortion control
1152C----------------------------
1153 IF (isctl > 0) THEN ! think about degenerated element
1154 CALL sdistor_ini(
1155 1 nel ,sti_c ,npropm ,nummat ,
1156 2 ismstr ,mxt ,istab ,pm ,
1157 3 gbuf%SIG ,gbuf%RHO ,cxx ,off ,
1158 4 gbuf%OFF ,ll ,voln ,fld ,
1159 5 cns2 ,fqmax )
1160C
1161! x,v sould be in global sys
1162 CALL s8get_x3(
1163 . nc1, nc2, nc3, nc4,
1164 . nc5, nc6, nc7, nc8,
1165 . x1, x2, x3, x4,
1166 . x5, x6, x7, x8,
1167 . y1, y2, y3, y4,
1168 . y5, y6, y7, y8,
1169 . z1, z2, z3, z4,
1170 . z5, z6, z7, z8,
1171 . x, xdp, numnod, nel )
1172 DO i=1,nel
1173 vx1(i)=v(1,nc1(i))
1174 vy1(i)=v(2,nc1(i))
1175 vz1(i)=v(3,nc1(i))
1176 vx2(i)=v(1,nc2(i))
1177 vy2(i)=v(2,nc2(i))
1178 vz2(i)=v(3,nc2(i))
1179 vx3(i)=v(1,nc3(i))
1180 vy3(i)=v(2,nc3(i))
1181 vz3(i)=v(3,nc3(i))
1182 vx4(i)=v(1,nc4(i))
1183 vy4(i)=v(2,nc4(i))
1184 vz4(i)=v(3,nc4(i))
1185 vx5(i)=v(1,nc5(i))
1186 vy5(i)=v(2,nc5(i))
1187 vz5(i)=v(3,nc5(i))
1188 vx6(i)=v(1,nc6(i))
1189 vy6(i)=v(2,nc6(i))
1190 vz6(i)=v(3,nc6(i))
1191 vx7(i)=v(1,nc7(i))
1192 vy7(i)=v(2,nc7(i))
1193 vz7(i)=v(3,nc7(i))
1194 vx8(i)=v(1,nc8(i))
1195 vy8(i)=v(2,nc8(i))
1196 vz8(i)=v(3,nc8(i))
1197 ENDDO
1198 CALL s8for_distor(
1199 . x1, x2, x3, x4,
1200 . x5, x6, x7, x8,
1201 . y1, y2, y3, y4,
1202 . y5, y6, y7, y8,
1203 . z1, z2, z3, z4,
1204 . z5, z6, z7, z8,
1205 . vx1, vx2, vx3, vx4,
1206 . vx5, vx6, vx7, vx8,
1207 . vy1, vy2, vy3, vy4,
1208 . vy5, vy6, vy7, vy8,
1209 . vz1, vz2, vz3, vz4,
1210 . vz5, vz6, vz7, vz8,
1211 . f11, f12, f13, f14,
1212 . f15, f16, f17, f18,
1213 . f21, f22, f23, f24,
1214 . f25, f26, f27, f28,
1215 . f31, f32, f33, f34,
1216 . f35, f36, f37, f38,
1217 . sti, sti_c, fld , cns2,
1218 . ll , istab, fqmax, nel,
1219 . gbuf%EINT_DISTOR, dt1)
1220 ENDIF
1221C----------------------------
1222C
1223 IF(nfilsol/=0) CALL sfillopt(
1224 1 gbuf%FILL,sti, f11, f21,
1225 2 f31, f12, f22, f32,
1226 3 f13, f23, f33, f14,
1227 4 f24, f34, f15, f25,
1228 5 f35, f16, f26, f36,
1229 6 f17, f27, f37, f18,
1230 7 f28, f38, nel)
1231C
1232C Assemble internal forces
1233 IF(iparit == 0)THEN
1234 CALL scumu3(
1235 1 gbuf%OFF,a, nc1, nc2,
1236 2 nc3, nc4, nc5, nc6,
1237 3 nc7, nc8, stifn, sti,
1238 4 f11, f21, f31, f12,
1239 5 f22, f32, f13, f23,
1240 6 f33, f14, f24, f34,
1241 7 f15, f25, f35, f16,
1242 8 f26, f36, f17, f27,
1243 9 f37, f18, f28, f38,
1244 a nvc, bid, bid, bid,
1245 b bid, bid, bid, bid,
1246 c bid, bid, bid, bid,
1247 d bid, bid, bid, bid,
1248 e bid, bid, bid, bid,
1249 f bid, bid, bid, bid,
1250 g bid, bid, bid, bid,
1251 h them, fthe, condn, conde,
1252 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1253 ELSE
1254 CALL scumu3p(
1255 1 gbuf%OFF,sti, fsky, fsky,
1256 2 iads, f11, f21, f31,
1257 3 f12, f22, f32, f13,
1258 4 f23, f33, f14, f24,
1259 5 f34, f15, f25, f35,
1260 6 f16, f26, f36, f17,
1261 7 f27, f37, f18, f28,
1262 8 f38, nc1, nc2, nc3,
1263 9 nc4, nc5, nc6, nc7,
1264 a nc8, bid, bid, bid,
1265 b bid, bid, bid, bid,
1266 c bid, bid, bid, bid,
1267 d bid, bid, bid, bid,
1268 e bid, bid, bid, bid,
1269 f bid, bid, bid, bid,
1270 g bid, bid, bid, bid,
1271 h them, fthesky, condnsky,conde,
1272 i nel, nft, jthe, isrot,
1273 j ipartsph,glob_therm%NODADT_THERM)
1274 ENDIF
1275 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1276 RETURN
subroutine amass3(ms, rho, volgp, tag22, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, ixs, nel, jeul)
Definition amass3.F:38
subroutine amass3p(fskym, rho, volgp, tag22, volu, iads, off, ixs, nel, nft, jeul)
Definition amass3p.F:37
subroutine amomt3(pm, rho, vol, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, deltax, vis, mat, qmv, bufmat, iparg1, ixs, iad22, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nale, nel, nft, mtn, ipm)
Definition amomt3.F:71
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab)
Definition boltst.F:38
subroutine check_off_ale(f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, off, lft, llt, nel)
#define my_real
Definition cppsort.cpp:32
subroutine emomt3b(pm, rho, volgp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx, vdy, vdz, mat, qmv, bufmat, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, iparg1, nel, mtn, ipm)
Definition emomt3b.F:56
subroutine szderito3(off, det, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, nel, jlag)
Definition szderi3.F:530
subroutine szderit3(off, det, ngl, nel, 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, jac1, jac2, jac3, jac4, jac5, jac6, jac9, jlag)
Definition szderi3.F:343
subroutine epxle3(vol, veul, 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, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, det, deltax, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel, nft, jhbe)
Definition epxle3.F:55
subroutine fe_close(hh, rho, voln, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, 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 fe_close.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
type(ale_) ale
Definition ale_mod.F:249
subroutine nsvis_sm12(offg, mu, ssp, vol, d1, d2, d3, d4, d5, d6, vol0, rho0, sti, nel, svis)
Definition nsvis_sm12.F:33
subroutine s11defo3(pm, v, veul, x, ixs, ale_connect, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, bufmat, nel, nft, ipm, nummat, numels)
Definition s11defo3.F:39
subroutine s8for_distor(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f12, f13, f14, f15, f16, f17, f18, f21, f22, f23, f24, f25, f26, f27, f28, f31, f32, f33, f34, f35, f36, f37, f38, sti, sti_c, fld, mu, ll, istab, fqmax, nel, e_distor, dt1)
subroutine s8get_x3(nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, x, xdp, numnod, nel)
Definition s8get_x3.F:42
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 s8upd11t12(offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, jac_1, sig, sigl, nel)
Definition s8upd11t12.F:34
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 sdlen8(deltax, volg, ixs, 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 sdlen8.F:40
subroutine sdlen_sms(deltax, volg, ixs, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, iparts, tagprt_sms, tagelem_sms, nel)
Definition sdlen_sms.F:42
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 sfint3(sig, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, dfe, pbak, ixs, nel, nft, jale, jeul, svis)
Definition sfint3.F:53
subroutine sfint_reg(nloc_dmg, var_reg, nel, off, vol, nlocs, vol0, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, imat, itask, dt2t, nft)
Definition sfint_reg.F:39
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 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 sdefot3(nel, 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, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz)
Definition srefsta3.F:664
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 srmalla3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
Definition srmall3.F:31
subroutine srmalla11(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr)
Definition srmalla11.F:34
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 mod_close(geo, ngeo, 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 mod_close.F:34
subroutine sdefo3(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, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz)
Definition sdefo3.F:37
subroutine sdlen3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, deltax, voln)
Definition sdlen3.F:41
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 szderi3(vol, veul, geo, igeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac1, jac2, jac3, jac4, jac5, jac6, jac9, ngl, ngeo, det, voldp, nel, jeul, nxref)
Definition szderi3.F:42
subroutine startime(event, itask)
Definition timer.F:93
subroutine stoptime(event, itask)
Definition timer.F:135
subroutine stherm(pm, imat, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dt1, tempnc, tempel, heat, fphi, offg, off, partsav, iparts, vol0, nel, numnod, theaccfact)
Definition stherm.F:39
subroutine szhour3(elbuf_str, pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, vol, mat, cxx, vis, vd2, deltax, pid, geo, partsav, iparts, dxx, dyy, dzz, d4, d5, d6, fhour, jr0, js0, jt0, eint, vol0, sigy, sig0, sigold, icp, defp, matvis, et, d_max, nel, strhg, istrain, mtn, ismstr, jlag, iint)
Definition szhour3.F:63
subroutine szhour3_or(elbuf_str, pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, vol, mat, cxx, vis, vd2, deltax, pid, geo, partsav, iparts, dxx, dyy, dzz, d4, d5, d6, fhour, jr0, js0, jt0, eint, vol0, sigy, sig0, sigold, icp, defp, matvis, et, d_max, nel, gama, uparam, strhg, strain, istrain, mtn, ismstr, jlag, iint, mat_param)
Definition szhour3_or.F:68
subroutine szhour_ctl(pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, fhour, mtn, dt1, mat, cxx, eint, npropm, nummat, strhg, jr, js, jt, vol0, dn, sti, nel)
Definition szhour_ctl.F:54
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
subroutine visc_et(nel, visc, rho, nu, cxx, et)
Definition visc_et.F:31