OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
wrrestp.F File Reference
#include "implicit_f.inc"
#include "chara_c.inc"
#include "couple_c.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com06_c.inc"
#include "com_xfem1.inc"
#include "intstamp_c.inc"
#include "param_c.inc"
#include "parit_c.inc"
#include "scr03_c.inc"
#include "scr05_c.inc"
#include "scr07_c.inc"
#include "scr14_c.inc"
#include "scr16_c.inc"
#include "scr19_c.inc"
#include "scrcut_c.inc"
#include "scrfs_c.inc"
#include "scrnoi_c.inc"
#include "scr_fac_c.inc"
#include "sms_c.inc"
#include "spmd_c.inc"
#include "tabsiz_c.inc"
#include "task_c.inc"
#include "units_c.inc"
#include "remesh_c.inc"
#include "sphcom.inc"
#include "inter18.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine wrrestp (elements, nodes, af, iaf, ich, addcne, elbuf_tab, xfem_tab, intbuf_tab, multi_fvm, mat_elem, h3d_data, intbuf_fric_tab, subset, pinch_data, ale_connectivity, t_monvol, sensors, ebcs_tab, dynain_data, user_windows, output, interfaces, loads, python, names_and_titles, eigipm, eigibuf, eigrpm, neipm, leibuf, nerpm, iflow, rflow, liflow, lrflow, impbuf_tab, impl_s, impl_s0, mcp, temp, forneqs, unitab, stack, ndrape, drape_sh3n, drape_sh4n, drapeg, restsize, skews, glob_therm, pblast, rbe3, rwall)

Function/Subroutine Documentation

◆ wrrestp()

subroutine wrrestp ( type(connectivity_) elements,
type(nodal_arrays_) nodes,
af,
integer, dimension(*) iaf,
integer ich,
integer, dimension(*) addcne,
type(elbuf_struct_), dimension(ngroup), target elbuf_tab,
type(elbuf_struct_), dimension(ngroup,nxel), target xfem_tab,
type(intbuf_struct_), dimension(*) intbuf_tab,
type(multi_fvm_struct), intent(inout) multi_fvm,
type(mat_elem_), intent(in) mat_elem,
type(h3d_database), intent(in) h3d_data,
type(intbuf_fric_struct_), dimension(*) intbuf_fric_tab,
type(subset_), dimension(nsubs), target subset,
type(pinch) pinch_data,
type(t_ale_connectivity), intent(in) ale_connectivity,
type(monvol_struct_), dimension(nvolu), intent(in) t_monvol,
type(sensors_), intent(in) sensors,
type(t_ebcs_tab), intent(inout) ebcs_tab,
type(dynain_database), intent(in) dynain_data,
type(user_windows_), intent(in) user_windows,
type(output_), intent(inout) output,
type(interfaces_), intent(in) interfaces,
type(loads_), intent(in) loads,
type(python_), intent(inout) python,
type(names_and_titles_), intent(in) names_and_titles,
integer, dimension(neipm,neig), intent(inout) eigipm,
integer, dimension(leibuf), intent(inout) eigibuf,
dimension(nerpm,neig), intent(inout) eigrpm,
integer, intent(inout) neipm,
integer, intent(inout) leibuf,
integer, intent(inout) nerpm,
integer, dimension(liflow), intent(in) iflow,
integer, dimension(lrflow), intent(in) rflow,
integer, intent(in) liflow,
integer, intent(in) lrflow,
type(impbuf_struct_), target impbuf_tab,
integer, intent(in) impl_s,
integer, intent(in) impl_s0,
dimension(numnod), intent(inout) mcp,
dimension(numnod), intent(inout) temp,
integer, dimension(3,numnod), intent(in) forneqs,
type(unit_type_) unitab,
type (stack_ply) stack,
integer, intent(in) ndrape,
type(drape_), dimension(numeltg_drape) drape_sh3n,
type(drape_), dimension(numelc_drape) drape_sh4n,
type(drapeg_) drapeg,
integer, intent(inout) restsize,
type(skew_), intent(in) skews,
type (glob_therm_), intent(inout) glob_therm,
type(pblast_), intent(inout) pblast,
type(rbe3_), intent(inout) rbe3,
type(rwall_), intent(inout) rwall )
Parameters
[in,out]outputoutput structure
[in]names_and_titlesNAMES_AND_TITLES host the input deck names and titles for outputs
unitabstructure containing units conversion ratios
[in]liflowSize of IFLOW
[in]lrflowSize of RFLOW
[in,out]restsize1 ; 8xNUMELS solid indexes to FSKY
[in,out]restsize6* NUMELS10
[in,out]restsizei87b ; quad i87b
[in,out]restsizei87C shell (4 nodes) indexes to FSKY
[in,out]restsizeI87D 2xNUMELT
[in,out]restsizeI87E 2xNUMELP
[in,out]restsizeF 3xNUMELR
[in,out]restsizeG 3xNUMELTG
[in,out]restsizeH 3xNUMELTG6
[in,out]restsizeJ 4xNCONLD
[in,out]restsizeK 4x glob_thermNCONV
[in,out]restsizeL 4x glob_thermNumrada
[in,out]restsizeM SLLOADP
[in,out]restsizeN 4x glob_thermnfxflux

Definition at line 158 of file wrrestp.F.

