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