OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s10forc3.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!|| s10forc3 ../engine/source/elements/solid/solide10/s10forc3.f
25!||--- called by ------------------------------------------------------
26!|| forint ../engine/source/elements/forint.F
27!||--- calls -----------------------------------------------------
28!|| boltst ../engine/source/elements/solid/solide/boltst.F
29!|| mmain ../engine/source/materials/mat_share/mmain.F90
30!|| nsvis_sm12 ../engine/source/elements/solid/solide10/nsvis_sm12.F
31!|| s10_icp ../engine/source/elements/solid/solide4_sfem/s10_icp.F
32!|| s10bilan ../engine/source/elements/solid/solide10/s10bilan.F
33!|| s10coor3 ../engine/source/elements/solid/solide10/s10coor3.F
34!|| s10cumu3 ../engine/source/elements/solid/solide10/s10cumu3.F
35!|| s10cumu3p ../engine/source/elements/solid/solide10/s10cumu3p.F
36!|| s10defo3 ../engine/source/elements/solid/solide10/s10defo3.F
37!|| s10defot3 ../engine/source/elements/solid/solide10/s10defot3.F
38!|| s10deri3 ../engine/source/elements/solid/solide10/s10deri3.F
39!|| s10derit3 ../engine/source/elements/solid/solide10/s10derit3.F
40!|| s10divde12 ../engine/source/elements/solid/solide10/s10divde12.F
41!|| s10dvm12 ../engine/source/elements/solid/solide10/s10dvm12.F
42!|| s10fint3 ../engine/source/elements/solid/solide10/s10fint3.F
43!|| s10for_distor ../engine/source/elements/solid/solide10/s10for_distor.F
44!|| s10get_x0 ../engine/source/elements/solid/solide10/s10get_x0.F90
45!|| s10get_x3 ../engine/source/elements/solid/solide10/s10get_x3.f
46!|| s10len3 ../engine/source/elements/solid/solide10/s10len3.F
47!|| s10malla3 ../engine/source/elements/solid/solide10/s10malla3.F
48!|| s10mallb3 ../engine/source/elements/solid/solide10/s10mallb3.F
49!|| s10mallgeo3 ../engine/source/elements/solid/solide10/s10mallgeo3.F
50!|| s10nx3 ../engine/source/elements/solid/solide10/s10nx3.F
51!|| s10nxt4 ../engine/source/elements/solid/solide10/s10nxt4.f
52!|| s10pijto3 ../engine/source/elements/solid/solide10/s10pijto3.F
53!|| s10rcoor12 ../engine/source/elements/solid/solide10/s10rcoor12.F
54!|| s10sav12 ../engine/source/elements/solid/solide10/s10sav12.F
55!|| s10sav3 ../engine/source/elements/solid/solide10/s10sav3.F
56!|| s10sigp3 ../engine/source/elements/solid/solide4_sfem/s10sigp3.F
57!|| s10therm ../engine/source/elements/solid/solide10/s10therm.F
58!|| s10upd11t12 ../engine/source/elements/solid/solide10/s10upd11t12.F
59!|| s4therm_itet1 ../engine/source/elements/solid/solide4/s4therm-itet1.F
60!|| s8e_sigp ../engine/source/elements/solid/solide8e/s8e_sig.F
61!|| sdistor_ini ../engine/source/elements/solid/solide/sdistror_ini.F90
62!|| sgcoor10 ../engine/source/elements/solid/solide10/sgcoor10.F
63!|| sgeodel3 ../engine/source/elements/solid/solide/sgeodel3.f
64!|| smallb3 ../engine/source/elements/solid/solide/smallb3.F
65!|| smallgeo3 ../engine/source/elements/solid/solide/smallgeo3.F
66!|| sordef12 ../engine/source/elements/solid/solidez/sordef12.F
67!|| sordeft12 ../engine/source/elements/solid/solidez/sordeft12.F
68!|| sorthdir3 ../engine/source/elements/solid/solide/sorthdir3.F
69!|| sreploc3 ../engine/source/elements/solid/solide/sreploc3.F
70!|| srho3 ../engine/source/elements/solid/solide/srho3.F
71!|| srota3 ../engine/source/elements/solid/solide/srota3.F
72!|| sroto12_sig ../engine/source/elements/solid/solidez/sroto12_sig.F
73!|| sstra3 ../engine/source/elements/solid/solide/sstra3.F
74!|| startime ../engine/source/system/timer_mod.F90
75!|| stoptime ../engine/source/system/timer_mod.F90
76!|| sxfillopt ../engine/source/elements/solid/solide10/sxfillopt.f
77!||--- uses -----------------------------------------------------
78!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
79!|| dt_mod ../engine/source/modules/dt_mod.F
80!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
81!|| element_mod ../common_source/modules/elements/element_mod.f90
82!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
83!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
84!|| mmain_mod ../engine/source/materials/mat_share/mmain.F90
85!|| nlocal_reg_mod ../common_source/modules/nlocal_reg_mod.F
86!|| output_mod ../common_source/modules/output/output_mod.F90
87!|| s10get_x0_mod ../engine/source/elements/solid/solide10/s10get_x0.F90
88!|| sdistor_ini_mod ../engine/source/elements/solid/solide/sdistror_ini.f90
89!|| sensor_mod ../common_source/modules/sensor_mod.F90
90!|| table_mod ../engine/share/modules/table_mod.F
91!|| timer_mod ../engine/source/system/timer_mod.F90
92!||====================================================================
93 SUBROUTINE s10forc3(TIMERS, OUTPUT,
94 1 ELBUF_TAB, NG, PM, GEO,
95 2 IXS, X, A, V,
96 3 MS, W, FLUX, FLU1,
97 4 VEUL, FV, ALE_CONNECT,IPARG,
98 5 TF, NPF, BUFMAT, PARTSAV,
99 6 NLOC_DMG, DT2T, NELTST, ITYPTST,
100 7 STIFN, FSKY, IADS, OFFSET,
101 8 EANI, IPARTS, IXS10, IADS10,
102 9 NEL, FX, FY, FZ,
103 A AR, VR, DR, IPM,
104 B ISTRAIN, ISOLNOD, ITASK, TEMP,
105 C FTHE, FTHESKY, IEXPAN, STIFR,
106 D D, GRESAV, GRTH, IGRTH,
107 E TABLE, MSSA, DMELS, IGEO,
108 F XDP, VOLN, CONDN, CONDNSKY,
109 G SFEM_NODVAR, ITAGDN, SENSORS, IOUTPRT,
110 H MAT_ELEM, H3D_STRAIN, DT, IDEL7NOK,
111 I SNPC, STF, SBUFMAT, SVIS,
112 J NSVOIS, IDTMINS, IDEL7NG, MAXFUNC,
113 V USERL_AVAIL, GLOB_THERM, impl_s, idyna ,
114 W S_SFEM_NODVAR)
115C-----------------------------------------------
116C M o d u l e s
117C-----------------------------------------------
118 USE timer_mod
119 USE output_mod, only : output_
120 USE mmain_mod
121 USE table_mod
122 USE mat_elem_mod
125 USE sensor_mod
126 USE dt_mod
127 USE elbufdef_mod
128 USE sdistor_ini_mod, ONLY : sdistor_ini
129 use glob_therm_mod
130 USE s10get_x0_mod, ONLY : s10get_x0
131 use element_mod , only : nixs
132C-----------------------------------------------
133C I m p l i c i t T y p e s
134C-----------------------------------------------
135#include "implicit_f.inc"
136C-----------------------------------------------
137C G l o b a l P a r a m e t e r s
138C-----------------------------------------------
139#include "mvsiz_p.inc"
140C-----------------------------------------------
141C C o m m o n B l o c k s
142C-----------------------------------------------
143#include "com01_c.inc"
144#include "com04_c.inc"
145#include "com08_c.inc"
146#include "scr03_c.inc"
147#include "vect01_c.inc"
148#include "parit_c.inc"
149#include "param_c.inc"
150#include "timeri_c.inc"
151#include "scr18_c.inc"
152#include "scr05_c.inc"
153C-----------------------------------------------
154C l o c a l P a r a m e t e r s
155C-----------------------------------------------
156 INTEGER NPE
157 PARAMETER (NPE=10)
158C-----------------------------------------------
159C D u m m y A r g u m e n t s
160C-----------------------------------------------
161 type(timer_), INTENT(INOUT) :: timers
162 TYPE(output_), INTENT(INOUT) :: OUTPUT
163 INTEGER, INTENT(IN) :: S_SFEM_NODVAR
164 INTEGER, INTENT(INOUT) :: IDEL7NOK
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) :: IDEL7NG
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(*),IADS(8,*),
176 . IPARTS(*),IXS10(6,*),IADS10(6,*),IPM(*),ITASK,GRTH(*),
177 . igrth(*),igeo(npropgi,*),ioutprt,h3d_strain
178 INTEGER NELTST,ITYPTST,OFFSET,NEL,NG,ISTRAIN,ISOLNOD,IEXPAN,ITAGDN(*)
179 DOUBLE PRECISION XDP(3,*)
180
181 my_real DT2T
182 my_real pm(npropm,*), geo(npropg,*), x(*), a(*), v(3,*), ms(*), w(*),
183 . flux(6,*),flu1(*), veul(*), fv(*), tf(*),
184 . bufmat(*),partsav(*),stifn(*), fsky(*),eani(*),
185 . ar(*),vr(*) ,dr(*) ,stifr(*),d(*), mssa(*) ,dmels(*)
186 my_real fx(mvsiz,10),fy(mvsiz,10),fz(mvsiz,10),
187 . temp(*), fthe(*), fthesky(*),gresav(*),voln(mvsiz),condn(*),
188 . condnsky(*),sfem_nodvar(s_sfem_nodvar)
189 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
190 TYPE(ttable) TABLE(*)
191 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
192 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
193 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
194 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
195 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
196 TYPE(dt_) ,INTENT(INOUT) :: DT
197 type (glob_therm_) ,intent(inout) :: glob_therm
198C-----------------------------------------------
199C L o c a l V a r i a b l e s
200C-----------------------------------------------
201 INTEGER I,J,IP,NF1,NF2,IFLAG,IOFFS,IPTR,IPTS,IPTT,ILAY,IMAT
202 INTEGER IBID,IBIDON(1),ITET,ISM12_11
203C-----
204 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ)
205 my_real
206 . VD2(MVSIZ) , DVOL(MVSIZ),DELTAX(MVSIZ),
207 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,deltax2(mvsiz),
208 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
209 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
210 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
211 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
212 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
213 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
214 . vdx(mvsiz), vdy(mvsiz), vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
215 . conde(mvsiz),condeg(mvsiz), volg(mvsiz), jacgm(mvsiz)
216C-----
217C Arrays for material laws
218 my_real
219 . sti(mvsiz),
220 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz),
221 . wxxg(mvsiz) , wyyg(mvsiz) , wzzg(mvsiz)
222C Arrays for material laws (sph only)
223 my_real
224 . muvoid(mvsiz)
225C-----
226C void MMAIN
227 my_real
228 . sigy(mvsiz),et(mvsiz),gama(mvsiz,6),
229 . r1_free(mvsiz),r3_free(mvsiz)
230C For solid elements
231 INTEGER NC(MVSIZ,10),ICP,MX,IPLAW1
232
233 DOUBLE PRECISION
234 . XX(MVSIZ,10), YY(MVSIZ,10), ZZ(MVSIZ,10),
235 .
236 . XX0(MVSIZ,10), YY0(MVSIZ,10), ZZ0(MVSIZ,10),VOLDP(MVSIZ,5)
237
238 my_real
239 . tx(mvsiz),ty(mvsiz),tz(mvsiz),off(mvsiz),volp(mvsiz,5),
240 . rhoo(mvsiz),offs(mvsiz),them(mvsiz,10),tempel(mvsiz),
241 . vx(mvsiz,10),vy(mvsiz,10),vz(mvsiz,10),
242 . px(mvsiz,10,5),py(mvsiz,10,5),pz(mvsiz,10,5),
243 . nx(mvsiz,10,5),vdxx(mvsiz,10),vdyy(mvsiz,10),vdzz(mvsiz,10),
244 . dxy(mvsiz),dyx(mvsiz),dyz(mvsiz),dzy(mvsiz),
245 . dzx(mvsiz),dxz(mvsiz),
246 . stig(mvsiz), wip(5,5), alph(5,5), beta(5,5),bid(mvsiz),
247 . die(mvsiz),offg0(mvsiz),amu(mvsiz),sum,rho0_1,cns2
248 my_real nxt4(mvsiz,4,4)
249 my_real, DIMENSION(MVSIZ) ::
250 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z
251C
252 my_real
253 . vx0(mvsiz,10),vy0(mvsiz,10),vz0(mvsiz,10),
254 . mfxx(mvsiz,5),mfxy(mvsiz,5),mfyx(mvsiz,5),
255 . mfyy(mvsiz,5),mfyz(mvsiz,5),mfzy(mvsiz,5),
256 . mfzz(mvsiz,5),mfzx(mvsiz,5),mfxz(mvsiz,5),divde(mvsiz),
257 . nu(mvsiz),facp(mvsiz),e0(mvsiz),c1,dvm(mvsiz),
258 . visp(mvsiz),facdb,rbid(mvsiz),sigp(nel,6),
259 . fld(mvsiz),sti_c(mvsiz),ll(mvsiz),offg(mvsiz),fqmax
260c
261 my_real varnl(nel),deltax4(mvsiz)
262c Flag Bolt Preloading
263 INTEGER IBOLTP,NBPRELD,ISCTL,ISTAB(MVSIZ)
264 INTEGER SZ_IX
265 my_real,
266 . DIMENSION(:), POINTER :: BPRELD
267 my_real, dimension(mvsiz) :: fheat
268C-----
269 TYPE(g_bufel_) ,POINTER :: GBUF
270 TYPE(l_bufel_) ,POINTER :: LBUF
271C--------------------------------------------------------
272 DATA WIP / 1. ,0. ,0. ,0. ,0. ,
273 2 0. ,0. ,0. ,0. ,0. ,
274 3 0. ,0. ,0. ,0. ,0. ,
275 4 0.25,0.25,0.25,0.25,0. ,
276 5 0.45,0.45,0.45,0.45,-0.8/
277C-----------------------------------------------
278C S o u r c e L i n e s
279C=======================================================================
280 gbuf => elbuf_tab(ng)%GBUF
281 iboltp = iparg(72,ng)
282 nbpreld = gbuf%G_BPRELD
283 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
284 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
285C-----
286 sz_ix=numelq+numels+nsvois
287 nf1=nft+1
288 nf2=nf1-numels8
289 ibid = 0
290 ibidon = 0
291 ioffs=0
292 ipts = 1
293 iptt = 1
294 ilay = 1
295 IF(isrot == 1) THEN
296 iisrot=1
297 nf2=1
298 END IF
299 icp = iparg(10,ng)
300 DO i=lft,llt
301 offs(i)=ep20
302 END DO
303C
304 DO ip=1,3
305 DO j=1,5
306 alph(j,ip)=zero
307 beta(j,ip)=zero
308 END DO
309 END DO
310c
311 alph(1,4)=zep5854102
312 alph(2,4)=zep5854102
313 alph(3,4)=zep5854102
314 alph(4,4)=zep5854102
315 alph(5,4)=zero
316 alph(1,5)=half
317 alph(2,5)=half
318 alph(3,5)=half
319 alph(4,5)=half
320 alph(5,5)=fourth
321 beta(1,4)=zep1381966
322 beta(2,4)=zep1381966
323 beta(3,4)=zep1381966
324 beta(4,4)=zep1381966
325 beta(5,4)=zero
326 beta(1,5)=one_over_6
327 beta(2,5)=one_over_6
328 beta(3,5)=one_over_6
329 beta(4,5)=one_over_6
330 beta(5,5)=fourth
331C
332 tempel(:) = zero
333 fheat(:) = zero
334 IF (jthe < 0) them(lft:llt,1:10) = zero
335C
336 IF (icp==1) THEN
337 mx = ixs(1,nf1)
338 nu(lft:llt)=min(half,pm(21,mx))
339 facp(lft:llt)=one
340 ELSEIF (icp==2) THEN
341 mx = ixs(1,nf1)
342 nu(lft:llt)=min(half,pm(21,mx))
343 c1 =pm(32,mx)
344 e0(lft:llt) =three*(one-two*nu(lft:llt))*c1
345 sigp=zero
346 IF (gbuf%G_PLA>0) THEN
347 CALL s8e_sigp(elbuf_tab(ng),sigp, nel)
348 END IF
349 CALL s10sigp3(sigp,e0 ,gbuf%PLA,facp ,gbuf%G_PLA,nel )
350 END IF
351C-----------
352 CALL s10coor3(
353 1 x, ixs(1,nf1), ixs10(1,nf2),v,
354 2 w, xx, yy, zz,
355 3 vx, vy, vz, vdxx,
356 4 vdyy, vdzz, vdx, vdy,
357 5 vdz, vd2, vis, gbuf%OFF,
358 6 off, gbuf%SMSTR, nc, ngl,
359 7 mxt, ngeo, fx, fy,
360 8 fz, stig, gbuf%SIG, gbuf%EINT,
361 9 gbuf%RHO, gbuf%QVIS, gbuf%PLA, gbuf%EPSD,
362 a vr, dr, d, wxxg,
363 b wyyg, wzzg, gbuf%G_PLA, xdp,
364 c nel, condeg, gbuf%G_EPSD, jale,
365 d ismstr, jeul, jlag, israt,
366 e isrot)
367C
368 iplaw1 = 0
369 cns2 = zero
370 IF (ism12_11>0 .AND.idtmin(1)==3) THEN
371 mx = ixs(1,nf1)
372 rho0_1 =pm( 1,mx)
373 IF (pm(21,mx)>0.49) iplaw1=1
374 IF (iplaw1==1) THEN
375 facdb = one- zep02
376 facdb = min(facdb,two*pm(21,mx))
377 facp(lft:llt)=facdb
378 visp(lft:llt)=two
379 cns2 = zep02
380 IF (igeo(35,ngeo(1))>0) cns2=cns2-abs(geo(17,ngeo(1)))
381 END IF
382 ELSEIF (ismstr==10.AND.mtn==1) THEN
383 mx = ixs(1,nf1)
384 rho0_1 =pm( 1,mx)
385 IF (pm(21,mx)>0.49) THEN
386 visp(lft:llt)=two
387 cns2 = zep02
388 IF (igeo(35,ngeo(1))>0) cns2=cns2-abs(geo(17,ngeo(1)))
389 END IF
390 END IF
391 isctl = igeo(97,ngeo(1))
392 IF (isrot == 1) isctl = 0 ! uncompatible with itetra4=1
393C
394 CALL s10nx3(
395 1 nx, nel, npt)
396 IF(jthe < 0 .AND. isolnod == 4) CALL s10nxt4(nxt4,nel)
397C-----------
398C GATHER NODAL VARIABLES FOR TOTAL STRAIN CASE.
399C-----------
400 IF (ismstr >= 10.AND.ismstr <= 12) THEN
401
402 CALL sgcoor10(
403 1 xx, yy, zz, x,
404 2 xdp, xx0, yy0, zz0,
405 3 vx0, vy0, vz0, gbuf%SMSTR,
406 4 nc, d, gbuf%OFF, offg0,
407 5 nel, mtn, ismstr)
408C----------------------
409 IF (ismstr == 11) THEN
410 CALL s10derit3(
411 1 volp, deltax, deltax2, xx0,
412 2 yy0, zz0, px, py,
413 3 pz, nx, rx, ry,
414 4 rz, sx, sy, sz,
415 5 tx, ty, tz, wip(1,npt),
416 6 alph(1,npt),beta(1,npt),voln, volg,
417 7 voldp, nel, gbuf%OFF, npt)
418 CALL s10len3(
419 1 volp, ngl, deltax, deltax2,
420 2 px, py, pz, volg,
421 3 gbuf%VOL, rx, ry, rz,
422 4 sx, sy, sz, tx,
423 5 ty, tz, nc, nel,
424 6 mxt, pm, gbuf%ISMS, gbuf%DT_PITER,
425 7 npt, iint, isrot, iformdt)
426 ELSE
427C!!!!!!calcul local rep for ISMSTR 10 to 11 (offg>un)
428 IF (ismstr == 12.AND.ism12_11==0.AND.idtmin(1)==3) THEN
429 CALL s10rcoor12(
430 1 gbuf%OFF,x, xdp, nc,
431 2 e1x, e2x, e3x, e1y,
432 3 e2y, e3y, e1z, e2z,
433 4 e3z, nel)
434 END IF !(ISMSTR == 10.AND.ISORTH/=0.AND.IDTMIN(1)==3)
435 ibid = 1
436 DO ip=1,npt
437 lbuf => elbuf_tab(ng)%BUFLY(ibid)%LBUF(ip,ibid,ibid)
438 CALL s10pijto3(px(1,1,ip),py(1,1,ip),pz(1,1,ip),lbuf%PIJ,llt)
439
440 ENDDO
441 END IF !(ISMSTR == 11) THEN
442 DO ip=1,npt
443
444 CALL s10defot3(
445 1 px(1,1,ip),py(1,1,ip),pz(1,1,ip),vx0,
446 2 vy0, vz0, mfxx(1,ip),mfxy(1,ip),
447 3 mfxz(1,ip),mfyx(1,ip),mfyy(1,ip),mfyz(1,ip),
448 4 mfzx(1,ip),mfzy(1,ip),mfzz(1,ip),nel)
449 END DO
450 IF (ismstr == 12.AND.ism12_11==0.AND.idtmin(1)==3) THEN
451 DO ip=1,npt
452 CALL sordeft12(lft,llt,mfxx(1,ip), mfxy(1,ip), mfxz(1,ip),
453 . mfyx(1,ip), mfyy(1,ip), mfyz(1,ip),
454 . mfzx(1,ip), mfzy(1,ip), mfzz(1,ip),
455 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z,gbuf%OFF)
456 END DO
457 ENDIF
458 ENDIF ! ISMSTR == 10
459C-----------
460 IF (ismstr /= 11) THEN
461 CALL s10deri3(
462 1 off, volp, ngl, deltax,
463 2 deltax2, xx, yy, zz,
464 3 px, py, pz, nx,
465 4 rx, ry, rz, sx,
466 5 sy, sz, tx, ty,
467 6 tz, wip(1,npt), alph(1,npt),beta(1,npt),
468 7 voln, volg, voldp, nc,
469 8 gbuf%SMSTR, gbuf%OFF, nel, npt,
470 9 ismstr, jlag)
471C
472 CALL s10len3(
473 1 volp, ngl, deltax, deltax2,
474 2 px, py, pz, volg,
475 3 gbuf%VOL, rx, ry, rz,
476 4 sx, sy, sz, tx,
477 5 ty, tz, nc, nel,
478 6 mxt, pm, gbuf%ISMS, gbuf%DT_PITER,
479 7 npt, iint, isrot, iformdt)
480
481 IF (iplaw1>0) THEN
482 CALL s10dvm12(
483 . px, py, pz, vx, vy, vz,
484 . dvm ,gbuf%OFF, npt ,nel)
485 END IF
486C--- for /CST avoid multi-printout----
487 IF (ismstr == 2 .OR.ismstr ==12) THEN
488 DO ip=1,npt
489 iptr = ip
490 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(iptr,ipts,iptt)
491 DO i=lft,llt
492 IF (gbuf%OFF(i)==two) lbuf%OFF(i)=gbuf%OFF(i)
493 ENDDO
494 ENDDO
495 END IF
496 END IF
497C --------------------------
498C --- UPDATE REF. CONFIGURATION
499C --------------------------
500 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
501 CALL s10sav3(
502 1 gbuf%OFF, gbuf%SMSTR,nc, xx,
503 2 yy, zz, nel)
504 END IF !(ISMSTR == 2) THEN
505C-----------------------------
506 IF (isorth == 0) THEN
507 DO i=lft,llt
508 gama(i,1) = one
509 gama(i,2) = zero
510 gama(i,3) = zero
511 gama(i,4) = zero
512 gama(i,5) = one
513 gama(i,6) = zero
514 ENDDO
515 ELSE
516 CALL sreploc3(
517 1 rx, ry, rz, sx,
518 2 sy, sz, tx, ty,
519 3 tz, e1x, e2x, e3x,
520 4 e1y, e2y, e3y, e1z,
521 5 e2z, e3z, llt)
522 CALL sorthdir3(
523 1 rx, ry, rz, sx,
524 2 sy, sz, tx, ty,
525 3 tz, e1x, e2x, e3x,
526 4 e1y, e2y, e3y, e1z,
527 5 e2z, e3z, gbuf%GAMA,gama,
528 6 nel, irep)
529 ENDIF
530 IF(icp >0 .AND. ismstr/=10) THEN
531 DO i=lft,llt
532 IF(gbuf%OFF(i) == zero) cycle
533 sum=sfem_nodvar(nc(i,1))+sfem_nodvar(nc(i,2))+sfem_nodvar(nc(i,3))+sfem_nodvar(nc(i,4))
534 jacgm(i)=fourth*sum
535 ENDDO
536 ENDIF
537C-----------------------------
538C POINTS D' INTEGRATION
539C-----------------------------
540 DO ip=1,npt
541 iptr = ip
542 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(iptr,ipts,iptt)
543 IF (ioffs == 1)THEN
544 DO i=lft,llt
545 IF (offs(i)<=two) lbuf%OFF(i)=offs(i)
546 ENDDO
547 END IF
548C
549 CALL s10defo3(
550 1 px(1,1,ip),py(1,1,ip),pz(1,1,ip),vx,
551 2 vy, vz, dxx, dxy,
552 3 dxz, dyx, dyy, dyz,
553 4 dzx, dzy, dzz, d4,
554 5 d5, d6, wxx, wyy,
555 6 wzz, volp(1,ip),voln, lbuf%RHO,
556 7 rhoo, nel, jhbe, isrot)
557
558 IF (ismstr == 12.AND.ism12_11==0.AND.idtmin(1)==3) THEN
559 CALL sordef12(lft,llt,dxx, dyy, dzz,
560 . d4, d5, d6,
561 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z,offg0)
562 ENDIF
563 IF (icp>0) THEN
564 IF (ismstr==10) THEN
565 DO i=lft,llt
566 IF(gbuf%OFF(i) == zero) cycle
567 jacgm(i)=sfem_nodvar(nc(i,ip))
568 ENDDO
569 END IF
570 CALL s10_icp(
571 1 gbuf%OFF, jacgm, facp, nu,
572 2 mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
573 3 mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
574 4 mfzz(1,ip), lbuf%VOL, voln, lbuf%VOL0DP,
575 5 voldp(1,ip),nel, ismstr)
576 ENDIF
577C
578 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))
579 IF (iplaw1>0) CALL s10divde12(dvm ,divde ,facp,gbuf%OFF,nel)
580 CALL srho3(
581 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
582 2 divde, flux(1,nf1),flu1(nf1), voln,
583 3 dvol, ngl, mxt, off,
584 4 0, gbuf%TAG22, voldp(1,ip),lbuf%VOL0DP,
585 5 amu, gbuf%OFF, nel, mtn,
586 6 jale, ismstr, jeul, jlag)
587c
588 IF (ismstr == 12.AND.ism12_11==0.AND.idtmin(1)==3) THEN
589 CALL sroto12_sig(lft,llt,lbuf%SIG,nel,
590 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z,offg0)
591!! temporary replaced by (the same) SROTO12_SIG() in order to do not affect
592!! the other multidimensional buffer ARRAYS which are still not modified
593!! CALL SROTO12(LFT,LLT,LBUF%SIG,
594!! . E1X, E1Y, E1Z, E2X, E2Y, E2Z, E3X, E3Y, E3Z,OFFG0)
595 ENDIF
596 CALL srota3(
597 1 lbuf%SIG,s1, s2, s3,
598 2 s4, s5, s6, wxx,
599 3 wyy, wzz, nel, mtn,
600 4 ismstr)
601C-----------------------------
602C SMALL STRAIN
603C-----------------------------
604 CALL s10malla3(
605 1 gbuf%OFF, off, wxx, wyy,
606 2 wzz, wxxg, wyyg, wzzg,
607 3 wip(ip,npt),nel, ismstr, jlag)
608
609 IF(jthe < 0 ) THEN
610 DO i=lft,llt
611 tempel(i)= zero
612 ENDDO
613 IF(isolnod == 10) THEN
614 DO j = 1,10
615 DO i=lft,llt
616 tempel(i)= tempel(i) + nx(i,j,ip)*temp(nc(i,j))
617 ENDDO
618 ENDDO
619 ELSEIF(isolnod == 4) THEN
620 DO j = 1,4
621 DO i=lft,llt
622 tempel(i)= tempel(i) + nxt4(i,j,ip)*temp(nc(i,j))
623 ENDDO
624 ENDDO
625 ENDIF
626 ENDIF
627C------------------------------------------------------
628C CALCUL DES CONTRAINTES SUIVANT LOIS CONSTITUTIVES
629C------------------------------------------------------
630 IF ((itask==0).AND.(imon_mat==1)) CALL startime(timers,35)
631C
632 IF(iboltp /= 0) CALL boltst(
633 . ip, bpreld, lbuf%SIG,tt,
634 . nel ,npt ,sensors%NSENSOR,sensors%SENSOR_TAB,
635 . iparg(67,ng),iparg(68,ng))
636C
637 CALL mmain(timers, output,
638 1 elbuf_tab, ng, pm, geo,
639 2 ale_connect, ixs, iparg,
640 3 v, tf, npf, bufmat,
641 4 sti, x, dt2t, neltst,
642 5 ityptst, offset, nel, w,
643 6 off, ngeo, mxt, ngl,
644 7 voln, vd2, dvol, deltax,
645 8 vis, qvis, cxx, s1,
646 9 s2, s3, s4, s5,
647 a s6, dxx, dyy, dzz,
648 b d4, d5, d6, wxx,
649 c wyy, wzz, rx, ry,
650 d rz, sx, sy, sz,
651 e vdx, vdy, vdz, muvoid,
652 f ssp_eq, aire, sigy, et,
653 g r1_free, lbuf%PLA, r3_free, amu,
654 h mfxx(1,ip), mfxy(1,ip), mfxz(1,ip), mfyx(1,ip),
655 i mfyy(1,ip), mfyz(1,ip), mfzx(1,ip), mfzy(1,ip),
656 j mfzz(1,ip), ipm, gama, bid,
657 k bid, bid, bid, bid,
658 l bid, bid, istrain, tempel,
659 m die, iexpan, ilay, mssa,
660 n dmels, iptr, ipts, iptt,
661 o table, bid, bid, bid,
662 p bid, iparg(1,ng), igeo, conde,
663 q itask, nloc_dmg, varnl, mat_elem,
664 r h3d_strain, jplasol, jsph, mvsiz,
665 * snpc, stf, sbufmat, glob_therm,
666 s svis, sz_ix, iresp,
667 t n2d, th_strain, ngroup, tt,
668 . dt1, ntable, numelq, nummat,
669 . numgeo, numnod, numels,
670 . idel7nok, idtmin, maxfunc,
671 . imon_mat, userl_avail, impl_s,
672 . idyna, dt, fheat ,sensors)
673C
674 IF ((itask==0).AND.(imon_mat==1)) CALL stoptime(timers,35)
675C----------- return to global system
676 IF (ismstr == 12.AND.ism12_11==0.AND.idtmin(1)==3) THEN
677 CALL sroto12_sig(lft,llt,lbuf%SIG,nel,
678 . e1x,e2x,e3x,e1y,e2y,e3y,e1z,e2z,e3z,offg0)
679!! temporary replaced by (the same) SROTO12_SIG() in order to do not affect
680!! the other multidimensional buffer ARRAYS which are still not modified
681!! CALL SROTO12(LFT,LLT,LBUF%SIG,
682!! . E1X,E2X,E3X,E1Y,E2Y,E3Y,E1Z,E2Z,E3Z,OFFG0)
683 IF (istrain == 1) THEN
684 CALL sordef12(lft,llt,dxx, dxy, dxz,
685 . d4, d5, d6,
686 . e1x,e2x,e3x,e1y,e2y,e3y,e1z,e2z,e3z,offg0)
687 ENDIF
688 ENDIF
689 IF (istrain == 1) CALL sstra3(
690 1 dxx, dyy, dzz, d4,
691 2 d5, d6, lbuf%STRA,wxx,
692 3 wyy, wzz, off, nel,
693 4 jcvt)
694C--------------------------
695 iflag=mod(ncycle,ncpri)
696 IF(ioutprt>0)THEN
697 CALL s10bilan(partsav,lbuf%EINT,lbuf%RHO,lbuf%RK,lbuf%VOL,
698 . vx, vy, vz,nx(1,1,ip),voln,iparts,
699 . gresav,grth,igrth,iexpan,lbuf%EINTTH,
700 . gbuf%FILL,xx,yy,zz,itask,iparg(1,ng),gbuf%OFF,sensors,
701 . nel, elbuf_tab(ng)%BUFLY(ilay)%L_WPLA, lbuf%WPLA)
702 ENDIF
703C-------------------------
704 IF (cns2>zero)
705 . CALL nsvis_sm12(visp ,cns2,cxx ,voln ,dxx ,
706 . dyy ,dzz ,d4 ,d5 ,d6 ,
707 . lbuf%VOL,rho0_1,sti ,nel ,svis )
708C----------------------------
709C INTERNAL FORCES
710C----------------------------
711 CALL s10fint3(
712 1 lbuf%SIG, px(1,1,ip), py(1,1,ip), pz(1,1,ip),
713 2 fx, fy, fz, voln,
714 3 qvis, sti, stig, lbuf%EINT,
715 4 lbuf%RHO, lbuf%QVIS, lbuf%PLA, lbuf%EPSD,
716 5 gbuf%EPSD, gbuf%SIG, gbuf%EINT, gbuf%RHO,
717 6 gbuf%QVIS, gbuf%PLA, wip(ip,npt),gbuf%G_PLA,
718 7 nel, conde, condeg, gbuf%G_EPSD,
719 8 israt, svis ,glob_therm%NODADT_THERM)
720C
721 DO i=lft,llt
722 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one) THEN
723C switched to small strain
724 offs(i)=min(lbuf%OFF(i),offs(i))
725 ioffs =1
726 END IF
727 ENDDO
728C
729 IF (jthe < 0 .AND. isolnod == 10) THEN
730 imat = mxt(1)
731 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
732 CALL s10therm(
733 1 pm, imat, nc, voln,
734 2 px(1,1,ip),py(1,1,ip),pz(1,1,ip),nx(1,1,ip),
735 3 dt1, temp, tempel, fheat,
736 4 them, gbuf%OFF, lbuf%OFF, nel,
737 5 glob_therm%THEACCFACT)
738 ELSE
739 CALL s10therm(
740 1 pm, imat, nc, voln,
741 2 px(1,1,ip),py(1,1,ip),pz(1,1,ip),nx(1,1,ip),
742 3 dt1, temp, tempel, die,
743 4 them, gbuf%OFF, lbuf%OFF, nel,
744 5 glob_therm%THEACCFACT)
745 END IF
746 ENDIF
747c----------
748 ENDDO ! end integration point loop
749
750 IF (jthe < 0 .AND. isolnod == 4) THEN
751 imat = mxt(1)
752 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
753 CALL s4therm_itet1(pm ,imat ,nc ,nel ,
754 . xx ,yy ,zz ,dt1 ,fheat ,
755 . temp ,them ,gbuf%OFF ,lbuf%OFF,
756 . glob_therm%THEACCFACT)
757 ELSE
758 CALL s4therm_itet1(pm ,imat ,nc ,nel ,
759 . xx ,yy ,zz ,dt1 ,die ,
760 . temp ,them ,gbuf%OFF ,lbuf%OFF,
761 . glob_therm%THEACCFACT)
762 END IF
763 ENDIF
764c-----------------------------
765 IF (jlag+jale+jeul /= 0) THEN
766c
767C----- small strain
768C------ correction of GBUF%SMSTR will be done only from next cycle
769 CALL s10mallb3(
770 1 gbuf%SMSTR,gbuf%OFF, wxxg, wyyg,
771 2 wzzg, nel, ismstr, jlag)
772 IF (ioffs == 1)THEN
773 DO i=lft,llt
774C switch to small strain
775 IF (offs(i)<=two) gbuf%OFF(i) = offs(i)
776 END DO
777C
778 ipts = 1
779 iptt = 1
780 ilay = 1
781 DO ip=1,npt
782 iptr = ip
783 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(iptr,ipts,iptt)
784 DO i=lft,llt
785 IF (gbuf%OFF(i) > one) lbuf%OFF(i)=gbuf%OFF(i)
786 END DO
787 END DO
788 END IF
789c
790 itet=1
791 CALL s10mallgeo3(ngl,gbuf%OFF ,volg ,deltax, gbuf%VOL ,
792 . rx , ry , rz ,
793 . sx , sy , sz ,
794 . tx , ty , tz ,deltax4,geo(1,ngeo(1)),
795 . nel,npt,ismstr,isrot,dt)
796 rbid(lft:llt)=zero
797 CALL sgeodel3(ngl,gbuf%OFF,volg,deltax4,gbuf%VOL,geo(1,ngeo(1)),rbid,dt,nel,idel7nok)
798 CALL smallb3(gbuf%OFF,off,nel,ismstr)
799 CALL smallgeo3(ngl, gbuf%OFF ,volg ,deltax4, gbuf%VOL ,itet, nel, ismstr,dt)
800C-----------!!!-seperate LBUF%SIGL=LBUF%SIG,w/ npt>0 ISM12_11
801 IF (ismstr == 12.AND.idtmin(1)==3) THEN
802 ioffs =0
803 DO i=lft,llt
804 IF(gbuf%OFF(i)/=offg0(i).AND.abs(gbuf%OFF(i)) > one ) ioffs=1
805 ENDDO
806 IF (ioffs == 1) THEN
807 CALL s10sav12(
808 1 gbuf%OFF, offg0, gbuf%SMSTR,nc,
809 2 xx, yy, zz, nel)
810 IF (ism12_11>0 .AND. isorth == 0) THEN
811 CALL s10upd11t12(
812 1 elbuf_tab(ng),gbuf%OFF, offg0, nc,
813 2 xx, yy, zz, nel,
814 3 npt)
815 END IF
816 ipts = 1
817 iptt = 1
818 ilay = 1
819 DO ip=1,npt
820 iptr = ip
821 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(iptr,ipts,iptt)
822 DO i=lft,llt
823 IF (abs(gbuf%OFF(i)) > one) lbuf%OFF(i)=gbuf%OFF(i)
824 END DO
825 END DO
826 END IF !(IOFFS == 1) THEN
827 END IF
828C----------------------------
829C distortion control
830C----------------------------
831 IF (isctl > 0) THEN
832 offg(1:nel) = min(off(1:nel),abs(gbuf%OFF(1:nel))) ! no offg for tetra10
833 CALL sdistor_ini(
834 1 nel ,sti_c ,npropm ,nummat ,
835 2 ismstr ,mxt ,istab ,pm ,
836 3 gbuf%SIG ,gbuf%RHO ,cxx ,offg ,
837 4 gbuf%OFF ,ll ,voln ,fld ,
838 5 cns2 ,fqmax )
839 IF (ismstr>=11) ! XX,YY,ZZ now current conf.
840 * CALL s10get_x3(
841 1 x, xdp, dr, numnod,
842 2 xx, yy, zz, nc,
843 3 isrot, iresp, nel )
844 IF (ismstr<10) ! remove limitation of Ismstr>=
845 * CALL s10get_x0(
846 1 nel, numnod, x, xdp,
847 2 d, xx0, yy0, zz0,
848 3 nc)
849 CALL s10for_distor(
850 . stig, fld , sti_c,
851 . xx , yy , zz ,
852 . vx , vy , vz ,
853 . fx , fy , fz ,
854 . xx0, yy0, zz0,
855 . cns2, istab, ll ,
856 . fqmax, nel ,gbuf%EINT_DISTOR,
857 . dt1)
858 ENDIF
859c-----------------------------
860 IF(nfilsol/=0) CALL sxfillopt(
861 1 npe, gbuf%FILL,stig, fx,
862 2 fy, fz, nel)
863C-----
864 IF (iparit == 0) THEN
865 CALL s10cumu3(
866 1 gbuf%OFF, a, nc, stifn,
867 2 stig, fx, fy, fz,
868 3 deltax2, them, fthe, ar,
869 4 x, stifr, gbuf%SMSTR,condn,
870 5 condeg, itagdn, nel, ismstr,
871 6 jthe, isrot ,glob_therm%NODADT_THERM)
872 ELSE
873 CALL s10cumu3p(
874 1 gbuf%OFF, stig, fsky, fsky,
875 2 iads, fx, fy, fz,
876 3 deltax2, iads10, nc, them,
877 4 fthesky, ar, x, gbuf%SMSTR,
878 5 condnsky, condeg, itagdn, nel,
879 6 nft, ismstr, jthe, isrot,glob_therm%NODADT_THERM)
880 ENDIF
881c-----
882 ENDIF
883c-----------
884 RETURN
885 END
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab, fun_id, sens_id)
Definition boltst.F:39
#define min(a, b)
Definition macros.h:20
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 nsvis_sm12(offg, mu, ssp, vol, d1, d2, d3, d4, d5, d6, vol0, rho0, sti, nel, svis)
Definition nsvis_sm12.F:33
subroutine s10_icp(offg, jacg, facp, nu, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vol0, voln, vol0dp, voldp, nel, ismstr)
Definition s10_icp.F:36
subroutine s10bilan(partsav, eint, rho, rk, vol, vx, vy, vz, nx, vnew, iparts, gresav, grth, igrth, iexpan, eintth, fill, x, y, z, itask, iparg, offg, sensors, nel, l_wpla, wpla)
Definition s10bilan.F:38
subroutine s10cumu3(offg, a, nc, stifn, sti, fx, fy, fz, deltax2, them, fthe, ar, x, stifr, sav, condn, conde, itagdn, nel, ismstr, jthe, isrot, nodadt_therm)
Definition s10cumu3.F:35
subroutine s10cumu3p(offg, sti, fsky, fskyv, iads, fx, fy, fz, deltax2, iads10, nc, them, fthesky, ar, x, sav, condnsky, conde, itagdn, nel, nft, ismstr, jthe, isrot, nodadt_therm)
Definition s10cumu3p.F:35
subroutine s10defo3(px, py, pz, vx, vy, vz, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, volp, voln, rho, rhoo, nel, jhbe, isrot)
Definition s10defo3.F:36
subroutine s10defot3(px, py, pz, vx, vy, vz, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, nel)
Definition s10defot3.F:34
subroutine s10derit3(vol, deltax, deltax2, xx, yy, zz, px, py, pz, nx, rx, ry, rz, sx, sy, sz, tx, ty, tz, wip, alph, beta, voln, volg, voldp, nel, offg, npt)
Definition s10derit3.F:41
subroutine s10divde12(dvm, divde, facp, offg, nel)
Definition s10divde12.F:29
subroutine s10dvm12(px, py, pz, vx, vy, vz, dvm, offg, npt, nel)
Definition s10dvm12.F:31
subroutine s10fint3(sig, px, py, pz, fx, fy, fz, vol, qvis, sti, stig, eint, rho, q, eplas, epsd, epsdg, sigg, eintg, rhog, qg, eplasg, wip, g_pla, nel, conde, condeg, g_epsd, israt, svis, nodadt_therm)
Definition s10fint3.F:37
subroutine s10for_distor(sti, fld, sti_c, xx, yy, zz, vx, vy, vz, fx, fy, fz, xx0, yy0, zz0, mu, istab, ll, fqmax, nel, e_distor, dt1)
subroutine s10forc3(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, ixs10, iads10, nel, fx, fy, fz, ar, vr, dr, ipm, istrain, isolnod, itask, temp, fthe, fthesky, iexpan, stifr, d, gresav, grth, igrth, table, mssa, dmels, igeo, xdp, voln, condn, condnsky, sfem_nodvar, itagdn, sensors, ioutprt, mat_elem, h3d_strain, dt, idel7nok, snpc, stf, sbufmat, svis, nsvois, idtmins, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, s_sfem_nodvar)
Definition s10forc3.F:115
subroutine s10get_x3(x, xdp, dr, numnod, xx, yy, zz, nc, isrot, iresp, nel)
Definition s10get_x3.F:32
subroutine s10malla3(offg, off, wxx, wyy, wzz, wxxg, wyyg, wzzg, wip, nel, ismstr, jlag)
Definition s10malla3.F:32
subroutine s10mallb3(sav, offg, wxx, wyy, wzz, nel, ismstr, jlag)
Definition s10mallb3.F:31
subroutine s10mallgeo3(ngl, offg, volg, deltax, volg0, rx, ry, rz, sx, sy, sz, tx, ty, tz, lc, geo, nel, npt, ismstr, isrot, dt)
Definition s10mallgeo3.F:36
subroutine s10nx3(nx, nel, npt)
Definition s10nx3.F:30
subroutine s10nxt4(nx, nel)
Definition s10nxt4.F:30
subroutine s10pijto3(px, py, pz, pij, nel)
Definition s10pijto3.F:30
subroutine s10rcoor12(off, x, xdp, nc, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel)
Definition s10rcoor12.F:35
subroutine s10sav12(offg, offg0, sav, nc, xx, yy, zz, nel)
Definition s10sav12.F:31
subroutine s10sav3(offg, sav, nc, xx, yy, zz, nel)
Definition s10sav3.F:31
subroutine s10sigp3(sig, e0, defp, fac, g_pla, nel)
Definition s10sigp3.F:29
subroutine s10therm(pm, imat, nc, vol, px, py, pz, ni, dt1, tempnc, tel, heat, fphi, offg, off, nel, theaccfact)
Definition s10therm.F:34
subroutine s10upd11t12(elbuf_tab, offg, offg0, nc, xx, yy, zz, nel, npt)
Definition s10upd11t12.F:37
subroutine s4therm_itet1(pm, imat, nc, nel, xx, yy, zz, dt1, heat, temp, fphi, offg, off, theaccfact)
subroutine s8e_sigp(elbuf_tab, sigp, nel)
Definition s8e_sig.F:35
subroutine sgcoor10(xx, yy, zz, x, xdp, x0, y0, z0, vx0, vy0, vz0, sav, nc, d, off, off0, nel, mtn, ismstr)
Definition sgcoor10.F:34
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)
Definition sgeodel3.F:42
subroutine smallb3(offg, off, nel, ismstr)
Definition smallb3.F:45
subroutine smallgeo3(ngl, offg, volg, deltax, volg0, itet, nel, ismstr, dt)
Definition smallgeo3.F:41
subroutine sordef12(jft, jlt, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
Definition sordef12.F:35
subroutine sordeft12(jft, jlt, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
Definition sordeft12.F:35
subroutine sorthdir3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, gama0, gama, nel, irep)
Definition sorthdir3.F:43
subroutine srota3(sig, s1, s2, s3, s4, s5, s6, wxx, wyy, wzz, nel, mtn, ismstr)
Definition srota3.F:43
subroutine sroto12_sig(jft, jlt, sig, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
Definition sroto12_sig.F:33
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
Definition sstra3.F:47
subroutine s10coor3(x, v, ixs, ixs10, xx, yy, zz, vx, vy, vz, nc, ngl, mxt, ngeo, mass, dtelem, sti, sigg, eintg, rhog, qg, temp0, temp, sav, nel, nintemp)
Definition s10coor3.F:39
subroutine s10deri3(vol, ngl, xx, yy, zz, px, py, pz, nx, rx, ry, rz, sx, sy, sz, tx, ty, tz, volu, voln, elbuf_str, volg)
Definition s10deri3.F:39
subroutine s10len3(vol, ngl, deltax, deltax2, px, py, pz, volu, voln, volg, rx, ry, rz, sx, sy, sz, tx, ty, tz, nel, mxt, pm, v_piter, iint)
Definition s10len3.F:33
subroutine sreploc3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition sreploc3.F:32
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
Definition srho3.F:31
subroutine startime(event, itask)
Definition timer.F:93
subroutine stoptime(event, itask)
Definition timer.F:135
subroutine sxfillopt(npe, fill, sti, fx, fy, fz, nel)
Definition sxfillopt.F:33