169C-----------------------------------------------
170C M o d u l e s
171C-----------------------------------------------
172 USE restmod
173 USE nodal_arrays_mod
174 USE connectivity_mod
176 USE sms_mod
178 USE mat_elem_mod
179 USE sph_mod
180 USE intbufdef_mod
181 USE int8_mod
182 USE cluster_mod
183 USE ecnd_mod
184 USE multi_fvm_mod
185 USE h3d_mod
186 USE intbuf_fric_mod
187 USE groupdef_mod
188 USE group_mod
189 USE pinchtype_mod
190 USE inoutfile_mod
193 USE sensor_mod
194 USE ebcs_mod
195 USE seatbelt_mod
196 USE pblast_mod
197 USE outmax_mod
198 USE loads_mod
199 USE state_mod
201 USE ale_mod
202 USE output_mod
203 USE interfaces_mod
204 USE python_funct_mod
205 USE damp_mod
206 USE xfem2vars_mod
207 USE alefvm_mod
209 USE bcs_mod , only : bcs
210 USE skew_mod
212 USE unitab_mod, ONLY : unit_type_
213 USE stack_mod
214 USE drape_mod
215 USE time_mod
216 USE elbufdef_mod
217 use write_inivel_mod , only : write_inivel
218 use glob_therm_mod
219 use write_ale_grid_mod , only : write_ale_grid
220 use write_bcs_wall_mod , only : write_bcs_wall
221 use write_bcs_nrf_mod , only : write_bcs_nrf
222 use rbe3_mod
223 use restart_rbe3pen_mod, only : write_rrbe3pen
224 use checksum_output_option_mod, only : checksum_restart_write
225 use rwall_mod
226 use restart_rwallpen_mod, only : write_rrwallpen
227C-----------------------------------------------
228C I m p l i c i t T y p e s
229C-----------------------------------------------
230#include "implicit_f.inc"
231C-----------------------------------------------
232C D u m m y A r g u m e n t s
233C-----------------------------------------------
234 TYPE(nodal_arrays_) :: NODES
235 TYPE(connectivity_) :: ELEMENTS
236 INTEGER, INTENT(IN) :: NDRAPE
237 INTEGER, INTENT(IN) :: IMPL_S
238 INTEGER, INTENT(IN) :: IMPL_S0
239 my_real, INTENT(INOUT) :: mcp(numnod)
240 my_real, INTENT(INOUT) :: temp(numnod)
241 INTEGER, INTENT(INOUT) :: NEIPM, LEIBUF, NERPM
242 INTEGER, INTENT(INOUT) :: EIGIPM(NEIPM,NEIG),EIGIBUF(LEIBUF)
243 my_real, INTENT(INOUT) :: eigrpm(nerpm,neig)
244 INTEGER, INTENT(IN) :: FORNEQS(3,NUMNOD)
245 INTEGER IAF(*),ICH,ADDCNE(*)
246 my_real af(*)
247 TYPE(ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
248 TYPE(ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP,NXEL) :: XFEM_TAB
249 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
250 TYPE(MULTI_FVM_STRUCT), INTENT(INOUT) :: MULTI_FVM
251c TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTER
252 TYPE(H3D_DATABASE), INTENT(IN) :: H3D_DATA
253 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
254 TYPE(SUBSET_), TARGET, DIMENSION(NSUBS) :: SUBSET
255 TYPE(PINCH) :: PINCH_DATA
256 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECTIVITY
257 TYPE(MONVOL_STRUCT_), DIMENSION(NVOLU), INTENT(IN) :: T_MONVOL
258 TYPE(t_ebcs_tab), INTENT(INOUT) :: EBCS_TAB
259 TYPE(DYNAIN_DATABASE) ,INTENT(IN) :: DYNAIN_DATA
260 TYPE(USER_WINDOWS_) ,INTENT(IN) :: USER_WINDOWS
261 TYPE(OUTPUT_) ,INTENT(INOUT) :: OUTPUT !< output structure
262 TYPE(INTERFACES_) ,INTENT(IN) :: INTERFACES
263 TYPE(SENSORS_) ,INTENT(IN) :: SENSORS
264 TYPE(LOADS_) ,INTENT(IN) :: LOADS
265 TYPE(MAT_ELEM_) ,INTENT(IN) :: MAT_ELEM
266 TYPE(PYTHON_) ,INTENT(INOUT) :: PYTHON
267 TYPE(NAMES_AND_TITLES_),INTENT(IN) :: NAMES_AND_TITLES !< NAMES_AND_TITLES host the input deck names and titles for outputs
268 TYPE(SKEW_),INTENT(IN) :: SKEWS
269 TYPE(IMPBUF_STRUCT_), TARGET :: IMPBUF_TAB
270 TYPE(UNIT_TYPE_) :: UNITAB !< structure containing units conversion ratios
271 TYPE (STACK_PLY) :: STACK
272 TYPE(DRAPE_) :: DRAPE_SH3N(NUMELTG_DRAPE),DRAPE_SH4N(NUMELC_DRAPE)
273 TYPE(DRAPEG_) :: DRAPEG
274 type (glob_therm_) ,intent(inout) :: GLOB_THERM
275 TYPE(PBLAST_) ,INTENT(INOUT) :: PBLAST
276 TYPE(RBE3_) ,INTENT(INOUT) :: RBE3
277 TYPE(RWALL_) ,INTENT(INOUT) :: RWALL
278C-----------------------------------------------
279C C o m m o n B l o c k s
280C-----------------------------------------------
281#include "chara_c.inc"
282#include "couple_c.inc"
283#include "com01_c.inc"
284#include "com04_c.inc"
285#include "com06_c.inc"
286#include "com_xfem1.inc"
287#include "intstamp_c.inc"
288#include "param_c.inc"
289#include "parit_c.inc"
290#include "scr03_c.inc"
291#include "scr05_c.inc"
292#include "scr07_c.inc"
293#include "scr14_c.inc"
294#include "scr16_c.inc"
295#include "scr19_c.inc"
296#include "scrcut_c.inc"
297#include "scrfs_c.inc"
298#include "scrnoi_c.inc"
299#include "scr_fac_c.inc"
300#include "sms_c.inc"
301#include "spmd_c.inc"
302#include "tabsiz_c.inc"
303#include "task_c.inc"
304#include "units_c.inc"
305#include "remesh_c.inc"
306#include "sphcom.inc"
307#include "inter18.inc"
308C-----------------------------------------------
309C L o c a l V a r i a b l e s
310C-----------------------------------------------
311 INTEGER I,J,LEN,IFILNAM(2148), IFIL,LEN_G,LEN_M,LENG,LEN_S,IXEL,
312 . FLAG_XFEM
313 CHARACTER FILNAM*100, FILNAMR*100, FILNAMG*128,
314 . PROCNAM*4, CHRUNR*4,PLAST*4
315 CHARACTER*1 IJK(26)
316 INTEGER LHEADER,LVARINT,LVARREA,LMXVINT,LMXVREA,M
317 parameter(lheader=15)
318 parameter(lmxvint=4000)
319 parameter(lmxvrea=1000+30*maxlaw+30)
320 INTEGER TABHEAD(LHEADER),TABVINT(LMXVINT)
321 my_real
322 . tabvrea(lmxvrea), entmp(100)
323 INTEGER MY_ILEN,MY_RLEN,LTABLE, LENI, LENR
324
325 INTEGER :: LEN_TMP_NAME
326 CHARACTER(len=2048) :: TMP_NAME
327 INTEGER, DIMENSION(NVOLU) :: NTRI
328 INTEGER :: II, NS_DIFF, ITMP
329 INTEGER :: MY_SIZE
330 INTEGER,DIMENSION(LTITLE) :: ITITLE
331 INTEGER :: SKEW_LEN
332 INTEGER, INTENT(IN) :: LIFLOW !< Size of IFLOW
333 INTEGER, INTENT(IN) :: LRFLOW !< Size of RFLOW
334 INTEGER, INTENT(IN), DIMENSION(LIFLOW) :: IFLOW
335 INTEGER, INTENT(IN), DIMENSION(LRFLOW) :: RFLOW
336 INTEGER :: NPT
337C-----------------------------------------------
338C Python interface
339C-----------------------------------------------
340 INTEGER, DIMENSION(:), ALLOCATABLE :: BUFFER
341 INTEGER :: BUFFER_SIZE
342C-----------------------------------------------
343C Restart size
344 INTEGER,INTENT(INOUT) :: RESTSIZE
345C-----------------------------------------------
346 DATA ijk/'I','J','K','L','M','N','O','P','Q','R',
347 . 'S','T','U','V','W','X','Y','Z','A','B',
348 . 'C','D','E','F','G','H'/
349C--------------------------------------
350C preparation of integer and real variables.
351C--------------------------------------
352 ipari0 = iparit
353 sfr_elem = SIZE(nodes%BOUNDARY,1)
354 siad_elem = SIZE(nodes%BOUNDARY_ADD,1) * SIZE(nodes%BOUNDARY_ADD,2)
355 CALL wrcomi(output,lmxvint,lvarint,tabvint,1,multi_fvm,h3d_data,dynain_data,
356 . interfaces%PARAMETERS,sensors,loads,glob_therm,pblast)
357C
358 entmp(1) = output%TH%WFEXT
359 entmp(2) = ehour
360 entmp(3) = econtv
361 entmp(4) = epor
362 entmp(5) = glob_therm%HEAT_STORED
363 entmp(6) = glob_therm%HEAT_MECA
364 entmp(7) = glob_therm%HEAT_CONV
365 entmp(8) = glob_therm%HEAT_RADIA
366 entmp(9) = glob_therm%HEAT_FFLUX
367 entmp(10)= econtd
368 entmp(11)= econt_cumu
369 IF(nspmd > 1) CALL spmd_glob_dsum9(entmp,11)
370 IF(ispmd/=0) THEN
371 output%TH%WFEXT = zero
372 ehour = zero
373 econtv = zero
374 epor = zero
375 glob_therm%HEAT_STORED = zero
376 glob_therm%HEAT_MECA = zero
377 glob_therm%HEAT_CONV = zero
378 glob_therm%HEAT_RADIA = zero
379 glob_therm%HEAT_FFLUX = zero
380 econtd = zero
381 econt_cumu = zero
382 ELSE
383 output%TH%WFEXT = entmp(1)
384 ehour = entmp(2)
385 econtv= entmp(3)
386 epor = entmp(4)
387 glob_therm%HEAT_STORED = entmp(5)
388 glob_therm%HEAT_MECA = entmp(6)
389 glob_therm%HEAT_CONV = entmp(7)
390 glob_therm%HEAT_RADIA = entmp(8)
391 glob_therm%HEAT_FFLUX = entmp(9)
392 econtd = entmp(10)
393 econt_cumu = entmp(11)
394 ENDIF
395C
396 IF(ale%GRID%NWALE == 2) THEN
397 entmp(1) = ale%GRID%VGZ
398 IF(nspmd > 1) CALL spmd_glob_dmin9(entmp,1)
399 IF(ispmd==0) ale%GRID%VGZ = entmp(1)
400 ENDIF
401
402 entmp(1) = output%DATA%INOUT%DM_IN
403 entmp(2) = output%DATA%INOUT%DM_OUT
404 entmp(3) = output%DATA%INOUT%DE_IN
405 entmp(4) = output%DATA%INOUT%DE_OUT
406 IF(nspmd > 1) CALL spmd_glob_dsum9(entmp,4)
407 IF(ispmd /= 0) THEN
408 output%DATA%INOUT%DM_IN = zero
409 output%DATA%INOUT%DM_OUT = zero
410 output%DATA%INOUT%DE_IN = zero
411 output%DATA%INOUT%DE_OUT = zero
412 ELSE
413 output%DATA%INOUT%DM_IN = entmp(1)
414 output%DATA%INOUT%DM_OUT = entmp(2)
415 output%DATA%INOUT%DE_IN = entmp(3)
416 output%DATA%INOUT%DE_OUT = entmp(4)
417 ENDIF
418C
419 CALL wrcomr(lmxvrea,lvarrea,tabvrea,dynain_data,interfaces%PARAMETERS,
420 . output,glob_therm)
421C--------------------------------------
422C OPEN
423C--------------------------------------
424 WRITE(chrunr,'(I4.4)')irun
425 WRITE(procnam,'(I4.4)')ispmd+1
426 filnam=rootnam(1:rootlen)//'_'//chrunr//'_'//procnam
427 WRITE(plast,'(I4.4)')nspmd
428 filnamg=rootnam(1:rootlen)//'_'//chrunr//'_[0001-'//plast//']'
429 leng = rootlen+17
430 len = rootlen + 10
431 filnamr = filnam
432 ifil = 2
433 IF(ich/=0)ifil = 41
434 IF(multirest/=0.AND.mcheck==0)THEN
435 irprev = 1 + mod(irprev,multirest)
436 filnam=filnam(1:len)//'_'//ijk(irprev)
437 len = len+2
438 filnamg=filnamg(1:leng)//'_'//ijk(irprev)
439 leng = leng+2
440 ENDIF
441 filnam=filnam(1:len)//'.rst'
442 len = len +4
443 filnamg=filnamg(1:leng)//'.rst'
444 leng = leng+4
445
446 len_tmp_name = outfile_name_len + len
447 tmp_name=outfile_name(1:outfile_name_len)//filnam(1:len)
448
449 DO i = 1, len_tmp_name
450 ifilnam(i) = ichar(tmp_name(i:i))
451 END DO
452 CALL cur_fil_c(ifil)
453 IF (irform/5==2) THEN
454 CALL open_c(ifilnam,len_tmp_name,0)
455 ELSEIF (irform/5==3) THEN
456 CALL open_c(ifilnam,len_tmp_name,3)
457 ELSEIF (irform/5==4) THEN
458 CALL open_c(ifilnam,len_tmp_name,6)
459 ENDIF
460 DO i = 1, len
461 ifilnam(i) = ichar(filnam(i:i))
462 END DO
463 CALL write_c_c(ifilnam,len)
464C--------------------------------------
465C Deck title
466C--------------------------------------
467 DO i=1,ltitle
468 ititle(i) = ichar( names_and_titles%TITLE(i:i) )
469 ENDDO
470 CALL write_i_c(ititle,ltitle)
471C--------------------------------------
472C writing the header.
473C--------------------------------------
474C RADIOSS FILE R/W
475 tabhead(1) =iradios
476C RESTART FILE
477 tabhead(2) =iresfil
478C ITESTV
479 tabhead(3) =itestv
480C THIS RUN NUMBER
481 tabhead(4) =irun
482C CODE FOR THIS RUN (-1:UNKNOWN,0:STARTER,1:ENGINE,2:MODIF)
483 icodrun =1
484 tabhead(5) =icodrun
485C CODVERS FOR THIS RUN
486 tabhead(6) =codvers
487C MINOR VERSION CODE FOR THIS RUN
488 tabhead(7) =iminver
489C SOURCE VERSION CODE FOR THIS RUN
490 tabhead(8) =isrcver
491C INPUT VERSION FOR THIS RUN
492 tabhead(9) =invers
493C STARTER CODVERS
494 tabhead(10)=scodver
495C STARTER MINOR VERSION CODE.
496 tabhead(11)=sminver
497C STARTER SOURCE VERSION CODE.
498 tabhead(12)=ssrcver
499C STARTER INPUT VERSION
500 tabhead(13)=invstr
501C
502 tabhead(14) =lvarint
503 tabhead(15)=lvarrea
504 CALL write_i_c(lheader, 1)
505 CALL write_i_c(tabhead, lheader)
506C--------------------------------------
507C writing integer variables
508C--------------------------------------
509 CALL write_i_c(tabvint,lvarint)
510C--------------------------------------
511C WRITE CHECKSUM DIGEST
512C--------------------------------------
513 CALL checksum_restart_write(output%CHECKSUM)
514C--------------------------------------
515C writing integers
516C--------------------------------------
517 len_g = npropgi*numgeo
518 len_m = npropmi*nummat
519 len_s = npart
520 CALL write_i_c(nodes%NODGLOB,nodes%NUMNOD)
521
522 CALL write_i_c(nodes%MAIN_PROC,sweight)
523
524 CALL write_i_c(nodes%WEIGHT,sweight)
525
526 CALL write_i_c(nodes%ICODE,sicode)
527
528 CALL write_i_c(nodes%ISKEW,siskew)
529
530 CALL write_i_c(iskwn,siskwn)
531
532 CALL write_i_c(iframe,siframe)
533
534 CALL write_i_c(neth,sneth)
535
536 CALL write_i_c(ibcslag,sibcslag)
537
538 CALL write_i_c(ipart,sipart)
539
540 CALL write_i_c(nom_opt,snom_opt)
541
542 CALL python_serialize(python,buffer, buffer_size)
543 CALL write_i_c(buffer, buffer_size)
544
545 CALL write_i_c(npc,snpc)
546
547 CALL write_i_c(ixtg,sixtg)
548
549 CALL write_i_c(ixtg1,sixtg1)
550
551 CALL write_i_c(ixs,sixs)
552
553 CALL write_i_c(ixq,sixq)
554
555 CALL write_i_c(elements%SHELL%IXC,sixc)
556
557 CALL write_i_c(ixt,sixt)
558
559 CALL write_i_c(ixp,sixp)
560
561 CALL write_i_c(ixr,sixr)
562
563 CALL write_i_c(nodes%ITAB,sitab)
564
565 CALL write_i_c(nodes%ITABM1,sitabm1)
566
567 CALL write_i_c(gjbufi,sgjbufi)
568
569 CALL write_i_c(ale_connectivity%NALE,ale%GLOBAL%SNALE)
570
571 IF (iale + ieuler + ialelag + glob_therm%ITHERM /= 0) THEN
572 itmp = SIZE(ale_connectivity%ee_connect%iad_connect)
573 CALL write_i_c(itmp, 1)
574 CALL write_i_c(ale_connectivity%ee_connect%iad_connect, itmp)
575
576 itmp = SIZE(ale_connectivity%ee_connect%connected)
577 CALL write_i_c(itmp, 1)
578 CALL write_i_c(ale_connectivity%ee_connect%connected, itmp)
579
580 itmp = SIZE(ale_connectivity%ee_connect%type)
581 CALL write_i_c(itmp, 1)
582 CALL write_i_c(ale_connectivity%ee_connect%type, itmp)
583
584 itmp = SIZE(ale_connectivity%ee_connect%iface2)
585 CALL write_i_c(itmp, 1)
586 CALL write_i_c(ale_connectivity%ee_connect%iface2, itmp)
587 ENDIF
588
589 CALL write_i_c(id_global_vois,ale%GLOBAL%SIELVS)
590
591 CALL write_i_c(face_vois,ale%GLOBAL%SIELVS)
592
593 IF(iale > 0 .AND. ale%GRID%NWALE == 6 .OR. inter18_autoparam == 1 .OR. inter18_is_variable_gap_defined) THEN
594 CALL write_i_c(ne_nercvois, nspmd + 1)
595 CALL write_i_c(ne_lercvois, ne_slercvois)
596 CALL write_i_c(ne_nesdvois, nspmd + 1)
597 CALL write_i_c(ne_lesdvois, ne_slesdvois)
598 ENDIF
599 IF (iale > 0 .AND. (ale%GRID%NWALE < 2 .OR. ale%GRID%NWALE == 5.OR. ale%GRID%NWALE == 7)) THEN
600 CALL write_i_c(ale_connectivity%NN_CONNECT%IAD_CONNECT, numnod + 1)
601 CALL write_i_c(ale_connectivity%NN_CONNECT%CONNECTED, ale_connectivity%NN_CONNECT%IAD_CONNECT(numnod + 1))
602 ENDIF
603 IF (iale > 0 .AND. ale%GRID%NWALE == 6 .OR. inter18_autoparam == 1 .OR. inter18_is_variable_gap_defined) THEN
604 CALL write_i_c(ale_connectivity%NE_CONNECT%IAD_CONNECT, numnod + 1)
605 CALL write_i_c(ale_connectivity%NE_CONNECT%CONNECTED,
606 . ale_connectivity%NE_CONNECT%IAD_CONNECT(numnod + 1))
607 ENDIF
608
609 ns_diff = 0
610 IF (multi_fvm%NS_DIFF) THEN
611 ns_diff = 1
612 ENDIF
613 CALL write_i_c(ns_diff, 1)
614 IF (ns_diff == 1) THEN
615 CALL write_i_c(ale_connectivity%IDGLOB%ID,
616 . numels + nsvois + numelq + nqvois + numeltg + ntgvois)
617 ENDIF
618
619 CALL write_i_c(ifill,sifill)
620
621 CALL write_i_c(ims,sims)
622
623 CALL w_subset_str(subset)
624
625 CALL w_group_str
626
627 CALL w_surf_str(igrsurf)
628
629 CALL w_line_str(igrslin)
630
631 CALL write_i_c(kxx,skxx)
632
633 CALL write_i_c(ixx,sixx)
634
635 CALL write_i_c(kxsp,skxsp)
636
637 CALL write_i_c(ixsp,sixsp)
638
639 CALL write_i_c(nod2sp,snod2sp)
640
641 CALL write_i_c(ispsym,sispsym)
642
643 CALL write_i_c(ispcond,sispcond)
644
645 CALL write_i_c(isphio,sisphio)
646
647 CALL write_i_c(lprtsph,slprtsph)
648
649 CALL write_i_c(lonfsph,slonfsph)
650
651 CALL write_i_c(ibufssg_io,sibufssg_io)
652
653 IF(nsphsol/=0)THEN
654
655 CALL write_i_c(sph2sol,numsph)
656
657 CALL write_i_c(sol2sph,2*numels8)
658
659 CALL write_i_c(irst,3*nsphsol)
660
661 CALL write_i_c(sol2sph_typ,numels8)
662 END IF
663
664 CALL write_i_c(ibcl,sibcl)
665
666 IF (nintloadp>0) THEN
667 CALL write_i_c(kloadpinter, ninter+1)
668 CALL write_i_c(loadpinter,ninter*nloadp_hyd)
669 ENDIF
670
671 CALL write_i_c(ibfv,sibfv)
672
673 CALL write_i_c(iecran,siecran)
674
675 CALL write_i_c(ilas,silas)
676
677 ! -----------------------------
678 ! EBCS option
679 CALL write_i_c(ebcs_tab%nebcs, 1) ! total number of EBCS
680 CALL write_i_c(ebcs_tab%nebcs_fvm, 1) ! number of multifluid ebcs
681 CALL write_i_c(ebcs_tab%nebcs_parallel, 1) ! number of parallel ebcs
682 CALL write_i_c(ebcs_tab%nebcs_loc, 1) ! number of other ebcs
683 leni = 0
684 lenr = 0
685 IF (ebcs_tab%nebcs > 0) THEN
686 ! write the type of /EBCS ( /EBCS/NRF --> typ = 10) ( /EBCS/PROPELLANT --> typ = 11)
687 CALL write_i_c(ebcs_tab%my_typ,ebcs_tab%nebcs)
688 ENDIF
689 ! -------------
690 ! write the data of /EBCS options
691 IF (ebcs_tab%nebcs_loc +ebcs_tab%nebcs_parallel + ebcs_tab%nebcs_fvm> 0) THEN
692 DO ii = 1, ebcs_tab%nebcs_fvm + ebcs_tab%nebcs_loc + ebcs_tab%nebcs_parallel
693 CALL ebcs_tab%tab(ii)%poly%write_common_data(leni, lenr)
694 CALL ebcs_tab%tab(ii)%poly%write_data(leni, lenr)
695 ENDDO
696 ENDIF
697 ! -----------------------------
698
699 CALL write_i_c(laccelm,slaccelm)
700
701 CALL write_i_c(lgauge,3*nbgauge)
702
703 CALL write_i_c(nnlink,snnlink)
704
705 CALL write_i_c(lnlink,slnlink)
706
707 CALL userwi_write(user_windows,ispmd,nspmd,numnod)
708
709 CALL write_i_c(iparg,siparg)
710
711 CALL write_i_c(dd_iad,sdd_iad)
712
713 CALL write_i_c(igrv,sigrv)
714
715 CALL write_i_c(lgrav,slgrav)
716
717 CALL write_i_c(iexlnk,siexlnk)
718
719 CALL write_i_c(ibvel,sibvel)
720
721 CALL write_i_c(lbvel,slbvel)
722
723 CALL write_i_c(irbe2,sirbe2)
724
725 CALL write_i_c(lrbe2,slrbe2)
726
727 CALL write_i_c(rbe3%IRBE3,rbe3%NRBE3*irbe3_variables)
728
729 CALL write_i_c(rbe3%LRBE3,rbe3%lrbe3_sz)
730
731 CALL write_i_c(iactiv,siactiv)
732
733 CALL write_i_c(ibmpc,sibmpc)
734
735 CALL write_i_c(nodes%KINET,numnod)
736
737 CALL write_i_c(fasolfr,sfasolfr)
738
739 CALL write_i_c(segquadfr,ssegquadfr)
740
741 CALL write_i_c(ipari,sipari)
742
743c CALL WRITE_I_C(INBUF,SINBUF)
744
745 CALL w_bufbric_22() !inter22
746
747 !write new structure INTBUF_TAB
748 CALL write_intbuf(intbuf_tab)
749
750 CALL write_i_c(rwall%NPRW,rwall%NNPRW*rwall%NRWALL)
751
752 CALL write_i_c(rwall%LPRW,rwall%sz_lprw)
753
754 CALL write_i_c(iconx,siconx)
755
756 CALL write_i_c(madprt,smadprt)
757
758 CALL write_i_c(madsh4,smadsh4)
759
760 CALL write_i_c(madsh3,smadsh3)
761
762 CALL write_i_c(madsol,smadsol)
763
764 CALL write_i_c(madnod,smadnod)
765
766 CALL write_i_c(madclnod,madclnods)
767
768 CALL write_i_c(madfail,smadfail)
769
770 CALL write_i_c(madidx,smadidx)
771
772 CALL write_i_c(npby,snpby)
773
774 CALL write_i_c(npbyl,snpbyl)
775
776 CALL write_i_c(lpby,slpby)
777
778 CALL write_i_c(lpbyl,slpbyl)
779
780 CALL write_i_c(lrivet,slrivet)
781
782 CALL write_i_c(nstrf,snstrf)
783
784 CALL write_i_c(nom_sect,snom_sect)
785
786 CALL write_joint()
787
788 CALL write_i_c(nodpor,snodpor)
789
790 CALL write_i_c(monvol,smonvol)
791
792 DO ii = 1, nvolu
793 ntri(ii) = t_monvol(ii)%NB_FILL_TRI
794 ENDDO
795
796 CALL write_i_c(ntri, nvolu)
797 DO ii = 1, nvolu
798 IF (ntri(ii) > 0) THEN
799 CALL write_i_c(t_monvol(ii)%FILL_TRI(1:3* ntri(ii)), 3* ntri(ii))
800 ENDIF
801 ENDDO
802
803 CALL write_i_c(lagbuf,slagbuf)
804
805 IF(ns10e > 0)THEN
806 CALL write_i_c(icnds10,3*ns10e)
807 ENDIF
808
809 CALL write_th_restart(output%TH) ! Write Time History Buffer
810
811 CALL thsurf_write_restart(output%TH%TH_SURF,2)
812
813 CALL write_i_c(fr_mv,sfr_mv)
814
815 CALL write_i_c(nodes%BOUNDARY_ADD,siad_elem)
816
817 CALL write_i_c(iad_rby,siad_rby)
818
819 CALL write_i_c(iad_rby2,siad_rby2)
820
821 CALL write_i_c(iad_i2m,siad_i2m)
822
823 CALL write_i_c(iadcj,siadcj)
824
825 CALL write_i_c(iad_rbm,siad_rbm)
826
827 CALL write_i_c(iad_rbm2,siad_rbm2)
828
829 CALL write_i_c(iad_rbe2,siad_rbe2)
830
831 CALL write_i_c(rbe3%mpi%IAD_RBE3,nspmd+1)
832
833 CALL write_i_c(iad_sec,siad_sec)
834
835 CALL write_i_c(iad_cut,siad_cut)
836C
837 CALL write_i_c(iad_rbym,siad_rbym)
838
839 CALL write_i_c(iad_rbym2,siad_rbym2)
840
841 CALL write_i_c(nodes%BOUNDARY,sfr_elem)
842
843 CALL write_i_c(fr_rby,sfr_rby)
844
845 CALL write_i_c(rwall%FR_WALL,sfr_wall)
846
847 CALL write_i_c(fr_rby2,sfr_rby2)
848
849 CALL write_i_c(fr_i2m,sfr_i2m)
850
851 CALL write_i_c(fr_ll,sfr_ll)
852
853 CALL write_i_c(fr_cj,sfr_cj)
854
855 CALL write_i_c(fr_rbm,sfr_rbm)
856
857 CALL write_i_c(fr_rbm2,sfr_rbm2)
858
859 CALL write_i_c(fr_rbe2,sfr_rbe2)
860
861 CALL write_i_c(rbe3%mpi%FR_RBE3,rbe3%mpi%fr_rbe3_sz)
862
863 CALL write_i_c(rbe3%mpi%FR_RBE3MP,rbe3%mpi%fr_rbe3_sz)
864
865 CALL write_i_c(fr_sec,sfr_sec)
866
867 CALL write_i_c(fr_cut,sfr_cut)
868
869 CALL write_i_c(rg_cut,srg_cut)
870
871 CALL write_i_c(fr_mad,sfr_mad)
872
873 CALL write_i_c(fr_i18,sfr_i18)
874
875 CALL write_i_c(dd_r2r,sdd_r2r)
876
877 CALL write_i_c(dd_r2r_elem,sdd_r2r_elem)
878
879 CALL write_i_c(fr_rbym,sfr_rbym)
880
881 CALL write_i_c(fr_rbym2,sfr_rbym2)
882
883 CALL write_i_c(addcsrect,numnor+1)
884
885 CALL write_i_c(fr_nor,nbddnort)
886
887 CALL write_i_c(iad_frnor,(nspmd+1)*ninter25)
888
889 CALL write_i_c(procnor,nbccnor)
890
891 CALL write_i_c(interfaces%SPMD_ARRAYS%FR_EDG,2*nbddedgt)
892
893 CALL write_i_c(interfaces%SPMD_ARRAYS%IAD_FREDG,(nspmd+1)*ninter25)
894
895 CALL write_i_c(iskwp,siskwp)
896
897 CALL write_i_c(nskwp,snskwp)
898
899 IF(snskwp>0) CALL write_i_c(iskwp_l,nskwp(ispmd+1))
900
901 CALL write_i_c(isensp,sisensp)
902
903 CALL write_i_c(nsensp,snsensp)
904
905 CALL write_i_c(iaccp,siaccp)
906
907 CALL write_i_c(naccp,snaccp)
908
909 CALL write_i_c(igaup,sigaup)
910
911 CALL write_i_c(ngaup,sngaup)
912
913 CALL write_i_c(fr_lagf,sfr_lagf)
914
915 CALL write_i_c(newfront,snewfront)
916
917 CALL write_i_c(nbrcvois,snbrcvois)
918
919 CALL write_i_c(lnrcvois,slnrcvois)
920
921 CALL write_i_c(nbsdvois,snbsdvois)
922
923 CALL write_i_c(lnsdvois,slnsdvois)
924
925 CALL write_i_c(nercvois,snercvois)
926
927 CALL write_i_c(lercvois,slercvois)
928
929 CALL write_i_c(nesdvois,snesdvois)
930
931 CALL write_i_c(lesdvois,slesdvois)
932
933 CALL write_i_c(npsegcom,snpsegcom)
934
935 CALL write_i_c(lsegcom,slsegcom)
936
937 CALL write_i_c(nporgeo,snporgeo)
938
939 CALL write_i_c(lnodpor,slnodpor)
940
941 CALL write_i_c(llagf,sllagf)
942
943 IF(icrack3d > 0)THEN
944 CALL write_i_c(iad_edge,siad_edge)
945 CALL write_i_c(fr_edge,sfr_edge)
946 CALL write_i_c(fr_nbedge,sfr_nbedge)
947 ENDIF
948
949c IF(NS10E > 0)THEN
950 CALL write_i_c(iad_cndm,siad_cndm)
951 CALL write_i_c(fr_cndm,sfr_cndm)
952c ENDIF
953
954 IF(iparit==1)THEN
955 CALL write_i_c(elements%PON%ADSKY,numnod+1)
956 CALL write_i_c(elements%PON%PROCNE,SIZE(elements%PON%PROCNE))
957 IF(i2nsnt>0)THEN
958 CALL write_i_c(addcni2,numnod+1)
959 ENDIF
960 CALL write_i_c(procni2,lcni2)
961 IF(ns10e>0) THEN
962 CALL write_i_c(addcncnd,saddcncnd)
963 ENDIF
964 CALL write_i_c(procncnd,sprocncnd)
965 CALL write_i_c(elements%PON%IADS ,SIZE(elements%PON%IADS)) !< 1 ; 8xNUMELS solid indexes to FSKY
966 CALL write_i_c(elements%PON%IADS10 ,SIZE(elements%PON%IADS10 )) !< 6* NUMELS10
967 CALL write_i_c(elements%PON%IADS20 ,SIZE(elements%PON%IADS20 )) ! 12*NUMELS20
968 CALL write_i_c(elements%PON%IADS16 ,SIZE(elements%PON%IADS16 )) ! 8*NUMELS16
969 CALL write_i_c(elements%PON%IADQ ,SIZE(elements%PON%IADQ )) !<i87b ; quad i87b
970 CALL write_i_c(elements%PON%IADC ,SIZE(elements%PON%IADC )) !<i87C shell (4 nodes) indexes to FSKY
971 CALL write_i_c(elements%PON%IAD_TRUSS ,SIZE(elements%PON%IAD_TRUSS)) !< I87D 2xNUMELT
972 CALL write_i_c(elements%PON%IAD_BEAM ,SIZE(elements%PON%IAD_BEAM )) !< I87E 2xNUMELP
973 CALL write_i_c(elements%PON%IAD_SPRING ,SIZE(elements%PON%IAD_SPRING )) !<F 3xNUMELR
974 CALL write_i_c(elements%PON%IAD_TG ,SIZE(elements%PON%IAD_TG )) !<G 3xNUMELTG
975 CALL write_i_c(elements%PON%IAD_TG6 ,SIZE(elements%PON%IAD_TG6 )) !<H 3xNUMELTG6
976 CALL write_i_c(elements%PON%IAD_MV ,SIZE(elements%PON%IAD_MV )) !I 4xNSKYMV0
977 CALL write_i_c(elements%PON%IAD_CONLD ,SIZE(elements%PON%IAD_CONLD)) !<J 4xNCONLD
978 CALL write_i_c(elements%PON%IAD_CONV ,SIZE(elements%PON%IAD_CONV)) !<K 4x glob_therm%NCONV
979 CALL write_i_c(elements%PON%IAD_RADIA ,SIZE(elements%PON%IAD_RADIA)) !<L 4x glob_therm%Numrada
980 CALL write_i_c(elements%PON%IAD_LOADP ,SIZE(elements%PON%IAD_LOADP)) !<M SLLOADP
981 CALL write_i_c(elements%PON%IAD_FXFLUX ,SIZE(elements%PON%IAD_FXFLUX)) !<N 4x glob_therm%nfxflux
982
983
984C CALL WRITE_I_C(IADS,NISKY0)
985 CALL write_i_c(iadwal,nskyrw0)
986 CALL write_i_c(iadrbk,nskyrbk0)
987 CALL write_i_c(iadi2,niskyi2)
988 CALL write_i_c(iadcnd,siadcnd)
989 CALL write_i_c(iadmv2,nskymv0)
990 CALL write_i_c(iadmv3,nskymvc0)
991 CALL write_i_c(iadll,nskyll0)
992 CALL write_i_c(iadrbm,nskyrbm0)
993 CALL write_i_c(iadi18,nskyi18)
994 CALL write_i_c(iadrbmk,nskyrbmk0)
995C
996C ply xfem
997C
998 IF(iplyxfem > 0) THEN
999 CALL write_i_c(adsky_pxfem,nplyxfe+1 )
1000C direct reading of PROCNE
1001 CALL write_i_c(procne_pxfem,lcnepxfem)
1002 CALL write_i_c(iadc_pxfem,4*eplyxfe)
1003 ENDIF
1004C
1005C xfem for layered shell (cracks)
1006C
1007 IF(icrack3d > 0) THEN
1008 CALL write_i_c(adsky_crkxfem,ncrkxfe+1)
1009 CALL write_i_c(cne_crkxfem,lcnecrkxfem)
1010 CALL write_i_c(procne_crkxfem,lcnecrkxfem)
1011 CALL write_i_c(iadc_crkxfem,4*ecrkxfec+3*ecrkxfetg)
1012 CALL write_i_c(crknodiad,lcnecrkxfem)
1013 ENDIF
1014 ENDIF
1015 ! ---------------
1016 ! ebcs option : adress of FSKY array
1017 IF(ebcs_tab%nebcs_parallel>0) THEN
1018 DO i=1,ebcs_tab%nebcs
1019 IF(ebcs_tab%my_typ(i)==10 .or. ebcs_tab%my_typ(i)==11) THEN
1020 my_size = ebcs_tab%tab(i)%poly%nb_elem
1021 CALL write_i_c(ebcs_parithon(i)%ELEM_ADRESS,4*my_size)
1022 ENDIF
1023 ENDDO
1024 ENDIF
1025 ! ---------------
1026
1027 CALL compress_i_nnz(igeo,len_g)
1028 CALL compress_i_nnz(ipm,len_m)
1029
1030 CALL write_i_c(icontact ,sicontact)
1031 CALL write_i_c(ipart_state,len_s)
1032
1033 IF(nadmesh /= 0)THEN
1034 CALL write_i_c(sh4tree,ksh4tree*numelc)
1035 CALL write_i_c(sh3tree,ksh3tree*numeltg)
1036 CALL write_i_c(ipadmesh,kipadmesh*npart)
1037 len=abs(lsh4trim)
1038 CALL write_i_c(sh4trim,len)
1039 len=abs(lsh3trim)
1040 CALL write_i_c(sh3trim,len)
1041 END IF
1042C--------------------------------------
1043C Writing Additional Tables Boundary Interfaces (entire part)
1044C--------------------------------------
1045 CALL spmd_savefi(ipari,1,intbuf_tab,sensors%NSENSOR,sensors%SENSOR_TAB,
1046 . interfaces%PARAMETERS)
1047C--------------------------------------
1048C Writing Additional Tables Frontieres SPH (integer part)
1049C--------------------------------------
1050 CALL spmd_savesph(1,numsphg)
1051C--------------------------------------
1052C Int 21 structures
1053C--------------------------------------
1054 IF(nintstamp /= 0)THEN
1055 CALL intstamp_wresti(intstamp)
1056 END IF
1057C--------------------------------------
1058C Interface friction buffer (integer )
1059C--------------------------------------
1060 IF(ninterfric /= 0)THEN
1061 CALL intfric_wresti(intbuf_fric_tab,ninterfric)
1062 END IF
1063C--------------------------------------
1064C Table structure (integer part)
1065C--------------------------------------
1066 IF(ntable /= 0)THEN
1067 CALL table_wresti(table, ltable)
1068 END IF
1069C--------------------------------------
1070 CALL write_i_c(ithvar,sithvar)
1071C--------------------------------------
1072 IF (nloadc>0)THEN
1073 CALL write_i_c(icfield,sizfield*nloadc)
1074 CALL write_i_c(lcfield,slcfield)
1075 ENDIF
1076 IF (nloadp>0)THEN
1077 CALL write_i_c(iloadp,sizloadp*nloadp)
1078 CALL write_i_c(lloadp,slloadp)
1079 ENDIF
1080 IF (pblast%NLOADP_B>0)THEN
1081 CALL pblast_write_engine(pblast)
1082 ENDIF
1083C--------------------------------------
1084 IF (loads%NLOAD_CYL > 0) THEN
1085 CALL write_pcyl(loads)
1086 ENDIF
1087C--------------------------------------
1088 IF(icrack3d > 0)THEN
1089 CALL write_i_c(ibordnode,sibordnode)
1090 CALL write_i_c(iedgesh,siedgesh)
1091 CALL write_i_c(nodedge,2*numedges)
1092 CALL write_i_c(iedge,numedges)
1093 CALL write_i_c(nodglobxfe,snodglobxfe)
1094 END IF
1095C--------------------------------------
1096 IF(numelig3d > 0)THEN
1097 CALL write_i_c(kxig3d,skxig3d)
1098
1099 CALL write_i_c(ixig3d,sixig3d)
1100 ENDIF
1101C----------------------------------
1102 CALL write_i_c(tag_skins6,numels)
1103C--------------------------------------
1104C /BCS/CYCLIC
1105C--------------------------------------
1106 IF(nbcscyc > 0)THEN
1107 CALL write_i_c(ibcscyc,sibcscyc)
1108 CALL write_i_c(lbcscyc,slbcscyc)
1109 ENDIF
1110C--------------------------------------
1111C /BCS/WALL
1112C--------------------------------------
1113 itmp = bcs%NUM_WALL
1114 CALL write_i_c(itmp,1)
1115 IF(bcs%NUM_WALL > 0)THEN
1116 DO i=1, bcs%NUM_WALL
1117 CALL write_bcs_wall(bcs%WALL(i))
1118 ENDDO
1119 ENDIF
1120C--------------------------------------
1121C /BCS/NRF
1122C--------------------------------------
1123 itmp = bcs%NUM_NRF
1124 CALL write_i_c(itmp,1)
1125 IF(bcs%NUM_NRF > 0)THEN
1126 DO i=1, bcs%NUM_NRF
1127 CALL write_bcs_nrf(bcs%NRF(i))
1128 ENDDO
1129 ENDIF
1130C--------------------------------------
1131C writing real variables
1132C--------------------------------------
1133 CALL write_db(tabvrea, lvarrea)
1134C--------------------------------------
1135C writing reals
1136C--------------------------------------
1137 CALL write_db(nodes%X,sx)
1138
1139 CALL write_db(nodes%D,sd)
1140
1141 CALL write_db(nodes%V,sv)
1142
1143 CALL write_db(nodes%VR,svr)
1144
1145 CALL write_db(nodes%DR,sdr)
1146
1147 CALL write_db(thke,sthke)
1148
1149 CALL write_db(dampr,sdampr)
1150
1151 CALL write_db(damp,sdamp)
1152
1153 CALL write_db(nodes%MS,sms)
1154
1155 IF (n2d >0) THEN
1156 CALL write_db(ms_2d,numnod)
1157 ENDIF
1158
1159 CALL write_db(nodes%IN,sin)
1160
1161 CALL write_db(tf,stf)
1162
1163 CALL write_db(pm,spm)
1164
1165 CALL write_matparam(mat_elem)
1166
1167 CALL write_elgroup_param(mat_elem%GROUP_PARAM,ngroup)
1168
1169 skew_len = skews%N_SKEW_VAR * skews%TOTAL_SKEW_NUMBER
1170 CALL write_db(skews%SKEW,skew_len)
1171
1172 CALL write_db(xframe,sxframe)
1173
1174 CALL compress_r_nnz(geo,sgeo)
1175
1176 CALL write_db(eani,seani)
1177
1178 CALL write_db(bufmat,sbufmat)
1179
1180 CALL write_db(bufgeo,sbufgeo)
1181
1182 CALL write_db(bufsf,sbufsf)
1183
1184 CALL write_db(rbmpc,srbmpc)
1185
1186 CALL write_db(gjbufr,sgjbufr)
1187
1188 CALL write_db(w,sw)
1189
1190 CALL write_db(veul,sveul)
1191
1192 IF (multi_fvm%IS_USED) THEN
1193 CALL write_db(multi_fvm%PRES_SHIFT, 1)
1194 IF (n2d == 0) THEN
1195 CALL write_db(multi_fvm%VEL(1, :), numels)
1196 CALL write_db(multi_fvm%VEL(2, :), numels)
1197 CALL write_db(multi_fvm%VEL(3, :), numels)
1198 ELSE
1199 CALL write_db(multi_fvm%VEL(1, :), numelq + numeltg)
1200 CALL write_db(multi_fvm%VEL(2, :), numelq + numeltg)
1201 CALL write_db(multi_fvm%VEL(3, :), numelq + numeltg)
1202 ENDIF
1203 ENDIF
1204
1205 CALL write_db(fill,sfill)
1206
1207 CALL write_db(dfill,sdfill)
1208
1209 CALL write_db(alph,salph)
1210
1211 CALL write_db(wb,swb)
1212
1213 CALL write_db(dsave,sdsave)
1214
1215 CALL write_db(asave,sasave)
1216
1217 CALL write_db(spbuf,sspbuf)
1218
1219 CALL write_db(vsphio,svsphio)
1220
1221 CALL write_db(sphveln,ssphveln)
1222
1223 CALL write_db(msnf,smsnf)
1224
1225 CALL write_db(forc,sforc)
1226
1227 CALL write_db(vel,svel)
1228
1229 CALL write_db(fsav,sfsav)
1230
1231 CALL write_i_c(tab_ump,7*taille)
1232
1233 CALL write_i_c(poin_ump,nummat)
1234
1235 CALL write_db(tab_mat,stab_mat)
1236
1237 CALL write_db(fzero,sfzero)
1238
1239 CALL write_db(xlas,sxlas)
1240
1241 CALL write_db(accelm,saccelm)
1242
1243 CALL write_db(gauge,llgauge*nbgauge)
1244
1245 CALL write_sensors(sensors)
1246
1247 CALL write_db(fbvel,sfbvel)
1248
1249 CALL write_db(rbe3%FRBE3,rbe3%frbe3_sz)
1250
1251 CALL write_rrbe3pen(rbe3%PEN)
1252
1253 CALL write_db(factiv,lractiv*nactiv)
1254
1255 CALL write_db(grav,sgrav)
1256
1257 CALL write_db(fr_wave,sfr_wave)
1258
1259 CALL w_failwave(failwave)
1260
1262
1263 CALL write_db(parts0,sparts0)
1264
1265 CALL write_db(elbuf,selbuf)
1266
1267 flag_xfem = 0
1268 CALL w_elbuf_str(iparg,elbuf_tab,flag_xfem)
1269
1270C if xfem
1271 IF (icrack3d > 0) THEN
1272 flag_xfem = 1
1273 DO ixel=1,nxel
1274 CALL w_elbuf_str(iparg,xfem_tab(1:ngroup,ixel),flag_xfem)
1275 ENDDO
1276 ENDIF
1277
1278 CALL w_cluster(cluster)
1279
1280 CALL write_db(rwall%RWBUF,rwall%nrwlp*rwall%nrwall)
1281
1282 CALL write_db(rwall%RWSAV,rwall%sz_rwsav)
1283
1284 CALL write_rrwallpen(rwall%nrwall_pen,rwall%PEN,rwall%PEN%lnspen)
1285
1286 CALL write_db(rby,srby)
1287
1288 CALL write_db(rbyl,srbyl)
1289
1290 CALL write_db(rivet,srivet)
1291
1292 CALL write_db(secbuf,ssecbuf)
1293
1294 CALL write_db(volmon,svolmon)
1295
1296 CALL write_db(lambda,slambda)
1297
1298 CALL write_db(rconx,srconx)
1299
1300 CALL write_db(rcontact,srcontact)
1301 CALL write_db(acontact,srcontact)
1302 CALL write_db(pcontact,srcontact)
1303C--------------------------------------
1304C Writing Additional Tables Boundary Interfaces (real part)
1305C--------------------------------------
1306 CALL spmd_savefi(ipari,2,intbuf_tab,sensors%NSENSOR,sensors%SENSOR_TAB,
1307 . interfaces%PARAMETERS)
1308C--------------------------------------
1309C Writing Additional Tables Frontieres SPH (Real part)
1310C--------------------------------------
1311 CALL spmd_savesph(2,numsphg)
1312C--------------------------------------
1313C OPTIONAL WRITES
1314C--------------------------------------
1315 IF (iresmd==0.AND.npsav>=25) THEN
1316C bring PARTSAV back to the proc and set the others to zero
1317 IF(nspmd > 1)
1318 . CALL spmd_glob_dsum9(partsav,npsav*npart)
1319 IF (ispmd/=0)THEN
1320 DO m=1,npsav*npart
1321 partsav(m) = zero
1322 ENDDO
1323 ENDIF
1324 CALL write_db(partsav,npsav*npart)
1325 ENDIF
1326 IF(nnoise>0)THEN
1327 CALL write_i_c (iaf(if01),2*nnoise+10)
1328 CALL write_db(af(mf01),6*ncnois*nnoise+1)
1329 ENDIF
1330C-----
1331C Save A, AR to Restart RAD2MD
1332 IF (iresmd==1) THEN
1333 CALL write_db(nodes%A,3*numnod)
1334 CALL write_db(nodes%AR,3*numnod)
1335C Save PARTSAV.
1336 CALL write_db(partsav,npsav*npart)
1337 ENDIF
1338C
1339 IF (iresp == 1) THEN
1340 CALL write_dpdb(nodes%XDP,3*numnod)
1341 CALL write_dpdb(nodes%DDP,3*numnod)
1342 ENDIF
1343C needed for check restart
1344C needed because the restarts are the same as the check restart
1345 my_ilen = 4*nrlink+nrlink*(nspmd+2)
1346 . +lllink+lllink*min(1,iparit)
1347 . +nsflsw+8*ntflsw+44*ncuts !+LLINAL
1348 CALL write_i_c (my_ilen,1)
1349 my_rlen = 9*nsflsw+7*ncuts
1350 CALL write_i_c (my_rlen,1)
1351 CALL write_i_c (ilink,4*nrlink)
1352 CALL write_i_c (fr_rl,nrlink*(nspmd+2))
1353 CALL write_i_c (llink,lllink)
1354 CALL write_i_c (iadrl,lllink*min(1,iparit))
1355 !CALL WRITE_I_C (LINALE,LLINAL)
1356C section
1357 CALL write_i_c(neflsw,nsflsw)
1358 CALL write_i_c(nnflsw,8*ntflsw)
1359 CALL write_i_c(icut,44*ncuts)
1360 CALL write_db (crflsw,9*nsflsw)
1361 CALL write_db (xcut,7*ncuts)
1362C--------------------------------------
1363 IF(nadmesh /= 0 .OR. irest_mselt /= 0)THEN
1364 CALL write_db(msc,numelc)
1365 CALL write_db(inc,numelc)
1366 CALL write_db(mstg,numeltg)
1367 CALL write_db(intg,numeltg)
1368 CALL write_db(ptg,3*numeltg)
1369 END IF
1370
1371 IF(irest_mselt /= 0)THEN
1372 CALL write_db(mssa,numels)
1373 CALL write_db(mstr,numelt)
1374 CALL write_db(msp,numelp)
1375 CALL write_db(msrt,numelr)
1376 END IF
1377
1378 IF(nadmesh /= 0)THEN
1379 CALL write_db(padmesh,kpadmesh*npart)
1380 IF(glob_therm%ITHERM_FE > 0)THEN
1381 CALL write_db(mcpc,numelc)
1382 CALL write_db(mcptg,numeltg)
1383 END IF
1384 END IF
1385C pinching shell
1386 IF(npinch > 0) THEN
1387 CALL write_db(pinch_data%VPINCH,3*npinch)
1388 CALL write_db(pinch_data%DPINCH,3*npinch)
1389 CALL write_db(pinch_data%XPINCH,3*npinch)
1390 CALL write_db(pinch_data%MSPINCH,npinch)
1391 ENDIF
1392C--------------------------------------
1393 IF(istatcnd /= 0)THEN
1394 CALL write_db(mscnd,numnod)
1395 CALL write_db(incnd,numnod)
1396 ENDIF
1397C--------------------------------------
1398C Int 21 structures
1399C--------------------------------------
1400 IF(nintstamp /= 0)THEN
1401 CALL intstamp_wrestr(intstamp)
1402 END IF
1403
1404 IF(h3d_data%N_SCAL_SKID > 0) THEN
1405 IF(nintstamp/=0) THEN
1406 CALL write_db(pskids, h3d_data%N_SCAL_SKID*numnodg)
1407 ELSE
1408 CALL write_db(pskids, h3d_data%N_SCAL_SKID*numnod)
1409 ENDIF
1410 ENDIF
1411
1412 IF(ifcontmax >0)THEN
1413 IF(nintstamp/=0.AND.nspmd > 1 ) THEN
1414 IF(ispmd == 0) CALL write_db(fcont_max, 3*numnodg)
1415 ELSE
1416 CALL write_db(fcont_max, 3*numnod)
1417 ENDIF
1418 ENDIF
1419
1420 IF(ifcontpmax >0)THEN
1421 CALL write_db(fncont_max, 3*spcont_max)
1422 CALL write_db(ftcont_max, 3*spcont_max)
1423 ENDIF
1424
1425 IF(ifcont2max >0)THEN
1426 CALL write_db(fcont2_max, 3*numnod)
1427 ENDIF
1428 IF(ifcontp2max >0)THEN
1429 CALL write_db(fncont2_max, 3*numnod)
1430 CALL write_db(ftcont2_max, 3*numnod)
1431 CALL write_db(npcont2_max, 3*numnod)
1432 ENDIF
1433
1434 IF(ifcont2min >0)THEN
1435 CALL write_db(fcont2_min, 3*numnod)
1436 ENDIF
1437 IF(ifcontp2min >0)THEN
1438 CALL write_db(fncont2_min, 3*numnod)
1439 CALL write_db(ftcont2_min, 3*numnod)
1440 CALL write_db(npcont2_min, 3*numnod)
1441 ENDIF
1442C--------Frictional energy output-------
1443 IF(output%DATA%S_EFRICINT >0)THEN
1444 IF(output%DATA%NINEFRIC > 0) CALL write_db(output%DATA%EFRIC, output%DATA%NINEFRIC*numnod)
1445 IF(output%DATA%NINEFRIC_STAMP > 0) CALL write_db(output%DATA%EFRIC_STAMP, output%DATA%NINEFRIC_STAMP*numnodg)
1446 ENDIF
1447 IF(output%DATA%S_EFRIC >0)THEN
1448 CALL write_db(output%DATA%EFRICG, numnod)
1449 IF(nintstamp/=0) CALL write_db(output%DATA%EFRICG_STAMP, numnodg)
1450 ENDIF
1451C--------------------------------------
1452C Interface friction buffer (integer )
1453C--------------------------------------
1454 IF(ninterfric /= 0)THEN
1455 CALL intfric_wrestr(intbuf_fric_tab,ninterfric)
1456 END IF
1457C--------------------------------------
1458 CALL write_db(nodes%MS0,numnod)
1459 CALL write_db(nodes%IN0,sin)
1460 IF(idtmins==1)THEN
1461 CALL write_db(admsms,numnod)
1462 ELSEIF(idtmins==2)THEN
1463 CALL write_db(dmelc ,numelc)
1464 CALL write_db(dmeltg,numeltg)
1465 CALL write_db(dmels ,numels)
1466 CALL write_db(dmeltr,numelt)
1467 CALL write_db(dmelp ,numelp)
1468 CALL write_db(dmelrt,numelr)
1469 END IF
1470 IF(idtmins/=0.OR.idtmins_int/=0)THEN
1471 CALL write_db(res_sms,3*numnod)
1472 END IF
1473c
1474 IF(idtmins==2.OR.idtmins_int/=0) THEN
1475Cfor TYPE20
1476 CALL write_db(diag_sms ,numnod)
1477Cfor TYPE2
1478 CALL write_db(dmint2 ,4*i2nsn25)
1479 END IF
1480C
1481 IF (isms_selec /= 0) THEN
1482 CALL write_i_c(nativ0_sms,numnod)
1483 ENDIF
1484C--------------------------------------
1485C Table structure (real part)
1486C--------------------------------------
1487 IF(ntable /= 0)THEN
1488 CALL table_wrestr(table, ltable)
1489 END IF
1490C--------------------------------------
1491C MDS Parameters
1492C--------------------------------------
1493#ifdef DNC
1494 CALL eng_wrt_mds()
1495#endif
1496C--------------------------------------
1497C ALE LINKS
1498C--------------------------------------
1499 IF(slinale > 0)THEN
1500 CALL write_i_c(linale,slinale)
1501 END IF
1502C--------------------------------------
1503C ALE GRID
1504C--------------------------------------
1505 CALL write_ale_grid()
1506C--------------------------------------
1507C FXBODY (moved from resol.F)
1508C--------------------------------------
1509 IF (nfxbody>0) CALL fxbwrest(ich)
1510C--------------------------------------
1511C EIGEN MODES
1512C--------------------------------------
1513 IF (neig>0) THEN
1514 CALL eigwrest(eigipm, eigibuf, eigrpm)
1515 ENDIF
1516C--------------------------------------
1517C SEATBELTS - SLIPRING / RETRACTOR
1518C--------------------------------------
1519 DO i = 1, nslipring
1520 CALL write_i_c(slipring(i)%ID, 1)
1521 CALL write_i_c(slipring(i)%IDG, 1)
1522 CALL write_i_c(slipring(i)%NFRAM, 1)
1523 CALL write_i_c(slipring(i)%IFUNC, 4)
1524 CALL write_i_c(slipring(i)%SENSID, 1)
1525 CALL write_i_c(slipring(i)%FL_FLAG, 1)
1526 CALL write_i_c(slipring(i)%RBODY, 1)
1527C
1528 CALL write_db(slipring(i)%DC, 1)
1529 CALL write_db(slipring(i)%A, 1)
1530 CALL write_db(slipring(i)%FRIC, 1)
1531 CALL write_db(slipring(i)%FAC_D, 3)
1532 CALL write_db(slipring(i)%FRICS, 1)
1533 CALL write_db(slipring(i)%FAC_S, 3)
1534C
1535 DO j=1,slipring(i)%NFRAM
1536C
1537 CALL write_i_c(slipring(i)%FRAM(j)%UPDATE, 1)
1538 CALL write_i_c(slipring(i)%FRAM(j)%ANCHOR_NODE, 1)
1539 CALL write_i_c(slipring(i)%FRAM(j)%NODE, 3)
1540 CALL write_i_c(slipring(i)%FRAM(j)%NODE_NEXT, 3)
1541 CALL write_i_c(slipring(i)%FRAM(j)%NODE2_PREV, 1)
1542 CALL write_i_c(slipring(i)%FRAM(j)%N_REMOTE_PROC, 1)
1543 CALL write_i_c(slipring(i)%FRAM(j)%ORIENTATION_NODE, 1)
1544 CALL write_i_c(slipring(i)%FRAM(j)%STRAND_DIRECTION, 2)
1545 CALL write_i_c(slipring(i)%FRAM(j)%LOCKED, 1)
1546C
1547 CALL write_db(slipring(i)%FRAM(j)%VECTOR, 6)
1548 CALL write_db(slipring(i)%FRAM(j)%ORIENTATION_ANGLE, 1)
1549 CALL write_db(slipring(i)%FRAM(j)%MATERIAL_FLOW, 1)
1550 CALL write_db(slipring(i)%FRAM(j)%MATERIAL_FLOW_OLD, 1)
1551 CALL write_db(slipring(i)%FRAM(j)%DFS, 1)
1552 CALL write_db(slipring(i)%FRAM(j)%RESIDUAL_LENGTH, 2)
1553 CALL write_db(slipring(i)%FRAM(j)%CURRENT_LENGTH, 2)
1554 CALL write_db(slipring(i)%FRAM(j)%RINGSLIP, 1)
1555 CALL write_db(slipring(i)%FRAM(j)%BETA, 1)
1556 CALL write_db(slipring(i)%FRAM(j)%SLIP_FORCE, 3)
1557 CALL write_db(slipring(i)%FRAM(j)%PREV_REF_LENGTH, 1)
1558 CALL write_db(slipring(i)%FRAM(j)%INTVAR_STR1, 8)
1559 CALL write_db(slipring(i)%FRAM(j)%INTVAR_STR2, 8)
1560C
1561 ENDDO
1562C
1563 ENDDO
1564C
1565 DO i = 1, nretractor
1566 CALL write_i_c(retractor(i)%ID, 1)
1567 CALL write_i_c(retractor(i)%IDG, 1)
1568 CALL write_i_c(retractor(i)%UPDATE, 1)
1569 CALL write_i_c(retractor(i)%ANCHOR_NODE, 1)
1570 CALL write_i_c(retractor(i)%NODE, 2)
1571 CALL write_i_c(retractor(i)%NODE_NEXT, 2)
1572 CALL write_i_c(retractor(i)%STRAND_DIRECTION, 1)
1573 CALL write_i_c(retractor(i)%IFUNC, 3)
1574 CALL write_i_c(retractor(i)%ISENS, 2)
1575 CALL write_i_c(retractor(i)%TENS_TYP, 1)
1576 CALL write_i_c(retractor(i)%LOCKED, 1)
1577 CALL write_i_c(retractor(i)%LOCKED_FREEZE, 1)
1578 CALL write_i_c(retractor(i)%PRETENS_ACTIV, 1)
1579 CALL write_i_c(retractor(i)%INACTI_NNOD, 1)
1580 CALL write_i_c(retractor(i)%INACTI_NNOD_MAX, 1)
1581 CALL write_i_c(retractor(i)%INACTI_NODE, retractor(i)%INACTI_NNOD)
1582 CALL write_i_c(retractor(i)%N_REMOTE_PROC, 1)
1583 CALL write_i_c(retractor(i)%S_TABLE, 2)
1584 CALL write_db(retractor(i)%VECTOR, 3)
1585 CALL write_db(retractor(i)%ELEMENT_SIZE, 1)
1586 CALL write_db(retractor(i)%FORCE, 1)
1587 CALL write_db(retractor(i)%MATERIAL_FLOW, 1)
1588 CALL write_db(retractor(i)%RESIDUAL_LENGTH, 1)
1589 CALL write_db(retractor(i)%FAC, 4)
1590 CALL write_db(retractor(i)%PULLOUT, 1)
1591 CALL write_db(retractor(i)%UNLOCK_FORCE, 1)
1592 CALL write_db(retractor(i)%LOCK_PULL, 1)
1593 CALL write_db(retractor(i)%LOCK_PULL_SAV, 1)
1594 CALL write_db(retractor(i)%LOCK_OFFSET, 1)
1595 CALL write_db(retractor(i)%LOCK_YIELD_FORCE, 1)
1596 CALL write_db(retractor(i)%RINGSLIP, 1)
1597 CALL write_db(retractor(i)%PRETENS_TIME, 1)
1598 CALL write_db(retractor(i)%PRETENS_PULL, 1)
1599 CALL write_db(retractor(i)%PRETENS_PULLMAX, 1)
1600 CALL write_db(retractor(i)%RET_FORCE, 1)
1601 DO j=1,2
1602 IF (retractor(i)%S_TABLE(j) > 0) THEN
1603 npt = retractor(i)%S_TABLE(j)
1604 CALL write_db(retractor(i)%TABLE(j)%X(1)%VALUES(1:npt),npt)
1605 CALL write_db(retractor(i)%TABLE(j)%Y%VALUES(1:npt),npt)
1606 ENDIF
1607 ENDDO
1608 ENDDO
1609C
1610 IF (n_anchor_remote > 0) THEN
1611 CALL write_i_c(anchor_remote%ADD_PROC, nspmd+1)
1612 CALL write_i_c(anchor_remote%NODE, n_anchor_remote)
1613 ENDIF
1614C
1615 IF (n_anchor_remote_send > 0) THEN
1616 CALL write_i_c(anchor_remote_send%ADD_PROC, nspmd+1)
1617 CALL write_i_c(anchor_remote_send%NODE, n_anchor_remote_send)
1618 ENDIF
1619C
1620 IF ((nslipring_g + nretractor_g >0).AND.(ispmd == 0)) THEN
1622 IF ((nspmd > 1).AND.(nseatbelt_th_proc > 0)) THEN
1623 DO i=1,nseatbelt_th_proc
1624 CALL write_i_c(seatbelt_th_exch(i)%ID_PROC, 1)
1625 CALL write_i_c(seatbelt_th_exch(i)%ADD_PROC, 1)
1626 CALL write_i_c(seatbelt_th_exch(i)%NSLIPRING, 1)
1627 CALL write_i_c(seatbelt_th_exch(i)%NRETRACTOR, 1)
1628 ENDDO
1629 ENDIF
1630 ENDIF
1631C
1632C--------------------------------------------
1633C /H3D/?/TMAX part noda
1634C--------------------------------------------
1635 CALL write_db(tm_dis,lmax_dis*numnod)
1636 CALL write_db(tm_vel,lmax_vel*numnod)
1637 CALL write_db(tm_nsig1,lmax_nsig*numnod)
1638 CALL write_db(tm_nsig3,lmax_nsig*numnod)
1639 CALL write_db(tm_nstra1,lmax_nstra*numnod)
1640 CALL write_db(tm_nstra3,lmax_nstra*numnod)
1641C--------------------------------------
1642 IF (nconld > 0) THEN
1643 CALL write_db(dpl0cld,6*nconld)
1644 CALL write_db(vel0cld,6*nconld)
1645 ENDIF
1646C--------------------------------------
1647C /DAMP/VREL
1648C--------------------------------------
1649 IF (ndamp_vrel > 0) THEN
1651 CALL write_i_c(fr_damp_vrel,ndamp_vrel*(nspmd+2))
1652 ENDIF
1653C--------------------------------------
1654 IF (nflow>0) CALL nfwrest(iflow, rflow)
1655c
1656 CALL fvwrest()
1657c
1658 IF (impl_s>0) THEN
1659 CALL imp_trans(impbuf_tab%R_IMP)
1660 CALL impwrest(impl_s0)
1661 ENDIF
1662c
1663 IF(glob_therm%ITHERM_FE > 0 ) CALL thcwrest(mcp, temp)
1664C
1665 IF(nitsche > 0 )CALL nitschewrest(forneqs)
1666c
1667 CALL write_units(unitab)
1668c
1669 IF(irigid_mat > 0 )CALL rigmatwrest(rbym ,irbym ,lnrbym,weight_rm)
1670
1671C thermal boundary
1672 IF (glob_therm%NUMCONV > 0) THEN
1673 CALL convwrest(ibcv, fconv,glob_therm)
1674 END IF
1675 IF (glob_therm%NUMRADIA > 0) THEN
1676 CALL radiawrest(ibcr, fradia,glob_therm)
1677 END IF
1678 IF (glob_therm%NFXFLUX > 0) THEN
1679 CALL fxfluxwrest(ibfflux, fbfflux, glob_therm)
1680 END IF
1681 IF (glob_therm%NFXTEMP > 0) THEN
1682 CALL fxtempwrest(ibftemp, fbftemp,glob_therm)
1683 END IF
1684!
1685c Ply XFEM
1686 IF (iplyxfem > 0)THEN
1687 CALL plyxfem_wrest(ms_ply,zi_ply,inod_pxfem,iel_pxfem,
1688 . icode_ply,iskew_ply,msz2)
1689 CALL plyxfem_wrestanim()
1690 CALL plyxfem_wravuply()
1691 ENDIF
1692c
1693 IF (nloadc > 0) CALL write_db(cfield,lfacload*nloadc)
1694 IF (nloadp > 0) CALL write_db(loadp,lfacload*nloadp)
1695 IF (nintloadp > 0) CALL write_db(dgaploadint,ninter*nloadp_hyd)
1696C
1697C /INIVEL w/ T_start or senor_id
1698 IF (loads%NINIVELT>0) CALL write_inivel(loads%NINIVELT,loads%INIVELT)
1699C
1700C xfem for layerd shell (cracks)
1701 IF (icrack3d > 0) THEN
1704 ENDIF
1705C
1706 IF(alefvm_param%IEnabled > 0) CALL write_db(alefvm_buffer%FCELL ,6*numels)
1707C foam + air
1708 IF(ialelag > 0 )CALL alelag_wrest()
1709C THoutput
1710 IF(srthbuf > 0) CALL rthbufwrest()
1711C Knot
1712 IF (sknot > 0) CALL write_db(knot,sknot)
1713 IF (sknotlocpc > 0) CALL write_db(knotlocpc,sknotlocpc)
1714 IF (sknotlocel > 0) CALL write_db(knotlocel,sknotlocel)
1715 IF (numelig3d > 0) CALL write_db(wige,numnod)
1716C
1717 IF(ipart_stack >0) CALL stack_wrest(stack%IGEO,stack%GEO,stack%PM )
1718C
1719 IF (ndrape > 0) CALL drape_wrest(drape_sh4n , drape_sh3n,drapeg)
1720C
1721 IF (numply > 0) CALL ply_info_wrest(ply_info)
1722
1723 ! ---------------------------
1724 ! write the starter + engine elapsed time
1725 CALL write_dpdb(global_comp_time%STARTER_TIME,1)
1726 CALL write_dpdb(global_comp_time%ENGINE_TIME,global_comp_time%RUN_NBR)
1727 ! ---------------------------
1728
1729 ! restart file size - mist be before closing the file
1730 CALL file_size(restsize)
1731
1732 ! Closing the file
1733 CALL close_c
1734C
1735 IF(ispmd==0)THEN
1736 WRITE (iout,1000) filnamg(1:leng)
1737 WRITE (istdo,1050) filnamg(1:leng)
1738 ENDIF
1739C--------------------------------------
1740 1000 FORMAT (/4x,' RESTART FILES:',1x,a,' WRITTEN'/
1741 . 4x,' -------------'/)
1742 1050 FORMAT (4x,' RESTART FILES:',1x,a,' WRITTEN')
1743C-----------
1744 RETURN
subroutine compress_i_nnz(array, len)
subroutine compress_r_nnz(array, len)
#define my_real
Definition cppsort.cpp:32
subroutine wrcomi(output, lmxvint, lvarint, tabvint, isp, multi_fvm, h3d_data, dynain_data, inter_parameters, sensors, loads, glob_therm, pblast)
Definition wrcomm.F:53
subroutine drape_wrest(drape_sh4n, drape_sh3n, drapeg)
Definition wrrest.F:1279
subroutine plyxfem_wrestanim()
Definition wrrest.F:940
subroutine ply_info_wrest(ply_info)
Definition wrrest.F:1417
subroutine crkxfem_wrestanim(crkedge, crksky, indx_crk, xedge4n, xedge3n)
Definition wrrest.F:1022
subroutine rthbufwrest()
Definition wrrest.F:1212
subroutine crkxfem_wrest(inod, iel, nodlevxf)
Definition wrrest.F:985
subroutine nitschewrest(forneqs)
Definition wrrest.F:682
subroutine fxtempwrest(ibft, fbft, glob_therm)
Definition wrrest.F:817
subroutine fxbwrest(ich)
Definition wrrest.F:36
subroutine radiawrest(ibcr, fradia, glob_therm)
Definition wrrest.F:770
subroutine fvwrest()
Definition wrrest.F:476
subroutine stack_wrest(igeo, geo, pm)
Definition wrrest.F:1241
subroutine plyxfem_wravuply()
Definition wrrest.F:1141
subroutine impwrest(nimpr)
Definition wrrest.F:353
subroutine alelag_wrest()
Definition wrrest.F:1178
subroutine imp_trans(r_imp)
Definition wrrest.F:441
subroutine fxfluxwrest(ibfflux, fbfflux, glob_therm)
Definition fxfluxwrest.F:36
#define min(a, b)
Definition macros.h:20
type(ale_) ale
Definition ale_mod.F:253
type(alefvm_buffer_), target alefvm_buffer
Definition alefvm_mod.F:120
type(alefvm_param_), target alefvm_param
Definition alefvm_mod.F:121
integer, dimension(:), allocatable id_damp_vrel
Definition damp_mod.F:41
integer, dimension(:), allocatable fr_damp_vrel
Definition damp_mod.F:42
integer ndamp_vrel
Definition damp_mod.F:44
integer, dimension(:), pointer iadcnd
Definition ecdn_mod.F:49
integer, dimension(:), pointer fr_cndm
Definition ecdn_mod.F:47
integer, dimension(:), pointer procncnd
Definition ecdn_mod.F:49
integer, dimension(:), pointer icnds10
Definition ecdn_mod.F:42
integer, dimension(:), pointer addcncnd
Definition ecdn_mod.F:49
integer, dimension(:), pointer iad_cndm
Definition ecdn_mod.F:47
type(surf_), dimension(:), allocatable, target igrsurf
Definition group_mod.F:46
type(surf_), dimension(:), allocatable, target igrslin
Definition group_mod.F:47
character(len=outfile_char_len) outfile_name
integer outfile_name_len
type(intstamp_data), dimension(:), allocatable intstamp
integer ifcontp2max
Definition outmax_mod.F:69
integer lmax_vel
Definition outmax_mod.F:61
integer ifcontmax
Definition outmax_mod.F:69
integer ifcont2max
Definition outmax_mod.F:69
integer ifcontp2min
Definition outmax_mod.F:69
integer lmax_nstra
Definition outmax_mod.F:63
integer ifcontpmax
Definition outmax_mod.F:69
integer lmax_dis
Definition outmax_mod.F:60
integer lmax_nsig
Definition outmax_mod.F:62
integer spcont_max
Definition outmax_mod.F:68
integer ifcont2min
Definition outmax_mod.F:69
integer, dimension(:), allocatable poin_ump
integer, dimension(:), allocatable iconx
Definition restart_mod.F:60
integer, dimension(:), allocatable, target igrv
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_sec
Definition restart_mod.F:83
integer, dimension(:), allocatable iad_rby
Definition restart_mod.F:83
integer, dimension(:), allocatable id_global_vois
Definition restart_mod.F:86
integer, dimension(:), allocatable fr_nbedge
Definition restart_mod.F:83
integer, dimension(:), allocatable iadrbmk
Definition restart_mod.F:90
integer, dimension(:), allocatable fr_mad
Definition restart_mod.F:83
integer, dimension(:), allocatable ibcv
integer, dimension(:), allocatable lagbuf
Definition restart_mod.F:60
integer, dimension(:), allocatable ixx
Definition restart_mod.F:60
integer, dimension(:), allocatable, target lpby
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_rl
Definition restart_mod.F:83
integer, dimension(:), allocatable, target ixs
Definition restart_mod.F:60
integer, dimension(:), allocatable iad_rbym2
Definition restart_mod.F:90
integer, dimension(:), allocatable iad_i2m
Definition restart_mod.F:83
integer, dimension(:), allocatable iad_cut
Definition restart_mod.F:83
integer, dimension(:), allocatable lgrav
Definition restart_mod.F:83
integer, dimension(:), allocatable, target npby
Definition restart_mod.F:60
integer, dimension(:), allocatable kxig3d
Definition restart_mod.F:60
integer, dimension(:), allocatable iadmv3
Definition restart_mod.F:83
integer, dimension(:), allocatable face_vois
Definition restart_mod.F:86
integer, dimension(:), pointer iframe
integer, dimension(:), pointer madfail
integer, dimension(:), allocatable lesdvois
Definition restart_mod.F:83
integer, dimension(:), allocatable lnrcvois
Definition restart_mod.F:83
integer, dimension(:), allocatable nativ0_sms
Definition restart_mod.F:90
integer, dimension(:), allocatable newfront
Definition restart_mod.F:83
integer, dimension(:), allocatable iadc_crkxfem
Definition restart_mod.F:57
integer, dimension(:), allocatable nodpor
Definition restart_mod.F:60
integer, dimension(:), allocatable ilink
Definition restart_mod.F:83
integer, dimension(:), allocatable llink
Definition restart_mod.F:83
integer, dimension(:), allocatable madclnod
Definition restart_mod.F:57
integer, dimension(:,:), allocatable ipadmesh
integer, dimension(:), allocatable lbvel
Definition restart_mod.F:60
integer, dimension(:), allocatable lprtsph
Definition restart_mod.F:60
integer, dimension(:), allocatable nbsdvois
Definition restart_mod.F:83
integer, dimension(:), allocatable lnodpor
Definition restart_mod.F:83
integer, dimension(:), allocatable ibcr
integer, dimension(:), allocatable ne_nercvois
Definition restart_mod.F:90
integer, dimension(:), allocatable iadmv2
Definition restart_mod.F:83
integer, dimension(:), allocatable neflsw
Definition restart_mod.F:83
integer, dimension(:), allocatable ixig3d
Definition restart_mod.F:60
type(unit_type_) unitab
integer, dimension(:), allocatable linale
Definition restart_mod.F:83
type(cluster_), dimension(:), allocatable cluster
integer, dimension(:), allocatable iactiv
Definition restart_mod.F:60
integer, dimension(:), allocatable crknodiad
Definition restart_mod.F:57
integer, dimension(:), allocatable ne_lercvois
Definition restart_mod.F:90
integer, dimension(:), allocatable ibcslag
Definition restart_mod.F:60
integer, dimension(:), allocatable ibufssg_io
Definition restart_mod.F:57
integer, dimension(:,:), allocatable sh4tree
integer, dimension(:), allocatable fr_lagf
Definition restart_mod.F:83
integer, dimension(:), allocatable ispsym
Definition restart_mod.F:60
integer, dimension(:), allocatable sh4trim
integer, dimension(:), allocatable addcsrect
Definition restart_mod.F:83
integer, dimension(:), allocatable ipm
Definition restart_mod.F:83
integer, dimension(:), allocatable, target ipart
Definition restart_mod.F:60
integer, dimension(:), allocatable iadwal
Definition restart_mod.F:83
integer, dimension(:), allocatable fr_nor
Definition restart_mod.F:83
integer, dimension(:), allocatable isphio
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_i18
Definition restart_mod.F:83
integer, dimension(:), allocatable, target ipari
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_rbym2
Definition restart_mod.F:90
integer, dimension(:), allocatable igaup
Definition restart_mod.F:83
integer, dimension(:), allocatable iad_rbm
Definition restart_mod.F:83
integer, dimension(:), allocatable iskew_ply
Definition restart_mod.F:90
integer, dimension(:), allocatable nnflsw
Definition restart_mod.F:83
integer, dimension(:), allocatable nercvois
Definition restart_mod.F:83
type(failwave_str_) failwave
integer, dimension(:), allocatable ispcond
Definition restart_mod.F:60
integer, dimension(:), allocatable ibordnode
Definition restart_mod.F:83
integer, dimension(:), allocatable sh3trim
integer, dimension(:), allocatable iadrbk
Definition restart_mod.F:83
integer, dimension(:), allocatable iecran
Definition restart_mod.F:57
integer, dimension(:), allocatable, target iedgesh
Definition restart_mod.F:83
integer, dimension(:), allocatable fr_i2m
Definition restart_mod.F:83
integer, dimension(:), allocatable ixt
Definition restart_mod.F:60
integer, dimension(:), allocatable lnlink
Definition restart_mod.F:60
integer, dimension(:), allocatable ibftemp
integer, dimension(:), allocatable ibfv
Definition restart_mod.F:60
integer, dimension(:), allocatable iaccp
Definition restart_mod.F:83
integer, dimension(:), allocatable, target iel_crkxfem
Definition restart_mod.F:83
integer, dimension(:), allocatable iadi18
Definition restart_mod.F:83
integer, dimension(:), allocatable lsegcom
Definition restart_mod.F:83
integer, dimension(:), allocatable iskwp_l
Definition restart_mod.F:90
integer, dimension(:), allocatable inod_pxfem
Definition restart_mod.F:83
integer, dimension(:), allocatable dd_r2r_elem
Definition restart_mod.F:57
integer, dimension(:), allocatable kloadpinter
Definition restart_mod.F:60
integer, dimension(:), allocatable ixr
Definition restart_mod.F:60
integer, dimension(:,:), allocatable sh3tree
integer, dimension(:), allocatable lonfsph
Definition restart_mod.F:60
integer, dimension(:), pointer madnod
integer, dimension(:), allocatable madidx
Definition restart_mod.F:57
integer, dimension(:), allocatable iexlnk
Definition restart_mod.F:60
integer, dimension(:), allocatable, target ixtg
Definition restart_mod.F:60
integer, dimension(:), pointer lpbyl
integer, dimension(:), allocatable nnlink
Definition restart_mod.F:60
integer, dimension(:), allocatable, target ibcl
Definition restart_mod.F:60
integer, dimension(:), allocatable adsky_crkxfem
Definition restart_mod.F:57
integer, dimension(:), pointer madprt
integer, dimension(:), allocatable fr_rbym
Definition restart_mod.F:90
integer, dimension(:), allocatable monvol
Definition restart_mod.F:60
integer, dimension(:), allocatable ifill
Definition restart_mod.F:60
integer, dimension(:), allocatable iskwp
Definition restart_mod.F:83
integer, dimension(:), allocatable isensp
Definition restart_mod.F:83
integer, dimension(:), allocatable fr_rbe2
Definition restart_mod.F:83
integer, dimension(:), allocatable irbe2
Definition restart_mod.F:60
integer, dimension(:), allocatable inod_crkxfem
Definition restart_mod.F:83
integer, dimension(:), allocatable nporgeo
Definition restart_mod.F:83
integer, dimension(:), allocatable procne_crkxfem
Definition restart_mod.F:57
integer, dimension(:), allocatable fr_rbm2
Definition restart_mod.F:83
integer, dimension(:), allocatable kxsp
Definition restart_mod.F:60
integer, dimension(:), allocatable neth
Definition restart_mod.F:60
integer, dimension(:), allocatable nodlevxf
Definition restart_mod.F:83
integer, dimension(:), allocatable loadpinter
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_ll
Definition restart_mod.F:83
integer, dimension(:), allocatable iad_sec
Definition restart_mod.F:83
integer, dimension(:), allocatable nsensp
Definition restart_mod.F:83
integer, dimension(:), allocatable dd_iad
Definition restart_mod.F:60
integer, dimension(:), allocatable gjbufi
Definition restart_mod.F:60
integer, dimension(:), pointer madsh3
integer, dimension(:), allocatable icut
Definition restart_mod.F:83
integer, dimension(:), allocatable fr_cj
Definition restart_mod.F:83
integer, dimension(:), allocatable, target iskwn
Definition restart_mod.F:60
integer, dimension(:), allocatable nesdvois
Definition restart_mod.F:83
integer, dimension(:), allocatable cne_crkxfem
Definition restart_mod.F:57
integer, dimension(:), allocatable, target iloadp
Definition restart_mod.F:60
integer, dimension(:), allocatable iadcj
Definition restart_mod.F:83
integer, dimension(:), allocatable ngaup
Definition restart_mod.F:83
integer, dimension(:), allocatable lnrbym
Definition restart_mod.F:83
integer, dimension(:), allocatable nod2sp
Definition restart_mod.F:60
integer, dimension(:), allocatable adsky_pxfem
Definition restart_mod.F:57
integer, dimension(:), allocatable nodglobxfe
Definition restart_mod.F:83
integer, dimension(:), allocatable weight_rm
Definition restart_mod.F:57
integer, dimension(:), allocatable ixp
Definition restart_mod.F:60
integer, dimension(:), allocatable laccelm
Definition restart_mod.F:60
integer, dimension(:), allocatable, target nom_opt
Definition restart_mod.F:60
integer, dimension(:), allocatable iad_rbe2
Definition restart_mod.F:83
double precision, dimension(:), allocatable bufgeo
integer, dimension(:), pointer madsol
integer, dimension(:), allocatable fasolfr
Definition restart_mod.F:83
integer, dimension(:), allocatable iadi2
Definition restart_mod.F:83
integer, dimension(:), allocatable, target npc
Definition restart_mod.F:60
integer, dimension(:), allocatable igeo
Definition restart_mod.F:83
integer, dimension(:), allocatable, target ibmpc
Definition restart_mod.F:60
integer, dimension(:), allocatable ixtg1
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_mv
Definition restart_mod.F:83
integer, dimension(:), allocatable ims
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_edge
Definition restart_mod.F:83
integer, dimension(:), allocatable lercvois
Definition restart_mod.F:83
integer, dimension(:), allocatable iadrl
Definition restart_mod.F:83
integer, dimension(:), allocatable addcni2
Definition restart_mod.F:83
integer, dimension(:), allocatable lbcscyc
Definition restart_mod.F:57
integer, dimension(:), allocatable fr_rby2
Definition restart_mod.F:83
integer, dimension(:), allocatable iad_frnor
Definition restart_mod.F:83
integer, dimension(:), allocatable iadc_pxfem
Definition restart_mod.F:57
integer, dimension(:), allocatable ne_lesdvois
Definition restart_mod.F:90
integer, dimension(:), allocatable ibvel
Definition restart_mod.F:60
integer, dimension(:), allocatable iadrbm
Definition restart_mod.F:83
integer, dimension(:), allocatable lrivet
Definition restart_mod.F:60
integer, dimension(:), pointer npbyl
integer, dimension(:), allocatable iad_edge
Definition restart_mod.F:83
integer, dimension(:), allocatable, target icfield
Definition restart_mod.F:60
integer, dimension(:), allocatable lgauge
Definition restart_mod.F:60
integer, dimension(:), allocatable nstrf
Definition restart_mod.F:60
integer, dimension(:), allocatable ibcscyc
Definition restart_mod.F:57
integer, dimension(:), allocatable procnor
Definition restart_mod.F:83
integer, dimension(:), allocatable tag_skins6
Definition restart_mod.F:57
integer, dimension(:), allocatable fr_rby
Definition restart_mod.F:83
integer, dimension(:), allocatable iad_rbm2
Definition restart_mod.F:83
integer, dimension(:), allocatable irbym
Definition restart_mod.F:83
integer, dimension(:,:), allocatable ixsp
Definition restart_mod.F:81
integer, dimension(:), pointer madsh4
integer, dimension(:), allocatable iparg
Definition restart_mod.F:60
integer, dimension(:), allocatable ixq
Definition restart_mod.F:60
integer, dimension(:), allocatable iedge
Definition restart_mod.F:83
integer, dimension(:), allocatable ibfflux
integer, dimension(:), allocatable nodedge
Definition restart_mod.F:83
integer, dimension(:), allocatable ilas
Definition restart_mod.F:60
integer, dimension(:), allocatable iad_rby2
Definition restart_mod.F:83
integer, dimension(:), allocatable icode_ply
Definition restart_mod.F:90
integer, dimension(:), allocatable lloadp
Definition restart_mod.F:83
integer, dimension(:), allocatable fr_cut
Definition restart_mod.F:83
integer, dimension(:), allocatable segquadfr
Definition restart_mod.F:83
integer, dimension(:), allocatable procni2
Definition restart_mod.F:83
integer, dimension(:), allocatable lcfield
Definition restart_mod.F:83
integer, dimension(:), allocatable kxx
Definition restart_mod.F:60
integer, dimension(:), allocatable nskwp
Definition restart_mod.F:83
integer, dimension(:), allocatable ne_nesdvois
Definition restart_mod.F:90
integer, dimension(:), allocatable iad_rbym
Definition restart_mod.F:90
integer, dimension(:), allocatable nom_sect
Definition restart_mod.F:60
integer, dimension(:), allocatable npsegcom
Definition restart_mod.F:83
type(nlocal_str_) nloc_dmg
integer, dimension(:), allocatable rg_cut
Definition restart_mod.F:83
integer, dimension(:), allocatable iel_pxfem
Definition restart_mod.F:83
integer, dimension(:), allocatable lrbe2
Definition restart_mod.F:60
integer, dimension(:), allocatable fr_rbm
Definition restart_mod.F:83
integer, dimension(:), allocatable llagf
Definition restart_mod.F:83
integer, dimension(:), allocatable nbrcvois
Definition restart_mod.F:83
integer, dimension(:), allocatable lnsdvois
Definition restart_mod.F:83
integer, dimension(:,:), allocatable tab_ump
integer, dimension(:), allocatable naccp
Definition restart_mod.F:83
integer, dimension(:), allocatable procne_pxfem
Definition restart_mod.F:57
integer, dimension(:), allocatable ithvar
Definition restart_mod.F:60
integer, dimension(:), allocatable dd_r2r
Definition restart_mod.F:83
integer, dimension(:), allocatable iadll
Definition restart_mod.F:83
integer, dimension(:), allocatable icontact
Definition restart_mod.F:83
integer, dimension(:), allocatable ipart_state
Definition restart_mod.F:60
integer nseatbelt_th_proc
type(retractor_struct), dimension(:), allocatable retractor
type(seatbelt_remote_nodes_struct) anchor_remote_send
type(seatbelt_remote_nodes_struct) anchor_remote
type(seatbelt_th_exch_struct), dimension(:), allocatable seatbelt_th_exch
type(slipring_struct), dimension(:), allocatable slipring
integer, dimension(:), allocatable sph2sol
Definition sph_mod.F:34
integer, dimension(:), allocatable irst
Definition sph_mod.F:34
integer, dimension(:), allocatable sol2sph_typ
Definition sph_mod.F:38
integer, dimension(:), allocatable sol2sph
Definition sph_mod.F:34
integer, dimension(:,:), allocatable ply_info
Definition stack_mod.F:133
type(ttable), dimension(:), allocatable table
type(time_type) global_comp_time
Definition time_mod.F:56
type(xfem_sky_), dimension(:), allocatable crksky
integer, dimension(:,:), allocatable xedge4n
integer, dimension(:), allocatable indx_crk
type(xfem_edge_), dimension(:), allocatable crkedge
integer, dimension(:,:), allocatable xedge3n
subroutine spmd_glob_dmin9(v, len)
Definition spmd_cfd.F:1490
subroutine spmd_savefi(ipari, iflag, intbuf_tab, nsensor, sensor_tab, parameters)
subroutine spmd_savesph(iflg, numsphg)
subroutine spmd_glob_dsum9(v, len)
Definition spmd_th.F:379
subroutine write_joint(ljoint, cep, cel, proc, nodlocal, ljoint_l, len_ia, numnod_l)
Definition write_joint.F:33
subroutine w_bufbric_22()
subroutine write_pcyl(load_cyl, nload_cyl, nodlocal)
Definition write_pcyl.F:32
subroutine write_matparam(mat_elem, len)
subroutine w_cluster(cluster, iparg, nodlocal, ncluster_l, cep, proc, numlocgroup, len_ia, len_am)
Definition w_cluster.F:34
subroutine w_elbuf_str(proc, iparg, elbuf_tab, len_am, flag_xfem)
Definition w_elbuf_str.F:31
subroutine w_failwave(failwave, nodglob, numnod, numnod_l, len_am, itab)
Definition w_failwave.F:31
subroutine w_group_str(len_ia, igrnod, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, cep, cel, nodlocal, proc, frontb_r2r, numnod_l)
Definition w_group_str.F:37
subroutine w_subset_str(subset, len_ia)
subroutine wrcomr(lmxvrea, lvarrea, tabvrea, ms_nd, p, inter_parameters, unitab, glob_therm, output)
Definition wrcomm.F:32
subroutine write_elgroup_param(group_param_tab, iparg, proc, ngroup_l, len)
subroutine write_nloc_struct(nloc_dmg, numnod_l, nodglob, nodloc, cel, cep, proc, ixs, ixc, ixtg, numels_l, numelc_l, numeltg_l)
subroutine nfwrest(iflow, rflow)
Definition wrrest.F:525
subroutine plyxfem_wrest(ms_ply, zi_ply, iel, inod, icode, iskew)
Definition wrrest.F:729
subroutine thcwrest(mcp, temp)
Definition wrrest.F:608
subroutine convwrest(ibcv, fconv, numconv, niconv, lfacther)
Definition wrrest.F:646
subroutine eigwrest(eigipm, eigibuf, eigrpm)
Definition wrrest.F:203
subroutine rigmatwrest(rbym, irbym, lcrbym, weight)
Definition wrrest.F:685
subroutine table_wresti(table, leni)
Definition table_tools.F:67
subroutine table_wrestr(table, lenr)
subroutine write_sensors(sensors, numnod, nodlocal)
subroutine userwi_write(user_windows, ispmd, nspmd, numnod)
subroutine w_line_str(igrslin)
Definition w_line_str.F:35
subroutine w_surf_str(igrsurf)
Definition w_surf_str.F:35
subroutine write_db(a, n)
Definition write_db.F:142
subroutine write_dpdb(a, n)
Definition write_db.F:304
subroutine write_intbuf(intbuf_tab)
void write_i_c(int *w, int *len)
void close_c()
void cur_fil_c(int *nf)
void file_size(int *filesize)
void write_c_c(int *w, int *len)
void open_c(int *ifil, int *len, int *mod)
subroutine write_th_restart(th)
subroutine write_units(unitab)
Definition write_units.F:35