OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sortie_main.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!|| sortie_main ../engine/source/output/sortie_main.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||--- calls -----------------------------------------------------
28!|| ani_pcont ../engine/source/output/anim/generate/ani_pcont.F
29!|| ani_pcont21 ../engine/source/output/anim/generate/ani_pcont.F
30!|| anicon0 ../engine/source/output/anim/generate/anicon0.F
31!|| anicon2 ../engine/source/output/anim/generate/anicon2.F
32!|| cndmasi2 ../engine/source/elements/solid/solide10/s10cndf.F
33!|| ecrit ../engine/source/output/ecrit.F
34!|| eng_qaprint_driver ../engine/source/output/qaprint/eng_qaprint_driver.F
35!|| fcont2_max_output ../engine/source/output/h3d/h3d_results/fcont2_max_output.F
36!|| fcont2_min_output ../engine/source/output/h3d/h3d_results/fcont2_min_output.f
37!|| fcont_max_output ../engine/source/output/h3d/h3d_results/fcont_max_output.F
38!|| file_size ../common_source/tools/input_output/write_routines.c
39!|| finter ../engine/source/tools/curve/finter.F
40!|| fluxsw ../engine/source/fluid/fluxsw.f
41!|| fpcont2_max_output ../engine/source/output/h3d/h3d_results/fpcont2_max_output.F90
42!|| fpcont2_min_output ../engine/source/output/h3d/h3d_results/fpcont2_min_output.F90
43!|| genani ../engine/source/output/anim/generate/genani.f
44!|| gendynain ../engine/source/output/dynain/gendynain.F
45!|| genh3d ../engine/source/output/h3d/h3d_results/genh3d.F
46!|| genoutp ../engine/source/output/sty/genoutp.F
47!|| genstat ../engine/source/output/sta/genstat.F
48!|| hist2 ../engine/source/output/th/hist2.F
49!|| noise ../engine/source/general_controls/computation/noise.F
50!|| s10mvnd ../engine/source/elements/solid/solide10/s10cndv.F
51!|| sensor_energy_total ../engine/source/tools/sensor/sensor_energy_total.F
52!|| spmd_exch_adm ../engine/source/mpi/anim/spmd_exch_adm.F
53!|| spmd_exch_output_noda_pext ../engine/source/mpi/output/spmd_exch_output_noda_pext.F
54!|| spmd_sd_skw_anim ../engine/source/mpi/output/spmd_sd_skw.F
55!||--- uses -----------------------------------------------------
56!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
57!|| cluster_mod ../engine/share/modules/cluster_mod.F
58!|| crackxfem_mod ../engine/share/modules/crackxfem_mod.F
59!|| drape_mod ../engine/share/modules/drape_mod.F
60!|| dt_mod ../engine/source/modules/dt_mod.F
61!|| ebcs_mod ../common_source/modules/boundary_conditions/ebcs_mod.F90
62!|| ecnd_mod ../engine/share/modules/ecdn_mod.F
63!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
64!|| fpcont2_max_output_mod ../engine/source/output/h3d/h3d_results/fpcont2_max_output.F90
65!|| fpcont2_min_output_mod ../engine/source/output/h3d/h3d_results/fpcont2_min_output.F90
66!|| fvbag_mod ../engine/share/modules/fvbag_mod.F
67!|| fvmbag_meshcontrol_mod ../common_source/modules/airbag/fvmbag_meshcontrol_mod.F
68!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
69!|| groupdef_mod ../common_source/modules/groupdef_mod.F
70!|| h3d_mod ../engine/share/modules/h3d_mod.F
71!|| hist2_mod ../engine/source/output/th/hist2.F
72!|| inoutfile_mod ../common_source/modules/inoutfile_mod.f
73!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
74!|| loads_mod ../common_source/modules/loads/loads_mod.F90
75!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
76!|| message_mod ../engine/share/message_module/message_mod.F
77!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
78!|| nodal_arrays_mod ../common_source/modules/nodal_arrays.F90
79!|| outmax_mod ../common_source/modules/outmax_mod.F
80!|| output_mod ../common_source/modules/output/output_mod.f90
81!|| pblast_mod ../common_source/modules/loads/pblast_mod.F90
82!|| pinchtype_mod ../common_source/modules/pinchtype_mod.F
83!|| sensor_mod ../common_source/modules/sensor_mod.F90
84!|| spmd_exch_output_noda_pext_mod ../engine/source/mpi/output/spmd_exch_output_noda_pext.F
85!|| stack_mod ../engine/share/modules/stack_mod.F
86!|| state_mod ../common_source/modules/state_mod.F
87!|| table_mod ../engine/share/modules/table_mod.F
88!|| th_mod ../engine/share/modules/th_mod.F
89!|| th_surf_mod ../common_source/modules/interfaces/th_surf_mod.F
90!|| timer_mod ../engine/source/system/timer_mod.F90
91!|| user_windows_mod ../common_source/modules/user_windows_mod.F
92!||====================================================================
93 SUBROUTINE sortie_main(TIMERS,
94 1 PM ,D ,V ,ALE_CONNECT,W ,
95 2 ELBUF ,IPARG ,IXS ,IXQ ,IXC ,
96 3 IXT ,IXP ,IXR ,IXTG ,WA ,
97 4 ITAB ,X ,GEO ,MS ,A ,
98 5 PARTSAV ,ICUT ,XCUT ,
99 6 LPBY ,
100 7 NPBY ,NSTRF ,RWBUF ,NPRW ,EBCS_TAB ,
101 8 TANI ,INOISE ,BUFNOIS ,RBY ,NEFLSW ,
102 9 NNFLSW ,CRFLSW ,FLSW ,LOUT ,NODES ,
103 B FSAV ,SKEW ,ELBUF_TAB ,CLUSTER ,
104 C VR ,IN ,WEIGHT ,FCLUSTER ,MCLUSTER ,
105 D DD_IAD ,DMAS ,ACCELM ,GAUGE,
106 E IPARI ,EANI ,IPART ,MAT_PARAM,
107 F IGRNOD ,SUBSET ,
108 G NOM_OPT ,AR ,IGRSURF ,BUFSF ,IDATA ,
109 H RDATA ,KXX ,IXX ,BUFMAT ,BUFGEO ,
110 I KXSP ,IXSP ,NOD2SP ,SPBUF ,DR ,
111 J FSAVD ,IXRI ,RIVET ,ISKWN ,IFRAME ,
112 M XFRAME ,IXS10 ,IXS20 ,IXS16 ,NDMA ,
113 T MONVOL ,VOLMON ,IPM ,IGEO ,NODGLOB ,
114 . IAD_ELEM ,FR_ELEM ,
115 U FR_RBY2 ,IAD_RBY2 ,FR_WALL ,FR_SEC ,FXBIPM ,FXBRPM,
116 V NDIN ,FXBDEP ,FXBVIT ,FXBACC ,IFLOW,
117 W RFLOW ,IPARTL ,NPARTL ,IACCP ,NACCP,
118 X FASOLFR ,IPARTH ,
119 Y FR_MV ,IPART_STATE ,SH4TREE ,SH3TREE ,TEMP,
120 Z THKE ,ERR_THK_SH4 ,ERR_THK_SH3,
121 a INOD_PXFEM,FTHREAC ,NODREAC ,GRESAV ,
122 b DIAG_SMS ,SH4TRIM ,SH3TRIM ,XMOM_SMS ,
123 c IRBE2 ,IRBE3 ,LRBE2 ,LRBE3 ,FR_RBE2 ,
124 d FR_RBE3M ,IAD_RBE2 ,DXANCG ,IEL_PXFEM ,ZI_PLY ,
125 e VGAZ ,FCONTG ,FNCONTG ,FTCONTG ,FANREAC ,
126 f INOD_CRK ,IEL_CRK ,ELCUTC ,IADC_CRK ,
127 g RES_SMS ,SENSORS ,
128 h QFRICINT ,IGAUP ,NGAUP ,WEIGHT_MD ,NCONT ,
129 i INDEXCONT ,NODGLOBXFE ,NODEDGE ,XFEM_TAB ,
130 j NV46 ,RTHBUF ,KXIG3D ,IXIG3D ,KNOT ,
131 k WIGE ,NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS ,
132 l CRKEDGE ,STACK ,ISPHIO ,VSPHIO ,ICODE ,
133 m INDX_CRK ,XEDGE4N ,XEDGE3N ,SPH2SOL ,STIFN ,
134 n STIFR ,DRAPE_SH4N ,DRAPE_SH3N ,MS_2D ,MULTI_FVM,
135 o SEGQUADFR ,H3D_DATA ,ISKEW ,PSKIDS ,ISKWP ,
136 p KNOTLOCPC ,KNOTLOCEL ,PINCH_DATA ,TAG_SKINS6,IRUNN_BIS,
137 q TF ,NPC ,DYNAIN_DATA,FCONT_MAX,MDS_MATID,
138 r IBCL ,ILOADP ,LLOADP ,
139 s LOADP ,TAGNCONT ,LOADP_HYD_INTER,FORC ,DRAPEG,USER_WINDOWS,
140 t OUTPUT ,DT ,FSAVSURF ,TABLE ,
141 u LOADS ,SFANI ,IPARIT ,X_C ,
142 v SZ_NPCONT2,NPCONT2 ,GLOB_THERM ,PBLAST ,WFEXT ,
143 w MASS0_START)
144C-----------------------------------------------
145C M o d u l e s
146C-----------------------------------------------
147 USE timer_mod
148 USE mat_elem_mod
149 USE cluster_mod
150 USE intbufdef_mod
151 USE crackxfem_mod
152 USE stack_mod
153 USE ecnd_mod
154 USE multi_fvm_mod
155 USE h3d_mod
156 USE fvbag_mod
158 USE groupdef_mod
159 USE multi_fvm_mod
160 USE pinchtype_mod
161 USE inoutfile_mod
162 USE drape_mod
163 USE sensor_mod
165 USE outmax_mod
166 USE message_mod
167 USE state_mod
169 USE output_mod , ONLY : output_
171 USE th_mod , ONLY : th_has_noda_pext
172 USE dt_mod
173 USE table_mod
174 USE loads_mod
175 USE ebcs_mod , only : t_ebcs_tab
177 USE elbufdef_mod
178 use fpcont2_max_output_mod
179 use fpcont2_min_output_mod
180 USE glob_therm_mod
181 use pblast_mod
182 USE hist2_mod , ONLY : hist2
183 USE nodal_arrays_mod , ONLY : nodal_arrays_
184C-----------------------------------------------
185C I m p l i c i t T y p e s
186C-----------------------------------------------
187#include "implicit_f.inc"
188C-----------------------------------------------
189C C o m m o n B l o c k s
190C-----------------------------------------------
191#include "com01_c.inc"
192#include "com04_c.inc"
193#include "com06_c.inc"
194#include "com08_c.inc"
195#include "com09_c.inc"
196#include "com_xfem1.inc"
197#include "sphcom.inc"
198#include "scr05_c.inc"
199#include "scr07_c.inc"
200#include "scrnoi_c.inc"
201#include "scr14_c.inc"
202#include "scr16_c.inc"
203#include "scr20_c.inc"
204#include "scr23_c.inc"
205#include "param_c.inc"
206#include "scrfs_c.inc"
207#include "task_c.inc"
208#include "scr13_c.inc"
209#include "scr17_c.inc"
210#include "units_c.inc"
211#include "com10_c.inc"
212#include "spmd_c.inc"
213#include "fxbcom.inc"
214#include "filescount_c.inc"
215#include "intstamp_c.inc"
216#include "chara_c.inc"
217C-----------------------------------------------
218C D u m m y A r g u m e n t s
219C-----------------------------------------------
220 TYPE(nodal_arrays_), INTENT(INOUT) :: NODES
221 TYPE(timer_), INTENT(INOUT) :: TIMERS
222 TYPE(t_ebcs_tab), TARGET, INTENT(IN) :: EBCS_TAB
223 LOGICAL LOUT
224 INTEGER, INTENT(IN) :: SFANI
225 INTEGER IPARG(*), IXS(*), IXQ(*), IXC(*), IXT(*), IXP(*),
226 . ixs10(6,*) ,ixs16(8,*) ,ixs20(12,*) ,indx_crk(*),
227 . ixr(*), ixtg(*), itab(*),icut(*),nstrf(*),lpby(*),
228 . nprw(*),ipart(*),
229 . inoise(*), npby(nnpby,*),neflsw(*),nnflsw(*),
230 . dd_iad(nspmd+1,*), iaccp(*), naccp(*),
231 . ipari(npari,*),weight(*),
232 . nom_opt(lnopt1,*),
233 . idata(*),kxx(nixx,*),ixx(*),
234 . kxsp(nisp,*),ixsp(kvoisph,*),nod2sp(*),
235 . npartsav,ixri(4,*),
236 . iskwn(liskn,*),iframe(liskn,*),ipm(*), igeo(*),fxbipm(nbipm,*),
237 . iparth(2,*),
238 . ndma ,monvol(*),nodglob(*),
239 . fr_elem(*),iad_elem(2,*), ndin, iflow(*), fasolfr(*), fr_mv(*),
240 . ipartl(*), npartl, ipart_state(*), sh4tree(*), sh3tree(*),
241 . inod_pxfem(*), sh4trim(*), sh3trim(*),
242 . irbe2(*),irbe3(*),lrbe2(*),lrbe3(*),
243 . fr_rbe2(*),fr_rbe3m(*),iel_pxfem(*),
244 . inod_crk(*),iel_crk(*),elcutc(2,*),xedge4n(4,*),xedge3n(3,*),
245 . iadc_crk(*),igaup(*), ngaup(*),
246 . weight_md(*),nodglobxfe(*),nodedge(2,*),nv46,kxig3d(*),
247 . ixig3d(*),nercvois(*),nesdvois(*),lercvois(*),lesdvois(*),
248 . isphio(nisphio,*),icode(*),sph2sol(*),segquadfr(*),
249 . iskew(*),tag_skins6(*),irunn_bis
250 my_real bufnois(*),partsav(npsav,*),rby(nrby,*),crflsw(*),flsw(*),
251 . fsav(nthvki,*),skew(lskew,*), vr(3,*), in(*), dmas,
252 . accelm(llaccelm,*),bufsf(*),rdata(*),bufmat(*),bufgeo(*),
253 . spbuf(*),rivet(*),xframe(nxframe,*),zi_ply(*),vgaz(*)
254 my_real pm(npropm,*),d(3,numnod),v(*),w(*),elbuf(*),wa(*),x(3,*),geo(*),
255 . ms(*), a(3,*), xcut(*),eani(*),
256 . rwbuf(*),tani(*),
257 . ar(3,*),tf(*),fcont_max(*)
258 my_real :: fxbrpm(*)
259 my_real fsavd(nthvki,*),
260 . dr(3,*),volmon(*),
261 . fxbdep(*),fxbvit(*),fxbacc(*), rflow(*),
262 . temp(*),thke(*),dxancg(3,*),
263 . err_thk_sh4(*),err_thk_sh3(*),fthreac(*),
264 . gresav(*), diag_sms(*), xmom_sms(3,*),
265 . fcontg(*), fncontg(*), ftcontg(*),fanreac(*),
266 . res_sms(*),qfricint(*), gauge(*),
267 . fcluster(*),mcluster(*),rthbuf(*),wige(*),knot(*),vsphio(*),
268 . stifn(*),stifr(*),ms_2d(*),pskids(*),knotlocpc(*),knotlocel(*)
269 INTEGER FR_SEC(NSPMD+1,*),FR_RBY2(3,*),IAD_RBY2(4,*),FR_WALL(*),NODREAC(*),IAD_RBE2(4,*),INDEXCONT(*),NCONT,ITY
270 INTEGER NPC(*),MDS_MATID(*)
271 INTEGER LLOADP(*),ILOADP(SIZLOADP,*),IBCL(NIBCLD,*)
272 INTEGER TAGNCONT(NLOADP_HYD_INTER,NUMNOD),LOADP_HYD_INTER(NLOADP_HYD)
273 my_real :: loadp(lfaccld,*),forc(*)
274 my_real, INTENT(IN) :: mass0_start
275
276 INTEGER, DIMENSION(*), INTENT(IN) :: ISKWP
277 INTEGER, INTENT(IN) :: SZ_NPCONT2
278 my_real, INTENT(INOUT) :: FSAVSURF(TH_SURF_NUM_CHANNEL,NSURF)
279 my_real, DIMENSION(3,NUMNOD), INTENT(IN) :: X_C
280 my_real, DIMENSION(3,SZ_NPCONT2), INTENT(INOUT) :: NPCONT2
281C-----------------------------------------------
282 TYPE(OUTPUT_),INTENT(INOUT) :: OUTPUT
283C-----------------------------------------------
284 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
285 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP,NXEL) :: XFEM_TAB
286 TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTER
287 TYPE (XFEM_EDGE_) , DIMENSION(*) :: CRKEDGE
288 TYPE (STACK_PLY) :: STACK
289 TYPE(MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
290 TYPE(H3D_DATABASE) :: H3D_DATA
291 TYPE (SUBSET_) , DIMENSION(NSUBS) :: SUBSET
292 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
293 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
294 TYPE (PINCH) :: PINCH_DATA
295 TYPE (DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE), DRAPE_SH3N(NUMELTG_DRAPE)
296 TYPE (DRAPEG_) :: DRAPEG
297 TYPE (SENSORS_) ,INTENT(INOUT):: SENSORS
298 TYPE (t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
299 TYPE (DYNAIN_DATABASE), INTENT(INOUT) :: DYNAIN_DATA
300 TYPE(user_windows_),INTENT(IN) :: USER_WINDOWS
301 TYPE(DT_), INTENT(INOUT) :: DT
302 TYPE (LOADS_) , INTENT(IN) :: LOADS
303 TYPE (TTABLE),DIMENSION(NTABLE) ,INTENT(IN) :: TABLE
304 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
305 type (glob_therm_) ,intent(in) :: glob_therm
306 type (PBLAST_) ,intent(in) :: PBLAST
307 INTEGER,INTENT(IN) :: IPARIT
308 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT
309 LOGICAL :: TRIGGER_ANIM, TRIGGER_TH, TRIGGER_H3D
310C-----------------------------------------------
311C L o c a l V a r i a b l e s
312C-----------------------------------------------
313 INTEGER N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,I,M,NEL,NFACE,
314 . K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11,K12,
315 . NEL1D,NEL2D,NEL3D, L1, IFIL, CPTFILE,IFILABF,
316 . IAD, J, THUPDT,IFLAG, IFV,ITHFLAG,NSENSOR
317 INTEGER :: IFLAG_ANIPCONT
318 INTEGER :: SN1,SN2,SN3,SN4,SN5,SN6,SN7,SN8,SN9,NELG,
319 . skuix, skxusr ,skfacptx,skxedge,skxfacet,skxsolid,sknumx1,
320 . sknumx2,sknumx3,skoffx1,skoffx2,skoffx3,skmass1,skmass2,
321 . skmass3,skfunc1,skfunc2,skfunc3,skfin,sig3dsolid
322 INTEGER LENR,LENG,LENGC,LENGTG,LENGS,LENGT,LENGR,LENGP,LENGQ,LENGSPH
323 INTEGER SIZE_MES,LONG,LONG_TMP,N
324 INTEGER IFILNAM(2148),IFILNAM_TMP(2148)
325
326 my_real wfexth,enintot,ekintot,dydx,finter
327 EXTERNAL finter
328 my_real tabfwr0(10),bid
329 my_real, DIMENSION(:),ALLOCATABLE :: vmcdn
330 my_real, DIMENSION(:),ALLOCATABLE :: csefric,csefric_stamp,csefricg,csefricg_stamp
331
332 INTEGER :: LEN_TMP_NAME,LEN_TMP_NAME2
333 CHARACTER(len=100) :: TMP_NAME,TMP_NAME2
334 CHARACTER FILNAMABF*100,FILNAMABF_TMP*100
335 LOGICAL :: NEED_TO_REINIT_FSAV !< boolean to re-initialize PARTSAV array
336C=======================================================================
337 IF(iplyxfem == 0 ) anim_ply = 0
338 IF(icrack3d > 0 ) anim_crk = 1
339 cptfile=0
340 nsensor = sensors%NSENSOR
341 need_to_reinit_fsav = .false.
342C----------------------
343C FICHIERS NOISE
344C----------------------
345 IF(nnoise>0)THEN
346 CALL noise(
347 1 bufnois,inoise,inoise(2*nnoise+1),bufnois(2),v ,
348 2 a ,ixs ,elbuf_tab ,iparg ,weight,
349 3 ixq )
350 ENDIF
351C-----------------------
352C ECRITURE LISTING
353C-----------------------
354C------- should use relative velocity for dynamic condensed nodes (Nd of S10)
355c
356 IF (ns10e > 0) THEN
357 leng = 3*numnod
358 ALLOCATE(vmcdn(leng))
359 vmcdn(1:leng)=v(1:leng)
360 CALL s10mvnd(icnds10 ,vnd ,vmcdn )
361 CALL cndmasi2(icnds10,nkend,imap2nd,masi2nd0,ms ,v ,a ,
362 1 weight ,mas_nd ,kend )
363 CALL ecrit(timers,partsav ,ms ,vmcdn ,in ,vr ,
364 2 dmas ,weight ,enintot ,ekintot,
365 3 a ,ar ,fxbipm ,fxbrpm ,monvol ,
366 4 xmom_sms ,sensors ,qfricint ,ipari ,
367 5 weight_md,wfexth ,iflag ,ms_2d, multi_fvm ,
368 6 mas_nd ,kend ,h3d_data,dynain_data,user_windows%USREINT,output)
369 DEALLOCATE(vmcdn)
370 ELSE
371 bid = zero
372 CALL ecrit(timers,partsav ,ms ,v ,in ,vr ,
373 2 dmas ,weight ,enintot ,ekintot,
374 3 a ,ar ,fxbipm ,fxbrpm ,monvol ,
375 4 xmom_sms ,sensors ,qfricint ,ipari ,
376 5 weight_md,wfexth ,iflag ,ms_2d, multi_fvm ,
377 6 bid ,bid ,h3d_data,dynain_data,user_windows%USREINT,output)
378 ENDIF
379C-----------------------
380C SAVE TOTAL INTERNAL AND KINETIC ENERGY FOR ENERGY SENSOR
381C-----------------------
382c
383 CALL sensor_energy_total(sensors ,enintot ,ekintot)
384c
385C---------------------------------------
386C calculation of flux and rotation
387C---------------------------------------
388 IF(tt>=output%TH%THIS .AND. nsflsw/=0)
389 . CALL fluxsw(nsflsw,neflsw, nnflsw, crflsw, flsw ,
390 . x ,v ,elbuf )
391C-----------------------------------------------
392C CUMUL MASS SPMD
393C-----------------------------------------------
394 IF(nspmd>1.AND.(anim_n(2)+outp_n(2)>0).AND.
395 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.
396 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
397 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
398 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15)) THEN
399 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
400 CALL spmd_exch_adm(output%DATA%SCAL_DMAS,iad_elem,fr_elem,lenr,weight_md)
401 ENDIF
402 IF(nspmd>1.AND.
403 . (anim_n(12)+outp_n(3)>0).AND.
404 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.
405 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
406 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
407 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15)) THEN
408 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
409 CALL spmd_exch_adm(output%DATA%SCAL_DINER,iad_elem,fr_elem,lenr,weight)
410 ENDIF
411C----------------------
412 ! /TH/NODE (PEXT) or /H3D/NODA/PEXT or /ANIM/NODA/PEXT
413 ! gathering OUTPUT%DATA%NODA_SURF and OUTPUT%DATA%NODA_PEXT on domain 0
414C----------------------
415 trigger_th = tt >= output%TH%THIS
416 trigger_h3d = (ilasth3d==1.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP) .OR. h3d_data%MH3D ==1 .OR.
417 . (mstop == 1 .AND. ictlstop == 0 .AND. h3d_data%IH3D/= 0) .OR.
418 . (mstop == 2 .AND. h3d_data%IH3D/= 0) .OR.
419 . (dt2<=zero .AND. h3d_data%IH3D/= 0) )
420 trigger_anim = (tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.
421 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
422 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15 .OR.
423 . (mstop == 1 .AND. output%TANIM < ep30 .AND. ictlstop == 0) .OR.
424 . mstop == 2 .OR. dt2<=zero
425 CALL spmd_exch_output_noda_pext(output, nspmd, nodes, numnod, numnodg,
426 . trigger_th, trigger_anim, trigger_h3d )
427C----------------------
428C Compute contact pressures from normal + tangential contact forces.
429C Tied Contact : Inter type2
430C----------------------
431 iflag_anipcont = 0
432
433 IF((h3d_data%N_SCAL_CSE_FRIC /=0).OR.(h3d_data%N_SCAL_CSE_FRICINT /=0)
434 . .AND.
435 . (tt>=output%TANIM.OR.tt>=toutp.OR.tt>=h3d_data%TH3D .OR.
436 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
437 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
438 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
439 . h3d_data%MH3D/=0)) THEN
440
441 IF(output%DATA%NINEFRIC > 0) THEN
442 ALLOCATE(csefric(output%DATA%NINEFRIC*numnod)) ! friction energy by surface unit
443 ELSE
444 ALLOCATE(csefric(0))
445 ENDIF
446 IF(output%DATA%NINEFRIC_STAMP > 0) THEN
447 ALLOCATE(csefric_stamp(output%DATA%NINEFRIC_STAMP*numnodg)) ! friction energy by surface unit
448
449 ELSE
450 ALLOCATE(csefric_stamp(0))
451 ENDIF
452 IF(h3d_data%N_SCAL_CSE_FRIC /=0) THEN
453 ALLOCATE(csefricg(numnod)) ! Global friction energy by surface unit
454 csefricg = zero
455 IF(nintstamp /= 0) THEN
456 ALLOCATE(csefricg_stamp(numnodg)) ! Global friction energy by surface unit
457 ELSE
458 ALLOCATE(csefricg_stamp(0))
459 ENDIF
460 ELSE
461 ALLOCATE(csefricg(0))
462 ALLOCATE(csefricg_stamp(0))
463 ENDIF
464 ELSE
465 ALLOCATE(csefric(0))
466 ALLOCATE(csefric_stamp(0))
467 ALLOCATE(csefricg(0))
468 ALLOCATE(csefricg_stamp(0))
469 ENDIF
470
471
472 IF(((anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT /=0.OR.
473 . anim_v(27)+h3d_data%N_VECT_PCONT2 /=0..OR.
474 . h3d_data%N_SCAL_CSE_FRIC /=0.OR.h3d_data%N_SCAL_CSE_FRICINT /=0)
475 . .AND.
476 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP) .OR.
477 . manim==4 .OR.manim==5 .OR.manim==6 .OR.manim==7.OR.
478 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
479 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
480 . h3d_data%MH3D/=0))
481 . .OR.h3d_data%N_VECT_PCONT_MAX>0
482 . .OR.h3d_data%N_VECT_PCONT2_MAX>0)THEN
483 IF(nintstamp==0)THEN
484 CALL ani_pcont(output, ixs ,ixc ,ixtg ,fasolfr ,x ,
485 . output%DATA%VECT_PCONT ,output%DATA%VECT_PCONT_2,iad_elem ,fr_elem ,weight ,
486 . ixq ,segquadfr,ixs10 ,output%DATA%VECT_PCONT2,output%DATA%VECT_PCONT2_2,
487 . h3d_data,csefric,csefricg,sz_npcont2,npcont2)
488
489 ELSE
490 iflag_anipcont = 1
491 CALL ani_pcont21(output, ixs ,ixc ,ixtg ,fasolfr ,x ,
492 . output%DATA%VECT_PCONT ,output%DATA%VECT_PCONT_2 ,iad_elem,fr_elem ,weight ,
493 . nodglob ,fncontg,ftcontg,output%DATA%VECT_PCONT2,output%DATA%VECT_PCONT2_2,
494 . h3d_data ,csefric_stamp,csefricg_stamp,sz_npcont2,npcont2)
495 END IF
496 END IF
497C------------------------------------------------------
498C Compute maximum contact force and pressure
499C----------------------------------------------------
500 IF(anim_v(26)+h3d_data%N_VECT_CONT_MAX /=0) THEN
501 CALL fcont_max_output(output%DATA%VECT_CONT,fcontg,nodglob,fcont_max,weight)
502 ENDIF
503 IF(h3d_data%N_VECT_PCONT_MAX /=0) THEN
504 CALL fcont_max_output(output%DATA%VECT_PCONT,fncontg,nodglob,fncont_max,weight)
505 CALL fcont_max_output(output%DATA%VECT_PCONT_2,ftcontg,nodglob,ftcont_max,weight)
506 ENDIF
507 IF(h3d_data%N_VECT_CONT2_MAX /=0) THEN
508 CALL fcont2_max_output(output%DATA%VECT_CONT2,fcont2_max,weight)
509 ENDIF
510 IF(h3d_data%N_VECT_CONT2_MIN /=0) THEN
511 CALL fcont2_min_output(output%DATA%VECT_CONT2,fcont2_min,weight)
512 ENDIF
513 IF(h3d_data%N_VECT_PCONT2_MAX /=0) THEN
514 CALL fpcont2_max_output(output%DATA%VECT_PCONT2,fncont2_max,sz_npcont2,npcont2,weight,
515 . npcont2_max,numnod)
516 CALL fpcont2_max_output(output%DATA%VECT_PCONT2_2,ftcont2_max,sz_npcont2,npcont2,weight,
517 . npcont2_max,numnod)
518 ENDIF
519 IF(h3d_data%N_VECT_PCONT2_MIN /=0) THEN
520 CALL fpcont2_min_output(output%DATA%VECT_PCONT2,fncont2_min,sz_npcont2,npcont2,weight,
521 . npcont2_min,numnod)
522 CALL fpcont2_min_output(output%DATA%VECT_PCONT2_2,ftcont2_min,sz_npcont2,npcont2,weight,
523 . npcont2_min,numnod)
524 ENDIF
525
526 IF ( trigger_anim )THEN
527 ianim=ianim+1
528C N1 = 1
529C N2 = N1 + NUMNOD
530C N3 = 1
531C N4 = N3 + 3 * NUMNOD
532C N5 = N4 + NUMMAT + NUMGEO + 1
533C N6 = N5 + NUMELC + NUMELTG + NUMELQ + 6*NUMELS
534C . + NUMELT + NUMELP + NUMELR
535C N7 = N6 + NUMMAT
536
537! need to communicate the SKEW array on main proc
538 CALL spmd_sd_skw_anim(skew,iskwp)
539 nel3d = numels + numsph + 3*numels16
540 nel2d = numelc + numeltg + numelq
541 nel1d = numelt + numelp + 2*numelr + nanim1d
542 nel = max(nel1d,nel2d,nel3d)
543C
544 nelg = max( numelsg+3*numels16g+numsphg+27*numelig3d,
545 . numelcg+numeltgg+numelqg,
546 . numeltrg + numelpg + 2*numelrg + nanim1d)
547 sn1 = max(3*numnod,6*nel3d+6*27*numelig3d,3*nel2d,9*nel1d,numsph)
548 sn2 = nel+3*numels16+numsph
549 sn3 = 3 * numnod + 2*numels16 + 64*numelig3d
550 IF (nspmd > 1) THEN
551 DO ifv = 1, nfvbag
552 IF (kmesh(ifv) > 1) THEN
553 sn3 = sn3 + 3 * fvspmd(ifv)%NNA_L
554 ENDIF
555 ENDDO
556 ENDIF
557 sn4 = npart + 1
558 sn5 = nel2d
559 sn6 = npart
560 sn7 = nelg + 1
561 n1 = 1
562 n2 = n1 + max(3*numnod,6*nel3d,3*nel2d,9*nel1d)
563 n3 = n2 + nel
564 n4 = n3 + 3 * numnod
565 n5 = n4 + npart + 1
566 n6 = n5 + nel2d
567 n7 = n6 + npart
568 n8 = n7 + nel + 1
569 IF ((numelx>0) .OR. (numelxg>0)) THEN
570
571 skuix = 2*maxnx
572 skxusr = 3*maxnx
573 skfacptx = npart
574 skxedge = 2*nanim1d
575 skxfacet = 4*nanim2d
576 skxsolid = 8*nanim3d
577 sknumx1 = nanim1d
578 sknumx2 = nanim2d
579 sknumx3 = nanim3d
580 skoffx1 = nanim1d
581 skoffx2 = nanim2d
582 skoffx3 = nanim3d
583 skmass1 = nanim1d
584 skmass2 = nanim2d
585 skmass3 = nanim3d
586 skfunc1 = 10*nanim1d
587 skfunc2 = 10*nanim2d
588 skfunc3 = 10*nanim3d
589 ELSE
590 skuix = 1
591 skxusr = 1
592 skfacptx = 1
593 skxedge = 1
594 skxfacet = 1
595 skxsolid = 1
596 sknumx1 = 1
597 sknumx2 = 1
598 sknumx3 = 1
599 skoffx1 = 1
600 skoffx2 = 1
601 skoffx3 = 1
602 skmass1 = 1
603 skmass2 = 1
604 skmass3 = 1
605 skfunc1 = 1
606 skfunc2 = 1
607 skfunc3 = 1
608 ENDIF
609c a modifier
610 sig3dsolid = 8*27*numelig3d
611c
612 sn9 = npart
613C
614 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
615 k2=k1+numels
616 k3=k2+numelq
617 k4=k3+numelc
618 k5=k4+numelt
619 k6=k5+numelp
620 k7=k6+numelr
621 k8=k7+0
622 k9=k8+numeltg
623 k10=k9+numelx
624 k11=k10+numsph
625 k12=k11+numelig3d
626 l1=1+6*(numelc+numeltg)*iepsdot
627c
628 CALL genani(
629 1 x ,d ,v ,a ,elbuf ,
630 2 ixs ,ixq ,ixc ,ixt ,ixp ,
631 3 ixr ,ixtg ,sn1 ,sn2 ,sn3 ,
632 4 sn4 ,iparg ,pm ,geo ,ms ,
633 5 sn5 ,output%DATA%VECT_CONT ,sn6 ,icut ,skew ,
634 6 xcut ,output%DATA%VECT_FINT ,itab ,sn7 ,output%DATA%VECT_FEXT ,
635 7 output%DATA%FOPT ,lpby ,npby ,nstrf ,
636 8 rwbuf ,nprw ,tani ,elbuf_tab ,mat_param,
637 a dd_iad ,weight ,eani ,ipart ,cluster ,
638 b ipart(k1) ,ipart(k2) ,ipart(k3) ,ipart(k4) ,ipart(k5) ,
639 c ipart(k6) ,ipart(k7) ,ipart(k8) ,
640 d rby ,sn3 ,tani(l1) ,nom_opt ,igrsurf ,
641 e bufsf ,idata ,rdata ,sn9 ,bufmat ,
642 f bufgeo ,kxx ,ixx ,ipart(k9) ,skuix ,
643 g skxusr ,skfacptx ,skxedge ,skxfacet ,skxsolid ,
644 h sknumx1 ,sknumx2 ,sknumx3 ,skoffx1 ,skoffx2 ,
645 i skoffx3 ,skmass1 ,skmass2 ,skmass3 ,skfunc1 ,
646 j skfunc2 ,skfunc3 ,kxsp ,ixsp ,nod2sp ,
647 k ipart(k10) ,spbuf ,ixs10 ,ixs20 ,ixs16 ,
648 l vr ,monvol ,volmon ,ipm ,igeo,nodglob,
649 m iad_elem ,fr_elem ,fr_sec ,fr_rby2 ,iad_rby2 ,
650 n fr_wall ,iflow ,rflow ,output%DATA%VECT_PCONT ,output%DATA%VECT_PCONT_2 ,
651 o temp ,thke ,err_thk_sh4 ,err_thk_sh3 ,diag_sms,
652 p ipari ,output%DATA%VECT_CONT2 ,dr ,ale_connect ,
653 q irbe2 ,irbe3 ,lrbe2 ,lrbe3 ,fr_rbe2 ,
654 r fr_rbe3m ,iad_rbe2 ,dxancg ,inod_pxfem ,iel_pxfem,
655 s zi_ply ,vgaz ,fcontg ,fncontg ,ftcontg ,
656 t fanreac ,inod_crk ,iel_crk ,elcutc ,iadc_crk ,
657 u output%DATA%SCAL_DAMA2 ,res_sms ,weight_md ,nodglobxfe ,nodedge ,
658 v fcluster ,mcluster ,xfem_tab ,w ,
659 w nv46 ,ipart(k11),kxig3d ,ixig3d ,sig3dsolid,
660 x knot ,wige ,nercvois ,nesdvois ,lercvois ,
661 y lesdvois ,crkedge ,indx_crk ,xedge4n ,xedge3n ,
662 z stack ,sph2sol ,stifn ,stifr ,igrnod ,
663 1 h3d_data ,subset ,multi_fvm ,knotlocpc ,knotlocel ,
664 2 fcont_max ,output%DATA%VECT_PCONT2 ,output%DATA%VECT_PCONT2_2 ,glob_therm ,
665 . drape_sh4n, drape_sh3n, drapeg,output )
666c
667 ENDIF
668 IF(output%DTANIM_FCT_ID > 0) THEN
669 ! missing python here
670 output%DTANIM = finter(output%DTANIM_FCT_ID,tt+dt2,npc,tf,dydx)
671 ENDIF
672 IF((tt>=output%TANIM .AND.tt<=output%TANIM_STOP)) output%TANIM=output%TANIM+output%DTANIM
673 IF ((tstop<output%TANIM).AND.(output%TANIM<tstop+em06*tstop)
674 . .AND.(tstop+em06*tstop<output%TANIM+output%DTANIM)) THEN
675 output%TANIM=tstop
676! IF((TT>=OUTPUT%TANIM .AND. TT<=OUTPUT%TANIM_STOP))OUTPUT%TANIM=OUTPUT%TANIM+OUTPUT%DTANIM
677! IF ((TSTOP<OUTPUT%TANIM).AND.(OUTPUT%TANIM<TSTOP+EM06*TSTOP)
678! . .AND.(TSTOP+EM06*TSTOP<OUTPUT%TANIM+OUTPUT%DTANIM)) THEN
679! OUTPUT%TANIM=TSTOP
680 END IF
681C-----------------------------------------------
682C H3D FILE
683C-----------------------------------------------
684 IF (ilasth3d==1.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP) .OR. h3d_data%MH3D ==1 .OR.
685 . (mstop == 1 .AND. ictlstop == 0 .AND. h3d_data%IH3D/= 0) .OR.
686 . (mstop == 2 .AND. h3d_data%IH3D/= 0) .OR.
687 . (dt2<=zero .AND. h3d_data%IH3D/= 0) )THEN
688
689 h3d_data%IH3D=h3d_data%IH3D+1
690
691
692 nel3d = numels + numsph + 3*numels16
693 nel2d = numelc + numeltg + numelq
694 nel1d = numelt + numelp + 2*numelr + nanim1d
695 nel = max(nel1d,nel2d,nel3d)
696C
697 nelg = max( numelsg+3*numels16g+numsphg+27*numelig3d,
698 . numelcg+numeltgg+numelqg,
699 . numeltrg + numelpg + 2*numelrg + nanim1d)
700 sn1 = max(3*numnod,6*nel3d+6*27*numelig3d,3*nel2d,9*nel1d,numsph)
701 sn2 = nel+3*numels16+numsph
702 sn3 = 3 * numnod + 2*numels16 + 64*numelig3d
703 sn4 = npart + 1
704 sn5 = nel2d
705 sn6 = npart
706 sn7 = nelg + 1
707 n1 = 1
708 n2 = n1 + max(3*numnod,6*nel3d,3*nel2d,9*nel1d)
709 n3 = n2 + nel
710 n4 = n3 + 3 * numnod
711 n5 = n4 + npart + 1
712 n6 = n5 + nel2d
713 n7 = n6 + npart
714 n8 = n7 + nel + 1
715 IF ( (numelx>0) .OR.(numelxg>0) ) THEN
716
717 skuix = 2*maxnx
718 skxusr = 3*maxnx
719 skfacptx = npart
720 skxedge = 2*nanim1d
721 skxfacet = 4*nanim2d
722 skxsolid = 8*nanim3d
723 sknumx1 = nanim1d
724 sknumx2 = nanim2d
725 sknumx3 = nanim3d
726 skoffx1 = nanim1d
727 skoffx2 = nanim2d
728 skoffx3 = nanim3d
729 skmass1 = nanim1d
730 skmass2 = nanim2d
731 skmass3 = nanim3d
732 skfunc1 = 10*nanim1d
733 skfunc2 = 10*nanim2d
734 skfunc3 = 10*nanim3d
735 ELSE
736 skuix = 1
737 skxusr = 1
738 skfacptx = 1
739 skxedge = 1
740 skxfacet = 1
741 skxsolid = 1
742 sknumx1 = 1
743 sknumx2 = 1
744 sknumx3 = 1
745 skoffx1 = 1
746 skoffx2 = 1
747 skoffx3 = 1
748 skmass1 = 1
749 skmass2 = 1
750 skmass3 = 1
751 skfunc1 = 1
752 skfunc2 = 1
753 skfunc3 = 1
754 ENDIF
755c a modifier
756 sig3dsolid = 8*27*numelig3d
757c
758 sn9 = npart
759C
760 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
761 k2=k1+numels
762 k3=k2+numelq
763 k4=k3+numelc
764 k5=k4+numelt
765 k6=k5+numelp
766 k7=k6+numelr
767 k8=k7+0
768 k9=k8+numeltg
769 k10=k9+numelx
770 k11=k10+numsph
771 k12=k11+numelig3d
772 l1=1+6*(numelc+numeltg)*iepsdot
773c
774 CALL genh3d(output, timers,
775 1 x ,d ,v ,a ,elbuf ,
776 2 ixs ,ixq ,ixc ,ixt ,ixp ,
777 3 ixr ,ixtg ,sn1 ,sn2 ,sn3 ,
778 4 sn4 ,iparg ,pm ,geo ,ms ,
779 5 sn5 ,output%DATA%VECT_CONT ,sn6 ,icut ,skew ,
780 6 xcut ,output%DATA%VECT_FINT ,itab ,sn7 ,output%DATA%VECT_FEXT,
781 7 output%DATA%FOPT ,lpby ,npby ,nstrf ,
782 8 rwbuf ,nprw ,tani ,elbuf_tab ,mat_param,
783 a dd_iad ,weight ,eani ,ipart ,cluster ,
784 b ipart(k1) ,ipart(k2) ,ipart(k3) ,ipart(k4) ,ipart(k5) ,
785 c ipart(k6) ,ipart(k7) ,ipart(k8) ,
786 d rby ,sn3 ,tani(l1) ,nom_opt ,
787 e bufsf ,idata ,rdata ,sn9 ,bufmat ,
788 f bufgeo ,kxx ,ixx ,ipart(k9) ,skuix ,
789 g skxusr ,skfacptx ,skxedge ,skxfacet ,skxsolid ,
790 h sknumx1 ,sknumx2 ,sknumx3 ,skoffx1 ,skoffx2 ,
791 i skoffx3 ,skmass1 ,skmass2 ,skmass3 ,skfunc1 ,
792 j skfunc2 ,skfunc3 ,kxsp ,ixsp ,nod2sp ,
793 k ipart(k10) ,spbuf ,ixs10 ,ixs20 ,ixs16 ,
794 l vr ,monvol ,volmon ,ipm ,igeo,nodglob,
795 m iad_elem ,fr_elem ,fr_sec ,fr_rby2 ,iad_rby2 ,
796 n fr_wall ,iflow ,rflow ,output%DATA%VECT_PCONT ,output%DATA%VECT_PCONT_2,
797 o temp ,thke ,err_thk_sh4 ,err_thk_sh3 ,diag_sms,
798 p ipari ,output%DATA%VECT_CONT2 ,dr ,ale_connect ,
799 q irbe2 ,irbe3 ,lrbe2 ,lrbe3 ,fr_rbe2 ,
800 r fr_rbe3m ,iad_rbe2 ,dxancg ,inod_pxfem ,iel_pxfem,
801 s zi_ply ,vgaz ,fcontg ,fncontg ,ftcontg ,
802 t fanreac ,inod_crk ,iel_crk ,elcutc ,iadc_crk ,
803 u output%DATA%SCAL_DAMA2 ,res_sms ,weight_md ,nodglobxfe ,nodedge ,
804 v fcluster ,mcluster ,xfem_tab ,w ,
805 w nv46 ,ipart(k11),kxig3d ,ixig3d ,sig3dsolid,
806 x knot ,wige ,nercvois ,nesdvois ,lercvois ,
807 y lesdvois ,crkedge ,indx_crk ,xedge4n ,xedge3n ,
808 z stack ,sph2sol ,stifn ,stifr ,igrnod ,
809 1 sh4tree ,sh3tree ,h3d_data ,multi_fvm ,subset ,
810 2 pskids ,tag_skins6,tf ,npc ,fcont_max ,
811 3 mds_matid ,output%DATA%VECT_PCONT2 ,output%DATA%VECT_PCONT2_2 ,ibcl ,iloadp ,
812 4 lloadp ,loadp ,sensors ,tagncont ,loadp_hyd_inter,
813 5 xframe ,forc ,ar ,csefric ,csefricg ,
814 6 csefric_stamp,csefricg_stamp,table ,iframe ,loads ,
815 7 drape_sh4n, drape_sh3n, drapeg ,x_c ,glob_therm,pblast)
816 ENDIF
817 IF(ALLOCATED(csefric)) DEALLOCATE(csefric)
818 IF(ALLOCATED(csefricg)) DEALLOCATE(csefricg)
819 IF(ALLOCATED(csefric_stamp)) DEALLOCATE(csefric_stamp)
820 IF(ALLOCATED(csefricg_stamp)) DEALLOCATE(csefricg_stamp)
821
822 IF(h3d_data%DTH3D_FCT_ID > 0) THEN
823 h3d_data%DTH3D = finter(h3d_data%DTH3D_FCT_ID,tt+dt2,npc,tf,dydx)
824 ENDIF
825
826 IF(tt>=h3d_data%TH3D) h3d_data%TH3D = h3d_data%TH3D + h3d_data%DTH3D
827 IF((tstop< h3d_data%TH3D).AND.(h3d_data%TH3D < tstop+em06*tstop) .AND.(tstop+em06*tstop< h3d_data%TH3D + h3d_data%DTH3D)) THEN
828 h3d_data%TH3D = tstop
829 END IF
830
831 IF (ispmd==0) THEN
832 leng = numnodg
833 ELSE
834 leng = 0
835 ENDIF
836C
837 IF(tt>=toutp.OR.
838 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
839 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
840 . moutpt==1) THEN
841 ioutp=ioutp+1
842 CALL genoutp(x ,d ,v ,a ,
843 2 ixs ,ixq ,ixc ,ixt ,ixp ,
844 3 ixr ,ixtg ,iparg ,pm ,igeo ,
845 4 ms ,output%DATA%VECT_CONT ,itab ,partsav,output%DATA%VECT_FINT ,
846 5 output%DATA%VECT_FEXT ,tani ,eani ,ipart ,
847 6 vr ,elbuf_tab ,dd_iad ,weight,
848 7 ipm ,kxsp ,spbuf ,nodglob,leng ,
849 8 output%DATA%FOPT ,nom_opt ,npby ,output%DATA%VECT_PCONT ,output%DATA%VECT_PCONT_2 ,
850 9 geo ,thke ,stack ,drape_sh4n, drape_sh3n,
851 a drapeg,output)
852 IF(tt>=toutp)toutp=toutp+dtoutp
853 IF ((tstop<toutp).AND.(toutp<tstop+em06*tstop)
854 . .AND.(tstop+em06*tstop<toutp+dtoutp)) THEN
855 toutp=tstop
856 END IF
857 END IF
858C
859C .sta files
860 IF(tt>=tstat.OR.
861 . manim==8 .OR.manim==9 .OR.manim==10.OR.manim==11.OR.
862 . manim==12.OR.manim==13.OR.manim==14.OR.manim==15.OR.
863 . mstatt==1) THEN
864 istatf=istatf+1
865
866 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
867 k2=k1+numels
868 k3=k2+numelq
869 k4=k3+numelc
870 k5=k4+numelt
871 k6=k5+numelp
872 k7=k6+numelr
873 k8=k7+0
874 k9=k8+numeltg
875 k10=k9+numelx
876 k11=k10+numsph
877C
878 IF (ispmd==0) THEN
879 lengc = numelcg
880 lengtg= numeltgg
881 lengs = numelsg
882 lengr = numelrg
883 lengp = numelpg
884 lengt = numeltrg
885 lengq = numelqg
886 lengsph = numsphg
887 ELSE
888 lengc = 0
889 lengtg= 0
890 lengs = 0
891 lengr = 0
892 lengp = 0
893 lengt = 0
894 lengq = 0
895 lengsph = 0
896 ENDIF
897C
898 CALL genstat(x ,ms ,elbuf_tab, elbuf ,spbuf ,
899 2 ixs ,ixq ,ixc ,ixt ,ixp ,
900 3 ixr ,ixtg ,kxsp ,iparg ,ipm ,
901 4 igeo ,itab ,ipart ,pm ,geo ,
902 5 ipart(k1),ipart(k2),ipart(k3),ipart(k4),ipart(k5) ,
903 6 ipart(k6),ipart(k7),ipart(k8),ipart(k9),ipart(k10),
904 7 dd_iad ,weight,nodglob ,leng ,ipart_state,
905 8 lengc ,lengtg,sh4tree ,sh3tree, lengs,
906 9 sh4trim ,sh3trim,temp ,ixs10 ,thke ,
907 a ixs16 ,ixs20 ,icode ,lengr ,lengp ,
908 b lengt ,iskew ,v ,vr ,lengq ,
909 c multi_fvm,bufmat ,npby ,lpby ,stack ,
910 d drape_sh4n, drape_sh3n,dr,drapeg ,mat_param,
911 e ipart(k10),output,lengsph,numsphg,glob_therm%ITHERM_FE)
912 IF(tt>=tstat)tstat=tstat+dtstat
913 IF ((tstop<tstat).AND.(tstat<tstop+em06*tstop)
914 . .AND.(tstop+em06*tstop<tstat+dtstat)) THEN
915 tstat=tstop
916 END IF
917 END IF
918C----------------------
919C DYNAIN FILE
920C----------------------
921 IF(tt>=dynain_data%TDYNAIN) THEN
922 dynain_data%IDYNAINF=dynain_data%IDYNAINF+1
923
924 k1=1+lipart1*(npart+nthpart)+2*9*(npart+nthpart)
925 k2=k1+numels
926 k3=k2+numelq
927 k4=k3+numelc
928 k5=k4+numelt
929 k6=k5+numelp
930 k7=k6+numelr
931 k8=k7+0
932 k9=k8+numeltg
933 k10=k9+numelx
934 k11=k10+numsph
935C
936 IF (ispmd==0) THEN
937 lengc = numelcg
938 lengtg= numeltgg
939 ELSE
940 lengc = 0
941 lengtg= 0
942 ENDIF
943C
944 CALL gendynain(x ,elbuf_tab, elbuf ,ixc ,ixtg ,
945 2 iparg ,ipm , igeo ,itab ,ipart ,
946 3 pm ,geo , ipart(k3),ipart(k8),leng ,
947 4 lengc ,lengtg , weight ,nodglob ,thke ,
948 5 npby ,lpby , stack ,drape_sh4n ,drape_sh3n ,
949 6 dynain_data,drapeg ,mat_param)
950
951 IF(tt>=dynain_data%TDYNAIN)dynain_data%TDYNAIN=dynain_data%TDYNAIN+dynain_data%DTDYNAIN
952 IF ((tstop<dynain_data%TDYNAIN).AND.(dynain_data%TDYNAIN<tstop+em06*tstop)
953 . .AND.(tstop+em06*tstop<dynain_data%TDYNAIN+dynain_data%DTDYNAIN)) THEN
954 dynain_data%TDYNAIN=tstop
955 END IF
956 END IF
957
958C----------------------
959C g and t files
960C----------------------
961 IF(nabfile /= 0) THEN
962 tabfwr0(1) = tabfwr(1)
963 tabfwr0(2) = tabfwr(2)
964 tabfwr0(3) = tabfwr(3)
965 tabfwr0(4) = tabfwr(4)
966 tabfwr0(5) = tabfwr(5)
967 tabfwr0(6) = tabfwr(6)
968 tabfwr0(7) = tabfwr(7)
969 tabfwr0(8) = tabfwr(8)
970 tabfwr0(9) = tabfwr(9)
971 tabfwr0(10) = tabfwr(10)
972 ENDIF
973 IF(ninter+nexmad/=0.AND.anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT > 0)THEN
974 IF(output%DATA%S_VECT_CONT > 0) CALL anicon0(output%DATA%VECT_CONT,numnod)
975 !law151 reaction forces can be output only with H3D (not ANIM files since vectors are at element centroids)
976 IF (multi_fvm%IS_USED .AND. h3d_data%N_VECT_CONT > 0)CALL anicon0(output%DATA%FANI_CELL%F18,numels+numelq) !/H3D/ELEM/VECT/CONT
977 ENDIF
978 IF(nintstamp/=0.AND.anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0)THEN
979 CALL anicon2(fcontg,ncont,indexcont)
980 ENDIF
981 IF(ninter/=0.AND.anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0)THEN
982 CALL anicon0(output%DATA%VECT_PCONT,numnod)
983 CALL anicon0(output%DATA%VECT_PCONT_2,numnod)
984 ENDIF
985 IF(nintstamp/=0.AND.anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0)THEN
986 IF(iflag_anipcont > 0) THEN
987 CALL anicon0(fncontg,numnodg)
988 CALL anicon0(ftcontg,numnodg)
989 ELSE
990 CALL anicon2(fncontg,ncont,indexcont)
991 CALL anicon2(ftcontg,ncont,indexcont)
992 ENDIF
993 ENDIF
994
995 IF(ninter/=0.AND.anim_v(27)+h3d_data%N_VECT_PCONT2>0)THEN
996 CALL anicon0(output%DATA%VECT_PCONT2,numnod)
997 CALL anicon0(output%DATA%VECT_PCONT2_2,numnod)
998 CALL anicon0(npcont2,numnod)
999 ENDIF
1000
1001 n1 = 1
1002C second temporary array of size ngroup for spmd
1003 n2 = 1
1004C
1005 IF (th_vers < 40)THEN
1006
1007 WRITE(istdo,*)' ** ERROR : TH VERSION OLDER THAN 41 IS ',
1008 * 'NO MORE SUPPORTED'
1009 ELSE
1010c check if an update of any output (TH,tha,thb,abf,..) is done
1011c in this case set flag to 1
1012 thupdt = 0
1013 IF(tt>=output%TH%THIS) THEN
1014 thupdt = 1
1015 ELSEIF(nabfile/=0)THEN
1016 IF(tt>=tabfis(1)) thupdt = 1
1017 ENDIF
1018 IF(thupdt==0)THEN
1019 DO i=1,9
1020 IF(tt>=output%TH%THIS1(i)) THEN
1021 thupdt = 1
1022 ELSEIF(nabfile/=0)THEN
1023 IF(tt>=tabfis(i+1)) thupdt = 1
1024 ENDIF
1025 ENDDO
1026 ENDIF
1027
1028 IF (ilastanim/=1.AND.ilastanim/=2) THEN
1029C To have double points
1030 IF (nthgrp01(1)/=0)THEN
1031 iunit = iuhi(1)
1032 ifil = iunit
1033 IF (tt>=output%TH%THIS1(1))THEN
1034 size_mes=1
1035 ELSE
1036 size_mes=0
1037 ENDIF
1038 ithflag = 1
1039 CALL hist2(pm ,d ,x ,v ,a ,
1040 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1041 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1042 5 partsav,accelm,nsensor ,mat_param,
1043 6 weight,ipart,igrsurf,ebcs_tab,
1044 7 output%TH%ITHGRPA, output%TH%ITHBUFA, subset,geo ,
1045 8 kxx ,ixr,
1046 9 kxsp ,nod2sp ,spbuf ,
1047 b ar ,vr ,dr,
1048 d ixri ,rivet ,ixp ,
1049 e iskwn ,iframe ,xframe ,ixc ,ixq ,
1050 f output%TH%DTHIS1(1),output%TH%THIS1(1), ifil, nthgrp1(1),ixtg ,
1051 g igeo ,ipm ,
1052 h ipartl,npartl, iaccp , naccp ,
1053 i iparth ,2 ,1 ,
1054 j monvol,volmon,fr_mv ,temp,inod_pxfem,
1055 k fthreac,nodreac,gresav ,gauge ,
1056 l igaup ,ngaup ,aform(1),size_mes,
1057 m rthbuf ,thke ,stack ,isphio ,vsphio,
1058 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFA,
1059 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1060
1061 IF (size_mes==1 .AND.aform(1)==3 .AND.ispmd==0 )
1062 * CALL file_size(multithfilesize(1))
1063
1064
1065
1066 IF(abfile(2) /= 0) THEN
1067#ifdef DNC
1068 ifilabf = 12
1069 CALL abfhist2(pm ,d ,x ,v ,a ,
1070 2 ixs ,elbuf,wa(n2),iparg,
1071 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1072 5 partsav,accelm,lout ,nsensor ,mat_param,
1073 6 ipari,weight,ipart,igrsurf,
1074 7 output%TH%ITHGRPA,output%TH%ITHBUFA,subset,geo ,
1075 8 kxx ,ixr,
1076 9 kxsp ,nod2sp ,spbuf ,
1077 b npartsav,ar ,vr ,dr,
1078 d fsavd ,ixri ,rivet , ixp ,
1079 e iskwn ,iframe ,xframe,ixc ,ixq,
1080 f dtabf(2), tabfis(2),ifilabf,nthgrp1(1),ixtg,
1081 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1082 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1083 i iparth ,2 ,1 ,
1084 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1085 k fthreac,nodreac,gresav ,tabfwr(2),
1086 l 2 ,gauge ,igaup,ngaup ,rthbuf ,thke ,
1087 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1088 n output%TH%SITHBUFA,glob_therm,output)
1089 cptfile=cptfile+1
1090
1091 IF(tt>=tabfwr0(2) .AND. ispmd == 0) THEN
1092 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_a.tmp'
1093 long_tmp = 11
1094 len_tmp_name = outfile_name_len+long_tmp+rootlen
1095 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1096 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_a.abf'
1097 long = 11
1098
1099 len_tmp_name2 = outfile_name_len+long+rootlen
1100 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1101 DO i=1,len_tmp_name2!ROOTLEN+LONG
1102 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1103 ENDDO
1104 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1105 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1106 ENDDO
1107! CALL ABFFILE_UPDATE(ABINP,ABOUT,NABFWR(2),IFILNAM,
1108! . ROOTLEN+LONG,IFILNAM_TMP,ROOTLEN+LONG_TMP,
1109! . CPTFILE)
1110 CALL abffile_update(abinp,about,nabfwr(2),ifilnam,
1111 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1112 . cptfile)
1113 nabfwr(2) = 0
1114 ENDIF
1115#endif
1116 ELSE
1117 tabfis(2)= ep30
1118 ENDIF
1119
1120 ELSE
1121 output%TH%THIS1(1)= ep30
1122 tabfis(2)= ep30
1123 ENDIF
1124C
1125 IF(nthgrp01(2)/=0)THEN
1126 iunit = iuhi(2)
1127 ifil = iunit
1128 IF (tt>=output%TH%THIS1(2))THEN
1129 size_mes=1
1130 ELSE
1131 size_mes=0
1132 ENDIF
1133 ithflag = 2
1134 CALL hist2(pm ,d ,x ,v ,a ,
1135 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1136 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1137 5 partsav,accelm,nsensor ,mat_param,
1138 6 weight,ipart,igrsurf,ebcs_tab,
1139 7 output%TH%ITHGRPB,output%TH%ITHBUFB,subset,geo ,
1140 8 kxx ,ixr,
1141 9 kxsp ,nod2sp ,spbuf ,
1142 b ar ,vr ,dr,
1143 d ixri ,rivet ,ixp ,
1144 e iskwn ,iframe ,xframe,ixc ,ixq ,
1145 f output%TH%DTHIS1(2),output%TH%THIS1(2), ifil, nthgrp1(2),ixtg ,
1146 g igeo ,ipm ,
1147 h ipartl,npartl, iaccp , naccp ,
1148 i iparth(1,(npart+nthpart)+1),2,1,
1149 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1150 k fthreac,nodreac,gresav ,gauge ,
1151 l igaup ,ngaup, aform(2),size_mes,
1152 m rthbuf ,thke ,stack,isphio ,vsphio,
1153 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFB,
1154 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1155
1156 IF (size_mes==1 .AND.aform(2)==3 .AND.ispmd==0 )
1157 * CALL file_size(multithfilesize(2))
1158
1159 IF(abfile(3) /= 0) THEN
1160#ifdef DNC
1161 ifilabf = 13
1162 CALL abfhist2(pm ,d ,x ,v ,a ,
1163 2 ixs ,elbuf,wa(n2),iparg,
1164 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1165 5 partsav,accelm,lout ,nsensor ,mat_param,
1166 6 ipari,weight,ipart,igrsurf,
1167 7 output%TH%ITHGRPB,output%TH%ITHBUFB,subset,geo ,
1168 8 kxx ,ixr,
1169 9 kxsp ,nod2sp ,spbuf ,
1170 b npartsav,ar ,vr ,dr,
1171 d fsavd ,ixri ,rivet , ixp ,
1172 e iskwn ,iframe ,xframe,ixc ,ixq,
1173 f dtabf(3), tabfis(3),ifilabf,nthgrp1(2),ixtg ,
1174 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1175 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1176 i iparth(1,(npart+nthpart)+1),2 ,1 ,
1177 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1178 k fthreac,nodreac,gresav ,tabfwr(3),
1179 l 3 ,gauge ,igaup,ngaup ,rthbuf ,thke,
1180 m stack ,isphio ,vsphio,ithflag,2,pinch_data,multi_fvm,w,
1181 n output%TH%SITHBUFB,glob_therm,output)
1182 cptfile=cptfile+1
1183
1184 IF(tt>=tabfwr0(3) .AND. ispmd == 0) THEN
1185 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_b.tmp'
1186 long_tmp = 11
1187 len_tmp_name = outfile_name_len+long_tmp+rootlen
1188 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1189
1190 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_b.abf'
1191 long = 11
1192 len_tmp_name2 = outfile_name_len+long+rootlen
1193 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1194
1195 DO i=1,len_tmp_name2!ROOTLEN+LONG
1196 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1197 ENDDO
1198 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1199 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1200 ENDDO
1201
1202 CALL abffile_update(abinp,about,nabfwr(3),ifilnam,
1203 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1204 . cptfile)
1205 nabfwr(3) = 0
1206 ENDIF
1207#endif
1208 ELSE
1209 tabfis(3)= ep30
1210 ENDIF
1211
1212
1213
1214 ELSE
1215 output%TH%THIS1(2)= ep30
1216 tabfis(3)= ep30
1217 ENDIF
1218C
1219 IF(nthgrp01(3)/=0)THEN
1220 iunit = iuhi(3)
1221 ifil = iunit
1222!
1223 IF (tt>=output%TH%THIS1(3))THEN
1224 size_mes=1
1225 ELSE
1226 size_mes=0
1227 ENDIF
1228 ithflag = 3
1229 CALL hist2(pm ,d ,x ,v ,a ,
1230 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1231 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1232 5 partsav,accelm,nsensor ,mat_param,
1233 6 weight,ipart,igrsurf,ebcs_tab,
1234 7 output%TH%ITHGRPC,output%TH%ITHBUFC,subset,geo ,
1235 8 kxx ,ixr,
1236 9 kxsp ,nod2sp ,spbuf ,
1237 b ar ,vr ,dr,
1238 d ixri ,rivet , ixp ,
1239 e iskwn ,iframe ,xframe,ixc ,ixq ,
1240 f output%TH%DTHIS1(3),output%TH%THIS1(3), ifil, nthgrp1(3),ixtg ,
1241 g igeo ,ipm ,
1242 h ipartl,npartl, iaccp , naccp ,
1243 i iparth(1,2*(npart+nthpart)+1),2,1,
1244 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1245 k fthreac,nodreac,gresav ,gauge ,
1246 l igaup ,ngaup ,aform(3),size_mes,
1247 m rthbuf ,thke ,stack ,isphio ,vsphio,
1248 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFC,
1249 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1250
1251 IF(size_mes==1 .AND.
1252 * aform(3)==3 .AND.
1253 * ispmd==0 ) CALL file_size(multithfilesize(3))
1254 IF(abfile(4) /= 0) THEN
1255#ifdef DNC
1256 ifilabf = 14
1257 CALL abfhist2(pm ,d ,x ,v ,a ,
1258 2 ixs ,elbuf,wa(n2),iparg,
1259 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1260 5 partsav,accelm,lout ,nsensor ,mat_param,
1261 6 ipari,weight,ipart,igrsurf,
1262 7 output%TH%ITHGRPC,output%TH%ITHBUFC,subset,geo ,
1263 8 kxx ,ixr,
1264 9 kxsp ,nod2sp ,spbuf ,
1265 b npartsav,ar ,vr ,dr,
1266 d fsavd ,ixri ,rivet , ixp ,
1267 e iskwn ,iframe ,xframe,ixc ,ixq,
1268 f dtabf(4), tabfis(4),ifilabf,nthgrp1(1),ixtg ,
1269 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1270 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1271 i ipart ,2 ,1 ,
1272 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1273 k fthreac,nodreac,gresav ,tabfwr(4),
1274 l 4 ,gauge ,igaup,ngaup ,rthbuf ,thke ,
1275 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1276 n output%TH%SITHBUFC,glob_therm,output)
1277 cptfile=cptfile+1
1278
1279 IF(tt>=tabfwr0(4) .AND. ispmd == 0) THEN
1280 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_c.tmp'
1281 long_tmp = 11
1282 len_tmp_name = outfile_name_len+long_tmp+rootlen
1283 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1284
1285 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_c.abf'
1286 long = 11
1287 len_tmp_name2 = outfile_name_len+long+rootlen
1288 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1289
1290 DO i=1,len_tmp_name2!ROOTLEN+LONG
1291 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1292 ENDDO
1293 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1294 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1295 ENDDO
1296 CALL abffile_update(abinp,about,nabfwr(4),ifilnam,
1297 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1298 . cptfile)
1299 nabfwr(4) = 0
1300 ENDIF
1301#endif
1302 ELSE
1303 tabfis(4)= ep30
1304 ENDIF
1305 ELSE
1306 output%TH%THIS1(3)= ep30
1307 tabfis(4)= ep30
1308 ENDIF
1309C
1310 IF(nthgrp01(4)/=0)THEN
1311 iunit = iuhi(4)
1312 ifil = iunit
1313!
1314 IF (tt>=output%TH%THIS1(4))THEN
1315 size_mes=1
1316 ELSE
1317 size_mes=0
1318 ENDIF
1319 ithflag = 4
1320 CALL hist2(pm ,d ,x ,v ,a ,
1321 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1322 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1323 5 partsav,accelm,nsensor ,mat_param,
1324 6 weight,ipart,igrsurf,ebcs_tab,
1325 7 output%TH%ITHGRPD,output%TH%ITHBUFD,subset,geo ,
1326 8 kxx ,ixr,
1327 9 kxsp ,nod2sp ,spbuf ,
1328 b ar ,vr ,dr,
1329 d ixri ,rivet , ixp,
1330 e iskwn ,iframe ,xframe,ixc ,ixq ,
1331 f output%TH%DTHIS1(4),output%TH%THIS1(4), ifil, nthgrp1(4),ixtg ,
1332 g igeo ,ipm ,
1333 h ipartl,npartl, iaccp , naccp ,
1334 i iparth(1,3*(npart+nthpart)+1),2,1,
1335 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1336 k fthreac,nodreac,gresav ,gauge ,
1337 l igaup ,ngaup ,aform(4),size_mes,
1338 m rthbuf ,thke ,stack ,isphio ,vsphio,
1339 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFD,
1340 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1341
1342 IF(size_mes==1 .AND.
1343 * aform(4)==3 .AND.
1344 * ispmd==0 )CALL file_size(multithfilesize(4))
1345
1346
1347 IF(abfile(5) /= 0) THEN
1348#ifdef DNC
1349 ifilabf = 15
1350 CALL abfhist2(pm ,d ,x ,v ,a ,
1351 2 ixs ,elbuf,wa(n2),iparg,
1352 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1353 5 partsav,accelm,lout ,nsensor ,mat_param,
1354 6 ipari,weight,ipart,igrsurf,
1355 7 output%TH%ITHGRPD,output%TH%ITHBUFD,subset,geo ,
1356 8 kxx ,ixr,
1357 9 kxsp ,nod2sp ,spbuf ,
1358 b npartsav,ar ,vr ,dr,
1359 d fsavd ,ixri ,rivet , ixp ,
1360 e iskwn ,iframe ,xframe,ixc ,ixq,
1361 f dtabf(5), tabfis(5),ifilabf,nthgrp1(1),ixtg ,
1362 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1363 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1364 i ipart ,2 ,1 ,
1365 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1366 k fthreac,nodreac,gresav ,tabfwr(5),
1367 l 5 ,gauge ,igaup,ngaup ,rthbuf ,thke ,
1368 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1369 n output%TH%SITHBUFD,glob_therm,output)
1370 cptfile=cptfile+1
1371
1372 IF(tt>=tabfwr0(5) .AND. ispmd == 0) THEN
1373 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_d.tmp'
1374 long_tmp = 11
1375 len_tmp_name = outfile_name_len+long_tmp+rootlen
1376 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1377
1378 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_d.abf'
1379 long = 11
1380 len_tmp_name2 = outfile_name_len+long+rootlen
1381 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1382 DO i=1,len_tmp_name2!ROOTLEN+LONG
1383 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1384 ENDDO
1385 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1386 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1387 ENDDO
1388 CALL abffile_update(abinp,about,nabfwr(5),ifilnam,
1389 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1390 . cptfile)
1391 nabfwr(5) = 0
1392 ENDIF
1393#endif
1394 ELSE
1395 tabfis(5)= ep30
1396 ENDIF
1397 ELSE
1398 output%TH%THIS1(4)= ep30
1399 tabfis(5)= ep30
1400 ENDIF
1401C
1402 IF(nthgrp01(5)/=0)THEN
1403 iunit = iuhi(5)
1404 ifil = iunit
1405!
1406 IF (tt>=output%TH%THIS1(5))THEN
1407 size_mes=1
1408 ELSE
1409 size_mes=0
1410 ENDIF
1411 ithflag = 5
1412 CALL hist2(pm ,d ,x ,v ,a ,
1413 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1414 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1415 5 partsav,accelm,nsensor ,mat_param,
1416 6 weight,ipart,igrsurf,ebcs_tab,
1417 7 output%TH%ITHGRPE,output%TH%ITHBUFE,subset,geo ,
1418 8 kxx ,ixr,
1419 9 kxsp ,nod2sp ,spbuf ,
1420 b ar ,vr ,dr,
1421 d ixri ,rivet , ixp ,
1422 e iskwn ,iframe ,xframe,ixc ,ixq ,
1423 f output%TH%DTHIS1(5),output%TH%THIS1(5), ifil, nthgrp1(5),ixtg ,
1424 g igeo ,ipm ,
1425 h ipartl,npartl, iaccp , naccp ,
1426 i iparth(1,4*(npart+nthpart)+1),2,1,
1427 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1428 k fthreac,nodreac,gresav ,gauge ,
1429 l igaup ,ngaup ,aform(5),size_mes,
1430 m rthbuf ,thke ,stack ,isphio ,vsphio,
1431 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFE,
1432 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1433
1434 IF(size_mes==1 .AND.
1435 * aform(5)==3 .AND.
1436 * ispmd==0 ) CALL file_size(multithfilesize(5))
1437
1438 IF(abfile(6) /= 0) THEN
1439#ifdef DNC
1440 ifilabf = 16
1441 CALL abfhist2(pm ,d ,x ,v ,a ,
1442 2 ixs ,elbuf,wa(n2),iparg,
1443 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1444 5 partsav,accelm,lout ,nsensor ,mat_param,
1445 6 ipari,weight,ipart,igrsurf,
1446 7 output%TH%ITHGRPE,output%TH%ITHBUFE,subset,geo ,
1447 8 kxx ,ixr,
1448 9 kxsp ,nod2sp ,spbuf ,
1449 b npartsav,ar ,vr ,dr,
1450 d fsavd ,ixri ,rivet , ixp ,
1451 e iskwn ,iframe ,xframe,ixc ,ixq,
1452 f dtabf(6), tabfis(6),ifilabf,nthgrp1(1),ixtg ,
1453 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1454 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1455 i ipart ,2 ,1 ,
1456 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1457 k fthreac,nodreac,gresav ,tabfwr(6),
1458 l 6 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1459 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1460 n output%TH%SITHBUFE,glob_therm,output)
1461 cptfile=cptfile+1
1462
1463 IF(tt>=tabfwr0(6) .AND. ispmd == 0) THEN
1464 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_e.tmp'
1465 long_tmp = 11
1466 len_tmp_name = outfile_name_len+long_tmp+rootlen
1467 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1468
1469 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_e.abf'
1470 long = 11
1471 len_tmp_name2 = outfile_name_len+long+rootlen
1472 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1473
1474 DO i=1,len_tmp_name2!ROOTLEN+LONG
1475 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1476 ENDDO
1477 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1478 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1479 ENDDO
1480 CALL abffile_update(abinp,about,nabfwr(6),ifilnam,
1481 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1482 . cptfile)
1483 nabfwr(6) = 0
1484 ENDIF
1485#endif
1486 ELSE
1487 tabfis(6)= ep30
1488 ENDIF
1489 ELSE
1490 output%TH%THIS1(5)= ep30
1491 tabfis(6)= ep30
1492 ENDIF
1493C
1494 IF(nthgrp01(6)/=0)THEN
1495 iunit = iuhi(6)
1496 ifil = iunit
1497 IF (tt>=output%TH%THIS1(6))THEN
1498 size_mes=1
1499 ELSE
1500 size_mes=0
1501 ENDIF
1502 ithflag = 6
1503 CALL hist2(pm ,d ,x ,v ,a ,
1504 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1505 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1506 5 partsav,accelm,nsensor ,mat_param,
1507 6 weight,ipart,igrsurf,ebcs_tab,
1508 7 output%TH%ITHGRPF,output%TH%ITHBUFF,subset,geo ,
1509 8 kxx ,ixr,
1510 9 kxsp ,nod2sp ,spbuf ,
1511 b ar ,vr ,dr,
1512 d ixri ,rivet , ixp ,
1513 e iskwn ,iframe ,xframe,ixc ,ixq ,
1514 f output%TH%DTHIS1(6),output%TH%THIS1(6), ifil, nthgrp1(6),ixtg ,
1515 g igeo ,ipm ,
1516 h ipartl,npartl, iaccp , naccp ,
1517 i iparth(1,5*(npart+nthpart)+1),2,1,
1518 j monvol,volmon,fr_mv ,temp,inod_pxfem,
1519 k fthreac,nodreac,gresav ,gauge ,
1520 l igaup,ngaup ,aform(6),size_mes,
1521 m rthbuf,thke ,stack ,isphio ,vsphio,
1522 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFF,
1523 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1524
1525 IF(size_mes==1 .AND.
1526 * aform(6)==3 .AND.
1527 * ispmd==0 ) CALL file_size(multithfilesize(6))
1528
1529 IF(abfile(7) /= 0) THEN
1530#ifdef DNC
1531 ifilabf = 17
1532 CALL abfhist2(pm ,d ,x ,v ,a ,
1533 2 ixs ,elbuf,wa(n2),iparg,
1534 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1535 5 partsav,accelm,lout ,nsensor ,mat_param,
1536 6 ipari,weight,ipart,igrsurf,
1537 7 output%TH%ITHGRPF,output%TH%ITHBUFF,subset,geo ,
1538 8 kxx ,ixr,
1539 9 kxsp ,nod2sp ,spbuf ,
1540 b npartsav,ar ,vr ,dr,
1541 d fsavd ,ixri ,rivet , ixp ,
1542 e iskwn ,iframe ,xframe,ixc ,ixq,
1543 f dtabf(7), tabfis(7),ifilabf,nthgrp1(1),ixtg ,
1544 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1545 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1546 i ipart ,2 ,1 ,
1547 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1548 k fthreac,nodreac,gresav ,tabfwr(7),
1549 l 7 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1550 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1551 n output%TH%SITHBUFF,glob_therm,output)
1552 cptfile=cptfile+1
1553
1554 IF(tt>=tabfwr0(7) .AND. ispmd == 0) THEN
1555 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_f.tmp'
1556 long_tmp = 11
1557 len_tmp_name = outfile_name_len+long_tmp+rootlen
1558 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1559
1560 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_f.abf'
1561 long = 11
1562 len_tmp_name2 = outfile_name_len+long+rootlen
1563 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1564
1565 DO i=1,len_tmp_name2!ROOTLEN+LONG
1566 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1567 ENDDO
1568 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1569 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1570 ENDDO
1571 CALL abffile_update(abinp,about,nabfwr(7),ifilnam,
1572 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1573 . cptfile)
1574 nabfwr(7) = 0
1575 ENDIF
1576#endif
1577 ELSE
1578 tabfis(7)= ep30
1579 ENDIF
1580 ELSE
1581 output%TH%THIS1(6)= ep30
1582 tabfis(7)= ep30
1583 ENDIF
1584C
1585 IF(nthgrp01(7)/=0)THEN
1586 iunit = iuhi(7)
1587 ifil = iunit
1588!
1589 IF (tt>=output%TH%THIS1(7))THEN
1590 size_mes=1
1591 ELSE
1592 size_mes=0
1593 ENDIF
1594 ithflag = 7
1595 CALL hist2(pm ,d ,x ,v ,a ,
1596 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1597 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1598 5 partsav,accelm,nsensor ,mat_param,
1599 6 weight,ipart,igrsurf,ebcs_tab,
1600 7 output%TH%ITHGRPG,output%TH%ITHBUFG,subset,geo ,
1601 8 kxx ,ixr,
1602 9 kxsp ,nod2sp ,spbuf ,
1603 b ar ,vr ,dr,
1604 d ixri ,rivet ,ixp ,
1605 e iskwn ,iframe ,xframe,ixc ,ixq ,
1606 f output%TH%DTHIS1(7),output%TH%THIS1(7), ifil, nthgrp1(7),ixtg ,
1607 g igeo ,ipm ,
1608 h ipartl,npartl, iaccp , naccp ,
1609 i iparth(1,6*(npart+nthpart)+1),2,1,
1610 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1611 k fthreac,nodreac,gresav ,gauge ,
1612 l igaup,ngaup ,aform(7),size_mes,
1613 m rthbuf,thke ,stack ,isphio ,vsphio,
1614 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFG,
1615 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1616
1617 IF(size_mes==1 .AND.
1618 * aform(7)==3 .AND.
1619 * ispmd==0 ) CALL file_size(multithfilesize(7))
1620
1621 IF(abfile(8) /= 0) THEN
1622#ifdef DNC
1623 ifilabf = 18
1624 CALL abfhist2(pm ,d ,x ,v ,a ,
1625 2 ixs ,elbuf,wa(n2),iparg,
1626 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1627 5 partsav,accelm,lout ,nsensor ,mat_param,
1628 6 ipari,weight,ipart,igrsurf,
1629 7 output%TH%ITHGRPG,output%TH%ITHBUFG,subset,geo ,
1630 8 kxx ,ixr,
1631 9 kxsp ,nod2sp ,spbuf ,
1632 b npartsav,ar ,vr ,dr,
1633 d fsavd ,ixri ,rivet , ixp ,
1634 e iskwn ,iframe ,xframe,ixc ,ixq,
1635 f dtabf(8), tabfis(8),ifilabf,nthgrp1(1),ixtg ,
1636 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1637 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1638 i ipart ,2 ,1 ,
1639 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1640 k fthreac,nodreac,gresav ,tabfwr(8),
1641 l 8 ,gauge ,igaup,ngaup ,rthbuf ,thke ,
1642 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1643 n output%TH%SITHBUFG,glob_therm,output)
1644 cptfile=cptfile+1
1645
1646 IF(tt>=tabfwr0(8) .AND. ispmd == 0) THEN
1647 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_g.tmp'
1648 long_tmp = 11
1649 len_tmp_name = outfile_name_len+long_tmp+rootlen
1650 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1651
1652 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_g.abf'
1653 long = 11
1654 len_tmp_name2 = outfile_name_len+long+rootlen
1655 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1656
1657 DO i=1,len_tmp_name2!ROOTLEN+LONG
1658 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1659 ENDDO
1660 DO i=1,len_tmp_name!rootlen+long_tmp
1661 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1662 ENDDO
1663 CALL abffile_update(abinp,about,nabfwr(8),ifilnam,
1664 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1665 . cptfile)
1666 nabfwr(8) = 0
1667 ENDIF
1668#endif
1669 ELSE
1670 tabfis(8)= ep30
1671 ENDIF
1672 ELSE
1673 output%TH%THIS1(7)= ep30
1674 tabfis(8)= ep30
1675 ENDIF
1676C
1677 IF(nthgrp01(8)/=0)THEN
1678 iunit = iuhi(8)
1679 ifil = iunit
1680!
1681 IF (tt>=output%TH%THIS1(8))THEN
1682 size_mes=1
1683 ELSE
1684 size_mes=0
1685 ENDIF
1686 ithflag = 8
1687 CALL hist2(pm ,d ,x ,v ,a ,
1688 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1689 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1690 5 partsav,accelm,nsensor ,mat_param,
1691 6 weight,ipart,igrsurf,ebcs_tab,
1692 7 output%TH%ITHGRPH,output%TH%ITHBUFH,subset,geo ,
1693 8 kxx ,ixr,
1694 9 kxsp ,nod2sp ,spbuf ,
1695 b ar ,vr ,dr,
1696 d ixri ,rivet , ixp ,
1697 e iskwn ,iframe ,xframe,ixc ,ixq ,
1698 f output%TH%DTHIS1(8),output%TH%THIS1(8), ifil, nthgrp1(8),ixtg ,
1699 g igeo ,ipm ,
1700 h ipartl,npartl, iaccp , naccp ,
1701 i iparth(1,7*(npart+nthpart)+1),2,1,
1702 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1703 k fthreac,nodreac,gresav ,gauge ,
1704 l igaup ,ngaup ,aform(8),size_mes,
1705 m rthbuf ,thke ,stack ,isphio ,vsphio,
1706 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFH,
1707 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1708
1709 IF(size_mes==1 .AND. aform(8)==3 .AND.ispmd==0 ) CALL file_size(multithfilesize(8))
1710
1711 IF(abfile(9) /= 0) THEN
1712#ifdef DNC
1713 ifilabf = 19
1714 CALL abfhist2(pm ,d ,x ,v ,a ,
1715 2 ixs ,elbuf,wa(n2),iparg,
1716 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1717 5 partsav,accelm,lout ,nsensor ,mat_param,
1718 6 ipari,weight,ipart,igrsurf,
1719 7 output%TH%ITHGRPH,output%TH%ITHBUFH,subset,geo ,
1720 8 kxx ,ixr,
1721 9 kxsp ,nod2sp ,spbuf ,
1722 b npartsav,ar ,vr ,dr,
1723 d fsavd ,ixri ,rivet , ixp ,
1724 e iskwn ,iframe ,xframe,ixc ,ixq,
1725 f dtabf(9), tabfis(9),ifilabf,nthgrp1(1),ixtg ,
1726 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1727 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1728 i ipart ,2 ,1 ,
1729 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1730 k fthreac,nodreac,gresav ,tabfwr(9),
1731 l 9 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1732 m stack ,isphio ,vsphio,ithflag,1,pinch_data,multi_fvm,w,
1733 n output%TH%ITHBUFH,glob_therm,output)
1734 cptfile=cptfile+1
1735
1736 IF(tt>=tabfwr0(9) .AND. ispmd == 0) THEN
1737 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_h.tmp'
1738 long_tmp = 11
1739 len_tmp_name = outfile_name_len+long_tmp+rootlen
1740 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1741
1742 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_h.abf'
1743 long = 11
1744 len_tmp_name2 = outfile_name_len+long+rootlen
1745 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1746
1747 DO i=1,len_tmp_name2!ROOTLEN+LONG
1748 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1749 ENDDO
1750 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1751 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1752 ENDDO
1753 CALL abffile_update(abinp,about,nabfwr(9),ifilnam,len_tmp_name2,ifilnam_tmp,len_tmp_name, cptfile)
1754 nabfwr(9) = 0
1755 ENDIF
1756#endif
1757 ELSE
1758 tabfis(9)= ep30
1759 ENDIF
1760 ELSE
1761 output%TH%THIS1(8)= ep30
1762 tabfis(9)= ep30
1763 ENDIF
1764C
1765 IF(nthgrp01(9)/=0)THEN
1766 iunit = iuhi(9)
1767 ifil = iunit
1768 IF (tt>=output%TH%THIS1(9))THEN
1769 size_mes=1
1770 ELSE
1771 size_mes=0
1772 ENDIF
1773 ithflag = 9
1774 CALL hist2(pm ,d ,x ,v ,a ,
1775 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1776 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1777 5 partsav,accelm,nsensor ,mat_param,
1778 6 weight,ipart,igrsurf,ebcs_tab,
1779 7 output%TH%ITHGRPI,output%TH%ITHBUFI,subset,geo ,
1780 8 kxx ,ixr,
1781 9 kxsp ,nod2sp ,spbuf ,
1782 b ar ,vr ,dr,
1783 d ixri ,rivet ,ixp ,
1784 e iskwn ,iframe ,xframe,ixc ,ixq ,
1785 f output%TH%DTHIS1(9),output%TH%THIS1(9), ifil, nthgrp1(9),ixtg ,
1786 g igeo ,ipm ,
1787 h ipartl,npartl, iaccp , naccp ,
1788 i iparth(1,8*(npart+nthpart)+1),2,1,
1789 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1790 k fthreac,nodreac,gresav ,gauge ,
1791 l igaup,ngaup ,aform(9),size_mes,
1792 m rthbuf ,thke ,stack ,isphio ,vsphio,
1793 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUFI,
1794 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1795
1796 IF(size_mes==1 .AND. aform(9)==3 .AND. ispmd==0 ) CALL file_size(multithfilesize(9))
1797 IF(abfile(10) /= 0) THEN
1798#ifdef DNC
1799 ifilabf = 20
1800 CALL abfhist2(pm ,d ,x ,v ,a ,
1801 2 ixs ,elbuf,wa(n2),iparg,
1802 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1803 5 partsav,accelm,lout ,nsensor ,mat_param,
1804 6 ipari,weight,ipart,igrsurf,
1805 7 output%TH%ITHGRPI,output%TH%ITHBUFI,subset,geo ,
1806 8 kxx ,ixr,
1807 9 kxsp ,nod2sp ,spbuf ,
1808 b npartsav,ar ,vr ,dr,
1809 d fsavd ,ixri ,rivet , ixp ,
1810 e iskwn ,iframe ,xframe,ixc ,ixq,
1811 f dtabf(10),tabfis(10),ifilabf,nthgrp1(9),ixtg ,
1812 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1813 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1814 i iparth(1,8*(npart+nthpart)+1),2,1,
1815 j 1 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1816 k fthreac,nodreac,gresav ,tabfwr(10),
1817 l 10 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1818 m stack ,isphio ,vsphio,ithflag,9,pinch_data,multi_fvm,w,
1819 n output%TH%ITHBUFI,glob_therm,output)
1820 cptfile=cptfile+1
1821
1822 IF(tt>=tabfwr0(10) .AND. ispmd == 0) THEN
1823 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'_i.tmp'
1824 long_tmp = 11
1825 len_tmp_name = outfile_name_len+long_tmp+rootlen
1826 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1827
1828 filnamabf=rootnam(1:rootlen)//'_'//chrun//'_i.abf'
1829 long = 11
1830 len_tmp_name2 = outfile_name_len+long+rootlen
1831 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1832 DO i=1,len_tmp_name2!ROOTLEN+LONG
1833 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1834 ENDDO
1835 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1836 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1837 ENDDO
1838
1839 CALL abffile_update(abinp,about,nabfwr(10),ifilnam,
1840 . len_tmp_name2,ifilnam_tmp,len_tmp_name,
1841 . cptfile)
1842 nabfwr(10) = 0
1843 ENDIF
1844#endif
1845 ELSE
1846 tabfis(10)= ep30
1847 ENDIF
1848 ELSE
1849 output%TH%THIS1(9)= ep30
1850 tabfis(10)= ep30
1851 ENDIF
1852C
1853 iunit = iuhis
1854 ifil = 1
1855 IF (tt>=output%TH%THIS)THEN
1856 size_mes=1
1857 ELSE
1858 size_mes=0
1859 ENDIF
1860 ithflag = 10
1861 CALL hist2(pm ,d ,x ,v ,a ,
1862 2 ixs ,elbuf,wa(n2),iparg,sensors%SENSOR_TAB,
1863 4 fsav ,flsw ,skew,elbuf_tab,cluster,
1864 5 partsav,accelm,nsensor ,mat_param,
1865 6 weight,ipart,igrsurf,ebcs_tab,
1866 7 output%TH%ITHGRP,output%TH%ITHBUF,subset,geo ,
1867 8 kxx ,ixr,
1868 9 kxsp ,nod2sp ,spbuf ,
1869 b ar ,vr ,dr,
1870 d ixri ,rivet , ixp ,
1871 e iskwn ,iframe ,xframe,ixc ,ixq,
1872 f output%TH%DTHIS ,output%TH%THIS,ifil , nthgrp,ixtg ,
1873 g igeo ,ipm ,
1874 h ipartl,npartl, iaccp , naccp ,
1875 i ipart ,lipart1 ,8 ,
1876 j monvol ,volmon,fr_mv ,temp,inod_pxfem,
1877 k fthreac,nodreac,gresav ,gauge ,
1878 l igaup,ngaup,itform,size_mes,
1879 m rthbuf ,thke ,stack,isphio ,vsphio,
1880 n ithflag,pinch_data,multi_fvm,w,output%TH%SITHBUF,
1881 q fsavsurf,need_to_reinit_fsav,glob_therm,output,mass0_start)
1882
1883 IF(size_mes==1 .AND. itform==3 .AND. ispmd==0 )CALL file_size(thfilesize)
1884
1885 IF(abfile(1) /= 0) THEN
1886#ifdef DNC
1887 ifilabf = 11
1888 CALL abfhist2(pm ,d ,x ,v ,a ,
1889 2 ixs ,elbuf,wa(n2),iparg,
1890 4 fsav ,flsw ,skew,elbuf_tab,sensors%SENSOR_TAB,
1891 5 partsav,accelm,lout ,nsensor ,mat_param,
1892 6 ipari,weight,ipart,igrsurf,
1893 7 output%TH%ITHGRP,output%TH%ITHBUF,subset,geo ,
1894 8 kxx ,ixr,
1895 9 kxsp ,nod2sp ,spbuf ,
1896 b npartsav,ar ,vr ,dr,
1897 d fsavd ,ixri ,rivet , ixp ,
1898 e iskwn ,iframe ,xframe,ixc ,ixq,
1899 f dtabf(1), tabfis(1),ifilabf,nthgrp,ixtg ,
1900 g igeo ,ipm ,fxbipm, fxbdep, fxbvit,
1901 h fxbacc ,ipartl,npartl, iaccp , naccp ,
1902 i ipart ,lipart1 ,8 ,
1903 j 12 ,monvol ,volmon,fr_mv ,temp,inod_pxfem,
1904 k fthreac,nodreac,gresav ,tabfwr(1),
1905 l 1 ,gauge ,igaup,ngaup ,rthbuf,thke ,
1906 m stack ,isphio ,vsphio,ithflag,10,pinch_data,multi_fvm,w,
1907 n output%TH%SITHBUF,glob_therm,output)
1908
1909 IF((tt>=tabfwr0(1) .OR. tt+dt2>tstop).AND. ispmd == 0)THEN
1910 filnamabf_tmp=rootnam(1:rootlen)//'_'//chrun//'.tmp'
1911 long_tmp = 9
1912 len_tmp_name = outfile_name_len+long_tmp+rootlen
1913 tmp_name=outfile_name(1:outfile_name_len)//filnamabf_tmp(1:long_tmp+rootlen)
1914
1915 filnamabf=rootnam(1:rootlen)//'_'//chrun//'.abf'
1916 long = 9
1917 len_tmp_name2 = outfile_name_len+long+rootlen
1918 tmp_name2=outfile_name(1:outfile_name_len)//filnamabf(1:long+rootlen)
1919
1920 DO i=1,len_tmp_name2!ROOTLEN+LONG
1921 ifilnam(i)=ichar(tmp_name2(i:i))!FILNAMABF(I:I))
1922 ENDDO
1923 DO i=1,len_tmp_name!ROOTLEN+LONG_TMP
1924 ifilnam_tmp(i)=ichar(tmp_name(i:i))!(FILNAMABF_TMP(I:I))
1925 ENDDO
1926
1927 CALL abffile_update(abinp,about,nabfwr(1),ifilnam,len_tmp_name2,ifilnam_tmp,len_tmp_name,0)
1928
1929 nabfwr(1) = 0
1930 ENDIF
1931#endif
1932 ELSE
1933 tabfis(1)= ep30
1934 ENDIF
1935
1936C to avoid double points (end of ilastanim/=2)
1937 END IF
1938 ENDIF
1939C----------------------------------------------
1940C Driver to QAPRINT
1941C----------------------------------------------
1942 CALL eng_qaprint_driver(irunn_bis ,sensors,dt,output,iparit,glob_therm)
1943C-------------------------------------------------------
1944C TRAITEMENT SUR FSAV NON CUMULE
1945C-------------------------------------------------------
1946 IF(ispmd == 0 .AND. thupdt == 1) THEN
1947C in spmd, fsav must be reset to 0 on p0, where fsav is not accumulated
1948 IF(nvolu>0)THEN
1949 iad = ninter+nrwall+nrbody+nsect+njoint
1950 DO i=1,nvolu
1951 DO j=1,nthvki
1952 fsav(j,iad+i) = zero
1953 ENDDO
1954 ENDDO
1955 ENDIF
1956 ENDIF
1957
1958C FSAV(26) : contact elastic energy is not cumulated : only for int10 and int18 for the moment
1959 IF(ninter > 0)THEN
1960 DO i=1,ninter
1961 ity = ipari(7,i)
1962 IF(ity /= 10.AND.(ity /= 7.OR.ipari(22,i) /= 7)) THEN
1963 fsav(26,i) = zero
1964 ENDIF
1965 fsav(29,i) = zero ! CAREA output is not cumulated too
1966 ENDDO
1967 ENDIF
1968
1969 IF(nintsub > 0)THEN
1970 DO n=1,nintsub
1971 fsav(29,(ninter+nrwall+nrbody+nsect+njoint+nvolu+nrbag)+n) = zero
1972 END DO
1973 ENDIF
1974
1975C /TH/SURF quantities reset to 0 expect for massflow (airbags)
1976 IF(nsurf > 0) THEN
1977 fsavsurf(1,1:nsurf) = zero !area
1978 fsavsurf(2,1:nsurf) = zero !massflow
1979 fsavsurf(3,1:nsurf) = zero !velocity
1980 fsavsurf(4,1:nsurf) = zero !pressure
1981 fsavsurf(5,1:nsurf) = zero !area where pressure is applied
1982 !FSAVSURF(6,1:NSURF) !cumulated mass
1983 ENDIF
1984
1985 ! -----------------------
1986 ! need to re-initialize PARTSAV array after any th/abf file writing
1987 IF(ispmd == 0) THEN
1988 ! ---------
1989 ! check if an abf file was written
1990 IF(nabfile /= 0) THEN
1991 DO i=1,10
1992 IF(tt>tabfwr0(i)) need_to_reinit_fsav = .true.
1993 ENDDO
1994 ENDIF
1995 ! ---------
1996
1997 ! ---------
1998 ! re-initialization of PARTSAV
1999 IF(need_to_reinit_fsav) THEN
2000 DO m=1,npart+nthpart
2001 DO i=1,npsav
2002 IF((i<23.OR.i>26.OR.i==25).AND.i/=8) THEN
2003 partsav(i,m)=0
2004 ENDIF
2005 END DO
2006 END DO
2007 ENDIF
2008 ! ---------
2009 ENDIF
2010 ! -----------------------
2011
2012 IF (ispmd == 0 .AND. iflag == 1) wfext = wfext- wfexth
2013
2014 ! /TH/NODE (PEXT) or /H3D/NODA/PEXT or /ANIM/NODA/PEXT
2015 ! reset for next cycle
2016 IF(th_has_noda_pext > 0 .OR. output%DATA%ANIM_HAS_NODA_PEXT > 0 .OR. output%DATA%H3D_HAS_NODA_PEXT > 0)THEN
2017 output%DATA%NODA_SURF(1:numnod) = zero
2018 output%DATA%NODA_PEXT(1:numnod) = zero
2019 ENDIF
2020C-----------
2021 RETURN
2022 END
subroutine ani_pcont(output, ixs, ixc, ixtg, fasolfr, x, contn, contt, iad_elem, fr_elem, weight, ixq, segquadfr, ixs10, fncontp2, ftcontp2, h3d_data, csefric, csefricg, sz_npcont2, npcont2)
Definition ani_pcont.F:38
subroutine ani_pcont21(output, ixs, ixc, ixtg, fasolfr, x, contn, contt, iad_elem, fr_elem, weight, nodglob, fncontg, ftcontg, fncontp2, ftcontp2, h3d_data, csefric_stamp, csefricg_stamp, sz_npcont2, npcont2)
Definition ani_pcont.F:895
subroutine anicon0(cont, n)
Definition anicon0.F:29
subroutine anicon2(cont, n, indexc)
Definition anicon2.F:29
#define my_real
Definition cppsort.cpp:32
subroutine ecrit(timers, partsav, ms, v, in, r, dmas, weight, enintot, ekintot, a, ar, fxbipm, fxbrpm, monvol, xmom_sms, sensors, qfricint, ipari, weight_md, wfexth, iflag, ms_2d, multi_fvm, mas_nd, kend, h3d_data, dynain_data, usreint, output)
Definition ecrit.F:51
subroutine eng_qaprint_driver(irunn_bis, sensors, dt, output, iparit, glob_therm)
subroutine fcont2_max_output(fcont, fcont_max, weight)
subroutine fcont2_min_output(fcont, fcont_min, weight)
subroutine fcont_max_output(cont, fcontg, nodglob, fcont_max, weight)
subroutine fluxsw(nsflsw, neflsw, nnflsw, crflsw, flsw, x, v, elbuf)
Definition fluxsw.F:30
subroutine genani(x, d, v, a, bufel, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, swaft, smas, sxnorm, siad, iparg, pm, geo, ms, sinvert, cont, smater, icut, skew, xcut, fint, itab, sel2fa, fext, fopt, lpby, npby, nstrf, rwbuf, nprw, tani, elbuf_tab, mat_param, dd_iad, weight, eani, ipart, cluster, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, rby, swa4, tors, nom_opt, igrsurf, bufsf, idata, rdata, siadg, bufmat, bufgeo, kxx, ixx, ipartx, suix, sxusr, snfacptx, sixedge, sixfacet, sixsolid, snumx1, snumx2, snumx3, soffx1, soffx2, soffx3, smass1, smass2, smass3, sfunc1, sfunc2, sfunc3, kxsp, ixsp, nod2sp, ipartsp, spbuf, ixs10, ixs20, ixs16, vr, monvol, volmon, ipm, igeo, nodglob, iad_elem, fr_elem, fr_sec, fr_rby2, iad_rby2, fr_wall, iflow, rflow, fncont, ftcont, temp, thke, err_thk_sh4, err_thk_sh3, diag_sms, ipari, fncont2, dr, ale_connectivity, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, dxancg, nod_pxfem, iel_pxfem, zi_ply, vgaz, fcontg, fncontg, ftcontg, fanreac, inod_crk, iel_crk, elcutc, iadc_crk, pdama2, res_sms, weight_md, nodglobxfe, nodedge, fcluster, mcluster, xfem_tab, w, nv46, ipartig3d, kxig3d, ixig3d, sig3dsolid, knot, wige, nercvois, nesdvois, lercvois, lesdvois, crkedge, indx_crk, xedge4n, xedge3n, stack, sph2sol, stifn, stifr, igrnod, h3d_data, subset, multi_fvm, knotlocpc, knotlocel, fcont_max, fncontp2, ftcontp2, glob_therm, drape_sh4n, drape_sh3n, drapeg, output)
Definition genani.F:240
subroutine gendynain(x, elbuf_tab, bufel, ixc, ixtg, iparg, ipm, igeo, itab, ipart, pm, geo, ipartc, iparttg, leng, lengc, lengtg, weight, nodglob, thke, npby, lpby, stack, drape_sh4n, drape_sh3n, dynain_data, drapeg, mat_param)
Definition gendynain.F:57
subroutine genh3d(output, timers, x, d, v, a, bufel, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, swaft, smas, sxnorm, siad, iparg, pm, geo, ms, sinvert, cont, smater, icut, skew, xcut, fint, itab, sel2fa, fext, fopt, lpby, npby, nstrf, rwbuf, nprw, tani, elbuf_tab, mat_param, dd_iad, weight, eani, ipart, cluster, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, rby, swa4, tors, nom_opt, bufsf, idata, rdata, siadg, bufmat, bufgeo, kxx, ixx, ipartx, suix, sxusr, snfacptx, sixedge, sixfacet, sixsolid, snumx1, snumx2, snumx3, soffx1, soffx2, soffx3, smass1, smass2, smass3, sfunc1, sfunc2, sfunc3, kxsp, ixsp, nod2sp, ipartsp, spbuf, ixs10, ixs20, ixs16, vr, monvol, volmon, ipm, igeo, nodglob, iad_elem, fr_elem, fr_sec, fr_rby2, iad_rby2, fr_wall, iflow, rflow, fncont, ftcont, temp, thke, err_thk_sh4, err_thk_sh3, diag_sms, ipari, fncont2, dr, ale_connect, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, dxancg, nod_pxfem, iel_pxfem, zi_ply, vgaz, fcontg, fncontg, ftcontg, fanreac, inod_crk, iel_crk, elcutc, iadc_crk, pdama2, res_sms, weight_md, nodglobxfe, nodedge, fcluster, mcluster, xfem_tab, w, nv46, ipartig3d, kxig3d, ixig3d, sig3dsolid, knot, wige, nercvois, nesdvois, lercvois, lesdvois, crkedge, indx_crk, xedge4n, xedge3n, stack, sph2sol, stifn, stifr, igrnod, sh4tree, sh3tree, h3d_data, multi_fvm, subset, pskids, tag_skins6, tf, npf, fcont_max, mds_matid, fncontp2, ftcontp2, ibcl, iloadp, lloadp, fac, sensors, tagncont, loadp_hyd_inter, xframe, forc, ar, csefric, csefricg, csefric_stamp, csefricg_stamp, table, iframe, loads, drape_sh4n, drape_sh3n, drapeg, x_c, glob_therm, pblast)
Definition genh3d.F:213
subroutine genoutp(x, d, v, a, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, iparg, pm, igeo, ms, cont, itab, partsav, fint, fext, tani, eani, ipart, vr, elbuf_tab, dd_iad, weight, ipm, kxsp, spbuf, nodglob, leng, fopt, nom_opt, npby, fncont, ftcont, geo, thke, stack, drape_sh4n, drape_sh3n, drapeg, output)
Definition genoutp.F:83
subroutine genstat(x, ms, elbuf_tab, bufel, spbuf, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, kxsp, iparg, ipm, igeo, itab, ipart, pm, geo, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, ipartx, ipartsp, dd_iad, weight, nodglob, leng, ipart_state, lengc, lengtg, sh4tree, sh3tree, lengs, sh4trim, sh3trim, temp, ixs10, thke, ixs16, ixs20, icode, lengr, lengp, lengt, iskew, v, vr, lengq, multi_fvm, bufmat, npby, lpby, stack, drape_sh4n, drape_sh3n, dr, drapeg, mat_param, ipartsph, output, lengsph, numsphg, itherm_fe)
Definition genstat.F:109
#define max(a, b)
Definition macros.h:21
integer, dimension(:), allocatable imap2nd
Definition ecdn_mod.F:64
integer, dimension(:), pointer icnds10
Definition ecdn_mod.F:42
integer nkend
Definition ecdn_mod.F:63
type(fvbag_spmd), dimension(:), allocatable fvspmd
Definition fvbag_mod.F:129
integer nfvbag
Definition fvbag_mod.F:127
integer, dimension(:), allocatable kmesh
subroutine hist2(pm, d, x, v, a, ixs, bufel, wa, iparg, sensor_tab, fsav, flsw, skew, elbuf_tab, cluster, partsav, accelm, nsensor, matparam_tab, weight, ipart, igrsurf, ebcs_tab, ithgrp, ithbuf, subset, geo, kxx, ixr, kxsp, nod2sp, spbuf, ar, vr, dr, lrivet, rivet, ixp, iskwn, iframe, xframe, ixc, ixq, dthis0, this0, ifil, nthgrp2, ixtg, igeo, ipm, ipartl, npartl, iaccp, naccp, iparth, nparth, nvparth, monvol, volmon, fr_mv, temp, inod, fthreac, nodreac, gresav, gauge, igaup, ngaup, ittyp, size_mes, rthbuf, thke, stack, isphio, vsphio, ithflag, pinch_data, multi_fvm, w, sithbuf, fsavsurf, need_to_reinit_fsav, glob_therm, output, mass0_start)
Definition hist2.F:106
character(len=outfile_char_len) outfile_name
integer outfile_name_len
subroutine spmd_exch_output_noda_pext(output, nspmd, nodes, numnod, numnodg, trigger_th, trigger_anim, trigger_h3d)
integer th_has_noda_pext
Definition th_mod.F:121
OPTION /TH/SURF outputs of Pressure and Area needed Tabs.
Definition th_surf_mod.F:61
integer, parameter th_surf_num_channel
number of /TH/SURF channels : AREA, VELOCITY, MASSFLOW, P A, MASS
subroutine noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)
Definition noise.F:41
subroutine cndmasi2(icnds10, nkend, imap2nd, masi2nd0, ms, v, a, weight, mas_nd, kend)
Definition s10cndf.F:1168
subroutine s10mvnd(icnds10, vnd, v)
Definition s10cndv.F:80
subroutine sensor_energy_total(sensors, enint, encin)
subroutine sortie_main(timers, pm, d, v, ale_connect, w, elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, wa, itab, x, geo, ms, a, partsav, icut, xcut, lpby, npby, nstrf, rwbuf, nprw, ebcs_tab, tani, inoise, bufnois, rby, neflsw, nnflsw, crflsw, flsw, lout, nodes, fsav, skew, elbuf_tab, cluster, vr, in, weight, fcluster, mcluster, dd_iad, dmas, accelm, gauge, ipari, eani, ipart, mat_param, igrnod, subset, nom_opt, ar, igrsurf, bufsf, idata, rdata, kxx, ixx, bufmat, bufgeo, kxsp, ixsp, nod2sp, spbuf, dr, fsavd, ixri, rivet, iskwn, iframe, xframe, ixs10, ixs20, ixs16, ndma, monvol, volmon, ipm, igeo, nodglob, iad_elem, fr_elem, fr_rby2, iad_rby2, fr_wall, fr_sec, fxbipm, fxbrpm, ndin, fxbdep, fxbvit, fxbacc, iflow, rflow, ipartl, npartl, iaccp, naccp, fasolfr, iparth, fr_mv, ipart_state, sh4tree, sh3tree, temp, thke, err_thk_sh4, err_thk_sh3, inod_pxfem, fthreac, nodreac, gresav, diag_sms, sh4trim, sh3trim, xmom_sms, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, dxancg, iel_pxfem, zi_ply, vgaz, fcontg, fncontg, ftcontg, fanreac, inod_crk, iel_crk, elcutc, iadc_crk, res_sms, sensors, qfricint, igaup, ngaup, weight_md, ncont, indexcont, nodglobxfe, nodedge, xfem_tab, nv46, rthbuf, kxig3d, ixig3d, knot, wige, nercvois, nesdvois, lercvois, lesdvois, crkedge, stack, isphio, vsphio, icode, indx_crk, xedge4n, xedge3n, sph2sol, stifn, stifr, drape_sh4n, drape_sh3n, ms_2d, multi_fvm, segquadfr, h3d_data, iskew, pskids, iskwp, knotlocpc, knotlocel, pinch_data, tag_skins6, irunn_bis, tf, npc, dynain_data, fcont_max, mds_matid, ibcl, iloadp, lloadp, loadp, tagncont, loadp_hyd_inter, forc, drapeg, user_windows, output, dt, fsavsurf, table, loads, sfani, iparit, x_c, sz_npcont2, npcont2, glob_therm, pblast, wfext, mass0_start)
subroutine spmd_exch_adm(adm, iad_elem, fr_elem, lenr, weight_md)
subroutine spmd_sd_skw_anim(skew, iskwp)
void file_size(int *filesize)