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