41!||
fxbwrest ../engine/source/output/restart/wrrest.f
69!||
thcwrest ../engine/source/output/restart/wrrest.f
83!|| write_bcs_wall ../common_source/output/restart/write_bcs_wall.f90
104!|| checksum_output_option_mod ../common_source/modules
106!|| connectivity_mod ../common_source/modules/connectivity.f90
120!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.f90
130!|| output_mod ../common_source
140!|| skew_mod ../common_source/modules/skew_mod.f90
154 SUBROUTINE wrrestp(ELEMENTS, NODES, AF ,IAF ,ICH ,ADDCNE,
155 . ELBUF_TAB ,XFEM_TAB ,INTBUF_TAB ,MULTI_FVM ,MAT_ELEM ,
156 . H3D_DATA ,INTBUF_FRIC_TAB ,SUBSET ,PINCH_DATA ,ALE_CONNECTIVITY ,
157 . T_MONVOL ,SENSORS ,EBCS_TAB ,DYNAIN_DATA ,USER_WINDOWS ,
158 . OUTPUT ,INTERFACES ,LOADS ,PYTHON ,NAMES_AND_TITLES ,
159 . EIGIPM ,EIGIBUF ,EIGRPM ,NEIPM ,LEIBUF ,
160 . NERPM ,IFLOW ,RFLOW ,LIFLOW ,LRFLOW ,
161 . IMPBUF_TAB ,IMPL_S ,IMPL_S0 ,MCP ,TEMP ,
162 . FORNEQS ,UNITAB ,STACK ,NDRAPE ,DRAPE_SH3N ,
163 . DRAPE_SH4N ,DRAPEG ,RESTSIZE ,SKEWS ,GLOB_THERM ,
206 USE bcs_mod ,
only : bcs
214 use write_inivel_mod ,
only : write_inivel
216 use write_ale_grid_mod ,
only : write_ale_grid
217 use write_bcs_wall_mod ,
only : write_bcs_wall
219 use restart_rbe3pen_mod,
only : write_rrbe3pen
220 use checksum_output_option_mod,
only : checksum_restart_write
224#include "implicit_f.inc"
228 TYPE(nodal_arrays_) ::
229 TYPE(connectivity_) :: ELEMENTS
230 INTEGER,
INTENT(IN) :: NDRAPE
231 INTEGER,
INTENT(IN) :: IMPL_S
232 INTEGER,
INTENT(IN) :: IMPL_S0
233 my_real,
INTENT(INOUT) :: MCP(NUMNOD)
234 my_real,
INTENT(INOUT) :: TEMP(NUMNOD)
235 INTEGER,
INTENT(INOUT) :: NEIPM, LEIBUF, NERPM
236 INTEGER,
INTENT(INOUT) :: EIGIPM(NEIPM,NEIG),EIGIBUF(LEIBUF)
237 my_real,
INTENT(INOUT) :: EIGRPM(NERPM,NEIG)
238 INTEGER,
INTENT(IN) :: (3,NUMNOD)
239 INTEGER IAF(*),ICH,ADDCNE(*)
241 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
242 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP,NXEL) :: XFEM_TAB
243 TYPE(intbuf_struct_) INTBUF_TAB(*)
244 TYPE(multi_fvm_struct),
INTENT(INOUT) :: MULTI_FVM
247 TYPE(intbuf_fric_struct_) INTBUF_FRIC_TAB(*)
248 TYPE(
subset_),
TARGET,
DIMENSION(NSUBS) :: SUBSET
249 TYPE(
pinch) :: PINCH_DATA
252 TYPE(),
INTENT(INOUT) :: EBCS_TAB
255 TYPE(OUTPUT_) ,
INTENT(INOUT) ::
256 TYPE(interfaces_) ,
INTENT(IN) :: INTERFACES
257 TYPE(sensors_) ,
INTENT(IN) :: SENSORS
258 TYPE(loads_) ,
INTENT(IN) :: LOADS
259 TYPE(mat_elem_) ,
INTENT(IN) :: MAT_ELEM
260 TYPE(python_) ,
INTENT(INOUT) :: PYTHON
262 TYPE(skew_),
INTENT(IN) :: SKEWS
266 TYPE() :: DRAPE_SH3N(NUMELTG_DRAPE),DRAPE_SH4N(NUMELC_DRAPE)
268 type (glob_therm_) ,
intent(inout) :: GLOB_THERM
269 TYPE(pblast_) ,
INTENT(INOUT) :: PBLAST
270 TYPE() ,
INTENT(INOUT) :: RBE3
274#include "chara_c.inc"
275#include "couple_c.inc"
276#include "com01_c.inc"
277#include "com04_c.inc"
278#include "com06_c.inc"
279#include "com_xfem1.inc"
280#include "intstamp_c.inc"
281#include "param_c.inc"
282#include "parit_c.inc"
283#include "scr03_c.inc"
284#include "scr05_c.inc"
285#include "scr07_c.inc"
286#include "scr14_c.inc"
287#include "scr16_c.inc"
288#include "scr19_c.inc"
289#include "scrcut_c.inc"
290#include "scrfs_c.inc"
291#include "scrnoi_c.inc"
292#include "scr_fac_c.inc"
295#include "tabsiz_c.inc"
297#include "units_c.inc"
298#include "remesh_c.inc"
300#include "inter18.inc"
304 INTEGER I,J,LEN,IFILNAM(2148), IFIL,LENG,LEN_S,IXEL,
306 CHARACTER FILNAM*100, FILNAMR*100, FILNAMG*128,
307 . PROCNAM*4, CHRUNR*4,PLAST*4
309 INTEGER LHEADER,LVARINT,LVARREA,LMXVINT,LMXVREA,M
310 PARAMETER (LHEADER=15)
311 parameter (lmxvint=4000)
312 parameter(lmxvrea=1000+30*maxlaw+30)
313 INTEGER TABHEAD(LHEADER),TABVINT(LMXVINT)
315 . tabvrea(lmxvrea), entmp(100)
316 INTEGER MY_ILEN,MY_RLEN,LTABLE, LENI, LENR
319 CHARACTER(len=2048) :: TMP_NAME
320 INTEGER,
DIMENSION(NVOLU) :: NTRI
321 INTEGER :: , NS_DIFF,
323 INTEGER,
DIMENSION(LTITLE) :: ITITLE
325 INTEGER,
INTENT(IN) :: LIFLOW
326 INTEGER,
INTENT(IN) :: LRFLOW
327 INTEGER,
INTENT(IN),
DIMENSION(LIFLOW) ::
328 INTEGER,
INTENT(IN),
DIMENSION(LRFLOW) :: RFLOW
333 INTEGER,
DIMENSION(:),
ALLOCATABLE :: BUFFER
334 INTEGER :: BUFFER_SIZE
337 INTEGER,
INTENT(INOUT) :: RESTSIZE
339 DATA ijk/
'I',
'J',
'K',
'L',
'M',
'N',
'O','p
','q
','r
',
340 . 's
','t
','u
','v
','w
','x
','y
','z
','a
','b
',
341 . 'c
','d
','e
','f
','g
','h
'/
346 SFR_ELEM = SIZE(NODES%BOUNDARY,1)
347 SIAD_ELEM = SIZE(NODES%BOUNDARY_ADD,1) * SIZE(NODES%BOUNDARY_ADD,2)
348 CALL WRCOMI(LMXVINT,LVARINT,TABVINT,1,MULTI_FVM,H3D_DATA,DYNAIN_DATA,
349 . INTERFACES%PARAMETERS,SENSORS,LOADS,GLOB_THERM,PBLAST)
351 ENTMP(1) = OUTPUT%TH%WFEXT
355 ENTMP(5) = GLOB_THERM%HEAT_STORED
356 ENTMP(6) = GLOB_THERM%HEAT_MECA
357 ENTMP(7) = GLOB_THERM%HEAT_CONV
358 ENTMP(8) = GLOB_THERM%HEAT_RADIA
359 ENTMP(9) = GLOB_THERM%HEAT_FFLUX
361 ENTMP(11)= ECONT_CUMU
362 IF(NSPMD > 1) CALL SPMD_GLOB_DSUM9(ENTMP,11)
364 OUTPUT%TH%WFEXT = ZERO
368 GLOB_THERM%HEAT_STORED = ZERO
369 GLOB_THERM%HEAT_MECA = ZERO
370 GLOB_THERM%HEAT_CONV = ZERO
371 GLOB_THERM%HEAT_RADIA = ZERO
372 GLOB_THERM%HEAT_FFLUX = ZERO
376 OUTPUT%TH%WFEXT = ENTMP(1)
380 GLOB_THERM%HEAT_STORED = ENTMP(5)
381 GLOB_THERM%HEAT_MECA = ENTMP(6)
382 GLOB_THERM%HEAT_CONV = ENTMP(7)
383 GLOB_THERM%HEAT_RADIA = ENTMP(8)
384 GLOB_THERM%HEAT_FFLUX = ENTMP(9)
386 ECONT_CUMU = ENTMP(11)
389 IF(ALE%GRID%NWALE == 2) THEN
390 ENTMP(1) = ALE%GRID%VGZ
391 IF(NSPMD > 1) CALL SPMD_GLOB_DMIN9(ENTMP,1)
392 IF(ISPMD==0) ALE%GRID%VGZ = ENTMP(1)
395 CALL WRCOMR(LMXVREA,LVARREA,TABVREA,DYNAIN_DATA,INTERFACES%PARAMETERS,
400 WRITE(CHRUNR,'(i4.4)
')IRUN
401 WRITE(PROCNAM,'(i4.4)
')ISPMD+1
402 FILNAM=ROOTNAM(1:ROOTLEN)//'_
'//CHRUNR//'_
'//PROCNAM
403 WRITE(PLAST,'(i4.4)
')NSPMD
404 FILNAMG=ROOTNAM(1:ROOTLEN)//'_
'//CHRUNR//'_[0001-
'//PLAST//']
'
410.AND.
IF(MULTIREST/=0MCHECK==0)THEN
411 IRPREV = 1 + MOD(IRPREV,MULTIREST)
412 FILNAM=FILNAM(1:LEN)//'_
'//IJK(IRPREV)
414 FILNAMG=FILNAMG(1:LENG)//'_
'//IJK(IRPREV)
417 FILNAM=FILNAM(1:LEN)//'.rst
'
419 FILNAMG=FILNAMG(1:LENG)//'.rst
'
422 LEN_TMP_NAME = OUTFILE_NAME_LEN + LEN
423 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAM(1:LEN)
425 DO I = 1, LEN_TMP_NAME
426 IFILNAM(I) = ICHAR(TMP_NAME(I:I))
429 IF (IRFORM/5==2) THEN
430 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,0)
431 ELSEIF (IRFORM/5==3) THEN
432 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,3)
433 ELSEIF (IRFORM/5==4) THEN
434 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,6)
437 IFILNAM(I) = ICHAR(FILNAM(I:I))
439 CALL WRITE_C_C(IFILNAM,LEN)
444 ITITLE(I) = ICHAR( NAMES_AND_TITLES%TITLE(I:I) )
446 CALL WRITE_I_C(ITITLE,LTITLE)
480 CALL WRITE_I_C(LHEADER, 1)
481 CALL WRITE_I_C(TABHEAD, LHEADER)
485 CALL WRITE_I_C(TABVINT,LVARINT)
489 CALL checksum_restart_write(OUTPUT%CHECKSUM)
493 LEN_G = NPROPGI*NUMGEO
494 LEN_M = NPROPMI*NUMMAT
496 CALL WRITE_I_C(NODES%NODGLOB,NODES%NUMNOD)
498 CALL WRITE_I_C(NODES%MAIN_PROC,SWEIGHT)
500 CALL WRITE_I_C(NODES%WEIGHT,SWEIGHT)
502 CALL WRITE_I_C(NODES%ICODE,SICODE)
504 CALL WRITE_I_C(NODES%ISKEW,SISKEW)
506 CALL WRITE_I_C(ISKWN,SISKWN)
508 CALL WRITE_I_C(IFRAME,SIFRAME)
510 CALL WRITE_I_C(NETH,SNETH)
512 CALL WRITE_I_C(IBCSLAG,SIBCSLAG)
514 CALL WRITE_I_C(IPART,SIPART)
516 CALL WRITE_I_C(NOM_OPT,SNOM_OPT)
518 CALL PYTHON_SERIALIZE(PYTHON,BUFFER, BUFFER_SIZE)
519 CALL WRITE_I_C(BUFFER, BUFFER_SIZE)
521 CALL WRITE_I_C(NPC,SNPC)
523 CALL WRITE_I_C(IXTG,SIXTG)
525 CALL WRITE_I_C(IXTG1,SIXTG1)
527 CALL WRITE_I_C(IXS,SIXS)
529 CALL WRITE_I_C(IXQ,SIXQ)
531 CALL WRITE_I_C(ELEMENTS%SHELL%IXC,SIXC)
533 CALL WRITE_I_C(IXT,SIXT)
535 CALL WRITE_I_C(IXP,SIXP)
537 CALL WRITE_I_C(IXR,SIXR)
539 CALL WRITE_I_C(NODES%ITAB,SITAB)
541 CALL WRITE_I_C(NODES%ITABM1,SITABM1)
543 CALL WRITE_I_C(GJBUFI,SGJBUFI)
545 CALL WRITE_I_C(ALE_CONNECTIVITY%NALE,ALE%GLOBAL%SNALE)
547 IF (IALE + IEULER + IALELAG + GLOB_THERM%ITHERM /= 0) THEN
548 ITMP = SIZE(ALE_CONNECTIVITY%ee_connect%iad_connect)
549 CALL WRITE_I_C(ITMP, 1)
550 CALL WRITE_I_C(ALE_CONNECTIVITY%ee_connect%iad_connect, ITMP)
552 ITMP = SIZE(ALE_CONNECTIVITY%ee_connect%connected)
553 CALL WRITE_I_C(ITMP, 1)
554 CALL WRITE_I_C(ALE_CONNECTIVITY%ee_connect%connected, ITMP)
556 ITMP = SIZE(ALE_CONNECTIVITY%ee_connect%type)
557 CALL WRITE_I_C(ITMP, 1)
558 CALL WRITE_I_C(ALE_CONNECTIVITY%ee_connect%type, ITMP)
560 ITMP = SIZE(ALE_CONNECTIVITY%ee_connect%iface2)
561 CALL WRITE_I_C(ITMP, 1)
562 CALL WRITE_I_C(ALE_CONNECTIVITY%ee_connect%iface2, ITMP)
565 CALL WRITE_I_C(ID_GLOBAL_VOIS,ALE%GLOBAL%SIELVS)
567 CALL WRITE_I_C(FACE_VOIS,ALE%GLOBAL%SIELVS)
569.AND..OR..OR.
IF(IALE > 0 ALE%GRID%NWALE == 6 INTER18_AUTOPARAM == 1 INTER18_IS_VARIABLE_GAP_DEFINED) THEN
570 CALL WRITE_I_C(NE_NERCVOIS, NSPMD + 1)
571 CALL WRITE_I_C(NE_LERCVOIS, NE_SLERCVOIS)
572 CALL WRITE_I_C(NE_NESDVOIS, NSPMD + 1)
573 CALL WRITE_I_C(NE_LESDVOIS, NE_SLESDVOIS)
575.AND..OR..OR.
IF (IALE > 0 (ALE%GRID%NWALE < 2 ALE%GRID%NWALE == 5 ALE%GRID%NWALE == 7)) THEN
576 CALL WRITE_I_C(ALE_CONNECTIVITY%NN_CONNECT%IAD_CONNECT, NUMNOD + 1)
577 CALL WRITE_I_C(ALE_CONNECTIVITY%NN_CONNECT%CONNECTED, ALE_CONNECTIVITY%NN_CONNECT%IAD_CONNECT(NUMNOD + 1))
579.AND..OR..OR.
IF (IALE > 0 ALE%GRID%NWALE == 6 INTER18_AUTOPARAM == 1 INTER18_IS_VARIABLE_GAP_DEFINED) THEN
580 CALL WRITE_I_C(ALE_CONNECTIVITY%NE_CONNECT%IAD_CONNECT, NUMNOD + 1)
581 CALL WRITE_I_C(ALE_CONNECTIVITY%NE_CONNECT%CONNECTED,
582 . ALE_CONNECTIVITY%NE_CONNECT%IAD_CONNECT(NUMNOD + 1))
586 IF (MULTI_FVM%NS_DIFF) THEN
589 CALL WRITE_I_C(NS_DIFF, 1)
590 IF (NS_DIFF == 1) THEN
591 CALL WRITE_I_C(ALE_CONNECTIVITY%IDGLOB%ID,
592 . NUMELS + NSVOIS + NUMELQ + NQVOIS + NUMELTG + NTGVOIS)
595 CALL WRITE_I_C(IFILL,SIFILL)
597 CALL WRITE_I_C(IMS,SIMS)
599 CALL W_SUBSET_STR(SUBSET)
603 CALL W_SURF_STR(IGRSURF)
605 CALL W_LINE_STR(IGRSLIN)
607 CALL WRITE_I_C(KXX,SKXX)
609 CALL WRITE_I_C(IXX,SIXX)
611 CALL WRITE_I_C(KXSP,SKXSP)
613 CALL WRITE_I_C(IXSP,SIXSP)
615 CALL WRITE_I_C(NOD2SP,SNOD2SP)
617 CALL WRITE_I_C(ISPSYM,SISPSYM)
619 CALL WRITE_I_C(ISPCOND,SISPCOND)
621 CALL WRITE_I_C(ISPHIO,SISPHIO)
623 CALL WRITE_I_C(LPRTSPH,SLPRTSPH)
625 CALL WRITE_I_C(LONFSPH,SLONFSPH)
627 CALL WRITE_I_C(IBUFSSG_IO,SIBUFSSG_IO)
631 CALL WRITE_I_C(SPH2SOL,NUMSPH)
633 CALL WRITE_I_C(SOL2SPH,2*NUMELS8)
635 CALL WRITE_I_C(IRST,3*NSPHSOL)
637 CALL WRITE_I_C(SOL2SPH_TYP,NUMELS8)
640 CALL WRITE_I_C(IBCL,SIBCL)
642 IF (NINTLOADP>0) THEN
643 CALL WRITE_I_C(KLOADPINTER, NINTER+1)
644 CALL WRITE_I_C(LOADPINTER,NINTER*NLOADP_HYD)
647 CALL WRITE_I_C(IBFV,SIBFV)
649 CALL WRITE_I_C(IECRAN,SIECRAN)
651 CALL WRITE_I_C(ILAS,SILAS)
653 ! -----------------------------
655 CALL WRITE_I_C(EBCS_TAB%nebcs, 1) ! total number of EBCS
656 CALL WRITE_I_C(EBCS_TAB%nebcs_fvm, 1) ! number of multifluid ebcs
657 CALL WRITE_I_C(EBCS_TAB%nebcs_parallel, 1) ! number of parallel ebcs
658 CALL WRITE_I_C(EBCS_TAB%nebcs_loc, 1) ! number of other ebcs
661 IF (EBCS_TAB%nebcs > 0) THEN
662 ! write the type of /EBCS ( /EBCS/NRF --> typ = 10) ( /EBCS/PROPELLANT --> typ = 11)
663 CALL WRITE_I_C(EBCS_TAB%my_typ,EBCS_TAB%nebcs)
666 ! write the data of /EBCS options
667 IF (EBCS_TAB%nebcs_loc +EBCS_TAB%nebcs_parallel + EBCS_TAB%nebcs_fvm> 0) THEN
668 DO II = 1, EBCS_TAB%nebcs_fvm + EBCS_TAB%nebcs_loc + EBCS_TAB%nebcs_parallel
669 CALL EBCS_TAB%tab(II)%poly%write_common_data(leni, lenr)
670 CALL EBCS_TAB%tab(II)%poly%write_data(leni, lenr)
673 ! -----------------------------
675 CALL WRITE_I_C(LACCELM,SLACCELM)
677 CALL WRITE_I_C(LGAUGE,3*NBGAUGE)
679 CALL WRITE_I_C(NNLINK,SNNLINK)
681 CALL WRITE_I_C(LNLINK,SLNLINK)
683 CALL USERWI_WRITE(USER_WINDOWS,ISPMD,NSPMD,NUMNOD)
685 CALL WRITE_I_C(IPARG,SIPARG)
687 CALL WRITE_I_C(DD_IAD,SDD_IAD)
689 CALL WRITE_I_C(IGRV,SIGRV)
691 CALL WRITE_I_C(LGRAV,SLGRAV)
693 CALL WRITE_I_C(IEXLNK,SIEXLNK)
695 CALL WRITE_I_C(IBVEL,SIBVEL)
697 CALL WRITE_I_C(LBVEL,SLBVEL)
699 CALL WRITE_I_C(IRBE2,SIRBE2)
701 CALL WRITE_I_C(LRBE2,SLRBE2)
703 CALL WRITE_I_C(RBE3%IRBE3,RBE3%NRBE3*irbe3_variables)
705 CALL WRITE_I_C(RBE3%LRBE3,RBE3%lrbe3_sz)
707 CALL WRITE_I_C(IACTIV,SIACTIV)
709 CALL WRITE_I_C(IBMPC,SIBMPC)
711 CALL WRITE_I_C(KINET,SKINET)
713 CALL WRITE_I_C(FASOLFR,SFASOLFR)
715 CALL WRITE_I_C(SEGQUADFR,SSEGQUADFR)
717 CALL WRITE_I_C(IPARI,SIPARI)
721 CALL W_BUFBRIC_22() !inter22
723 !write new structure INTBUF_TAB
724 CALL WRITE_INTBUF(INTBUF_TAB)
726 CALL WRITE_I_C(NPRW,SNPRW)
728 CALL WRITE_I_C(LPRW,SLPRW)
730 CALL WRITE_I_C(ICONX,SICONX)
732 CALL WRITE_I_C(MADPRT,SMADPRT)
734 CALL WRITE_I_C(MADSH4,SMADSH4)
736 CALL WRITE_I_C(MADSH3,SMADSH3)
738 CALL WRITE_I_C(MADSOL,SMADSOL)
740 CALL WRITE_I_C(MADNOD,SMADNOD)
742 CALL WRITE_I_C(MADCLNOD,MADCLNODS)
744 CALL WRITE_I_C(MADFAIL,SMADFAIL)
746 CALL WRITE_I_C(MADIDX,SMADIDX)
748 CALL WRITE_I_C(NPBY,SNPBY)
750 CALL WRITE_I_C(NPBYL,SNPBYL)
752 CALL WRITE_I_C(LPBY,SLPBY)
754 CALL WRITE_I_C(LPBYL,SLPBYL)
756 CALL WRITE_I_C(LRIVET,SLRIVET)
758 CALL WRITE_I_C(NSTRF,SNSTRF)
760 CALL WRITE_I_C(NOM_SECT,SNOM_SECT)
764 CALL WRITE_I_C(NODPOR,SNODPOR)
766 CALL WRITE_I_C(MONVOL,SMONVOL)
769 NTRI(II) = T_MONVOL(II)%NB_FILL_TRI
772 CALL WRITE_I_C(NTRI, NVOLU)
774 IF (NTRI(II) > 0) THEN
775 CALL WRITE_I_C(T_MONVOL(II)%FILL_TRI(1:3* NTRI(II)), 3* NTRI(II))
779 CALL WRITE_I_C(LAGBUF,SLAGBUF)
782 CALL WRITE_I_C(ICNDS10,3*NS10E)
785 CALL WRITE_TH_RESTART(OUTPUT%TH) ! Write Time History Buffer
787 CALL THSURF_WRITE_RESTART(OUTPUT%TH%TH_SURF,2)
789 CALL WRITE_I_C(FR_MV,SFR_MV)
791 CALL WRITE_I_C(NODES%BOUNDARY_ADD,SIAD_ELEM)
793 CALL WRITE_I_C(IAD_RBY,SIAD_RBY)
795 CALL WRITE_I_C(IAD_RBY2,SIAD_RBY2)
797 CALL WRITE_I_C(IAD_I2M,SIAD_I2M)
799 CALL WRITE_I_C(IADCJ,SIADCJ)
801 CALL WRITE_I_C(IAD_RBM,SIAD_RBM)
803 CALL WRITE_I_C(IAD_RBM2,SIAD_RBM2)
805 CALL WRITE_I_C(IAD_RBE2,SIAD_RBE2)
807 CALL WRITE_I_C(rbe3%mpi%IAD_RBE3,NSPMD+1)
809 CALL WRITE_I_C(IAD_SEC,SIAD_SEC)
811 CALL WRITE_I_C(IAD_CUT,SIAD_CUT)
813 CALL WRITE_I_C(IAD_RBYM,SIAD_RBYM)
815 CALL WRITE_I_C(IAD_RBYM2,SIAD_RBYM2)
817 CALL WRITE_I_C(NODES%BOUNDARY,SFR_ELEM)
819 CALL WRITE_I_C(FR_RBY,SFR_RBY)
821 CALL WRITE_I_C(FR_WALL,SFR_WALL)
823 CALL WRITE_I_C(FR_RBY2,SFR_RBY2)
825 CALL WRITE_I_C(FR_I2M,SFR_I2M)
827 CALL WRITE_I_C(FR_LL,SFR_LL)
829 CALL WRITE_I_C(FR_CJ,SFR_CJ)
831 CALL WRITE_I_C(FR_RBM,SFR_RBM)
833 CALL WRITE_I_C(FR_RBM2,SFR_RBM2)
835 CALL WRITE_I_C(FR_RBE2,SFR_RBE2)
837 CALL WRITE_I_C(RBE3%mpi%FR_RBE3,RBE3%mpi%fr_rbe3_sz)
839 CALL WRITE_I_C(RBE3%mpi%FR_RBE3MP,RBE3%mpi%fr_rbe3_sz)
841 CALL WRITE_I_C(FR_SEC,SFR_SEC)
843 CALL WRITE_I_C(FR_CUT,SFR_CUT)
845 CALL WRITE_I_C(RG_CUT,SRG_CUT)
847 CALL WRITE_I_C(FR_MAD,SFR_MAD)
849 CALL WRITE_I_C(FR_I18,SFR_I18)
851 CALL WRITE_I_C(DD_R2R,SDD_R2R)
853 CALL WRITE_I_C(DD_R2R_ELEM,SDD_R2R_ELEM)
855 CALL WRITE_I_C(FR_RBYM,SFR_RBYM)
857 CALL WRITE_I_C(FR_RBYM2,SFR_RBYM2)
859 CALL WRITE_I_C(ADDCSRECT,NUMNOR+1)
861 CALL WRITE_I_C(FR_NOR,NBDDNORT)
863 CALL WRITE_I_C(IAD_FRNOR,(NSPMD+1)*NINTER25)
865 CALL WRITE_I_C(PROCNOR,NBCCNOR)
867 CALL WRITE_I_C(INTERFACES%SPMD_ARRAYS%FR_EDG,2*NBDDEDGT)
869 CALL WRITE_I_C(INTERFACES%SPMD_ARRAYS%IAD_FREDG,(NSPMD+1)*NINTER25)
871 CALL WRITE_I_C(ISKWP,SISKWP)
873 CALL WRITE_I_C(NSKWP,SNSKWP)
875 IF(SNSKWP>0) CALL WRITE_I_C(ISKWP_L,NSKWP(ISPMD+1))
877 CALL WRITE_I_C(ISENSP,SISENSP)
879 CALL WRITE_I_C(NSENSP,SNSENSP)
881 CALL WRITE_I_C(IACCP,SIACCP)
883 CALL WRITE_I_C(NACCP,SNACCP)
885 CALL WRITE_I_C(IGAUP,SIGAUP)
887 CALL WRITE_I_C(NGAUP,SNGAUP)
889 CALL WRITE_I_C(FR_LAGF,SFR_LAGF)
891 CALL WRITE_I_C(NEWFRONT,SNEWFRONT)
893 CALL WRITE_I_C(NBRCVOIS,SNBRCVOIS)
895 CALL WRITE_I_C(LNRCVOIS,SLNRCVOIS)
897 CALL WRITE_I_C(NBSDVOIS,SNBSDVOIS)
899 CALL WRITE_I_C(LNSDVOIS,SLNSDVOIS)
901 CALL WRITE_I_C(NERCVOIS,SNERCVOIS)
903 CALL WRITE_I_C(LERCVOIS,SLERCVOIS)
905 CALL WRITE_I_C(NESDVOIS,SNESDVOIS)
907 CALL WRITE_I_C(LESDVOIS,SLESDVOIS)
909 CALL WRITE_I_C(NPSEGCOM,SNPSEGCOM)
911 CALL WRITE_I_C(LSEGCOM,SLSEGCOM)
913 CALL WRITE_I_C(NPORGEO,SNPORGEO)
915 CALL WRITE_I_C(LNODPOR,SLNODPOR)
917 CALL WRITE_I_C(LLAGF,SLLAGF)
920 CALL WRITE_I_C(IAD_EDGE,SIAD_EDGE)
921 CALL WRITE_I_C(FR_EDGE,SFR_EDGE)
922 CALL WRITE_I_C(FR_NBEDGE,SFR_NBEDGE)
926 CALL WRITE_I_C(IAD_CNDM,SIAD_CNDM)
927 CALL WRITE_I_C(FR_CNDM,SFR_CNDM)
931 CALL WRITE_I_C(ELEMENTS%PON%ADSKY,NUMNOD+1)
932 CALL WRITE_I_C(ELEMENTS%PON%PROCNE,SIZE(ELEMENTS%PON%PROCNE))
934 CALL WRITE_I_C(ADDCNI2,NUMNOD+1)
936 CALL WRITE_I_C(PROCNI2,LCNI2)
938 CALL WRITE_I_C(ADDCNCND,SADDCNCND)
940 CALL WRITE_I_C(PROCNCND,SPROCNCND)
941 CALL WRITE_I_C(ELEMENTS%PON%IADS ,SIZE(ELEMENTS%PON%IADS)) !< 1 ; 8xNUMELS solid indexes to FSKY
942 CALL WRITE_I_C(ELEMENTS%PON%IADS10 ,SIZE(ELEMENTS%PON%IADS10 )) !< 6* NUMELS10
943 CALL WRITE_I_C(ELEMENTS%PON%IADS20 ,SIZE(ELEMENTS%PON%IADS20 )) ! 12*NUMELS20
944 CALL WRITE_I_C(ELEMENTS%PON%IADS16 ,SIZE(ELEMENTS%PON%IADS16 )) ! 8*NUMELS16
945 CALL WRITE_I_C(ELEMENTS%PON%IADQ ,SIZE(ELEMENTS%PON%IADQ )) !<i87b ; quad i87b
946 CALL WRITE_I_C(ELEMENTS%PON%IADC ,SIZE(ELEMENTS%PON%IADC )) !<i87C shell (4 nodes) indexes to FSKY
947 CALL WRITE_I_C(ELEMENTS%PON%IAD_TRUSS ,SIZE(ELEMENTS%PON%IAD_TRUSS)) !< I87D 2xNUMELT
948 CALL WRITE_I_C(ELEMENTS%PON%IAD_BEAM ,SIZE(ELEMENTS%PON%IAD_BEAM )) !< I87E 2xNUMELP
949 CALL WRITE_I_C(ELEMENTS%PON%IAD_SPRING ,SIZE(ELEMENTS%PON%IAD_SPRING )) !<F 3xNUMELR
950 CALL WRITE_I_C(ELEMENTS%PON%IAD_TG ,SIZE(ELEMENTS%PON%IAD_TG )) !<G 3xNUMELTG
951 CALL WRITE_I_C(ELEMENTS%PON%IAD_TG6 ,SIZE(ELEMENTS%PON%IAD_TG6 )) !<H 3xNUMELTG6
952 CALL WRITE_I_C(ELEMENTS%PON%IAD_MV ,SIZE(ELEMENTS%PON%IAD_MV )) !I 4xNSKYMV0
953 CALL WRITE_I_C(ELEMENTS%PON%IAD_CONLD ,SIZE(ELEMENTS%PON%IAD_CONLD)) !<J 4xNCONLD
954 CALL WRITE_I_C(ELEMENTS%PON%IAD_CONV ,SIZE(ELEMENTS%PON%IAD_CONV)) !<K 4x glob_therm%NCONV
955 CALL WRITE_I_C(ELEMENTS%PON%IAD_RADIA ,SIZE(ELEMENTS%PON%IAD_RADIA)) !<L 4x glob_therm%Numrada
956 CALL WRITE_I_C(ELEMENTS%PON%IAD_LOADP ,SIZE(ELEMENTS%PON%IAD_LOADP)) !<M SLLOADP
957 CALL WRITE_I_C(ELEMENTS%PON%IAD_FXFLUX ,SIZE(ELEMENTS%PON%IAD_FXFLUX)) !<N 4x glob_therm%nfxflux
961 CALL WRITE_I_C(IADWAL,NSKYRW0)
962 CALL WRITE_I_C(IADRBK,NSKYRBK0)
963 CALL WRITE_I_C(IADI2,NISKYI2)
964 CALL WRITE_I_C(IADCND,SIADCND)
965 CALL WRITE_I_C(IADMV2,NSKYMV0)
966 CALL WRITE_I_C(IADMV3,NSKYMVC0)
967 CALL WRITE_I_C(IADLL,NSKYLL0)
968 CALL WRITE_I_C(IADRBM,NSKYRBM0)
969 CALL WRITE_I_C(IADI18,NSKYI18)
970 CALL WRITE_I_C(IADRBMK,NSKYRBMK0)
974 IF(IPLYXFEM > 0) THEN
975 CALL WRITE_I_C(ADSKY_PXFEM,NPLYXFE+1 )
977 CALL WRITE_I_C(PROCNE_PXFEM,LCNEPXFEM)
978 CALL WRITE_I_C(IADC_PXFEM,4*EPLYXFE)
983 IF(ICRACK3D > 0) THEN
984 CALL WRITE_I_C(ADSKY_CRKXFEM,NCRKXFE+1)
985 CALL WRITE_I_C(CNE_CRKXFEM,LCNECRKXFEM)
986 CALL WRITE_I_C(PROCNE_CRKXFEM,LCNECRKXFEM)
987 CALL WRITE_I_C(IADC_CRKXFEM,4*ECRKXFEC+3*ECRKXFETG)
988 CALL WRITE_I_C(CRKNODIAD,LCNECRKXFEM)
992 ! ebcs option : adress of FSKY array
993 IF(EBCS_TAB%nebcs_parallel>0) THEN
994 DO I=1,EBCS_TAB%nebcs
995.or.
IF(EBCS_TAB%my_typ(I)==10 EBCS_TAB%my_typ(I)==11) THEN
996 MY_SIZE = EBCS_TAB%tab(I)%poly%nb_elem
997 CALL WRITE_I_C(EBCS_PARITHON(I)%ELEM_ADRESS,4*MY_SIZE)
1003 CALL COMPRESS_I_NNZ(IGEO,LEN_G)
1004 CALL COMPRESS_I_NNZ(IPM,LEN_M)
1006 CALL WRITE_I_C(ICONTACT ,SICONTACT)
1007 CALL WRITE_I_C(IPART_STATE,LEN_S)
1009 IF(NADMESH /= 0)THEN
1010 CALL WRITE_I_C(SH4TREE,KSH4TREE*NUMELC)
1011 CALL WRITE_I_C(SH3TREE,KSH3TREE*NUMELTG)
1012 CALL WRITE_I_C(IPADMESH,KIPADMESH*NPART)
1014 CALL WRITE_I_C(SH4TRIM,LEN)
1016 CALL WRITE_I_C(SH3TRIM,LEN)
1021 CALL SPMD_SAVEFI(IPARI,1,INTBUF_TAB,SENSORS%NSENSOR,SENSORS%SENSOR_TAB,
1022 . INTERFACES%PARAMETERS)
1026 CALL SPMD_SAVESPH(1)
1030 IF(NINTSTAMP /= 0)THEN
1031 CALL INTSTAMP_WRESTI(INTSTAMP)
1036 IF(NINTERFRIC /= 0)THEN
1037 CALL INTFRIC_WRESTI(INTBUF_FRIC_TAB,NINTERFRIC)
1043 CALL TABLE_WRESTI(TABLE, LTABLE)
1046 CALL WRITE_I_C(ITHVAR,SITHVAR)
1049 CALL WRITE_I_C(ICFIELD,SIZFIELD*NLOADC)
1050 CALL WRITE_I_C(LCFIELD,SLCFIELD)
1053 CALL WRITE_I_C(ILOADP,SIZLOADP*NLOADP)
1054 CALL WRITE_I_C(LLOADP,SLLOADP)
1056 IF (PBLAST%NLOADP_B>0)THEN
1057 CALL PBLAST_WRITE_ENGINE(PBLAST)
1060 IF (LOADS%NLOAD_CYL > 0) THEN
1061 CALL WRITE_PCYL(LOADS)
1064 IF(ICRACK3D > 0)THEN
1065 CALL WRITE_I_C(IBORDNODE,SIBORDNODE)
1066 CALL WRITE_I_C(IEDGESH,SIEDGESH)
1067 CALL WRITE_I_C(NODEDGE,2*NUMEDGES)
1068 CALL WRITE_I_C(IEDGE,NUMEDGES)
1069 CALL WRITE_I_C(NODGLOBXFE,SNODGLOBXFE)
1072 IF(NUMELIG3D > 0)THEN
1073 CALL WRITE_I_C(KXIG3D,SKXIG3D)
1075 CALL WRITE_I_C(IXIG3D,SIXIG3D)
1078 CALL WRITE_I_C(TAG_SKINS6,NUMELS)
1083 CALL WRITE_I_C(IBCSCYC,SIBCSCYC)
1084 CALL WRITE_I_C(LBCSCYC,SLBCSCYC)
1090 CALL WRITE_I_C(ITMP,1)
1091 IF(BCS%NUM_WALL > 0)THEN
1092 DO I=1, BCS%NUM_WALL
1093 CALL WRITE_BCS_WALL(BCS%WALL(I))
1099 CALL WRITE_DB(TABVREA, LVARREA)
1103 CALL WRITE_DB(NODES%X,SX)
1105 CALL WRITE_DB(NODES%D,SD)
1107 CALL WRITE_DB(NODES%V,SV)
1109 CALL WRITE_DB(NODES%VR,SVR)
1111 CALL WRITE_DB(NODES%DR,SDR)
1113 CALL WRITE_DB(THKE,STHKE)
1115 CALL WRITE_DB(DAMPR,SDAMPR)
1117 CALL WRITE_DB(DAMP,SDAMP)
1119 CALL WRITE_DB(NODES%MS,SMS)
1122 CALL WRITE_DB(MS_2D,NUMNOD)
1125 CALL WRITE_DB(NODES%IN,SIN)
1127 CALL WRITE_DB(TF,STF)
1129 CALL WRITE_DB(PM,SPM)
1131 CALL WRITE_MATPARAM(MAT_ELEM)
1133 CALL WRITE_ELGROUP_PARAM(MAT_ELEM%GROUP_PARAM,NGROUP)
1135 SKEW_LEN = SKEWS%N_SKEW_VAR * SKEWS%TOTAL_SKEW_NUMBER
1136 CALL WRITE_DB(SKEWS%SKEW,SKEW_LEN)
1138 CALL WRITE_DB(XFRAME,SXFRAME)
1140 CALL COMPRESS_R_NNZ(GEO,SGEO)
1142 CALL WRITE_DB(EANI,SEANI)
1144 CALL WRITE_DB(BUFMAT,SBUFMAT)
1146 CALL WRITE_DB(BUFGEO,SBUFGEO)
1148 CALL WRITE_DB(BUFSF,SBUFSF)
1150 CALL WRITE_DB(RBMPC,SRBMPC)
1152 CALL WRITE_DB(GJBUFR,SGJBUFR)
1156 CALL WRITE_DB(VEUL,SVEUL)
1158 IF (MULTI_FVM%IS_USED) THEN
1159 CALL WRITE_DB(MULTI_FVM%PRES_SHIFT, 1)
1161 CALL WRITE_DB(MULTI_FVM%VEL(1, :), NUMELS)
1162 CALL WRITE_DB(MULTI_FVM%VEL(2, :), NUMELS)
1163 CALL WRITE_DB(MULTI_FVM%VEL(3, :), NUMELS)
1165 CALL WRITE_DB(MULTI_FVM%VEL(1, :), NUMELQ + NUMELTG)
1166 CALL WRITE_DB(MULTI_FVM%VEL(2, :), NUMELQ + NUMELTG)
1167 CALL WRITE_DB(MULTI_FVM%VEL(3, :), NUMELQ + NUMELTG)
1171 CALL WRITE_DB(FILL,SFILL)
1173 CALL WRITE_DB(DFILL,SDFILL)
1175 CALL WRITE_DB(ALPH,SALPH)
1177 CALL WRITE_DB(WB,SWB)
1179 CALL WRITE_DB(DSAVE,SDSAVE)
1181 CALL WRITE_DB(ASAVE,SASAVE)
1183 CALL WRITE_DB(SPBUF,SSPBUF)
1185 CALL WRITE_DB(VSPHIO,SVSPHIO)
1187 CALL WRITE_DB(SPHVELN,SSPHVELN)
1189 CALL WRITE_DB(MSNF,SMSNF)
1191 CALL WRITE_DB(FORC,SFORC)
1193 CALL WRITE_DB(VEL,SVEL)
1195 CALL WRITE_DB(FSAV,SFSAV)
1197 CALL WRITE_I_C(TAB_UMP,7*TAILLE)
1199 CALL WRITE_I_C(POIN_UMP,NUMMAT)
1201 CALL WRITE_DB(TAB_MAT,STAB_MAT)
1203 CALL WRITE_DB(FZERO,SFZERO)
1205 CALL WRITE_DB(XLAS,SXLAS)
1207 CALL WRITE_DB(ACCELM,SACCELM)
1209 CALL WRITE_DB(GAUGE,LLGAUGE*NBGAUGE)
1211 CALL WRITE_SENSORS(SENSORS)
1213 CALL WRITE_DB(FBVEL,SFBVEL)
1215 CALL WRITE_DB(RBE3%FRBE3,RBE3%frbe3_sz)
1217 CALL write_rrbe3pen(RBE3%PEN)
1219 CALL WRITE_DB(FACTIV,LRACTIV*NACTIV)
1221 CALL WRITE_DB(GRAV,SGRAV)
1223 CALL WRITE_DB(FR_WAVE,SFR_WAVE)
1225 CALL W_FAILWAVE(FAILWAVE)
1227 CALL WRITE_NLOC_STRUCT(NLOC_DMG)
1229 CALL WRITE_DB(PARTS0,SPARTS0)
1231 CALL WRITE_DB(ELBUF,SELBUF)
1234 CALL W_ELBUF_STR(IPARG,ELBUF_TAB,FLAG_XFEM)
1237 IF (ICRACK3D > 0) THEN
1240 CALL W_ELBUF_STR(IPARG,XFEM_TAB(1:NGROUP,IXEL),FLAG_XFEM)
1244 CALL W_CLUSTER(CLUSTER)
1246 CALL WRITE_DB(RWBUF,SRWBUF)
1248 CALL WRITE_DB(RWSAV,SRWSAV)
1250 CALL WRITE_DB(RBY,SRBY)
1252 CALL WRITE_DB(RBYL,SRBYL)
1254 CALL WRITE_DB(RIVET,SRIVET)
1256 CALL WRITE_DB(SECBUF,SSECBUF)
1258 CALL WRITE_DB(VOLMON,SVOLMON)
1260 CALL WRITE_DB(LAMBDA,SLAMBDA)
1262 CALL WRITE_DB(RCONX,SRCONX)
1264 CALL WRITE_DB(RCONTACT,SRCONTACT)
1265 CALL WRITE_DB(ACONTACT,SRCONTACT)
1266 CALL WRITE_DB(PCONTACT,SRCONTACT)
1270 CALL SPMD_SAVEFI(IPARI,2,INTBUF_TAB,SENSORS%NSENSOR,SENSORS%SENSOR_TAB,
1271 . INTERFACES%PARAMETERS)
1275 CALL SPMD_SAVESPH(2)
1279.AND.
IF (IRESMD==0NPSAV>=25) THEN
1282 . CALL SPMD_GLOB_DSUM9(PARTSAV,NPSAV*NPART)
1288 CALL WRITE_DB(PARTSAV,NPSAV*NPART)
1291 CALL WRITE_I_C (IAF(IF01),2*NNOISE+10)
1292 CALL WRITE_DB(AF(MF01),6*NCNOIS*NNOISE+1)
1297 CALL WRITE_DB(NODES%A,3*NUMNOD)
1298 CALL WRITE_DB(NODES%AR,3*NUMNOD)
1300 CALL WRITE_DB(PARTSAV,NPSAV*NPART)
1303 IF (IRESP == 1) THEN
1304 CALL WRITE_DPDB(NODES%XDP,3*NUMNOD)
1305 CALL WRITE_DPDB(NODES%DDP,3*NUMNOD)
1309 MY_ILEN = 4*NRLINK+NRLINK*(NSPMD+2)
1310 . +LLLINK+LLLINK*MIN(1,IPARIT)
1311 . +NSFLSW+8*NTFLSW+44*NCUTS !+LLINAL
1312 CALL WRITE_I_C (MY_ILEN,1)
1313 MY_RLEN = 9*NSFLSW+7*NCUTS
1314 CALL WRITE_I_C (MY_RLEN,1)
1315 CALL WRITE_I_C (ILINK,4*NRLINK)
1316 CALL WRITE_I_C (FR_RL,NRLINK*(NSPMD+2))
1317 CALL WRITE_I_C (LLINK,LLLINK)
1318 CALL WRITE_I_C (IADRL,LLLINK*MIN(1,IPARIT))
1319 !CALL WRITE_I_C (LINALE,LLINAL)
1321 CALL WRITE_I_C(NEFLSW,NSFLSW)
1322 CALL WRITE_I_C(NNFLSW,8*NTFLSW)
1323 CALL WRITE_I_C(ICUT,44*NCUTS)
1324 CALL WRITE_DB (CRFLSW,9*NSFLSW)
1325 CALL WRITE_DB (XCUT,7*NCUTS)
1327.OR.
IF(NADMESH /= 0 IREST_MSELT /= 0)THEN
1328 CALL WRITE_DB(MSC,NUMELC)
1329 CALL WRITE_DB(INC,NUMELC)
1330 CALL WRITE_DB(MSTG,NUMELTG)
1331 CALL WRITE_DB(INTG,NUMELTG)
1332 CALL WRITE_DB(PTG,3*NUMELTG)
1335 IF(IREST_MSELT /= 0)THEN
1336 CALL WRITE_DB(MSSA,NUMELS)
1337 CALL WRITE_DB(MSTR,NUMELT)
1338 CALL WRITE_DB(MSP,NUMELP)
1339 CALL WRITE_DB(MSRT,NUMELR)
1342 IF(NADMESH /= 0)THEN
1343 CALL WRITE_DB(PADMESH,KPADMESH*NPART)
1344 IF(GLOB_THERM%ITHERM_FE > 0)THEN
1345 CALL WRITE_DB(MCPC,NUMELC)
1346 CALL WRITE_DB(MCPTG,NUMELTG)
1351 CALL WRITE_DB(PINCH_DATA%VPINCH,3*NPINCH)
1352 CALL WRITE_DB(PINCH_DATA%DPINCH,3*NPINCH)
1353 CALL WRITE_DB(PINCH_DATA%XPINCH,3*NPINCH)
1354 CALL WRITE_DB(PINCH_DATA%MSPINCH,NPINCH)
1357 IF(ISTATCND /= 0)THEN
1358 CALL WRITE_DB(MSCND,NUMNOD)
1359 CALL WRITE_DB(INCND,NUMNOD)
1364 IF(NINTSTAMP /= 0)THEN
1365 CALL INTSTAMP_WRESTR(INTSTAMP)
1368 IF(H3D_DATA%N_SCAL_SKID > 0) THEN
1369 IF(NINTSTAMP/=0) THEN
1370 CALL WRITE_DB(PSKIDS, H3D_DATA%N_SCAL_SKID*NUMNODG)
1372 CALL WRITE_DB(PSKIDS, H3D_DATA%N_SCAL_SKID*NUMNOD)
1376 IF(IFCONTMAX >0)THEN
1377.AND.
IF(NINTSTAMP/=0NSPMD > 1 ) THEN
1378 IF(ISPMD == 0) CALL WRITE_DB(FCONT_MAX, 3*NUMNODG)
1380 CALL WRITE_DB(FCONT_MAX, 3*NUMNOD)
1384 IF(IFCONTPMAX >0)THEN
1385 CALL WRITE_DB(FNCONT_MAX, 3*SPCONT_MAX)
1386 CALL WRITE_DB(FTCONT_MAX, 3*SPCONT_MAX)
1389 IF(IFCONT2MAX >0)THEN
1390 CALL WRITE_DB(FCONT2_MAX, 3*NUMNOD)
1392 IF(IFCONTP2MAX >0)THEN
1393 CALL WRITE_DB(FNCONT2_MAX, 3*NUMNOD)
1394 CALL WRITE_DB(FTCONT2_MAX, 3*NUMNOD)
1395 CALL WRITE_DB(NPCONT2_MAX, 3*NUMNOD)
1398 IF(IFCONT2MIN >0)THEN
1399 CALL WRITE_DB(FCONT2_MIN, 3*NUMNOD)
1401 IF(IFCONTP2MIN >0)THEN
1402 CALL WRITE_DB(FNCONT2_MIN, 3*NUMNOD)
1403 CALL WRITE_DB(FTCONT2_MIN, 3*NUMNOD)
1404 CALL WRITE_DB(NPCONT2_MIN, 3*NUMNOD)
1407 IF(S_EFRICINT >0)THEN
1408 IF(NINEFRIC > 0) CALL WRITE_DB(EFRIC, NINEFRIC*NUMNOD)
1409 IF(NINEFRIC_STAMP > 0) CALL WRITE_DB(EFRIC_STAMP, NINEFRIC_STAMP*NUMNODG)
1412 CALL WRITE_DB(EFRICG, NUMNOD)
1413 IF(NINTSTAMP/=0) CALL WRITE_DB(EFRICG_STAMP, NUMNODG)
1418 IF(NINTERFRIC /= 0)THEN
1419 CALL INTFRIC_WRESTR(INTBUF_FRIC_TAB,NINTERFRIC)
1422 CALL WRITE_DB(NODES%MS0,NUMNOD)
1423 CALL WRITE_DB(NODES%IN0,SIN)
1425 CALL WRITE_DB(ADMSMS,NUMNOD)
1426 ELSEIF(IDTMINS==2)THEN
1427 CALL WRITE_DB(DMELC ,NUMELC)
1428 CALL WRITE_DB(DMELTG,NUMELTG)
1429 CALL WRITE_DB(DMELS ,NUMELS)
1430 CALL WRITE_DB(DMELTR,NUMELT)
1431 CALL WRITE_DB(DMELP ,NUMELP)
1432 CALL WRITE_DB(DMELRT,NUMELR)
1434.OR.
IF(IDTMINS/=0IDTMINS_INT/=0)THEN
1435 CALL WRITE_DB(RES_SMS,3*NUMNOD)
1438.OR.
IF(IDTMINS==2IDTMINS_INT/=0) THEN
1440 CALL WRITE_DB(DIAG_SMS ,NUMNOD)
1442 CALL WRITE_DB(DMINT2 ,4*I2NSN25)
1445 IF (ISMS_SELEC /= 0) THEN
1446 CALL WRITE_I_C(NATIV0_SMS,NUMNOD)
1452 CALL TABLE_WRESTR(TABLE, LTABLE)
1464 CALL WRITE_I_C(LINALE,SLINALE)
1469 CALL WRITE_ALE_GRID()
1473 IF (NFXBODY>0) CALL FXBWREST(ICH)
1478 CALL EIGWREST(EIGIPM, EIGIBUF, EIGRPM)
1484 CALL WRITE_I_C(SLIPRING(I)%ID, 1)
1485 CALL WRITE_I_C(SLIPRING(I)%IDG, 1)
1486 CALL WRITE_I_C(SLIPRING(I)%NFRAM, 1)
1487 CALL WRITE_I_C(SLIPRING(I)%IFUNC, 4)
1488 CALL WRITE_I_C(SLIPRING(I)%SENSID, 1)
1489 CALL WRITE_I_C(SLIPRING(I)%FL_FLAG, 1)
1490 CALL WRITE_I_C(SLIPRING(I)%RBODY, 1)
1492 CALL WRITE_DB(SLIPRING(I)%DC, 1)
1493 CALL WRITE_DB(SLIPRING(I)%A, 1)
1494 CALL WRITE_DB(SLIPRING(I)%FRIC, 1)
1495 CALL WRITE_DB(SLIPRING(I)%FAC_D, 3)
1496 CALL WRITE_DB(SLIPRING(I)%FRICS, 1)
1497 CALL WRITE_DB(SLIPRING(I)%FAC_S, 3)
1499 DO J=1,SLIPRING(I)%NFRAM
1501 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%UPDATE, 1)
1502 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%ANCHOR_NODE, 1)
1503 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%NODE, 3)
1504 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%NODE_NEXT, 3)
1505 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%NODE2_PREV, 1)
1506 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%N_REMOTE_PROC, 1)
1507 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%ORIENTATION_NODE, 1)
1508 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%STRAND_DIRECTION, 2)
1509 CALL WRITE_I_C(SLIPRING(I)%FRAM(J)%LOCKED, 1)
1511 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%VECTOR, 6)
1512 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%ORIENTATION_ANGLE, 1)
1513 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%MATERIAL_FLOW, 1)
1514 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%MATERIAL_FLOW_OLD, 1)
1515 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%DFS, 1)
1516 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%RESIDUAL_LENGTH, 2)
1517 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%CURRENT_LENGTH, 2)
1518 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%RINGSLIP, 1)
1519 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%BETA, 1)
1520 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%SLIP_FORCE, 3)
1521 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%PREV_REF_LENGTH, 1)
1522 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%INTVAR_STR1, 8)
1523 CALL WRITE_DB(SLIPRING(I)%FRAM(J)%INTVAR_STR2, 8)
1529 DO I = 1, NRETRACTOR
1530 CALL WRITE_I_C(RETRACTOR(I)%ID, 1)
1531 CALL WRITE_I_C(RETRACTOR(I)%IDG, 1)
1532 CALL WRITE_I_C(RETRACTOR(I)%UPDATE, 1)
1533 CALL WRITE_I_C(RETRACTOR(I)%ANCHOR_NODE, 1)
1534 CALL WRITE_I_C(RETRACTOR(I)%NODE, 2)
1535 CALL WRITE_I_C(RETRACTOR(I)%NODE_NEXT, 2)
1536 CALL WRITE_I_C(RETRACTOR(I)%STRAND_DIRECTION, 1)
1537 CALL WRITE_I_C(RETRACTOR(I)%IFUNC, 3)
1538 CALL WRITE_I_C(RETRACTOR(I)%ISENS, 2)
1539 CALL WRITE_I_C(RETRACTOR(I)%TENS_TYP, 1)
1540 CALL WRITE_I_C(RETRACTOR(I)%LOCKED, 1)
1541 CALL WRITE_I_C(RETRACTOR(I)%LOCKED_FREEZE, 1)
1542 CALL WRITE_I_C(RETRACTOR(I)%PRETENS_ACTIV, 1)
1543 CALL WRITE_I_C(RETRACTOR(I)%INACTI_NNOD, 1)
1544 CALL WRITE_I_C(RETRACTOR(I)%INACTI_NNOD_MAX, 1)
1545 CALL WRITE_I_C(RETRACTOR(I)%INACTI_NODE, RETRACTOR(I)%INACTI_NNOD)
1546 CALL WRITE_I_C(RETRACTOR(I)%N_REMOTE_PROC, 1)
1547 CALL WRITE_I_C(RETRACTOR(I)%S_TABLE, 2)
1548 CALL WRITE_DB(RETRACTOR(I)%VECTOR, 3)
1549 CALL WRITE_DB(RETRACTOR(I)%ELEMENT_SIZE, 1)
1550 CALL WRITE_DB(RETRACTOR(I)%FORCE, 1)
1551 CALL WRITE_DB(RETRACTOR(I)%MATERIAL_FLOW, 1)
1552 CALL WRITE_DB(RETRACTOR(I)%RESIDUAL_LENGTH, 1)
1553 CALL WRITE_DB(RETRACTOR(I)%FAC, 4)
1554 CALL WRITE_DB(RETRACTOR(I)%PULLOUT, 1)
1555 CALL WRITE_DB(RETRACTOR(I)%UNLOCK_FORCE, 1)
1556 CALL WRITE_DB(RETRACTOR(I)%LOCK_PULL, 1)
1557 CALL WRITE_DB(RETRACTOR(I)%LOCK_PULL_SAV, 1)
1558 CALL WRITE_DB(RETRACTOR(I)%LOCK_OFFSET, 1)
1559 CALL WRITE_DB(RETRACTOR(I)%LOCK_YIELD_FORCE, 1)
1560 CALL WRITE_DB(RETRACTOR(I)%RINGSLIP, 1)
1561 CALL WRITE_DB(RETRACTOR(I)%PRETENS_TIME, 1)
1562 CALL WRITE_DB(RETRACTOR(I)%PRETENS_PULL, 1)
1563 CALL WRITE_DB(RETRACTOR(I)%PRETENS_PULLMAX, 1)
1564 CALL WRITE_DB(RETRACTOR(I)%RET_FORCE, 1)
1566 IF (RETRACTOR(I)%S_TABLE(J) > 0) THEN
1567 NPT = RETRACTOR(I)%S_TABLE(J)
1568 CALL WRITE_DB(RETRACTOR(I)%TABLE(J)%X(1)%VALUES(1:NPT),NPT)
1569 CALL WRITE_DB(RETRACTOR(I)%TABLE(J)%Y%VALUES(1:NPT),NPT)
1574 IF (N_ANCHOR_REMOTE > 0) THEN
1575 CALL WRITE_I_C(ANCHOR_REMOTE%ADD_PROC, NSPMD+1)
1576 CALL WRITE_I_C(ANCHOR_REMOTE%NODE, N_ANCHOR_REMOTE)
1579 IF (N_ANCHOR_REMOTE_SEND > 0) THEN
1580 CALL WRITE_I_C(ANCHOR_REMOTE_SEND%ADD_PROC, NSPMD+1)
1581 CALL WRITE_I_C(ANCHOR_REMOTE_SEND%NODE, N_ANCHOR_REMOTE_SEND)
1584.AND.
IF ((NSLIPRING_G + NRETRACTOR_G >0)(ISPMD == 0)) THEN
1585 CALL WRITE_I_C(NSEATBELT_TH_PROC, 1)
1586.AND.
IF ((NSPMD > 1)(NSEATBELT_TH_PROC > 0)) THEN
1587 DO I=1,NSEATBELT_TH_PROC
1588 CALL WRITE_I_C(SEATBELT_TH_EXCH(I)%ID_PROC, 1)
1589 CALL WRITE_I_C(SEATBELT_TH_EXCH(I)%ADD_PROC, 1)
1590 CALL WRITE_I_C(SEATBELT_TH_EXCH(I)%NSLIPRING, 1)
1591 CALL WRITE_I_C(SEATBELT_TH_EXCH(I)%NRETRACTOR, 1)
1599 CALL WRITE_DB(TM_DIS,LMAX_DIS*NUMNOD)
1600 CALL WRITE_DB(TM_VEL,LMAX_VEL*NUMNOD)
1601 CALL WRITE_DB(TM_NSIG1,LMAX_NSIG*NUMNOD)
1602 CALL WRITE_DB(TM_NSIG3,LMAX_NSIG*NUMNOD)
1603 CALL WRITE_DB(TM_NSTRA1,LMAX_NSTRA*NUMNOD)
1604 CALL WRITE_DB(TM_NSTRA3,LMAX_NSTRA*NUMNOD)
1606 IF (NCONLD > 0) THEN
1607 CALL WRITE_DB(DPL0CLD,6*NCONLD)
1608 CALL WRITE_DB(VEL0CLD,6*NCONLD)
1613 IF (NDAMP_VREL > 0) THEN
1614 CALL WRITE_I_C(ID_DAMP_VREL,NDAMP_VREL)
1615 CALL WRITE_I_C(FR_DAMP_VREL,NDAMP_VREL*(NSPMD+2))
1618 IF (NFLOW>0) CALL NFWREST(IFLOW, RFLOW)
1623 CALL IMP_TRANS(IMPBUF_TAB%R_IMP)
1624 CALL IMPWREST(IMPL_S0)
1627 IF(GLOB_THERM%ITHERM_FE > 0 ) CALL THCWREST(MCP, TEMP)
1629 IF(NITSCHE > 0 )CALL NITSCHEWREST(FORNEQS)
1631 CALL WRITE_UNITS(UNITAB)
1633 IF(IRIGID_MAT > 0 )CALL RIGMATWREST(RBYM ,IRBYM ,LNRBYM,WEIGHT_RM)
1636 IF (GLOB_THERM%NUMCONV > 0) THEN
1637 CALL CONVWREST(IBCV, FCONV,GLOB_THERM)
1639 IF (GLOB_THERM%NUMRADIA > 0) THEN
1640 CALL RADIAWREST(IBCR, FRADIA,GLOB_THERM)
1642 IF (GLOB_THERM%NFXFLUX > 0) THEN
1643 CALL FXFLUXWREST(IBFFLUX, FBFFLUX, GLOB_THERM)
1645 IF (GLOB_THERM%NFXTEMP > 0) THEN
1646 CALL FXTEMPWREST(IBFTEMP, FBFTEMP,GLOB_THERM)
1650 IF (IPLYXFEM > 0)THEN
1651 CALL PLYXFEM_WREST(MS_PLY,ZI_PLY,INOD_PXFEM,IEL_PXFEM,
1652 . ICODE_PLY,ISKEW_PLY,MSZ2)
1653 CALL PLYXFEM_WRESTANIM()
1654 CALL PLYXFEM_WRAVUPLY()
1657 IF (NLOADC > 0) CALL WRITE_DB(CFIELD,LFACLOAD*NLOADC)
1658 IF (NLOADP > 0) CALL WRITE_DB(LOADP,LFACLOAD*NLOADP)
1659 IF (NINTLOADP > 0) CALL WRITE_DB(DGAPLOADINT,NINTER*NLOADP_HYD)
1662 IF (LOADS%NINIVELT>0) CALL WRITE_INIVEL(LOADS%NINIVELT,LOADS%INIVELT)
1665 IF (ICRACK3D > 0) THEN
1666 CALL CRKXFEM_WREST(INOD_CRKXFEM,IEL_CRKXFEM,NODLEVXF)
1667 CALL CRKXFEM_WRESTANIM(CRKEDGE,CRKSKY,INDX_CRK,XEDGE4N,XEDGE3N)
1670 IF(ALEFVM_Param%IEnabled > 0) CALL WRITE_DB(ALEFVM_Buffer%FCELL ,6*NUMELS)
1672 IF(IALELAG > 0 )CALL ALELAG_WREST()
1674 IF(SRTHBUF > 0) CALL RTHBUFWREST()
1676 IF (SKNOT > 0) CALL WRITE_DB(KNOT,SKNOT)
1677 IF (SKNOTLOCPC > 0) CALL WRITE_DB(KNOTLOCPC,SKNOTLOCPC)
1678 IF (SKNOTLOCEL > 0) CALL WRITE_DB(KNOTLOCEL,SKNOTLOCEL)
1679 IF (NUMELIG3D > 0) CALL WRITE_DB(WIGE,NUMNOD)
1681 IF(IPART_STACK >0) CALL STACK_WREST(STACK%IGEO,STACK%GEO,STACK%PM )
1683 IF (NDRAPE > 0) CALL DRAPE_WREST(DRAPE_SH4N , DRAPE_SH3N,DRAPEG)
1685 IF (NUMPLY > 0) CALL PLY_INFO_WREST(PLY_INFO)
1687 ! ---------------------------
1688 ! write the starter + engine elapsed time
1689 CALL WRITE_DPDB(GLOBAL_COMP_TIME%STARTER_TIME,1)
1690 CALL WRITE_DPDB(GLOBAL_COMP_TIME%ENGINE_TIME,GLOBAL_COMP_TIME%RUN_NBR)
1691 ! ---------------------------
1693 ! restart file size - mist be before closing the file
1694 CALL file_size(RESTSIZE)
1700 WRITE (IOUT,1000) FILNAMG(1:LENG)
1701 WRITE (ISTDO,1050) FILNAMG(1:LENG)
1704 1000 FORMAT (/4X,' restart files:
',1X,A,' written
'/
1705 . 4X,' -------------
'/)
1706 1050 FORMAT (4X,' restart files:
',1X,A,' written
')
subroutine alelag_wrest()
subroutine write_joint(ljoint, cep, cel, proc, nodlocal, ljoint_l, len_ia, numnod_l)
subroutine w_elbuf_str(proc, iparg, elbuf_tab, len_am, flag_xfem)
subroutine w_failwave(failwave, nodglob, numnod, numnod_l, len_am, itab)
subroutine w_subset_str(subset, len_ia)
subroutine write_nloc_struct(nloc_dmg, numnod_l, nodglob, nodloc, cel, cep, proc, ixs, ixc, ixtg, numels_l, numelc_l, numeltg_l)
subroutine plyxfem_wrest(ms_ply, zi_ply, iel, inod, icode, iskew)
subroutine thcwrest(mcp, temp)
subroutine write_db(a, n)
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)