OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
forint.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!|| forint ../engine/source/elements/forint.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../engine/source/output/message/message.F
29!|| arret ../engine/source/system/arret.F
30!|| get_preload_axial ../engine/source/elements/spring/preload_axial.F90
31!|| ig3duforc3 ../engine/source/elements/ige3d/ig3duforc3.F
32!|| initbuf ../engine/share/resol/initbuf.F
33!|| my_barrier ../engine/source/system/machine.F
34!|| pforc3 ../engine/source/elements/beam/pforc3.F
35!|| prelecflow ../engine/source/elements/solid/solide/prelecflow.F
36!|| preload_solid_ini ../engine/source/elements/solid/solide/preload_solid_ini.F90
37!|| q4forc2 ../engine/source/elements/solid_2d/quad4/q4forc2.F
38!|| qforc2 ../engine/source/elements/solid_2d/quad/qforc2.F
39!|| r23forc3 ../engine/source/elements/spring/r23forc3.F
40!|| rforc3 ../engine/source/elements/spring/rforc3.F
41!|| s10forc3 ../engine/source/elements/solid/solide10/s10forc3.F
42!|| s16forc3 ../engine/source/elements/thickshell/solide16/s16forc3.F
43!|| s20forc3 ../engine/source/elements/solid/solide20/s20forc3.F
44!|| s4forc3 ../engine/source/elements/solid/solide4/s4forc3.F
45!|| s6cforc3 ../engine/source/elements/thickshell/solide6c/s6cforc3.F
46!|| s6zforc3 ../engine/source/elements/solid/solide6z/s6zforc3.F90
47!|| s8cforc3 ../engine/source/elements/thickshell/solide8c/s8cforc3.F
48!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.F
49!|| s8forc3 ../engine/source/elements/solid/solide8/s8forc3.F
50!|| s8sforc3 ../engine/source/elements/solid/solide8s/s8sforc3.F
51!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.F
52!|| scforc3 ../engine/source/elements/thickshell/solidec/scforc3.F
53!|| section_p ../engine/source/tools/sect/section_p.F
54!|| section_r ../engine/source/tools/sect/section_r.F
55!|| section_s ../engine/source/tools/sect/section_s.F
56!|| section_s4 ../engine/source/tools/sect/section_s4.F
57!|| section_s6 ../engine/source/tools/sect/section_s6.F
58!|| section_t ../engine/source/tools/sect/section_t.F
59!|| sensor_energy_part ../engine/source/tools/sensor/sensor_energy_part.F
60!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
61!|| srota6 ../engine/source/output/anim/generate/srota6.F
62!|| startimeg ../engine/source/system/timer.F
63!|| stoptimeg ../engine/source/system/timer.F
64!|| suforc3 ../engine/source/user_interface/suforc3.F
65!|| szforc3 ../engine/source/elements/solid/solidez/szforc3.F
66!|| tforc3 ../engine/source/elements/truss/tforc3.F
67!||--- uses -----------------------------------------------------
68!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
69!|| ale_mod ../common_source/modules/ale/ale_mod.F
70!|| dt_mod ../engine/source/modules/dt_mod.F
71!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
72!|| element_mod ../common_source/modules/elements/element_mod.F90
73!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
74!|| groupdef_mod ../common_source/modules/groupdef_mod.F
75!|| h3d_mod ../engine/share/modules/h3d_mod.F
76!|| initbuf_mod ../engine/share/resol/initbuf.F
77!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
78!|| message_mod ../engine/share/message_module/message_mod.F
79!|| nlocal_reg_mod ../common_source/modules/nlocal_reg_mod.F
80!|| output_mod ../common_source/modules/output/output_mod.F90
81!|| preload_axial_mod ../engine/source/elements/spring/preload_axial.F90
82!|| preload_solid_ini_mod ../engine/source/elements/solid/solide/preload_solid_ini.F90
83!|| python_funct_mod ../common_source/modules/python_mod.F90
84!|| s6zforc3_mod ../engine/source/elements/solid/solide6z/s6zforc3.F90
85!|| sensor_mod ../common_source/modules/sensor_mod.F90
86!|| table_mod ../engine/share/modules/table_mod.F
87!|| timer_mod ../engine/source/system/timer_mod.f90
88!||====================================================================
89 SUBROUTINE forint(TIMERS, PYTHON,
90 1 PM ,GEO ,X ,A ,AR ,
91 2 V ,VR ,MS ,IN ,W ,
92 3 ELBUF ,WA ,VAL2 ,VEUL ,FV ,
93 4 STIFN ,STIFR ,FSKY ,TF ,BUFMAT ,
94 5 PARTSAV ,D ,DR ,EANI ,ELBUF_TAB ,
95 6 TANI ,FANI ,FSAV ,SENSORS ,NLOC_DMG ,
96 7 SKEW ,ANIN ,DT2T ,BUFGEO ,ITAB ,
97 8 IADS ,IADQ ,IADT ,IADP ,MAT_ELEM ,
98 9 IADR ,IPARG ,ALE_CONNECT,NPC ,
99 A IXS ,IXQ ,IXT ,IXP ,
100 B IXR ,NELTST ,IPARI ,
101 C ITYPTST ,NSTRF ,IPART ,
102 D IPARTS ,IPARTQ ,IPARTT ,IPARTP ,
103 E IPARTR ,IPARTUR ,FR_WAVE ,RBY ,
104 F SECFCUM ,AGRAV ,IGRV ,LGRAV ,
105 G IXS10 ,
106 H IXS20 ,IADS10 ,IADS20 ,IXS16 ,IADS16 ,
107 I W16 ,FSKYM ,MSNF ,IGEO ,IPM ,
108 J XSEC ,ITASK ,TEMP ,
109 K FTHE ,FTHESKY ,IGROUNC ,NGROUNC ,
110 M GRESAV ,GRTH ,IGRTH ,XDP ,MSSA ,
111 N DMELS ,MSTR ,DMELTR ,MSP ,DMELP ,
112 O MSRT ,DMELRT ,TABLE ,VF ,AF ,
113 P DF ,WF ,FFSKY ,AFGLOB ,NBSDVOIS ,
114 Q NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS ,PHI1 ,
115 R PHI2 ,MSF ,NODFT ,NODLT ,
116 S FLG_KJ2 ,POR ,ICONTACT ,IFOAM ,SFEM_NODVAR,
117 T KXIG3D ,IXIG3D ,KNOT ,WIGE ,CONDN ,
118 U CONDNSKY ,S_SFEM_NODVAR,
119 V TAGPRT_SMS,ITAGND ,MS_2D ,NALE ,STRESSMEAN,
120 W KNOTLOCPC ,KNOTLOCEL ,SUBSET ,FLAG_SLIPRING_UPDATE,FLAG_RETRACTOR_UPDATE,
121 Y H3D_DATA ,IFTHE ,ICONDN ,DT ,OUTPUT,
122 Z SBUFMAT ,SNPC ,STF ,NODADT ,DTFAC1,
123 . DTMIN1 ,IDTMIN ,IOUT ,ISTDO ,IDTMINS,DTFACS,NSVOIS,
124 * IRESP ,MAXFUNC ,USERL_AVAIL,GLOB_THERM,IMON_MAT,DTMINS,SANIN,
125 * NGRTH ,NELEM )
126C-----------------------------------------------
127C M o d u l e s
128C-----------------------------------------------
129 USE timer_mod
130 USE python_funct_mod
131 USE initbuf_mod
132 USE table_mod
133 USE mat_elem_mod
134 USE message_mod
136 USE groupdef_mod
137 USE sensor_mod
139 USE h3d_mod
140 USE ale_mod
141 USE dt_mod
142 USE output_mod
143 USE preload_axial_mod
144 USE elbufdef_mod
145 use glob_therm_mod
146 USE preload_solid_ini_mod
147 USE s6zforc3_mod
148 use element_mod , only : nixs,nixq,nixt,nixr,nixp
149C-----------------------------------------------
150C I m p l i c i t T y p e s
151C-----------------------------------------------
152#include "implicit_f.inc"
153#include "comlock.inc"
154C-----------------------------------------------
155C G l o b a l P a r a m e t e r s
156C-----------------------------------------------
157#include "mvsiz_p.inc"
158C-----------------------------------------------
159C C o m m o n B l o c k s
160C-----------------------------------------------
161#include "com01_c.inc"
162#include "com04_c.inc"
163#include "com06_c.inc"
164#include "com08_c.inc"
165#include "param_c.inc"
166#include "vect01_c.inc"
167#include "scr06_c.inc"
168#include "scr07_c.inc"
169#include "scr14_c.inc"
170#include "scr17_c.inc"
171#include "task_c.inc"
172#include "impl1_c.inc"
173#include "stati_c.inc"
174#include "parit_c.inc"
175C-----------------------------------------------------------------
176C D u m m y A r g u m e n t s
177C-----------------------------------------------
178 TYPE(timer_), INTENT(INOUT) :: TIMERS
179 INTEGER, INTENT(IN) :: S_SFEM_NODVAR
180 type(python_), intent(inout) :: PYTHON
181 INTEGER IXS(NIXS,*),ITAB(*),FLG_KJ2,
182 . ixq(nixq,*), ixt(nixt,*), ixp(nixp,*),
183 . ixr(nixr,*), igeo(npropgi,numgeo),ipari(npari,*),
184 . ipm(npropmi,nummat),npc(*), iparg(nparg,ngroup),
185 . nstrf(*), ipart(lipart1,*) ,
186 . iparts(*) ,ipartq(*) ,ipartt(*) ,ipartp(*) ,
187 . ipartr(*) ,ipartur(*) ,
188 . iads(8,*),iadq(4,*),iadt(2,*),
189 . iadp(2,*),iadr(3,*),
190 . neltst,ityptst,
191 . ixs10(6,*),ixs20(12,*),iads10(6,*),iads20(12,*),
192 . ixs16(8,*),iads16(8,*),itask,igrounc(*),
193 . ngrounc,grth(*),igrth(*),nbsdvois(*),nercvois(*),
194 . nesdvois(*),lercvois(*),lesdvois(*),nodft, nodlt,
195 . icontact(*),ifoam(*),kxig3d(nixig3d,*),ixig3d(*),
196 . igrv(*),lgrav(*),
197 . tagprt_sms(*),itagnd(*),nale(*),flag_slipring_update,flag_retractor_update
198 INTEGER ,INTENT(IN) :: SANIN
199 INTEGER ,INTENT(IN) :: SBUFMAT
200 INTEGER ,INTENT(IN) :: SNPC
201 INTEGER ,INTENT(IN) :: STF
202 INTEGER ,INTENT(IN) :: IOUT
203 INTEGER ,INTENT(IN) :: ISTDO
204 INTEGER ,INTENT(IN) :: NSVOIS
205 INTEGER ,INTENT(IN) :: IRESP
206 INTEGER ,INTENT(IN) :: MAXFUNC
207 INTEGER, INTENT(IN) :: USERL_AVAIL
208 INTEGER, INTENT(IN) :: IMON_MAT
209 INTEGER, INTENT(IN) :: IDTMINS
210 INTEGER, INTENT(IN) :: NGRTH
211 INTEGER, INTENT(IN) :: NELEM
212 my_real, INTENT(IN) :: DTMINS
213 my_real, INTENT(IN) :: DTFACS
214 my_real
215 . x(3,*),v(3,*),vr(3,*),d(3,*),ms(*),in(*),a(3,*),ar(3,*),
216 . dr(3,*),w(3,*),pm(npropm,nummat),skew(lskew,*),geo(npropg,numgeo),
217 . bufmat(*),veul(*),tf(*),fr_wave(*),elbuf(*) ,
218 . fsav(nthvki,*) ,wa(*),
219 . fv(*),val2(*),rby(*),
220 . fani(3,*) ,partsav(*) ,stifn(*) ,stifr(*),anin(*) ,
221 . fsky(*),tani(*),eani(*),bufgeo(*),
222 . dt2t, secfcum(7,numnod,nsect),w16(*), fskym(*),
223 . msnf(*),xsec(4,3,nsect),
224 . temp(*),fthe(*), fthesky(*),
225 . gresav(*), mssa(*), dmels(*), mstr(*), dmeltr(*),
226 . msp(*), dmelp(*), msrt(*), dmelrt(*),vf(3,*),af(3,*),ffsky(*),
227 . phi1(*),phi2(*),df(3,*),wf(3,*),msf(*),afglob(3,*),
228 . por(*) ,sfem_nodvar(s_sfem_nodvar),knot(*),wige(*),condn(*),condnsky(*),agrav(*),
229 . ms_2d(*),stressmean(6,*),knotlocpc(*),knotlocel(*)
230 DOUBLE PRECISION XDP(3,*)
231 TYPE(TTABLE) TABLE(*)
232 TYPE(ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
233 TYPE (NLOCAL_STR_) :: NLOC_DMG
234 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
235 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
236 TYPE(h3d_database) :: H3D_DATA
237 INTEGER, INTENT(IN) :: IFTHE, ICONDN
238 TYPE (SENSORS_) ,INTENT(INOUT) ,TARGET :: SENSORS
239 TYPE (DT_) , INTENT(INOUT) :: DT
240 TYPE(output_), INTENT(INOUT) :: OUTPUT !< output structure
241 INTEGER, INTENT(IN) :: NODADT,IDTMIN(102)
242 my_real, INTENT(IN) :: dtfac1(102),dtmin1(102)
243 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
244 type (glob_therm_) ,intent(inout) :: glob_therm
245C-----------------------------------------------
246C L o c a l V a r i a b l e s
247C-----------------------------------------------
248 DOUBLE PRECISION, POINTER :: pFBSAV6
249 INTEGER IERROR, NV46,IPREID,FUN_ID,SENS_ID
250 INTEGER I,J,N, NG, NVC, MLW, JFT, JLT,ISOLNOD,ITHK,IPLA,IFAIL,
251 . K1, K2, KAD,NF1,IPRI, OFFSET,
252 . K0, K3, K6, K7, K8, NSG, NEL, KFTS, ISTRA,
253 . NPE,NIPMAX,ICNOD,IBID,NN,
254 . L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16,
255 . L17,L18,L19,L20,L21,L22,L23,L24,L25,L26,L27,L28,L29,L30,
256 . ICP,ICS,IMATVIS,IEXPAN,NPT0,IG,OFF_IGRTH,
257 . NCTRL,IPARSENS,ISECT,GAMA(6),PX,PY,PZ,ISENS_ENERGY
258 my_real BID,QMVBID,PRELOAD1,STF_F
259 my_real SBID
260 my_real VOLN(MVSIZ)
261 my_real, ALLOCATABLE, DIMENSION(:,:) :: FX,FY,FZ,MX,MY,MZ,JFAC
262 my_real, DIMENSION(MVSIZ,6) :: SVIS
263 TYPE(G_BUFEL_) ,POINTER :: GBUF
264C======================================================================|
265 ALLOCATE(FX(MVSIZ,64),FY(MVSIZ,64),FZ(MVSIZ,64),STAT=ierror)
266 ALLOCATE(mx(mvsiz,4),my(mvsiz,4),mz(mvsiz,4),stat=ierror)
267 ALLOCATE(jfac(mvsiz,729)) ! for solid 8z
268 sbid=1
269!
270 IF(ierror/=0)THEN
271 CALL ancmsg(msgid=246,anmode=aninfo)
272 CALL arret(2)
273 END IF
274C IOUTPRT for assembly synthesis, not need for spring which call *bilan each cycle
275 ipri = 0
276 IF(mod(ncycle,iabs(ncpri))==0.OR.tt>=output%TH%THIS.OR.mdess /= 0.
277 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS).
278 . or.tt>=output%TH%THIS1(1).OR.tt>=output%TH%THIS1(2).
279 . or.tt>=output%TH%THIS1(3).OR.tt>=output%TH%THIS1(4).OR.tt>=output%TH%THIS1(5).
280 . or.tt>=output%TH%THIS1(6).OR.tt>=output%TH%THIS1(7).OR.tt>=output%TH%THIS1(8).
281 . or.tt>=output%TH%THIS1(9).OR.nth /= 0.OR.nanim /= 0 .
282 . or.tt>=tabfis(1).OR.tt>=tabfis(2).
283 . or.tt>=tabfis(3).OR.tt>=tabfis(4).OR.tt>=tabfis(5).
284 . or.tt>=tabfis(6).OR.tt>=tabfis(7).OR.tt>=tabfis(8).
285 . or.tt>=tabfis(9).OR.tt>=tabfis(10).
286 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(1)).
287 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(2)).
288 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(3)).
289 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(4)).
290 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(5)).
291 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(6)).
292 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(7)).
293 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(8)).
294 . or.(ale%SUB%IALESUB /= 0.AND.t1s+dt2s>=output%TH%THIS1(9)).OR.istat==3) ipri=1
295!
296 isens_energy = 0
297 DO i=1,sensors%NSENSOR
298 IF (sensors%SENSOR_TAB(i)%TYPE == 14) isens_energy = 1 ! save internal/kinetic energy (PARTSAV)
299 ENDDO ! DO I=1,NSENSOR
300C
301 off_igrth = 0
302 ibid = 0
303C
304 IF (ialelag > 0) THEN ! law 77
305 DO i=nodft,nodlt
306 msf(i) = msf(i) - msnf(i)
307 msnf(i) = zero
308 ENDDO
309c /---------------/
310 CALL my_barrier
311c /---------------/
312 CALL prelecflow(elbuf_tab,ngrounc,igrounc,iparg ,nbsdvois,
313 . nercvois,nesdvois,lercvois,lesdvois,phi1 ,
314 . phi2,por )
315 ENDIF
316C
317C-------------------------------
318C Dynamic parallel loop SMP
319C
320!$OMP DO SCHEDULE(DYNAMIC,1)
321c------------------------
322 DO ig = 1, ngrounc
323 ng = igrounc(ig)
324 sensors%NGR_SENSOR(itask+1) = ng
325C temporarily used to avoid pass KTBUF_STR everywhere
326 ng_imp = ng
327
328 IF (iparg(8,ng)==1) GOTO 250
329 ity = iparg(5,ng)
330C IF (ITY==3.OR.ITY==7) GOTO 250
331 IF (iddw>0) CALL startimeg(ng)
332 offset = 0
333 mlw = iparg(1,ng)
334C MLW= 0 ----> void
335C MLW = 13 ----> rigid material
336 IF (mlw == 0 .OR. mlw == 13) GOTO 250
337C
338C---
339 CALL initbuf(iparg ,ng ,
340 2 mlw ,nel ,nft ,kad ,ity ,
341 3 npt ,jale ,ismstr ,jeul ,jtur ,
342 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
343 5 nvaux ,jpor ,jcvt ,jclose ,ipla ,
344 6 irep ,iint ,igtyp ,israt ,isrot ,
345 7 icsen ,isorth ,isorthg ,ifailure,jsms )
346C
347 icnod = iparg(11,ng)
348 nsg = iparg(10,ng)
349 ics = iparg(17,ng)
350 nvc = iparg(19,ng)
351 ithk = iparg(28,ng)
352 isolnod = iparg(28,ng)
353 kfts = iparg(30,ng)
354 istra = iparg(44,ng)
355 ifail = iparg(43,ng)
356 imatvis = iparg(45,ng)
357 iexpan = iparg(49,ng)
358 igre = iparg(51,ng)
359 isph2sol = 0
360 ipartsph = iparg(69,ng)
361 ipreid = iparg(72,ng)
362 iformdt = iparg(73,ng)
363C
364 IF (ity==1) icp = nsg
365 IF (ity==1 .OR. ity==2) jplasol=ipla
366C---------------------------------
367 lft = 1
368 llt = min(nvsiz,nel)
369 mtn = mlw
370 jft=lft
371 jlt=llt
372 nf1 = nft+1
373 iad = kad
374 jsph=0
375 ihet = 0
376C----6---------------------------------------------------------------7---------8
377 IF (ity==1 .AND. jlag==1)THEN
378 IF(ixs(10,nf1)/=0)THEN
379 igtyp = igeo(11,ixs(10,nf1))
380 ELSE
381 igtyp=0
382 ENDIF
383!
384 IF (isens_energy == 1 .AND. ipri == 0)
385 . CALL sensor_energy_part(iparts(nf1) ,subset ,ipri,sensors,itask)
386 IF (ipreid>0) THEN
387 gbuf => elbuf_tab(ng)%GBUF
388 fun_id = iparg(67,ng)
389 sens_id= iparg(68,ng)
390 CALL preload_solid_ini(python, nfunct,
391 1 fun_id ,sens_id ,npc ,snpc ,
392 2 tf ,stf ,sensors ,tt ,
393 3 gbuf%BPRELD ,gbuf%G_BPRELD ,nel )
394 END IF
395C---------
396 IF(isolnod==4.AND.(isrot==0.OR.isrot==3))THEN
397C---------
398 CALL s4forc3(timers, output,
399 1 elbuf_tab, ng, pm, geo,
400 2 ixs, x, a, v,
401 3 ms, w, wa, val2,
402 4 veul, fv, ale_connect,iparg,
403 5 tf, npc, bufmat, partsav,
404 6 nloc_dmg, dt2t, neltst, ityptst,
405 7 stifn, fsky, iads, offset,
406 8 eani, iparts(nf1), fx(1,1), fy(1,1),
407 9 fz(1,1), fx(1,2), fy(1,2), fz(1,2),
408 a fx(1,3), fy(1,3), fz(1,3), fx(1,4),
409 b fy(1,4), fz(1,4), nel, fskym,
410 c msnf, ipm, igeo, bid,
411 d istra, itask, temp, fthe,
412 e fthesky, iexpan, gresav, grth,
413 f igrth(nf1), mssa(nf1), dmels(nf1), table,
414 g xdp, sfem_nodvar, voln, condn,
415 h condnsky, d, sensors, ipri,
416 i mat_elem, ibid, dt, idel7nok,nsvois,ibid,
417 * snpc, stf, sbufmat, svis,idtmins,iresp,
418 * idel7ng, maxfunc, userl_avail, glob_therm,
419 v impl_s, idyna, s_sfem_nodvar)
420C
421 IF (nsect > 0) THEN
422 k0=nstrf(25)
423 n=ninter+nrwall+nrbody
424 DO i=1,nsect
425 n=n+1
426 k2=k0+30+nstrf(k0+14)
427 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
428 iparsens=0
429 isect=0
430 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
431 NULLIFY(pfbsav6)
432 IF (isect/=0) THEN
433 iparsens=1
434 pfbsav6 => sensors%FSAV(1,1,isect)
435 ENDIF
436C
437 CALL section_s4(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
438 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
439 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
440 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
441 5 nstrf(k2),ms,
442 7 ixs10,isolnod,xsec(1,1,i),pfbsav6,iparsens)
443 k0=nstrf(k0+24)
444 ENDDO
445 ENDIF
446c---------
447 ELSEIF (isolnod==10 .OR. (isolnod==4.AND.isrot==1)) THEN
448c---------
449 CALL s10forc3(timers, output,
450 1 elbuf_tab, ng, pm, geo,
451 2 ixs, x, a, v,
452 3 ms, w, wa, val2,
453 4 veul, fv, ale_connect, iparg,
454 5 tf, npc, bufmat, partsav,
455 6 nloc_dmg, dt2t, neltst, ityptst,
456 7 stifn, fsky, iads, offset,
457 8 eani, iparts(nf1), ixs10, iads10,
458 9 nel, fx, fy, fz,
459 a ar, vr, dr, ipm,
460 b istra, isolnod, itask, temp,
461 c fthe, fthesky, iexpan, stifr,
462 d d, gresav, grth, igrth(off_igrth+nf1),
463 e table, mssa(nf1), dmels(nf1), igeo,
464 f xdp, voln, condn, condnsky,
465 g sfem_nodvar, itagnd, sensors, ipri,
466 h mat_elem, ibid, dt, idel7nok,
467 i snpc, stf, sbufmat, svis,
468 j nsvois, idtmins, idel7ng, maxfunc ,
469 v userl_avail, glob_therm, impl_s, idyna ,
470 w s_sfem_nodvar)
471c
472 IF(nsect>0)THEN
473 k0=nstrf(25)
474 n=ninter+nrwall+nrbody
475 DO i=1,nsect
476 n=n+1
477 k2=k0+30+nstrf(k0+14)
478 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
479 iparsens=0
480 isect=0
481 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
482 NULLIFY(pfbsav6)
483 IF(isect/=0) THEN
484 iparsens=1
485 pfbsav6 => sensors%FSAV(1,1,isect)
486 ENDIF
487C
488 CALL section_s4(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
489 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
490 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
491 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
492 5 nstrf(k2),ms,
493 7 ixs10,isolnod,xsec(1,1,i),pfbsav6,iparsens)
494 k0=nstrf(k0+24)
495 ENDDO
496 ENDIF
497c---------
498 ELSEIF(isolnod==20)THEN
499C-------------------------
500C 20 NODE SOLID
501C-------------------------
502 npe = 20
503 nipmax = 81
504 l1 = 1
505 l2 = l1 + mvsiz * nipmax
506 l3 = l2 + mvsiz * nipmax
507 l4 = l3 + mvsiz * nipmax
508 l5 = l4 + mvsiz * nipmax
509 l6 = l5 + mvsiz * nipmax
510 l7 = l6 + mvsiz * nipmax
511 l8 = l7 + mvsiz * nipmax
512 l9 = l8 + mvsiz * nipmax
513 l10 = l9 + mvsiz * nipmax
514 l11 = l10 + mvsiz * nipmax
515 l12 = l11
516 l13 = l12 + mvsiz * npe
517 l14 = l13 + mvsiz * npe
518 l15 = l14 + mvsiz * npe
519 l16 = l15 + mvsiz * npe
520 l17 = l16 + mvsiz * npe
521 l18 = l17 + mvsiz * npe
522 l19 = l18 + mvsiz * npe
523 l20 = l19 + mvsiz * npe
524 l21 = l20 + mvsiz * npe
525 l22 = l21 + mvsiz * npe
526 l23 = l22 + mvsiz * npe
527 l24 = l23 + mvsiz * npe
528 l25 = l24 + mvsiz * npe
529 l26 = l25 + mvsiz * npe
530 l27 = l26 + mvsiz * npe
531 l28 = l27 + mvsiz * npe * nipmax
532 l29 = l28 + mvsiz * npe * nipmax
533 l30 = l29 + mvsiz * npe * nipmax
534 off_igrth = numels8 + numels10
535c
536 CALL s20forc3(timers, output,
537 1 elbuf_tab, ng, pm, geo,
538 2 ixs, x, a, v,
539 3 ms, w, wa, val2,
540 4 veul, fv, ale_connect, iparg,
541 5 tf, npc, bufmat, partsav,
542 6 nloc_dmg, dt2t, neltst, ityptst,
543 7 stifn, fsky, iads, offset,
544 8 eani, iparts(nf1), ixs20, iads20,
545 9 nel, fx, fy, fz,
546 a w16(l1), w16(l2), w16(l3), w16(l4),
547 b w16(l5), w16(l6), w16(l7), w16(l8),
548 c w16(l9), w16(l10), w16(l12), w16(l13),
549 d w16(l14), w16(l15), w16(l16), w16(l17),
550 e w16(l18), w16(l19), w16(l20), w16(l21),
551 f w16(l22), w16(l23), w16(l24), w16(l25),
552 g w16(l26), w16(l27), w16(l28), w16(l29),
553 h ipm, istra, temp, fthe,
554 i fthesky, iexpan, gresav, grth,
555 j igrth(off_igrth+nf1),table, igeo, voln,
556 k condn, condnsky, itask, ipri,
557 l mat_elem, ibid, dt, idel7nok,
558 m snpc, stf, sbufmat, svis,
559 n idtmins, nsvois, iresp, idel7ng,
560 o idtmin, maxfunc, imon_mat, userl_avail,
561 . glob_therm, impl_s, idyna, sensors)
562c
563 IF(nsect>0)THEN
564 k0=nstrf(25)
565 n=ninter+nrwall+nrbody
566 DO i=1,nsect
567 n=n+1
568 k2=k0+30+nstrf(k0+14)
569 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
570 iparsens=0
571 isect=0
572 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
573 NULLIFY(pfbsav6)
574 IF(isect/=0) THEN
575 iparsens=1
576 pfbsav6 => sensors%FSAV(1,1,isect)
577 ENDIF
578C
579 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
580 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
581 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
582 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
583 5 nstrf(k2),ms,
584 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
585 k0=nstrf(k0+24)
586 ENDDO
587 ENDIF
588c---------
589 ELSEIF(isolnod==16)THEN
590C-------------------------
591C 16 NODE THICK SHELLS
592C-------------------------
593 npe = 16
594 nipmax = 81
595 l1 = 1
596 l2 = l1 + mvsiz * nipmax
597 l3 = l2 + mvsiz * nipmax
598 l4 = l3 + mvsiz * nipmax
599 l5 = l4 + mvsiz * nipmax
600 l6 = l5 + mvsiz * nipmax
601 l7 = l6 + mvsiz * nipmax
602 l8 = l7 + mvsiz * nipmax
603 l9 = l8 + mvsiz * nipmax
604 l10 = l9 + mvsiz * nipmax
605 l11 = l10 + mvsiz * nipmax
606 l12 = l11 + mvsiz * nipmax
607 l13 = l12 + mvsiz * npe
608 l14 = l13 + mvsiz * npe
609 l15 = l14 + mvsiz * npe
610 l16 = l15 + mvsiz * npe
611 l17 = l16 + mvsiz * npe
612 l18 = l17 + mvsiz * npe
613 l19 = l18 + mvsiz * npe
614 l20 = l19 + mvsiz * npe
615 l21 = l20 + mvsiz * npe
616 l22 = l21 + mvsiz * npe
617 l23 = l22 + mvsiz * npe
618 l24 = l23 + mvsiz * npe
619 l25 = l24 + mvsiz * npe
620 l26 = l25 + mvsiz * npe
621 l27 = l26 + mvsiz * npe
622 l28 = l27 + mvsiz * npe * nipmax
623 l29 = l28 + mvsiz * npe * nipmax
624 l30 = l29 + mvsiz * npe * nipmax
625 off_igrth = numels8 + numels10 + numels20
626
627 CALL s16forc3(timers, output,elbuf_tab,ng ,
628 1 pm ,geo ,ixs ,x ,
629 2 a ,v ,ms ,w ,wa ,
630 3 val2 ,veul ,fv ,ale_connect ,iparg ,
631 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
632 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
633 6 iads ,offset ,eani ,iparts(nf1),
634 7 ixs16 ,iads16 ,nel ,fx ,
635 8 fy ,fz ,w16(l1) ,w16(l2) ,w16(l3) ,
636 9 w16(l4) ,w16(l5) ,w16(l6) ,w16(l7) ,w16(l8) ,
637 a w16(l9) ,w16(l10) ,w16(l11) ,w16(l12) ,w16(l13) ,
638 b w16(l14) ,w16(l15) ,w16(l16) ,w16(l17) ,w16(l18) ,
639 c w16(l19) ,w16(l20) ,w16(l21) ,w16(l22) ,w16(l23) ,
640 d w16(l24) ,w16(l25) ,w16(l26) ,w16(l27) ,w16(l28) ,
641 e w16(l29) ,icp ,ics ,
642 f ipm ,istra ,temp ,fthe , fthesky,
643 g iexpan ,gresav ,grth ,igrth(off_igrth + nf1),table,
644 h igeo ,voln ,condn ,condnsky ,itask,ipri ,
645 i mat_elem ,ibid ,dt ,snpc ,
646 j stf ,sbufmat ,svis,nsvois,idtmins,iresp,
647 . idel7ng, idel7nok, idtmin, maxfunc,
648 . imon_mat ,userl_avail, glob_therm, impl_s,
649 v idyna,sensors)
650c
651 IF(nsect>0)THEN
652
653 k0=nstrf(25)
654 n=ninter+nrwall+nrbody
655 DO i=1,nsect
656 n=n+1
657 k2=k0+30+nstrf(k0+14)
658 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
659 iparsens=0
660 isect=0
661 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
662 NULLIFY(pfbsav6)
663 IF(isect/=0) THEN
664 iparsens=1
665 pfbsav6 => sensors%FSAV(1,1,isect)
666 ENDIF
667C
668 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
669 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
670 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
671 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
672 5 nstrf(k2),ms,
673 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
674 k0=nstrf(k0+24)
675 ENDDO
676 ENDIF
677C
678C-------------------------------------------------------------------7---------8
679 ELSEIF (jhbe == 24 .AND. isolnod == 6) THEN
680C-------------------------
681 CALL s6zforc3(
682 . timers ,output ,ngroup ,elbuf_tab,npropm ,nummat ,pm ,
683 . ng ,npropg ,numgeo ,geo ,nixs ,numels ,numelq ,
684 . nsvois ,ixs ,numnod ,x ,a ,v ,
685 . w ,wa ,val2 ,ale_connect,nparg ,iparg ,
686 . stf ,tf ,snpc ,npc ,sbufmat ,bufmat ,npsav ,
687 . npart ,partsav ,dt2t ,neltst ,ityptst ,stifn ,lsky ,
688 . fsky ,iads ,offset ,nel ,iparts(nf1),
689 . fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,fz(1,2) ,
690 . fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,fy(1,4) ,fz(1,4) ,
691 . fx(1,5) ,fy(1,5) ,fz(1,5) ,fx(1,6) ,fy(1,6) ,fz(1,6) ,
692 . nloc_dmg,npropmi ,ipm ,istra ,npropgi ,igeo ,ngpe ,
693 . nthread ,gresav ,ngrth ,nelem ,grth ,igrth(nf1),ntable ,
694 . table ,mssa(nf1) ,dmels(nf1),voln ,itask ,ipri ,mat_elem ,
695 . ibid ,ifthe ,fthe ,fthesky ,icondn ,condn ,condnsky ,
696 . iexpan ,dt ,svis ,iresp ,idel7nok ,maxfunc ,imon_mat ,
697 . userl_avail,glob_therm,xdp ,sensors ,dt1 ,volmin ,th_strain,
698 . idtmin ,tt ,idyna ,impl_s ,ineg_v ,iparit ,irep ,
699 . iscau ,ismdisp ,ismstr ,isorth ,isorthg ,jale ,jcvt ,
700 . jeul ,jlag ,jsph ,jplasol ,jthe ,mstop ,mtn ,
701 . n2d ,ncpri ,ncycle ,nfilsol ,nft ,iint ,nodadt ,
702 . dtfac1 )
703c
704 IF (nsect>0) THEN
705 k0 = nstrf(25)
706 n = ninter+nrwall+nrbody
707 DO i=1,nsect
708 n = n+1
709 k2 = k0+30+nstrf(k0+14)
710 k3 = k0+30+nstrf(k0+14)+nstrf(k0+6)
711 iparsens = 0
712 isect = 0
713 IF (sensors%STABSEN > 0) isect = sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
714 NULLIFY(pfbsav6)
715 IF (isect/=0) THEN
716 iparsens=1
717 pfbsav6 => sensors%FSAV(1,1,isect)
718 ENDIF
719C
720 CALL section_s6(jft, jlt, nft, nstrf(k0+7), nstrf(k0+3),
721 . nstrf(k0+4), nstrf(k0+5), nstrf(k3), x, v,
722 . fsav(1,n), ixs, fani(1,1+2*(i-1)), secfcum(1,1,i), fx,
723 . fy, fz, nstrf(k0), nstrf(k0+14), nstrf(k0+26),
724 . nstrf(k0+6), nstrf(k2), ms,xsec(1,1,i),
725 . pfbsav6,iparsens)
726 k0 = nstrf(k0+24)
727 ENDDO
728 ENDIF
729C
730C-------------------------------------------------------------------7---------8
731 ELSEIF(jhbe == 15)THEN
732C-------------------------
733C THICK SHELLS HQEPH
734C-------------------------
735 IF(isolnod==6)THEN
736C 6 node penta
737 CALL s6cforc3(timers, output, elbuf_tab,ng ,
738 1 pm ,geo ,ixs ,x ,
739 2 a ,v ,ms ,w ,wa ,
740 3 val2 ,veul ,fv ,ale_connect ,iparg ,
741 4 tf ,npc ,bufmat ,partsav ,
742 5 dt2t ,neltst,ityptst,stifn ,fsky ,
743 6 iads ,offset ,eani ,iparts(nf1) ,
744 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
745 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
746 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
747 a fx(1,6) ,fy(1,6) ,fz(1,6) ,nel ,
748 b icp ,ics ,nloc_dmg,
749 c ipm ,istra ,igeo ,gresav ,grth ,
750 d igrth(nf1),table ,mssa(nf1),dmels(nf1) ,voln ,
751 e itask ,ipri ,mat_elem ,ibid,temp ,
752 f fthe ,fthesky ,condn ,condnsky ,
753 g iexpan,ifthe ,icondn ,dt ,snpc,stf,
754 h sbufmat,svis,nsvois, idtmins ,iresp,
755 i idel7ng ,idel7nok,maxfunc, imon_mat, userl_avail,
756 j glob_therm,xdp,sensors )
757c
758 IF(nsect>0)THEN
759 k0=nstrf(25)
760 n=ninter+nrwall+nrbody
761 DO i=1,nsect
762 n=n+1
763 k2=k0+30+nstrf(k0+14)
764 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
765 iparsens=0
766 isect=0
767 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
768 NULLIFY(pfbsav6)
769 IF(isect/=0) THEN
770 iparsens=1
771 pfbsav6 => sensors%FSAV(1,1,isect)
772 ENDIF
773C
774 CALL section_s6(jft, jlt, nft, nstrf(k0+7), nstrf(k0+3),
775 2 nstrf(k0+4), nstrf(k0+5), nstrf(k3), x, v,
776 3 fsav(1,n), ixs, fani(1,1+2*(i-1)), secfcum(1,1,i), fx,
777 4 fy, fz, nstrf(k0), nstrf(k0+14), nstrf(k0+26),
778 5 nstrf(k0+6), nstrf(k2), ms,xsec(1,1,i),
779 6 pfbsav6,iparsens)
780 k0=nstrf(k0+24)
781 ENDDO
782 ENDIF
783c---------
784 ELSE
785c---------
786C 8 node hexa
787 CALL scforc3(timers, output, elbuf_tab,ng ,
788 1 pm ,geo ,ixs ,x ,
789 2 a ,v ,ms ,w ,wa ,
790 3 val2 ,veul ,fv ,ale_connect ,iparg ,
791 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
792 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
793 6 iads ,offset ,eani ,iparts(nf1) ,
794 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
795 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
796 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
797 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
798 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
799 c icp ,ics ,nvc ,
800 d ipm ,istra ,temp ,fthe ,fthesky ,
801 e iexpan ,igeo ,gresav ,grth ,igrth(nf1),
802 f mssa(nf1),dmels(nf1),table ,xdp ,voln ,
803 g condn ,condnsky ,itask ,ipri ,mat_elem ,
804 h ibid ,dt ,snpc ,stf ,sbufmat ,
805 i svis ,nsvois , idtmins,iresp,idel7ng ,idel7nok,maxfunc,imon_mat,
806 j userl_avail, glob_therm, impl_s, idyna,sensors)
807C
808 IF (nsect > 0)THEN
809 k0=nstrf(25)
810 n=ninter+nrwall+nrbody
811 DO i=1,nsect
812 n=n+1
813 k2=k0+30+nstrf(k0+14)
814 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
815 iparsens=0
816 isect=0
817 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
818 NULLIFY(pfbsav6)
819 IF(isect/=0) THEN
820 iparsens=1
821 pfbsav6 => sensors%FSAV(1,1,isect)
822 ENDIF
823C
824 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
825 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
826 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
827 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
828 5 nstrf(k2),ms,
829 7 ixs20,ixs16,isolnod,xsec(1,1,i),pfbsav6,iparsens)
830 k0=nstrf(k0+24)
831 ENDDO
832 ENDIF
833C
834 ENDIF
835 ELSEIF (jhbe == 17) THEN
836C------------------------- Isolid=19 for Salim
837 IF (iparg(36,ng)==3) THEN
838! IF (IMPL_S /= 0) THEN
839 CALL s8sforc3(timers,output, elbuf_tab,ng ,
840 1 pm ,geo ,ixs ,x ,
841 2 a ,v ,ms ,w ,wa ,
842 3 val2 ,veul ,fv ,ale_connect ,iparg ,
843 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
844 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
845 6 iads ,offset ,eani ,iparts(nf1),icp ,
846 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
847 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
848 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
849 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
850 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
851 c nvc ,ipm ,itask ,istra ,
852 d temp ,fthe ,fthesky ,iexpan ,gresav ,
853 e grth ,igrth(nf1),mssa(nf1),dmels(nf1),table ,
854 f igeo ,xdp ,voln ,condn ,condnsky ,
855 g d ,ipri ,mat_elem ,ibid,snpc,stf,sbufmat,
856 h svis ,nsvois ,idtmins ,iresp,idtmin,maxfunc ,
857 i userl_avail,dt ,glob_therm,sensors)
858 ELSE
859C-------------------------
860C SOLID HE8<->HE8
861C-------------------------
862 CALL s8eforc3(timers, output,
863 1 elbuf_tab, ng, pm, geo,
864 2 ixs, x, a, v,
865 3 ms, w, wa, val2,
866 4 veul, fv, ale_connect,iparg,
867 5 tf, npc, bufmat, partsav,
868 6 nloc_dmg, dt2t, neltst, ityptst,
869 7 stifn, fsky, iads, offset,
870 8 eani, iparts(nf1),icp, fx(1,1),
871 9 fy(1,1), fz(1,1), fx(1,2), fy(1,2),
872 a fz(1,2), fx(1,3), fy(1,3), fz(1,3),
873 b fx(1,4), fy(1,4), fz(1,4), fx(1,5),
874 c fy(1,5), fz(1,5), fx(1,6), fy(1,6),
875 d fz(1,6), fx(1,7), fy(1,7), fz(1,7),
876 e fx(1,8), fy(1,8), fz(1,8), nel,
877 f nvc, ipm, itask, istra,
878 g temp, fthe, fthesky, iexpan,
879 h gresav, grth, igrth(nf1), mssa(nf1),
880 i dmels(nf1), table, igeo, xdp,
881 j voln, condn, condnsky, d,
882 k sensors, ipri, mat_elem, ibid,
883 l dt, snpc, stf, sbufmat,svis,
884 m nsvois, idtmins, iresp, maxfunc,
885 v userl_avail,glob_therm, impl_s, idyna )
886 ENDIF !(IPARG(36,NG)==3) (IMPL_S /= 0)
887c
888 IF (nsect > 0) THEN
889 k0=nstrf(25)
890 n=ninter+nrwall+nrbody
891 DO i=1,nsect
892 n=n+1
893 k2=k0+30+nstrf(k0+14)
894 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
895 iparsens=0
896 isect=0
897 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
898 NULLIFY(pfbsav6)
899 IF(isect/=0) THEN
900 iparsens=1
901 pfbsav6 => sensors%FSAV(1,1,isect)
902 ENDIF
903C
904 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
905 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
906 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
907 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
908 5 nstrf(k2),ms,
909 7 ixs20,ixs16,isolnod,xsec(1,1,i),
910 8 pfbsav6,iparsens)
911 k0=nstrf(k0+24)
912 ENDDO
913 ENDIF
914 ELSEIF (jhbe == 14 .AND.
915 . (igtyp == 20 .OR. igtyp == 21 .OR. igtyp == 22)) THEN
916C-------------------------
917C THICK SHELL HA8
918C-------------------------
919 nipmax = 729
920 l1 = 1
921 l2 = l1 + mvsiz * nipmax
922 l3 = l2 + mvsiz * nipmax
923 l4 = l3 + mvsiz * nipmax
924 l5 = l4 + mvsiz * nipmax
925 l6 = l5 + mvsiz * nipmax
926 l7 = l6 + mvsiz * nipmax
927 l8 = l7 + mvsiz * nipmax
928 l9 = l8 + mvsiz * nipmax
929 l10 = l9 + mvsiz * nipmax
930 l11 = l10 + mvsiz * nipmax
931 l12 = l11 + mvsiz * nipmax
932c
933 CALL s8cforc3(timers, output, elbuf_tab,ng ,
934 1 pm ,geo ,ixs ,x ,
935 2 a ,v ,ms ,w ,wa ,
936 3 val2 ,veul ,fv ,ale_connect ,iparg ,
937 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
938 5 dt2t ,neltst ,ityptst,stifn ,fsky ,
939 6 iads ,offset ,eani ,iparts(nf1) ,
940 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
941 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
942 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
943 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
944 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
945 c icp ,
946 f ics ,w16(l1) ,w16(l2) ,w16(l3) ,w16(l4) ,
947 g w16(l5) ,w16(l6) ,w16(l7) ,w16(l8) ,w16(l9) ,
948 h w16(l10) ,w16(l11) ,w16(l12),nvc ,ipm ,
949 i itask ,istra ,temp ,fthe,
950 j fthesky ,iexpan ,igeo ,npt ,gresav ,
951 k grth ,igrth(nf1),mssa(nf1),dmels(nf1),table,
952 l xdp ,voln ,condn ,condnsky,sensors,
953 m ipri ,mat_elem ,ibid ,dt ,nodadt, dtfac1,
954 n dtmin1 ,idtmin ,snpc,stf,sbufmat,svis,nsvois,idtmins,
955 o iresp ,maxfunc ,userl_avail,
956 p glob_therm,impl_s,idyna)
957C
958 IF (nsect > 0) THEN
959 k0=nstrf(25)
960 n=ninter+nrwall+nrbody
961 DO i=1,nsect
962 n=n+1
963 k2=k0+30+nstrf(k0+14)
964 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
965 iparsens=0
966 isect=0
967 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
968 NULLIFY(pfbsav6)
969 IF(isect/=0) THEN
970 iparsens=1
971 pfbsav6 => sensors%FSAV(1,1,isect)
972 ENDIF
973C
974 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
975 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
976 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
977 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
978 5 nstrf(k2),ms,
979 7 ixs20,ixs16,isolnod,xsec(1,1,i),
980 8 pfbsav6,iparsens)
981 k0=nstrf(k0+24)
982 ENDDO
983 ENDIF
984 ELSEIF (jhbe == 14 .OR. jhbe == 222) THEN
985C-------------------------
986C SOLID HA8
987C-------------------------
988 nipmax = 729
989 l1 = 1
990 l2 = l1 + mvsiz * nipmax
991 l3 = l2 + mvsiz * nipmax
992 l4 = l3 + mvsiz * nipmax
993 l5 = l4 + mvsiz * nipmax
994 l6 = l5 + mvsiz * nipmax
995 l7 = l6 + mvsiz * nipmax
996 l8 = l7 + mvsiz * nipmax
997 l9 = l8 + mvsiz * nipmax
998 l10 = l9 + mvsiz * nipmax
999 l11 = l10 + mvsiz * nipmax
1000 l12 = l11 + mvsiz * nipmax
1001c
1002c MPT =IABS(NPT)
1003c NPTS=MPT/100
1004c IF (NPTS==0) NPTS=IINT
1005c NPTT=MOD(MPT/10,10)
1006c IF (NPTT==0) NPTT=IINT
1007c NPTR=MOD(MPT,10)
1008c IF (NPTR==0) NPTR=IINT
1009
1010 npt0 = iparg(6,ng)
1011
1012 CALL s8zforc3(timers, output, elbuf_tab,ng ,
1013 1 pm ,geo ,ixs ,x ,
1014 2 a ,v ,ms ,w ,wa ,
1015 3 val2 ,veul ,fv ,ale_connect ,iparg ,
1016 4 tf ,npc ,bufmat ,partsav ,nloc_dmg ,
1017 5 dt2t ,neltst ,ityptst ,stifn ,fsky ,
1018 6 iads ,offset ,eani ,iparts(nf1),icp ,
1019 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
1020 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
1021 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
1022 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
1023 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
1024 f ics ,w16(l1) ,w16(l2) ,w16(l3) ,w16(l4) ,
1025 g w16(l5) ,w16(l6) ,w16(l7) ,w16(l8) ,w16(l9) ,
1026 h w16(l10) ,w16(l11) ,w16(l12) ,nvc ,ipm ,
1027 i itask ,istra ,temp ,fthe ,
1028 j fthesky ,iexpan ,igeo ,npt0 ,gresav ,
1029 k grth ,igrth(nf1),mssa(nf1),dmels(nf1) ,table ,
1030 l xdp ,voln ,condn ,condnsky ,jfac,
1031 m d ,sensors ,ipri ,mat_elem ,ibid,dt ,snpc,
1032 n stf ,sbufmat ,svis ,nsvois ,idtmins ,
1033 o iresp ,maxfunc ,userl_avail, glob_therm,
1034 p impl_s ,idyna)
1035C
1036 IF (nsect > 0) THEN
1037 k0=nstrf(25)
1038 n=ninter+nrwall+nrbody
1039 DO i=1,nsect
1040 n=n+1
1041 k2=k0+30+nstrf(k0+14)
1042 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1043 iparsens=0
1044 isect=0
1045 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1046 NULLIFY(pfbsav6)
1047 IF(isect/=0) THEN
1048 iparsens=1
1049 pfbsav6 => sensors%FSAV(1,1,isect)
1050 ENDIF
1051C
1052 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
1053 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
1054 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
1055 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1056 5 nstrf(k2),ms,
1057 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1058 8 pfbsav6,iparsens)
1059 k0=nstrf(k0+24)
1060 ENDDO
1061 ENDIF
1062C----6---------------------------------------------------------------7---------8
1063 ELSEIF(igtyp>=29)THEN
1064!
1065 IF (isens_energy == 1 .AND. ipri == 0)
1066 . CALL sensor_energy_part(iparts(nf1) ,subset ,ipri,sensors,itask)
1067C-------------------------
1068C USER SOLID PROPERTY
1069C-------------------------
1070 CALL suforc3(timers,elbuf_tab(ng),
1071 1 jft ,jlt ,nft ,nel ,ixs ,
1072 2 pm ,geo ,ipm ,igeo ,x ,
1073 3 a ,ar ,v ,vr ,w ,
1074 4 d ,ms ,in ,tf ,npc ,
1075 5 bufmat ,iparg ,iparts(nf1),partsav ,mat_elem%MAT_PARAM,
1076 6 fsky ,fr_wave ,iads ,eani ,stifn ,
1077 7 stifr ,fx ,fy ,fz ,ifailure ,
1078 8 mtn ,igtyp ,npt ,jsms ,mssa(nf1),
1079 9 dmels(nf1),itask ,ipri ,jthe ,table ,
1080 a idtmins,dtfacs ,dtmins)
1081C--------------------------
1082 ELSEIF (npt == 1)THEN
1083C--------------------------
1084 IF (jhbe == 24) THEN
1085C-------------------------
1086C SOLID HEPH FORMULATION
1087C-------------------------
1088 ihet = iint
1089C
1090 CALL szforc3(timers,elbuf_tab,ng ,
1091 1 pm ,geo ,ixs ,x ,
1092 2 a ,v ,ms ,w ,wa ,
1093 3 val2 ,veul ,fv ,ale_connect ,iparg ,
1094 4 tf ,npc ,bufmat ,partsav ,
1095 5 dt2t ,neltst,ityptst,stifn ,fsky ,
1096 6 iads ,offset,eani ,iparts(nf1) ,icp,
1097 7 fx(1,1) ,fy(1,1) ,fz(1,1) ,fx(1,2) ,fy(1,2) ,
1098 8 fz(1,2) ,fx(1,3) ,fy(1,3) ,fz(1,3) ,fx(1,4) ,
1099 9 fy(1,4) ,fz(1,4) ,fx(1,5) ,fy(1,5) ,fz(1,5) ,
1100 a fx(1,6) ,fy(1,6) ,fz(1,6) ,fx(1,7) ,fy(1,7) ,
1101 b fz(1,7) ,fx(1,8) ,fy(1,8) ,fz(1,8) ,nel ,
1102 c fskym ,msnf ,nvc ,ipm ,itask ,
1103 d qmvbid ,istra ,imatvis ,temp ,fthe ,
1104 e fthesky ,iexpan ,gresav ,grth ,igrth(nf1),
1105 f mssa(nf1),dmels(nf1),table,igeo ,xdp ,
1106 g condn ,condnsky ,
1107 h d ,tagprt_sms,sensors ,ipri ,
1108 i nale ,nloc_dmg ,mat_elem,ibid,dt,
1109 j output,nsvois,ibid,snpc,stf,sbufmat,svis,iresp,
1110 k maxfunc, userl_avail, glob_therm, impl_s ,idyna)
1111C
1112 ELSE
1113C-------------------------
1114C STANDARD 8 NODE SOLID ELEMENT (JHBE = 1,2,101,102)
1115C-------------------------
1116 nv46 = 6
1117 IF(n2d /= 0) nv46 = 4
1118 !
1119 CALL sforc3(timers, output,
1120 1 elbuf_tab, ng, pm, geo,
1121 2 ixs, x, nv46, a,
1122 3 v, ms, w, wa,
1123 4 val2, veul, fv, ale_connect,
1124 5 iparg, tf, npc, bufmat,
1125 6 partsav, itab, dt2t, neltst,
1126 7 ityptst, stifn, fsky, iads,
1127 8 offset, eani, iparts(nf1),fx(1,1),
1128 9 fy(1,1), fz(1,1), fx(1,2), fy(1,2),
1129 a fz(1,2), fx(1,3), fy(1,3), fz(1,3),
1130 b fx(1,4), fy(1,4), fz(1,4), fx(1,5),
1131 c fy(1,5), fz(1,5), fx(1,6), fy(1,6),
1132 d fz(1,6), fx(1,7), fy(1,7), fz(1,7),
1133 e fx(1,8), fy(1,8), fz(1,8), nel,
1134 f fskym, msnf, ibid, bid,
1135 g nvc, ipm, igeo, ar,
1136 h vr, in, fr_wave, dr,
1137 i bid, itask, qmvbid, istra,
1138 j temp, fthe, fthesky, iexpan,
1139 k gresav, grth, igrth(nf1), mssa(nf1),
1140 l dmels(nf1), table, phi1, phi2,
1141 m vf, af, df, wf,
1142 n ffsky, afglob, msf, iparg(1,ng),
1143 o xdp, por, icontact, ifoam,
1144 p voln, condn, condnsky, agrav,
1145 q igrv, lgrav, sensors, skew,
1146 r nale, d, ipri, nloc_dmg,
1147 s mat_elem, ibid, dt, idel7nok,nsvois,
1148 t ibid, snpc, stf, sbufmat,svis,idtmins,
1149 u iresp, idel7ng, maxfunc, userl_avail, glob_therm,
1150 v impl_s, idyna, output%TH%WFEXT)
1151
1152 ENDIF
1153
1154 IF (nsect > 0)THEN
1155 k0=nstrf(25)
1156 n=ninter+nrwall+nrbody
1157 DO i=1,nsect
1158 n=n+1
1159 k2=k0+30+nstrf(k0+14)
1160 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1161 iparsens=0
1162 isect=0
1163 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1164 NULLIFY(pfbsav6)
1165 IF(isect/=0) THEN
1166 iparsens=1
1167 pfbsav6 => sensors%FSAV(1,1,isect)
1168 ENDIF
1169
1170 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
1171 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
1172 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
1173 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1174 5 nstrf(k2),ms,
1175 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1176 8 pfbsav6,iparsens)
1177 k0=nstrf(k0+24)
1178 ENDDO
1179 ENDIF
1180 ELSEIF (npt == 8 .AND. mtn /= 0) THEN
1181C-------------------------
1182C 8 NODE SOLID ELEMENT (JHBE = 12,112), 8 integration points (old)
1183C-------------------------
1184 CALL s8forc3(timers, output,
1185 1 elbuf_tab(ng),pm ,geo ,ixs ,x ,
1186 2 a ,v ,ms ,
1187 3 veul ,fv ,ale_connect ,iparg ,
1188 4 tf ,npc ,bufmat ,partsav ,
1189 5 stifn ,fsky ,iads ,offset ,iparts(nf1),
1190 6 nel ,dt2t ,neltst ,ityptst ,ipm ,
1191 7 itask ,gresav ,grth ,igrth(nf1),mssa(nf1) ,
1192 8 dmels(nf1) ,table,ipri ,mat_elem,ng ,svis ,glob_therm,
1193 9 snpc ,numgeo ,sbufmat ,stf,ntable,sensors)
1194
1195 IF (nsect > 0)THEN
1196 k0=nstrf(25)
1197 n=ninter+nrwall+nrbody
1198 DO i=1,nsect
1199 n=n+1
1200 k2=k0+30+nstrf(k0+14)
1201 k3=k0+30+nstrf(k0+14)+nstrf(k0+6)
1202 iparsens=0
1203 isect=0
1204 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1205 NULLIFY(pfbsav6)
1206 IF(isect/=0) THEN
1207 iparsens=1
1208 pfbsav6 => sensors%FSAV(1,1,isect)
1209 ENDIF
1210C
1211 CALL section_s(jft,jlt,nft,nstrf(k0+7),nstrf(k0+3),
1212 2 nstrf(k0+4),nstrf(k0+5),nstrf(k3),x,v,fsav(1,n),
1213 3 ixs ,fani(1,1+2*(i-1)), secfcum(1,1,i),fx ,fy ,
1214 4 fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1215 5 nstrf(k2),ms,
1216 7 ixs20,ixs16,isolnod,xsec(1,1,i),
1217 8 pfbsav6,iparsens)
1218 k0=nstrf(k0+24)
1219 ENDDO
1220 ENDIF
1221 ENDIF
1222C----6---------------------------------------------------------------7---------8
1223 ELSEIF(ity==2.AND.jmult==0.AND.jlag==1.AND.
1224 . icrack==0) THEN
1225 off_igrth = numels
1226!
1227 IF (isens_energy == 1 .AND. ipri == 0)
1228 . CALL sensor_energy_part(ipartq(nf1) ,subset ,ipri,sensors,itask)
1229 IF(jhbe==17 .OR. (n2d==1.AND.jhbe==22)) THEN
1230
1231 CALL q4forc2(timers,output,
1232 1 pm ,geo ,ixq ,x ,a ,
1233 2 v ,ms ,w ,wa ,val2 ,
1234 3 veul ,fv ,ale_connect ,iparg ,nloc_dmg,
1235 4 elbuf_tab,tf ,npc ,bufmat ,partsav ,
1236 5 dt2t ,neltst,ityptst,stifn ,offset ,
1237 6 eani ,ipartq(nf1),nel,iadq ,fsky ,
1238 7 iparg(10,ng),ng ,
1239 8 ipm ,bid ,qmvbid ,gresav ,grth ,
1240 9 igrth(off_igrth+nf1),table ,igeo ,itask ,iexpan,
1241 a ms_2d ,fskym ,ipri ,mat_elem ,ibid,ibid,snpc,
1242 b stf,sbufmat,svis,nsvois,idtmins,iresp,tt,dt1,
1243 . idel7ng, idel7nok, idtmin, maxfunc,imon_mat,
1244 v userl_avail, impl_s, idyna,
1245 . dt , glob_therm,sensors)
1246 ELSE
1247
1248 CALL qforc2(timers, output, elbuf_tab,ng ,
1249 1 pm ,geo ,ixq ,x ,a ,
1250 2 v ,ms ,w ,wa ,val2 ,
1251 3 veul ,ale_connect ,iparg ,nloc_dmg ,
1252 4 tf ,npc ,bufmat ,partsav ,
1253 5 dt2t ,neltst ,ityptst ,stifn ,offset ,
1254 6 eani ,ipartq(nf1),nel ,iadq ,fsky ,
1255 9 ipm ,bid ,qmvbid ,
1256 a gresav ,grth ,igrth(off_igrth+nf1),table,igeo ,
1257 b voln ,itask ,ms_2d ,fskym ,ipri ,
1258 c mat_elem,h3d_data%STRAIN,ibid,snpc,stf,sbufmat,
1259 d svis,nsvois,iresp,tt,dt1,
1260 . idel7nok, idtmin, maxfunc,
1261 . imon_mat,userl_avail, impl_s, idyna,
1262 . dt ,glob_therm,sensors)
1263
1264 ENDIF
1265C----6---------------------------------------------------------------7---------8
1266 ELSEIF (ity == 4) THEN
1267 k1=1 + 6*(numelc+numeltg)*iepsdot+15*nft
1268 off_igrth = numels+numelq+numelc
1269C
1270 IF (ipreid>0) THEN
1271 fun_id = iparg(73,ng)
1272 sens_id= iparg(74,ng)
1273 CALL get_preload_axial(python, nfunct,
1274 1 fun_id ,sens_id ,npc ,snpc ,
1275 2 tf ,stf ,sensors ,tt ,
1276 3 preload1 ,stf_f )
1277 ELSE
1278 preload1 =zero
1279 END IF
1280!
1281 IF (isens_energy == 1 .AND. ipri == 0)
1282 . CALL sensor_energy_part(ipartt(nf1) ,subset ,ipri,sensors,itask)
1283c
1284 CALL tforc3(mat_elem%MAT_PARAM,nummat,
1285 1 elbuf_tab(ng), jft, jlt, pm,
1286 2 geo, ixt, x, a,
1287 3 v, partsav, bufmat, dt2t,
1288 4 neltst, ityptst, stifn, fsky,
1289 5 iadt, offset, ipartt(nf1), tani(k1),
1290 6 fx(1,1), fx(1,2), fy(1,1), fy(1,2),
1291 7 fz(1,1), fz(1,2), nel, gresav,
1292 8 grth, igrth(off_igrth+nf1),mstr(nf1), dmeltr(nf1),
1293 9 ipri, ipm, npc, tf,
1294 a itask, h3d_data, nft, mtn,
1295 b jsms, igre, preload1, stf_f,
1296 c dt, sensors)
1297C
1298 IF (nsect > 0) THEN
1299 k0=nstrf(25)
1300 n=ninter+nrwall+nrbody
1301 DO i=1,nsect
1302 n=n+1
1303 k2=k0+30+nstrf(k0+14)
1304 k6=k0+30+nstrf(k0+14)+nstrf(k0+6)
1305 1 +2*nstrf(k0+7)+2*nstrf(k0+8)+2*nstrf(k0+9)
1306 iparsens=0
1307 isect=0
1308 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1309 NULLIFY(pfbsav6)
1310 IF(isect/=0) THEN
1311 iparsens=1
1312 pfbsav6 => sensors%FSAV(1,1,isect)
1313 ENDIF
1314C
1315 CALL section_t(jft,jlt,nft,nstrf(k0+10),nstrf(k0+3),
1316 2 nstrf(k0+4),nstrf(k0+5),nstrf(k6),x,v,fsav(1,n),
1317 3 ixt ,fani(1,1+2*(i-1)), secfcum(1,1,i) ,
1318 4 fx ,fy ,fz ,nstrf(k0),nstrf(k0+14),nstrf(k0+26),
1319 5 nstrf(k0+6),nstrf(k2) ,ms,
1320 6 xsec(1,1,i), pfbsav6,iparsens)
1321C
1322 k0=nstrf(k0+24)
1323 ENDDO ! DO I=1,NSECT
1324 ENDIF ! IF (nsect > 0)
1325C----6---------------------------------------------------------------7---------8
1326 ELSEIF (ity == 5) THEN
1327 off_igrth = numels+numelq+numelc+numelt
1328 k1=1 + 6*(numelc+numeltg)*iepsdot + 15*(numelt+nft)
1329C
1330 IF (ipreid>0) THEN
1331 fun_id = iparg(73,ng)
1332 sens_id= iparg(74,ng)
1333 CALL get_preload_axial(python, nfunct,
1334 1 fun_id ,sens_id ,npc ,snpc ,
1335 2 tf ,stf ,sensors ,tt ,
1336 3 preload1 ,stf_f )
1337 ELSE
1338 preload1 =zero
1339 END IF
1340!
1341 IF (isens_energy == 1 .AND. ipri == 0)
1342 . CALL sensor_energy_part(ipartp(nf1) ,subset ,ipri,sensors,itask)
1343c
1344 CALL pforc3(
1345 1 elbuf_tab(ng),jft ,jlt ,nel ,
1346 2 mtn ,ismstr ,pm ,ixp(1,nf1) ,
1347 3 x ,a ,ar ,v ,
1348 4 vr ,geo ,partsav ,dt2t ,
1349 5 neltst ,ityptst ,stifn ,stifr ,
1350 6 fsky ,iadp ,offset ,ipartp(nf1),
1351 7 tani(k1) ,fx(1,1) ,fx(1,2) ,fy(1,1) ,
1352 8 fy(1,2) ,fz(1,1) ,fz(1,2) ,mx(1,1) ,
1353 9 mx(1,2) ,my(1,1) ,my(1,2) ,mz(1,1) ,
1354 a mz(1,2) ,igeo ,ipm ,bufmat ,
1355 b npt ,npc ,tf ,gresav ,
1356 c grth ,igrth(off_igrth+nf1),msp(nf1) ,dmelp(nf1) ,
1357 d ipri ,itask ,jthe ,temp ,
1358 e fthe ,fthesky ,iexpan ,h3d_data ,
1359 f jsms ,igre ,nft ,ifail ,
1360 g sbufmat ,snpc ,stf ,nummat ,
1361 h numgeo ,iout ,istdo ,idel7nok ,
1362 i idyna ,imconv ,impl_s ,mat_elem%MAT_PARAM,
1363 j preload1 ,stf_f ,dt ,sensors ,
1364 k ntable ,table )
1365C
1366 IF (nsect > 0) THEN
1367 k0=nstrf(25)
1368 n=ninter+nrwall+nrbody
1369 DO i=1,nsect
1370 n=n+1
1371 k2=k0+30+nstrf(k0+14)
1372 k7=k0+30+nstrf(k0+14)+nstrf(k0+6)
1373 1 +2*nstrf(k0+7)+2*nstrf(k0+8)+2*nstrf(k0+9)
1374 2 +2*nstrf(k0+10)
1375 iparsens=0
1376 isect=0
1377 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1378 NULLIFY(pfbsav6)
1379 IF(isect/=0) THEN
1380 iparsens=1
1381 pfbsav6 => sensors%FSAV(1,1,isect)
1382 ENDIF
1383C
1384 CALL section_p(jft,jlt,nft,nstrf(k0+11),nstrf(k0+3),
1385 2 nstrf(k0+4),nstrf(k0+5),nstrf(k7),x,v,vr,fsav(1,n),
1386 3 ixp ,fani(1,1+2*(i-1)), secfcum(1,1,i) ,
1387 4 fx ,fy ,fz ,mx ,my, mz,
1388 5 nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1389 6 nstrf(k2),ms,
1390 8 xsec(1,1,i),pfbsav6,iparsens)
1391 k0=nstrf(k0+24)
1392 ENDDO ! DO I=1,NSECT
1393 ENDIF ! IF (NSECT > 0)
1394C----6---------------------------------------------------------------7---------8
1395 ELSEIF (ity == 6) THEN
1396 k1=1 + 6*(numelc+numeltg)*iepsdot + 15*(numelt+numelp+nft)
1397 off_igrth = numels+numelq+numelc+numelt+numelp
1398c
1399 IF (ipreid>0) THEN
1400 fun_id = iparg(73,ng)
1401 sens_id= iparg(74,ng)
1402 CALL get_preload_axial(python, nfunct,
1403 1 fun_id ,sens_id ,npc ,snpc ,
1404 2 tf ,stf ,sensors ,tt ,
1405 3 preload1 ,stf_f )
1406 ELSE
1407 preload1 =zero
1408 END IF
1409 IF (isens_energy == 1 .AND. ipri == 0)
1410 . CALL sensor_energy_part(ipartr(nf1) ,subset ,ipri,sensors,itask)
1411 IF(igtyp == 23) THEN
1412 CALL r23forc3(python,
1413 1 elbuf_tab(ng), jft, jlt, nel,
1414 2 mtn, igeo, geo, ipm,
1415 3 ixr(1,nf1), x, table, xdp,
1416 4 a, npc, tf, skew,
1417 5 flg_kj2, vr, ar, v,
1418 6 dt2t, neltst, ityptst, stifn,
1419 7 stifr, ms, in, fsky,
1420 8 iadr, sensors , offset, anin,
1421 9 partsav, ipartr(nf1), tani(k1), fr_wave,
1422 a bufmat, bufgeo, pm, rby,
1423 b fx(1,1), fx(1,2), fy(1,1), fy(1,2),
1424 c fz(1,1), fz(1,2), mx(1,1), mx(1,2),
1425 d my(1,1), my(1,2), mz(1,1), mz(1,2),
1426 e gresav, grth, igrth(off_igrth+nf1), msrt(nf1),
1427 f dmelrt(nf1), flag_slipring_update, flag_retractor_update,h3d_data,
1428 g jsms, igre, nft, preload1 ,
1429 h stf_f, stf, sanin, iresp,
1430 i snpc )
1431 ELSE
1432 CALL rforc3(python,
1433 1 elbuf_tab(ng), jft, jlt, nel,
1434 2 mtn, igeo, geo, ixr(1,nf1),
1435 3 x, table, xdp, a,
1436 4 npc, tf, skew, flg_kj2,
1437 5 vr, ar, v, dt2t,
1438 6 neltst, ityptst, stifn, stifr,
1439 7 ms, in, fsky, iadr,
1440 8 sensors , offset, anin, partsav,
1441 9 ipartr(nf1), tani(k1), fr_wave, bufmat,
1442 a bufgeo, pm, rby, fx(1,1),
1443 b fx(1,2), fy(1,1), fy(1,2), fz(1,1),
1444 c fz(1,2), mx(1,1), mx(1,2), my(1,1),
1445 d my(1,2), mz(1,1), mz(1,2), gresav,
1446 e grth, igrth(off_igrth+nf1),msrt(nf1), dmelrt(nf1),
1447 f itask, h3d_data, jsms, nft,
1448 g iad, igre, preload1 , stf_f ,
1449 h stf, sanin, iresp, impl_s,
1450 i idyna, snpc)
1451
1452 ENDIF
1453C
1454 IF (nsect > 0) THEN
1455 k0=nstrf(25)
1456 n=ninter+nrwall+nrbody
1457 DO i=1,nsect
1458 n=n+1
1459 k2=k0+30+nstrf(k0+14)
1460 k8=k0+30+nstrf(k0+14)+nstrf(k0+6)
1461 1 +2*nstrf(k0+7)+2*nstrf(k0+8)+2*nstrf(k0+9)
1462 2 +2*nstrf(k0+10)+2*nstrf(k0+11)
1463 iparsens=0
1464 isect=0
1465 IF (sensors%STABSEN > 0) isect=sensors%TABSENSOR(i+1)-sensors%TABSENSOR(i)
1466 NULLIFY(pfbsav6)
1467 IF(isect/=0) THEN
1468 iparsens=1
1469 pfbsav6 => sensors%FSAV(1,1,isect)
1470 ENDIF
1471C
1472 CALL section_r(jft,jlt,nft,nstrf(k0+12),nstrf(k0+3),
1473 2 nstrf(k0+4),nstrf(k0+5),nstrf(k8),x,v,vr,fsav(1,n),
1474 3 ixr ,fani(1,1+2*(i-1)), secfcum(1,1,i) ,
1475 4 fx ,fy ,fz ,mx ,my, mz,
1476 5 nstrf(k0),nstrf(k0+14),nstrf(k0+26),nstrf(k0+6),
1477 6 nstrf(k2),ms,
1478 8 xsec(1,1,i), pfbsav6,iparsens)
1479 k0=nstrf(k0+24)
1480 ENDDO
1481 ENDIF
1482C----6---------------------------------------------------------------7---------8
1483 ELSEIF(ity==101)THEN
1484 off_igrth = numels+numelq+numelc+numelt+numelp+
1485 . numelr
1486c K = 1+2*(NSECT+NRBODY+NRWALL)
1487
1488 nctrl = iparg(75,ng)
1489 px = igeo(41,iparg(62,ng))
1490 py = igeo(42,iparg(62,ng))
1491 pz = igeo(43,iparg(62,ng))
1492!
1493 IF (isens_energy == 1 .AND. ipri == 0)
1494 . CALL sensor_energy_part(iparts(nf1) ,subset ,ipri,sensors,itask)
1495
1496 CALL ig3duforc3(timers, output,
1497 1 elbuf_tab, ng, jft, jlt,
1498 2 nft, nel, ixs, pm,
1499 3 geo, ipm, igeo, x,
1500 4 a, ar, v, vr,
1501 5 w, d, ms, in,
1502 6 tf, npc, bufmat, iparg,
1503 7 iparts(nf1), partsav, nloc_dmg, fsky,
1504 8 fr_wave, iads, eani, stifn,
1505 9 stifr, fx, fy, fz,
1506 a ifailure, mtn, igtyp, npt,
1507 b jsms, mssa(nf1), dmels(nf1), kxig3d,
1508 c ixig3d, knot, nctrl, wige,
1509 d wa, val2, dt2t, neltst,
1510 e ityptst, offset, table, iexpan,
1511 f ale_connect, fv, itask, ipri,
1512 g px, py, pz, knotlocpc,
1513 h knotlocel, gresav, grth, igrth(off_igrth+nf1),
1514 i mat_elem, ibid, ismstr, jale,
1515 j jeul, jlag, jcvt, jplasol,
1516 k jsph, snpc, stf, sbufmat,
1517 l svis, nsvois, idtmins, iresp,
1518 m idel7ng, idel7nok, userl_avail,
1519 . impl_s, idyna, dt, glob_therm,
1520 . sensors)
1521
1522 ENDIF
1523 IF (iddw>0) CALL stoptimeg(ng)
1524
1525C---------Nitsche Method : element mean stress storing----
1526
1527 IF(nitsche > 0 .AND. ity == 1) THEN
1528 gbuf => elbuf_tab(ng)%GBUF
1529
1530 DO j=1,6
1531 DO i=lft,llt
1532 IF(gbuf%OFF(i) > 0) THEN
1533 stressmean(j,nft + i) = gbuf%SIG(nel*(j-1)+i)
1534 ELSE
1535 stressmean(j,nft + i) = zero
1536 ENDIF
1537 ENDDO
1538 ENDDO
1539
1540C STRESS TENSOR IN GLOBAL SYSTEM
1541 IF (jcvt /= 0 .AND. jhbe /= 16) THEN
1542C ROTATION IF COROTA SYSTEM
1543 DO i=lft,llt
1544 nn = nft +i
1545 IF(jcvt==2.AND.jhbe/=14)THEN
1546 gama(1)=gbuf%GAMA(i + i)
1547 gama(2)=gbuf%GAMA(nel + i)
1548 gama(3)=gbuf%GAMA(2*nel + i)
1549 gama(4)=gbuf%GAMA(3*nel + i)
1550 gama(5)=gbuf%GAMA(4*nel + i)
1551 gama(6)=gbuf%GAMA(5*nel + i)
1552 ELSE
1553 gama(1)=one
1554 gama(2)=zero
1555 gama(3)=zero
1556 gama(4)=zero
1557 gama(5)=one
1558 gama(6)=zero
1559 END IF
1560 CALL srota6(
1561 1 x, ixs(1,nn), jcvt, stressmean(1,nn),
1562 2 gama, jhbe, igtyp, isorth)
1563 ENDDO
1564 ENDIF
1565 ENDIF
1566 250 CONTINUE
1567 END DO
1568C
1569 DEALLOCATE(fx,fy,fz,mx,my,mz,jfac)
1570
1571C-----------
1572 RETURN
1573 END
1574C-----------
1575
subroutine startimeg(ng)
Definition timer.F:1371
subroutine stoptimeg(ng)
Definition timer.F:1419
subroutine forint(timers, python, pm, geo, x, a, ar, v, vr, ms, in, w, elbuf, wa, val2, veul, fv, stifn, stifr, fsky, tf, bufmat, partsav, d, dr, eani, elbuf_tab, tani, fani, fsav, sensors, nloc_dmg, skew, anin, dt2t, bufgeo, itab, iads, iadq, iadt, iadp, mat_elem, iadr, iparg, ale_connect, npc, ixs, ixq, ixt, ixp, ixr, neltst, ipari, ityptst, nstrf, ipart, iparts, ipartq, ipartt, ipartp, ipartr, ipartur, fr_wave, rby, secfcum, agrav, igrv, lgrav, ixs10, ixs20, iads10, iads20, ixs16, iads16, w16, fskym, msnf, igeo, ipm, xsec, itask, temp, fthe, fthesky, igrounc, ngrounc, gresav, grth, igrth, xdp, mssa, dmels, mstr, dmeltr, msp, dmelp, msrt, dmelrt, table, vf, af, df, wf, ffsky, afglob, nbsdvois, nercvois, nesdvois, lercvois, lesdvois, phi1, phi2, msf, nodft, nodlt, flg_kj2, por, icontact, ifoam, sfem_nodvar, kxig3d, ixig3d, knot, wige, condn, condnsky, s_sfem_nodvar, tagprt_sms, itagnd, ms_2d, nale, stressmean, knotlocpc, knotlocel, subset, flag_slipring_update, flag_retractor_update, h3d_data, ifthe, icondn, dt, output, sbufmat, snpc, stf, nodadt, dtfac1, dtmin1, idtmin, iout, istdo, idtmins, dtfacs, nsvois, iresp, maxfunc, userl_avail, glob_therm, imon_mat, dtmins, sanin, ngrth, nelem)
Definition forint.F:126
subroutine ig3duforc3(timers, output, elbuf_tab, ng, lft, llt, nft, nel, ixs, pm, geo, ipm, igeo, x, a, ar, v, vr, w, d, ms, in, tf, npf, bufmat, iparg, iparts, partsav, nloc_dmg, fsky, fr_wave, iads, eani, stifn, stifr, fx, fy, fz, ifailure, mtn, igtyp, npt, jsms, mssa, dmels, kxig3d, ixig3d, knot, nctrl, wige, flux, flu1, dt2t, neltst, ityptst, offset, table, iexpan, ale_connect, fv, itask, ioutprt, px, py, pz, knotlocpc, knotlocel, gresav, grth, igrth, mat_elem, h3d_strain, ismstr, jale, jeul, jlag, jcvt, jplasol, jsph, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, userl_avail, impl_s, idyna, dt, glob_therm, sensors)
Definition ig3duforc3.F:86
#define min(a, b)
Definition macros.h:20
type(ale_) ale
Definition ale_mod.F:253
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
Definition initbuf.F:261
subroutine pforc3(elbuf_str, jft, jlt, nel, mtn, ismstr, pm, ncc, x, f, m, v, r, geo, partsav, dt2t, neltst, ityptst, stifn, stifr, fsky, iadp, offset, ipartp, tani, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, igeo, ipm, bufmat, npt, npf, tf, gresav, grth, igrth, msp, dmelp, ioutprt, itask, jthe, temp, fthe, fthesky, iexpan, h3d_data, jsms, igre, nft, ifail, sbufmat, snpc, stf, nummat, numgeo, iout, istdo, idel7nok, idyna, imconv, impl_s, mat_param, preld1, stf_f, dt, sensors, ntable, table)
Definition pforc3.F:77
subroutine prelecflow(elbuf_tab, ngrounc, igrounc, iparg, nbsdvois, nercvois, nesdvois, lercvois, lesdvois, phi1, phi2, por)
Definition prelecflow.F:42
subroutine q4forc2(timers, output, pm, geo, ic, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, nloc_dmg, elbuf_tab, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, offset, eani, ipartq, nel, iadq, fsky, icp, ng, ipm, bufvois, qmv, gresav, grth, igrth, table, igeo, itask, iexpan, ms_2d, fskym, ioutprt, mat_elem, h3d_strain, sz_bufvois, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, tt, dt1, idel7ng, idel7nok, idtmin, maxfunc, imon_mat, userl_avail, impl_s, idyna, dt, glob_therm, sensors)
Definition q4forc2.F:81
subroutine qforc2(timers, output, elbuf_tab, ng, pm, geo, ic, x, a, v, ms, w, flux, flu1, veul, ale_connect, iparg, nloc_dmg, tf, npf, bufmat, partsav, dt2t, neltst, ityptst, stifn, offset, eani, ipartq, nel, iadq, fsky, ipm, bufvois, qmv, gresav, grth, igrth, table, igeo, voln, itask, ms_2d, fskym, ioutprt, mat_elem, h3d_strain, sz_bufvois, snpc, stf, sbufmat, svis, nsvois, iresp, tt, dt1, idel7nok, idtmin, maxfunc, imon_mat, userl_avail, impl_s, idyna, dt, glob_therm, sensors)
Definition qforc2.F:84
subroutine r23forc3(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, ipm, ixr, x, table, xdp, f, npf, tf, skew, flg_kj2, vr, ar, v, dt2t, neltst, ityptst, stifn, stifr, ms, in, fsky, iadr, sensors, offset, anim, partsav, ipartr, tani, fr_wave, bufmat, bufgeo, pm, rby, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, flag_slipring_update, flag_retractor_update, h3d_data, jsms, igre, nft, preld1, stf_f, stf, sanin, iresp, snpc)
Definition r23forc3.F:58
subroutine rforc3(python, elbuf_str, jft, jlt, nel, mtn, igeo, geo, ixr, x, table, xdp, f, npf, tf, skew, flg_kj2, vr, ar, v, dt2t, neltst, ityptst, stifn, stifr, ms, in, fsky, iadr, sensors, offset, anim, partsav, ipartr, tani, fr_wave, bufmat, bufgeo, pm, rby, fx1, fx2, fy1, fy2, fz1, fz2, mx1, mx2, my1, my2, mz1, mz2, gresav, grth, igrth, msrt, dmelrt, itask, h3d_data, jsms, nft, iad, igre, preld1, stf_f, stf, sanin, iresp, impl_s, idyna, snpc)
Definition rforc3.F:105
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 s16forc3(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, ixs16, iads16, nel, fx, fy, fz, volnp, sigs, rx, ry, rz, sx, sy, sz, tx, ty, tz, stig, stin, ul, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, dnidr, dnids, dnidt, px, py, pz, icp, icsig, ipm, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, table, igeo, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, idtmin, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
Definition s16forc3.F:86
subroutine s20forc3(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, ixs20, iads20, nel, fx, fy, fz, volnp, rx, ry, rz, sx, sy, sz, tx, ty, tz, stig, stin, ul, xx, yy, zz, vx, vy, vz, vdxx, vdyy, vdzz, dnidr, dnids, dnidt, px, py, pz, ipm, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, table, igeo, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, idel7nok, snpc, stf, sbufmat, svis, idtmins, nsvois, iresp, idel7ng, idtmin, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
Definition s20forc3.F:88
subroutine s4forc3(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, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, nel, fskym, msnf, ipm, igeo, bufvois, istrain, itask, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, xdp, sfem_nodvar, voln, condn, condnsky, d, sensors, ioutprt, mat_elem, h3d_strain, dt, idel7nok, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, idtmins, iresp, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, s_sfem_nodvar)
Definition s4forc3.F:110
subroutine s6cforc3(timers, output, 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, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, nel, icp, icsig, nloc_dmg, ipm, istrain, igeo, gresav, grth, igrth, table, mssa, dmels, voln, itask, ioutprt, mat_elem, h3d_strain, temp, fthe, fthesky, condn, condnsky, iexpan, ifthe, icondn, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, maxfunc, imon_mat, userl_avail, glob_therm, xdp, sensors)
Definition s6cforc3.F:101
subroutine s8cforc3(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, 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, icp, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, sensors, ioutprt, mat_elem, h3d_strain, dt, nodadt, dtfac1, dtmin1, idtmin, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
Definition s8cforc3.F:111
subroutine s8eforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, igeo, xdp, voln, condn, condnsky, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
Definition s8eforc3.F:148
subroutine s8forc3(timers, output, elbuf_str, pm, geo, ixs, x, a, v, ms, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, stifn, fsky, iads, offset, iparts, nel, dt2t, neltst, ityptst, ipm, itask, gresav, grth, igrth, mssa, dmels, table, ioutprt, mat_elem, ng, svis, glob_therm, snpc, numgeo, sbufmat, stf, ntable, sensors)
Definition s8forc3.F:64
subroutine s8sforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, igeo, xdp, voln, condn, condnsky, d, ioutprt, mat_elem, h3d_strain, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idtmin, maxfunc, userl_avail, dt, glob_therm, sensors)
Definition s8sforc3.F:99
subroutine s8zforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, icp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icsig, smr, sms, smt, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, igeo, nnpt, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, jfac, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
Definition s8zforc3.F:124
subroutine scforc3(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, 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, icp, icsig, nvc, ipm, istrain, temp, fthe, fthesky, iexpan, igeo, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
Definition scforc3.F:98
subroutine section_p(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, vr, fsav, ixp, fopta, secfcum, fx, fy, fz, mx, my, mz, itype, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
Definition section_p.F:40
subroutine section_r(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, vr, fsav, ixr, fopta, secfcum, fx, fy, fz, mx, my, mz, itype, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
Definition section_r.F:40
subroutine section_s4(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixs, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, ixs10, isolnod, xsec, fbsav6, iparsens)
Definition section_s4.F:40
subroutine section_s6(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixs, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
Definition section_s6.F:41
subroutine section_s(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixs, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, ixs20, ixs16, isolnod, xsec, fbsav6, iparsens)
Definition section_s.F:40
subroutine section_t(lft, llt, nft, nseg, n1, n2, n3, nstrf, x, v, fsav, ixt, fopta, secfcum, fx, fy, fz, type, nsint, ifram, nnod, nod, ms, xsec, fbsav6, iparsens)
Definition section_t.F:40
subroutine sensor_energy_part(ipart, subset, ipri, sensors, itask)
subroutine sforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, nv46, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, itab, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, 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, isky, fskyi, nvc, ipm, igeo, ar, vr, in, fr_wave, dr, bufvois, itask, qmv, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, phi1, phi2, vf, af, df, wf, ffsky, afglob, msf, iparg1, xdp, por, icontact, ifoam, voln, condn, condnsky, agrav, igrv, lgrav, sensors, skew, nale, d, ioutprt, nloc_dmg, mat_elem, h3d_strain, dt, idel7nok, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, idtmins, iresp, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, wfext)
Definition sforc3.F:157
subroutine srota6(x, ixs, kcvt, tens, gama)
Definition srota6.F:33
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:895
subroutine arret(nn)
Definition arret.F:86
subroutine my_barrier
Definition machine.F:31
subroutine suforc3(timers, elbuf_str, lft, llt, nft, nel, ixs, pm, geo, ipm, igeo, x, a, ar, v, vr, w, d, ms, in, tf, npf, bufmat, iparg, iparts, partsav, mat_param, fsky, fr_wave, iads, eani, stifn, stifr, fx, fy, fz, ifailure, mtn, igtyp, npt, jsms, mssa, dmels, itask, ioutprt, jthe, table, idtmins, dtfacs, dtmins)
Definition suforc3.F:54
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)
Definition szforc3.F:125
subroutine tforc3(mat_param, nummat, elbuf_str, jft, jlt, pm, geo, nct, x, f, v, partsav, bufmat, dt2t, neltst, ityptst, stifn, fsky, iadt, offset, ipartt, tani, fx1, fx2, fy1, fy2, fz1, fz2, nel, gresav, grth, igrth, mstr, dmeltr, ioutprt, ipm, npf, tf, itask, h3d_data, nft, mtn, jsms, igre, preld1, stf_f, dt, sensors)
Definition tforc3.F:60