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)

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 )
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 154 of file wrrestp.F.

165C-----------------------------------------------
166C M o d u l e s
167C-----------------------------------------------
168 USE restmod
169 USE nodal_arrays_mod
170 USE connectivity_mod
172 USE sms_mod
174 USE mat_elem_mod
175 USE sph_mod
176 USE intbufdef_mod
177 USE int8_mod
178 USE cluster_mod
179 USE ecnd_mod
180 USE multi_fvm_mod
181 USE h3d_mod
182 USE intbuf_fric_mod
183 USE groupdef_mod
184 USE group_mod
185 USE pinchtype_mod
186 USE inoutfile_mod
189 USE sensor_mod
190 USE ebcs_mod
191 USE seatbelt_mod
192 USE pblast_mod
193 USE outmax_mod
194 USE outputs_mod
195 USE loads_mod
196 USE state_mod
198 USE ale_mod
199 USE output_mod
200 USE interfaces_mod
201 USE python_funct_mod
202 USE damp_mod
203 USE xfem2vars_mod
204 USE alefvm_mod
206 USE bcs_mod , only : bcs
207 USE skew_mod
209 USE unitab_mod, ONLY : unit_type_
210 USE stack_mod
211 USE drape_mod
212 USE time_mod
213 USE elbufdef_mod
214 use write_inivel_mod , only : write_inivel
215 use glob_therm_mod
216 use write_ale_grid_mod , only : write_ale_grid
217 use write_bcs_wall_mod , only : write_bcs_wall
218 use rbe3_mod
219 use restart_rbe3pen_mod, only : write_rrbe3pen
220 use checksum_output_option_mod, only : checksum_restart_write
221C-----------------------------------------------
222C I m p l i c i t T y p e s
223C-----------------------------------------------
224#include "implicit_f.inc"
225C-----------------------------------------------
226C D u m m y A r g u m e n t s
227C-----------------------------------------------
228 TYPE(nodal_arrays_) :: NODES
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) :: FORNEQS(3,NUMNOD)
239 INTEGER IAF(*),ICH,ADDCNE(*)
240 my_real af(*)
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
245c TYPE (CLUSTER_) ,DIMENSION(NCLUSTER) :: CLUSTER
246 TYPE(H3D_DATABASE), INTENT(IN) :: H3D_DATA
247 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
248 TYPE(SUBSET_), TARGET, DIMENSION(NSUBS) :: SUBSET
249 TYPE(PINCH) :: PINCH_DATA
250 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECTIVITY
251 TYPE(MONVOL_STRUCT_), DIMENSION(NVOLU), INTENT(IN) :: T_MONVOL
252 TYPE(t_ebcs_tab), INTENT(INOUT) :: EBCS_TAB
253 TYPE(DYNAIN_DATABASE) ,INTENT(IN) :: DYNAIN_DATA
254 TYPE(USER_WINDOWS_) ,INTENT(IN) :: USER_WINDOWS
255 TYPE(OUTPUT_) ,INTENT(INOUT) :: OUTPUT !< output structure
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
261 TYPE(NAMES_AND_TITLES_),INTENT(IN) :: NAMES_AND_TITLES !< NAMES_AND_TITLES host the input deck names and titles for outputs
262 TYPE(SKEW_),INTENT(IN) :: SKEWS
263 TYPE(IMPBUF_STRUCT_), TARGET :: IMPBUF_TAB
264 TYPE(UNIT_TYPE_) :: UNITAB !< structure containing units conversion ratios
265 TYPE (STACK_PLY) :: STACK
266 TYPE(DRAPE_) :: DRAPE_SH3N(NUMELTG_DRAPE),DRAPE_SH4N(NUMELC_DRAPE)
267 TYPE(DRAPEG_) :: DRAPEG
268 type (glob_therm_) ,intent(inout) :: GLOB_THERM
269 TYPE(PBLAST_) ,INTENT(INOUT) :: PBLAST
270 TYPE(RBE3_) ,INTENT(INOUT) :: RBE3
271C-----------------------------------------------
272C C o m m o n B l o c k s
273C-----------------------------------------------
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"
293#include "sms_c.inc"
294#include "spmd_c.inc"
295#include "tabsiz_c.inc"
296#include "task_c.inc"
297#include "units_c.inc"
298#include "remesh_c.inc"
299#include "sphcom.inc"
300#include "inter18.inc"
301C-----------------------------------------------
302C L o c a l V a r i a b l e s
303C-----------------------------------------------
304 INTEGER I,J,LEN,IFILNAM(2148), IFIL,LEN_G,LEN_M,LENG,LEN_S,IXEL,
305 . FLAG_XFEM
306 CHARACTER FILNAM*100, FILNAMR*100, FILNAMG*128,
307 . PROCNAM*4, CHRUNR*4,PLAST*4
308 CHARACTER*1 IJK(26)
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)
314 my_real
315 . tabvrea(lmxvrea), entmp(100)
316 INTEGER MY_ILEN,MY_RLEN,LTABLE, LENI, LENR
317
318 INTEGER :: LEN_TMP_NAME
319 CHARACTER(len=2048) :: TMP_NAME
320 INTEGER, DIMENSION(NVOLU) :: NTRI
321 INTEGER :: II, NS_DIFF, ITMP
322 INTEGER :: MY_SIZE
323 INTEGER,DIMENSION(LTITLE) :: ITITLE
324 INTEGER :: SKEW_LEN
325 INTEGER, INTENT(IN) :: LIFLOW !< Size of IFLOW
326 INTEGER, INTENT(IN) :: LRFLOW !< Size of RFLOW
327 INTEGER, INTENT(IN), DIMENSION(LIFLOW) :: IFLOW
328 INTEGER, INTENT(IN), DIMENSION(LRFLOW) :: RFLOW
329 INTEGER :: NPT
330C-----------------------------------------------
331C Python interface
332C-----------------------------------------------
333 INTEGER, DIMENSION(:), ALLOCATABLE :: BUFFER
334 INTEGER :: BUFFER_SIZE
335C-----------------------------------------------
336C Restart size
337 INTEGER,INTENT(INOUT) :: RESTSIZE
338C-----------------------------------------------
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'/
342C--------------------------------------
343C PREPARATION DES VARIABLES ENTIERES ET REELLES.
344C--------------------------------------
345 ipari0 = iparit
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)
350C
351 entmp(1) = output%TH%WFEXT
352 entmp(2) = ehour
353 entmp(3) = econtv
354 entmp(4) = epor
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
360 entmp(10)= econtd
361 entmp(11)= econt_cumu
362 IF(nspmd > 1) CALL spmd_glob_dsum9(entmp,11)
363 IF(ispmd/=0) THEN
364 output%TH%WFEXT = zero
365 ehour = zero
366 econtv = zero
367 epor = 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
373 econtd = zero
374 econt_cumu = zero
375 ELSE
376 output%TH%WFEXT = entmp(1)
377 ehour = entmp(2)
378 econtv= entmp(3)
379 epor = entmp(4)
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)
385 econtd = entmp(10)
386 econt_cumu = entmp(11)
387 ENDIF
388C
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)
393 ENDIF
394C
395 CALL wrcomr(lmxvrea,lvarrea,tabvrea,dynain_data,interfaces%PARAMETERS,
396 . output,glob_therm)
397C--------------------------------------
398C OPEN
399C--------------------------------------
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//']'
405 leng = rootlen+17
406 len = rootlen + 10
407 filnamr = filnam
408 ifil = 2
409 IF(ich/=0)ifil = 41
410 IF(multirest/=0.AND.mcheck==0)THEN
411 irprev = 1 + mod(irprev,multirest)
412 filnam=filnam(1:len)//'_'//ijk(irprev)
413 len = len+2
414 filnamg=filnamg(1:leng)//'_'//ijk(irprev)
415 leng = leng+2
416 ENDIF
417 filnam=filnam(1:len)//'.rst'
418 len = len +4
419 filnamg=filnamg(1:leng)//'.rst'
420 leng = leng+4
421
422 len_tmp_name = outfile_name_len + len
423 tmp_name=outfile_name(1:outfile_name_len)//filnam(1:len)
424
425 DO i = 1, len_tmp_name
426 ifilnam(i) = ichar(tmp_name(i:i))
427 END DO
428 CALL cur_fil_c(ifil)
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)
435 ENDIF
436 DO i = 1, len
437 ifilnam(i) = ichar(filnam(i:i))
438 END DO
439 CALL write_c_c(ifilnam,len)
440C--------------------------------------
441C Deck title
442C--------------------------------------
443 DO i=1,ltitle
444 ititle(i) = ichar( names_and_titles%TITLE(i:i) )
445 ENDDO
446 CALL write_i_c(ititle,ltitle)
447C--------------------------------------
448C ECRITURE DU HEADER.
449C--------------------------------------
450C RADIOSS FILE R/W
451 tabhead(1) =iradios
452C RESTART FILE
453 tabhead(2) =iresfil
454C ITESTV
455 tabhead(3) =itestv
456C THIS RUN NUMBER
457 tabhead(4) =irun
458C CODE FOR THIS RUN (-1:UNKNOWN,0:STARTER,1:ENGINE,2:MODIF)
459 icodrun =1
460 tabhead(5) =icodrun
461C CODVERS FOR THIS RUN
462 tabhead(6) =codvers
463C MINOR VERSION CODE FOR THIS RUN
464 tabhead(7) =iminver
465C SOURCE VERSION CODE FOR THIS RUN
466 tabhead(8) =isrcver
467C INPUT VERSION FOR THIS RUN
468 tabhead(9) =invers
469C STARTER CODVERS
470 tabhead(10)=scodver
471C STARTER MINOR VERSION CODE.
472 tabhead(11)=sminver
473C STARTER SOURCE VERSION CODE.
474 tabhead(12)=ssrcver
475C STARTER INPUT VERSION
476 tabhead(13)=invstr
477C
478 tabhead(14) =lvarint
479 tabhead(15)=lvarrea
480 CALL write_i_c(lheader, 1)
481 CALL write_i_c(tabhead, lheader)
482C--------------------------------------
483C ECRITURE DES VARIABLES ENTIERES
484C--------------------------------------
485 CALL write_i_c(tabvint,lvarint)
486C--------------------------------------
487C WRITE CHECKSUM DIGEST
488C--------------------------------------
489 CALL checksum_restart_write(output%CHECKSUM)
490C--------------------------------------
491C ECRITURE DES ENTIERS
492C--------------------------------------
493 len_g = npropgi*numgeo
494 len_m = npropmi*nummat
495 len_s = npart
496 CALL write_i_c(nodes%NODGLOB,nodes%NUMNOD)
497
498 CALL write_i_c(nodes%MAIN_PROC,sweight)
499
500 CALL write_i_c(nodes%WEIGHT,sweight)
501
502 CALL write_i_c(nodes%ICODE,sicode)
503
504 CALL write_i_c(nodes%ISKEW,siskew)
505
506 CALL write_i_c(iskwn,siskwn)
507
508 CALL write_i_c(iframe,siframe)
509
510 CALL write_i_c(neth,sneth)
511
512 CALL write_i_c(ibcslag,sibcslag)
513
514 CALL write_i_c(ipart,sipart)
515
516 CALL write_i_c(nom_opt,snom_opt)
517
518 CALL python_serialize(python,buffer, buffer_size)
519 CALL write_i_c(buffer, buffer_size)
520
521 CALL write_i_c(npc,snpc)
522
523 CALL write_i_c(ixtg,sixtg)
524
525 CALL write_i_c(ixtg1,sixtg1)
526
527 CALL write_i_c(ixs,sixs)
528
529 CALL write_i_c(ixq,sixq)
530
531 CALL write_i_c(elements%SHELL%IXC,sixc)
532
533 CALL write_i_c(ixt,sixt)
534
535 CALL write_i_c(ixp,sixp)
536
537 CALL write_i_c(ixr,sixr)
538
539 CALL write_i_c(nodes%ITAB,sitab)
540
541 CALL write_i_c(nodes%ITABM1,sitabm1)
542
543 CALL write_i_c(gjbufi,sgjbufi)
544
545 CALL write_i_c(ale_connectivity%NALE,ale%GLOBAL%SNALE)
546
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)
551
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)
555
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)
559
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)
563 ENDIF
564
565 CALL write_i_c(id_global_vois,ale%GLOBAL%SIELVS)
566
567 CALL write_i_c(face_vois,ale%GLOBAL%SIELVS)
568
569 IF(iale > 0 .AND. ale%GRID%NWALE == 6 .OR. inter18_autoparam == 1 .OR. 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)
574 ENDIF
575 IF (iale > 0 .AND. (ale%GRID%NWALE < 2 .OR. ale%GRID%NWALE == 5.OR. 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))
578 ENDIF
579 IF (iale > 0 .AND. ale%GRID%NWALE == 6 .OR. inter18_autoparam == 1 .OR. 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))
583 ENDIF
584
585 ns_diff = 0
586 IF (multi_fvm%NS_DIFF) THEN
587 ns_diff = 1
588 ENDIF
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)
593 ENDIF
594
595 CALL write_i_c(ifill,sifill)
596
597 CALL write_i_c(ims,sims)
598
599 CALL w_subset_str(subset)
600
601 CALL w_group_str
602
603 CALL w_surf_str(igrsurf)
604
605 CALL w_line_str(igrslin)
606
607 CALL write_i_c(kxx,skxx)
608
609 CALL write_i_c(ixx,sixx)
610
611 CALL write_i_c(kxsp,skxsp)
612
613 CALL write_i_c(ixsp,sixsp)
614
615 CALL write_i_c(nod2sp,snod2sp)
616
617 CALL write_i_c(ispsym,sispsym)
618
619 CALL write_i_c(ispcond,sispcond)
620
621 CALL write_i_c(isphio,sisphio)
622
623 CALL write_i_c(lprtsph,slprtsph)
624
625 CALL write_i_c(lonfsph,slonfsph)
626
627 CALL write_i_c(ibufssg_io,sibufssg_io)
628
629 IF(nsphsol/=0)THEN
630
631 CALL write_i_c(sph2sol,numsph)
632
633 CALL write_i_c(sol2sph,2*numels8)
634
635 CALL write_i_c(irst,3*nsphsol)
636
637 CALL write_i_c(sol2sph_typ,numels8)
638 END IF
639
640 CALL write_i_c(ibcl,sibcl)
641
642 IF (nintloadp>0) THEN
643 CALL write_i_c(kloadpinter, ninter+1)
644 CALL write_i_c(loadpinter,ninter*nloadp_hyd)
645 ENDIF
646
647 CALL write_i_c(ibfv,sibfv)
648
649 CALL write_i_c(iecran,siecran)
650
651 CALL write_i_c(ilas,silas)
652
653 ! -----------------------------
654 ! EBCS option
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
659 leni = 0
660 lenr = 0
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)
664 ENDIF
665 ! -------------
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)
671 ENDDO
672 ENDIF
673 ! -----------------------------
674
675 CALL write_i_c(laccelm,slaccelm)
676
677 CALL write_i_c(lgauge,3*nbgauge)
678
679 CALL write_i_c(nnlink,snnlink)
680
681 CALL write_i_c(lnlink,slnlink)
682
683 CALL userwi_write(user_windows,ispmd,nspmd,numnod)
684
685 CALL write_i_c(iparg,siparg)
686
687 CALL write_i_c(dd_iad,sdd_iad)
688
689 CALL write_i_c(igrv,sigrv)
690
691 CALL write_i_c(lgrav,slgrav)
692
693 CALL write_i_c(iexlnk,siexlnk)
694
695 CALL write_i_c(ibvel,sibvel)
696
697 CALL write_i_c(lbvel,slbvel)
698
699 CALL write_i_c(irbe2,sirbe2)
700
701 CALL write_i_c(lrbe2,slrbe2)
702
703 CALL write_i_c(rbe3%IRBE3,rbe3%NRBE3*irbe3_variables)
704
705 CALL write_i_c(rbe3%LRBE3,rbe3%lrbe3_sz)
706
707 CALL write_i_c(iactiv,siactiv)
708
709 CALL write_i_c(ibmpc,sibmpc)
710
711 CALL write_i_c(kinet,skinet)
712
713 CALL write_i_c(fasolfr,sfasolfr)
714
715 CALL write_i_c(segquadfr,ssegquadfr)
716
717 CALL write_i_c(ipari,sipari)
718
719c CALL WRITE_I_C(INBUF,SINBUF)
720
721 CALL w_bufbric_22() !inter22
722
723 !write new structure INTBUF_TAB
724 CALL write_intbuf(intbuf_tab)
725
726 CALL write_i_c(nprw,snprw)
727
728 CALL write_i_c(lprw,slprw)
729
730 CALL write_i_c(iconx,siconx)
731
732 CALL write_i_c(madprt,smadprt)
733
734 CALL write_i_c(madsh4,smadsh4)
735
736 CALL write_i_c(madsh3,smadsh3)
737
738 CALL write_i_c(madsol,smadsol)
739
740 CALL write_i_c(madnod,smadnod)
741
742 CALL write_i_c(madclnod,madclnods)
743
744 CALL write_i_c(madfail,smadfail)
745
746 CALL write_i_c(madidx,smadidx)
747
748 CALL write_i_c(npby,snpby)
749
750 CALL write_i_c(npbyl,snpbyl)
751
752 CALL write_i_c(lpby,slpby)
753
754 CALL write_i_c(lpbyl,slpbyl)
755
756 CALL write_i_c(lrivet,slrivet)
757
758 CALL write_i_c(nstrf,snstrf)
759
760 CALL write_i_c(nom_sect,snom_sect)
761
762 CALL write_joint()
763
764 CALL write_i_c(nodpor,snodpor)
765
766 CALL write_i_c(monvol,smonvol)
767
768 DO ii = 1, nvolu
769 ntri(ii) = t_monvol(ii)%NB_FILL_TRI
770 ENDDO
771
772 CALL write_i_c(ntri, nvolu)
773 DO ii = 1, nvolu
774 IF (ntri(ii) > 0) THEN
775 CALL write_i_c(t_monvol(ii)%FILL_TRI(1:3* ntri(ii)), 3* ntri(ii))
776 ENDIF
777 ENDDO
778
779 CALL write_i_c(lagbuf,slagbuf)
780
781 IF(ns10e > 0)THEN
782 CALL write_i_c(icnds10,3*ns10e)
783 ENDIF
784
785 CALL write_th_restart(output%TH) ! Write Time History Buffer
786
787 CALL thsurf_write_restart(output%TH%TH_SURF,2)
788
789 CALL write_i_c(fr_mv,sfr_mv)
790
791 CALL write_i_c(nodes%BOUNDARY_ADD,siad_elem)
792
793 CALL write_i_c(iad_rby,siad_rby)
794
795 CALL write_i_c(iad_rby2,siad_rby2)
796
797 CALL write_i_c(iad_i2m,siad_i2m)
798
799 CALL write_i_c(iadcj,siadcj)
800
801 CALL write_i_c(iad_rbm,siad_rbm)
802
803 CALL write_i_c(iad_rbm2,siad_rbm2)
804
805 CALL write_i_c(iad_rbe2,siad_rbe2)
806
807 CALL write_i_c(rbe3%mpi%IAD_RBE3,nspmd+1)
808
809 CALL write_i_c(iad_sec,siad_sec)
810
811 CALL write_i_c(iad_cut,siad_cut)
812C
813 CALL write_i_c(iad_rbym,siad_rbym)
814
815 CALL write_i_c(iad_rbym2,siad_rbym2)
816
817 CALL write_i_c(nodes%BOUNDARY,sfr_elem)
818
819 CALL write_i_c(fr_rby,sfr_rby)
820
821 CALL write_i_c(fr_wall,sfr_wall)
822
823 CALL write_i_c(fr_rby2,sfr_rby2)
824
825 CALL write_i_c(fr_i2m,sfr_i2m)
826
827 CALL write_i_c(fr_ll,sfr_ll)
828
829 CALL write_i_c(fr_cj,sfr_cj)
830
831 CALL write_i_c(fr_rbm,sfr_rbm)
832
833 CALL write_i_c(fr_rbm2,sfr_rbm2)
834
835 CALL write_i_c(fr_rbe2,sfr_rbe2)
836
837 CALL write_i_c(rbe3%mpi%FR_RBE3,rbe3%mpi%fr_rbe3_sz)
838
839 CALL write_i_c(rbe3%mpi%FR_RBE3MP,rbe3%mpi%fr_rbe3_sz)
840
841 CALL write_i_c(fr_sec,sfr_sec)
842
843 CALL write_i_c(fr_cut,sfr_cut)
844
845 CALL write_i_c(rg_cut,srg_cut)
846
847 CALL write_i_c(fr_mad,sfr_mad)
848
849 CALL write_i_c(fr_i18,sfr_i18)
850
851 CALL write_i_c(dd_r2r,sdd_r2r)
852
853 CALL write_i_c(dd_r2r_elem,sdd_r2r_elem)
854
855 CALL write_i_c(fr_rbym,sfr_rbym)
856
857 CALL write_i_c(fr_rbym2,sfr_rbym2)
858
859 CALL write_i_c(addcsrect,numnor+1)
860
861 CALL write_i_c(fr_nor,nbddnort)
862
863 CALL write_i_c(iad_frnor,(nspmd+1)*ninter25)
864
865 CALL write_i_c(procnor,nbccnor)
866
867 CALL write_i_c(interfaces%SPMD_ARRAYS%FR_EDG,2*nbddedgt)
868
869 CALL write_i_c(interfaces%SPMD_ARRAYS%IAD_FREDG,(nspmd+1)*ninter25)
870
871 CALL write_i_c(iskwp,siskwp)
872
873 CALL write_i_c(nskwp,snskwp)
874
875 IF(snskwp>0) CALL write_i_c(iskwp_l,nskwp(ispmd+1))
876
877 CALL write_i_c(isensp,sisensp)
878
879 CALL write_i_c(nsensp,snsensp)
880
881 CALL write_i_c(iaccp,siaccp)
882
883 CALL write_i_c(naccp,snaccp)
884
885 CALL write_i_c(igaup,sigaup)
886
887 CALL write_i_c(ngaup,sngaup)
888
889 CALL write_i_c(fr_lagf,sfr_lagf)
890
891 CALL write_i_c(newfront,snewfront)
892
893 CALL write_i_c(nbrcvois,snbrcvois)
894
895 CALL write_i_c(lnrcvois,slnrcvois)
896
897 CALL write_i_c(nbsdvois,snbsdvois)
898
899 CALL write_i_c(lnsdvois,slnsdvois)
900
901 CALL write_i_c(nercvois,snercvois)
902
903 CALL write_i_c(lercvois,slercvois)
904
905 CALL write_i_c(nesdvois,snesdvois)
906
907 CALL write_i_c(lesdvois,slesdvois)
908
909 CALL write_i_c(npsegcom,snpsegcom)
910
911 CALL write_i_c(lsegcom,slsegcom)
912
913 CALL write_i_c(nporgeo,snporgeo)
914
915 CALL write_i_c(lnodpor,slnodpor)
916
917 CALL write_i_c(llagf,sllagf)
918
919 IF(icrack3d > 0)THEN
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)
923 ENDIF
924
925c IF(NS10E > 0)THEN
926 CALL write_i_c(iad_cndm,siad_cndm)
927 CALL write_i_c(fr_cndm,sfr_cndm)
928c ENDIF
929
930 IF(iparit==1)THEN
931 CALL write_i_c(elements%PON%ADSKY,numnod+1)
932 CALL write_i_c(elements%PON%PROCNE,SIZE(elements%PON%PROCNE))
933 IF(i2nsnt>0)THEN
934 CALL write_i_c(addcni2,numnod+1)
935 ENDIF
936 CALL write_i_c(procni2,lcni2)
937 IF(ns10e>0) THEN
938 CALL write_i_c(addcncnd,saddcncnd)
939 ENDIF
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
958
959
960C CALL WRITE_I_C(IADS,NISKY0)
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)
971C
972C ply xfem
973C
974 IF(iplyxfem > 0) THEN
975 CALL write_i_c(adsky_pxfem,nplyxfe+1 )
976C lecture directe de PROCNE
977 CALL write_i_c(procne_pxfem,lcnepxfem)
978 CALL write_i_c(iadc_pxfem,4*eplyxfe)
979 ENDIF
980C
981C xfem for layered shell (cracks)
982C
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)
989 ENDIF
990 ENDIF
991 ! ---------------
992 ! ebcs option : adress of FSKY array
993 IF(ebcs_tab%nebcs_parallel>0) THEN
994 DO i=1,ebcs_tab%nebcs
995 IF(ebcs_tab%my_typ(i)==10 .or. 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)
998 ENDIF
999 ENDDO
1000 ENDIF
1001 ! ---------------
1002
1003 CALL compress_i_nnz(igeo,len_g)
1004 CALL compress_i_nnz(ipm,len_m)
1005
1006 CALL write_i_c(icontact ,sicontact)
1007 CALL write_i_c(ipart_state,len_s)
1008
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)
1013 len=abs(lsh4trim)
1014 CALL write_i_c(sh4trim,len)
1015 len=abs(lsh3trim)
1016 CALL write_i_c(sh3trim,len)
1017 END IF
1018C--------------------------------------
1019C ecriture tableaux additionnels frontieres interfaces (partie entiere)
1020C--------------------------------------
1021 CALL spmd_savefi(ipari,1,intbuf_tab,sensors%NSENSOR,sensors%SENSOR_TAB,
1022 . interfaces%PARAMETERS)
1023C--------------------------------------
1024C ecriture tableaux additionnels frontieres sph (partie entiere)
1025C--------------------------------------
1026 CALL spmd_savesph(1)
1027C--------------------------------------
1028C structures int 21
1029C--------------------------------------
1030 IF(nintstamp /= 0)THEN
1031 CALL intstamp_wresti(intstamp)
1032 END IF
1033C--------------------------------------
1034C Interface friction buffer (integer )
1035C--------------------------------------
1036 IF(ninterfric /= 0)THEN
1037 CALL intfric_wresti(intbuf_fric_tab,ninterfric)
1038 END IF
1039C--------------------------------------
1040C structure tables (partie entiere)
1041C--------------------------------------
1042 IF(ntable /= 0)THEN
1043 CALL table_wresti(table, ltable)
1044 END IF
1045C--------------------------------------
1046 CALL write_i_c(ithvar,sithvar)
1047C--------------------------------------
1048 IF (nloadc>0)THEN
1049 CALL write_i_c(icfield,sizfield*nloadc)
1050 CALL write_i_c(lcfield,slcfield)
1051 ENDIF
1052 IF (nloadp>0)THEN
1053 CALL write_i_c(iloadp,sizloadp*nloadp)
1054 CALL write_i_c(lloadp,slloadp)
1055 ENDIF
1056 IF (pblast%NLOADP_B>0)THEN
1057 CALL pblast_write_engine(pblast)
1058 ENDIF
1059C--------------------------------------
1060 IF (loads%NLOAD_CYL > 0) THEN
1061 CALL write_pcyl(loads)
1062 ENDIF
1063C--------------------------------------
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)
1070 END IF
1071C--------------------------------------
1072 IF(numelig3d > 0)THEN
1073 CALL write_i_c(kxig3d,skxig3d)
1074
1075 CALL write_i_c(ixig3d,sixig3d)
1076 ENDIF
1077C----------------------------------
1078 CALL write_i_c(tag_skins6,numels)
1079C--------------------------------------
1080C /BCS/CYCLIC
1081C--------------------------------------
1082 IF(nbcscyc > 0)THEN
1083 CALL write_i_c(ibcscyc,sibcscyc)
1084 CALL write_i_c(lbcscyc,slbcscyc)
1085 ENDIF
1086C--------------------------------------
1087C /BCS/WALL
1088C--------------------------------------
1089 itmp = bcs%NUM_WALL
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))
1094 ENDDO
1095 ENDIF
1096C--------------------------------------
1097C ECRITURE DES VARIABLES REELLES
1098C--------------------------------------
1099 CALL write_db(tabvrea, lvarrea)
1100C--------------------------------------
1101C ECRITURE DES REELS
1102C--------------------------------------
1103 CALL write_db(nodes%X,sx)
1104
1105 CALL write_db(nodes%D,sd)
1106
1107 CALL write_db(nodes%V,sv)
1108
1109 CALL write_db(nodes%VR,svr)
1110
1111 CALL write_db(nodes%DR,sdr)
1112
1113 CALL write_db(thke,sthke)
1114
1115 CALL write_db(dampr,sdampr)
1116
1117 CALL write_db(damp,sdamp)
1118
1119 CALL write_db(nodes%MS,sms)
1120
1121 IF (n2d >0) THEN
1122 CALL write_db(ms_2d,numnod)
1123 ENDIF
1124
1125 CALL write_db(nodes%IN,sin)
1126
1127 CALL write_db(tf,stf)
1128
1129 CALL write_db(pm,spm)
1130
1131 CALL write_matparam(mat_elem)
1132
1133 CALL write_elgroup_param(mat_elem%GROUP_PARAM,ngroup)
1134
1135 skew_len = skews%N_SKEW_VAR * skews%TOTAL_SKEW_NUMBER
1136 CALL write_db(skews%SKEW,skew_len)
1137
1138 CALL write_db(xframe,sxframe)
1139
1140 CALL compress_r_nnz(geo,sgeo)
1141
1142 CALL write_db(eani,seani)
1143
1144 CALL write_db(bufmat,sbufmat)
1145
1146 CALL write_db(bufgeo,sbufgeo)
1147
1148 CALL write_db(bufsf,sbufsf)
1149
1150 CALL write_db(rbmpc,srbmpc)
1151
1152 CALL write_db(gjbufr,sgjbufr)
1153
1154 CALL write_db(w,sw)
1155
1156 CALL write_db(veul,sveul)
1157
1158 IF (multi_fvm%IS_USED) THEN
1159 CALL write_db(multi_fvm%PRES_SHIFT, 1)
1160 IF (n2d == 0) THEN
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)
1164 ELSE
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)
1168 ENDIF
1169 ENDIF
1170
1171 CALL write_db(fill,sfill)
1172
1173 CALL write_db(dfill,sdfill)
1174
1175 CALL write_db(alph,salph)
1176
1177 CALL write_db(wb,swb)
1178
1179 CALL write_db(dsave,sdsave)
1180
1181 CALL write_db(asave,sasave)
1182
1183 CALL write_db(spbuf,sspbuf)
1184
1185 CALL write_db(vsphio,svsphio)
1186
1187 CALL write_db(sphveln,ssphveln)
1188
1189 CALL write_db(msnf,smsnf)
1190
1191 CALL write_db(forc,sforc)
1192
1193 CALL write_db(vel,svel)
1194
1195 CALL write_db(fsav,sfsav)
1196
1197 CALL write_i_c(tab_ump,7*taille)
1198
1199 CALL write_i_c(poin_ump,nummat)
1200
1201 CALL write_db(tab_mat,stab_mat)
1202
1203 CALL write_db(fzero,sfzero)
1204
1205 CALL write_db(xlas,sxlas)
1206
1207 CALL write_db(accelm,saccelm)
1208
1209 CALL write_db(gauge,llgauge*nbgauge)
1210
1211 CALL write_sensors(sensors)
1212
1213 CALL write_db(fbvel,sfbvel)
1214
1215 CALL write_db(rbe3%FRBE3,rbe3%frbe3_sz)
1216
1217 CALL write_rrbe3pen(rbe3%PEN)
1218
1219 CALL write_db(factiv,lractiv*nactiv)
1220
1221 CALL write_db(grav,sgrav)
1222
1223 CALL write_db(fr_wave,sfr_wave)
1224
1225 CALL w_failwave(failwave)
1226
1228
1229 CALL write_db(parts0,sparts0)
1230
1231 CALL write_db(elbuf,selbuf)
1232
1233 flag_xfem = 0
1234 CALL w_elbuf_str(iparg,elbuf_tab,flag_xfem)
1235
1236C if xfem
1237 IF (icrack3d > 0) THEN
1238 flag_xfem = 1
1239 DO ixel=1,nxel
1240 CALL w_elbuf_str(iparg,xfem_tab(1:ngroup,ixel),flag_xfem)
1241 ENDDO
1242 ENDIF
1243
1244 CALL w_cluster(cluster)
1245
1246 CALL write_db(rwbuf,srwbuf)
1247
1248 CALL write_db(rwsav,srwsav)
1249
1250 CALL write_db(rby,srby)
1251
1252 CALL write_db(rbyl,srbyl)
1253
1254 CALL write_db(rivet,srivet)
1255
1256 CALL write_db(secbuf,ssecbuf)
1257
1258 CALL write_db(volmon,svolmon)
1259
1260 CALL write_db(lambda,slambda)
1261
1262 CALL write_db(rconx,srconx)
1263
1264 CALL write_db(rcontact,srcontact)
1265 CALL write_db(acontact,srcontact)
1266 CALL write_db(pcontact,srcontact)
1267C--------------------------------------
1268C ecriture tableaux additionnels frontieres interfaces (partie reelle)
1269C--------------------------------------
1270 CALL spmd_savefi(ipari,2,intbuf_tab,sensors%NSENSOR,sensors%SENSOR_TAB,
1271 . interfaces%PARAMETERS)
1272C--------------------------------------
1273C ecriture tableaux additionnels frontieres sph (partie reelle)
1274C--------------------------------------
1275 CALL spmd_savesph(2)
1276C--------------------------------------
1277C ECRITURES FACULTATIVES
1278C--------------------------------------
1279 IF (iresmd==0.AND.npsav>=25) THEN
1280C on ramene PARTSAV sur le proc et on met a zero les autres
1281 IF(nspmd > 1)
1282 . CALL spmd_glob_dsum9(partsav,npsav*npart)
1283 IF (ispmd/=0)THEN
1284 DO m=1,npsav*npart
1285 partsav(m) = zero
1286 ENDDO
1287 ENDIF
1288 CALL write_db(partsav,npsav*npart)
1289 ENDIF
1290 IF(nnoise>0)THEN
1291 CALL write_i_c (iaf(if01),2*nnoise+10)
1292 CALL write_db(af(mf01),6*ncnois*nnoise+1)
1293 ENDIF
1294C-----
1295C Save A, AR to Restart RAD2MD
1296 IF (iresmd==1) THEN
1297 CALL write_db(nodes%A,3*numnod)
1298 CALL write_db(nodes%AR,3*numnod)
1299C Save PARTSAV.
1300 CALL write_db(partsav,npsav*npart)
1301 ENDIF
1302C
1303 IF (iresp == 1) THEN
1304 CALL write_dpdb(nodes%XDP,3*numnod)
1305 CALL write_dpdb(nodes%DDP,3*numnod)
1306 ENDIF
1307C besoin pour les check restart
1308C on a besoin car les restart sont les memes des check restart
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)
1320C section
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)
1326C--------------------------------------
1327 IF(nadmesh /= 0 .OR. 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)
1333 END IF
1334
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)
1340 END IF
1341
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)
1347 END IF
1348 END IF
1349C pinching shell
1350 IF(npinch > 0) THEN
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)
1355 ENDIF
1356C--------------------------------------
1357 IF(istatcnd /= 0)THEN
1358 CALL write_db(mscnd,numnod)
1359 CALL write_db(incnd,numnod)
1360 ENDIF
1361C--------------------------------------
1362C structures int 21
1363C--------------------------------------
1364 IF(nintstamp /= 0)THEN
1365 CALL intstamp_wrestr(intstamp)
1366 END IF
1367
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)
1371 ELSE
1372 CALL write_db(pskids, h3d_data%N_SCAL_SKID*numnod)
1373 ENDIF
1374 ENDIF
1375
1376 IF(ifcontmax >0)THEN
1377 IF(nintstamp/=0.AND.nspmd > 1 ) THEN
1378 IF(ispmd == 0) CALL write_db(fcont_max, 3*numnodg)
1379 ELSE
1380 CALL write_db(fcont_max, 3*numnod)
1381 ENDIF
1382 ENDIF
1383
1384 IF(ifcontpmax >0)THEN
1385 CALL write_db(fncont_max, 3*spcont_max)
1386 CALL write_db(ftcont_max, 3*spcont_max)
1387 ENDIF
1388
1389 IF(ifcont2max >0)THEN
1390 CALL write_db(fcont2_max, 3*numnod)
1391 ENDIF
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)
1396 ENDIF
1397
1398 IF(ifcont2min >0)THEN
1399 CALL write_db(fcont2_min, 3*numnod)
1400 ENDIF
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)
1405 ENDIF
1406C--------Frictional energy output-------
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)
1410 ENDIF
1411 IF(s_efric >0)THEN
1412 CALL write_db(efricg, numnod)
1413 IF(nintstamp/=0) CALL write_db(efricg_stamp, numnodg)
1414 ENDIF
1415C--------------------------------------
1416C Interface friction buffer (integer )
1417C--------------------------------------
1418 IF(ninterfric /= 0)THEN
1419 CALL intfric_wrestr(intbuf_fric_tab,ninterfric)
1420 END IF
1421C--------------------------------------
1422 CALL write_db(nodes%MS0,numnod)
1423 CALL write_db(nodes%IN0,sin)
1424 IF(idtmins==1)THEN
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)
1433 END IF
1434 IF(idtmins/=0.OR.idtmins_int/=0)THEN
1435 CALL write_db(res_sms,3*numnod)
1436 END IF
1437c
1438 IF(idtmins==2.OR.idtmins_int/=0) THEN
1439Cfor TYPE20
1440 CALL write_db(diag_sms ,numnod)
1441Cfor TYPE2
1442 CALL write_db(dmint2 ,4*i2nsn25)
1443 END IF
1444C
1445 IF (isms_selec /= 0) THEN
1446 CALL write_i_c(nativ0_sms,numnod)
1447 ENDIF
1448C--------------------------------------
1449C structure tables (partie reelle)
1450C--------------------------------------
1451 IF(ntable /= 0)THEN
1452 CALL table_wrestr(table, ltable)
1453 END IF
1454C--------------------------------------
1455C MDS Parameters
1456C--------------------------------------
1457#ifdef DNC
1458 CALL eng_wrt_mds()
1459#endif
1460C--------------------------------------
1461C ALE LINKS
1462C--------------------------------------
1463 IF(slinale > 0)THEN
1464 CALL write_i_c(linale,slinale)
1465 END IF
1466C--------------------------------------
1467C ALE GRID
1468C--------------------------------------
1469 CALL write_ale_grid()
1470C--------------------------------------
1471C FXBODY (moved from resol.F)
1472C--------------------------------------
1473 IF (nfxbody>0) CALL fxbwrest(ich)
1474C--------------------------------------
1475C EIGEN MODES
1476C--------------------------------------
1477 IF (neig>0) THEN
1478 CALL eigwrest(eigipm, eigibuf, eigrpm)
1479 ENDIF
1480C--------------------------------------
1481C SEATBELTS - SLIPRING / RETRACTOR
1482C--------------------------------------
1483 DO i = 1, nslipring
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)
1491C
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)
1498C
1499 DO j=1,slipring(i)%NFRAM
1500C
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)
1510C
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)
1524C
1525 ENDDO
1526C
1527 ENDDO
1528C
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)
1565 DO j=1,2
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)
1570 ENDIF
1571 ENDDO
1572 ENDDO
1573C
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)
1577 ENDIF
1578C
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)
1582 ENDIF
1583C
1584 IF ((nslipring_g + nretractor_g >0).AND.(ispmd == 0)) THEN
1586 IF ((nspmd > 1).AND.(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)
1592 ENDDO
1593 ENDIF
1594 ENDIF
1595C
1596C--------------------------------------------
1597C /H3D/?/TMAX part noda
1598C--------------------------------------------
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)
1605C--------------------------------------
1606 IF (nconld > 0) THEN
1607 CALL write_db(dpl0cld,6*nconld)
1608 CALL write_db(vel0cld,6*nconld)
1609 ENDIF
1610C--------------------------------------
1611C /DAMP/VREL
1612C--------------------------------------
1613 IF (ndamp_vrel > 0) THEN
1615 CALL write_i_c(fr_damp_vrel,ndamp_vrel*(nspmd+2))
1616 ENDIF
1617C--------------------------------------
1618 IF (nflow>0) CALL nfwrest(iflow, rflow)
1619c
1620 CALL fvwrest()
1621c
1622 IF (impl_s>0) THEN
1623 CALL imp_trans(impbuf_tab%R_IMP)
1624 CALL impwrest(impl_s0)
1625 ENDIF
1626c
1627 IF(glob_therm%ITHERM_FE > 0 ) CALL thcwrest(mcp, temp)
1628C
1629 IF(nitsche > 0 )CALL nitschewrest(forneqs)
1630c
1631 CALL write_units(unitab)
1632c
1633 IF(irigid_mat > 0 )CALL rigmatwrest(rbym ,irbym ,lnrbym,weight_rm)
1634
1635C thermal boundary
1636 IF (glob_therm%NUMCONV > 0) THEN
1637 CALL convwrest(ibcv, fconv,glob_therm)
1638 END IF
1639 IF (glob_therm%NUMRADIA > 0) THEN
1640 CALL radiawrest(ibcr, fradia,glob_therm)
1641 END IF
1642 IF (glob_therm%NFXFLUX > 0) THEN
1643 CALL fxfluxwrest(ibfflux, fbfflux, glob_therm)
1644 END IF
1645 IF (glob_therm%NFXTEMP > 0) THEN
1646 CALL fxtempwrest(ibftemp, fbftemp,glob_therm)
1647 END IF
1648!
1649c Ply XFEM
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()
1655 ENDIF
1656c
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)
1660C
1661C /INIVEL w/ T_start or senor_id
1662 IF (loads%NINIVELT>0) CALL write_inivel(loads%NINIVELT,loads%INIVELT)
1663C
1664C xfem for layerd shell (cracks)
1665 IF (icrack3d > 0) THEN
1668 ENDIF
1669C
1670 IF(alefvm_param%IEnabled > 0) CALL write_db(alefvm_buffer%FCELL ,6*numels)
1671C foam + air
1672 IF(ialelag > 0 )CALL alelag_wrest()
1673C THoutput
1674 IF(srthbuf > 0) CALL rthbufwrest()
1675C Knot
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)
1680C
1681 IF(ipart_stack >0) CALL stack_wrest(stack%IGEO,stack%GEO,stack%PM )
1682C
1683 IF (ndrape > 0) CALL drape_wrest(drape_sh4n , drape_sh3n,drapeg)
1684C
1685 IF (numply > 0) CALL ply_info_wrest(ply_info)
1686
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 ! ---------------------------
1692
1693 ! restart file size - mist be before closing the file
1694 CALL file_size(restsize)
1695
1696 ! Closing the file
1697 CALL close_c
1698C
1699 IF(ispmd==0)THEN
1700 WRITE (iout,1000) filnamg(1:leng)
1701 WRITE (istdo,1050) filnamg(1:leng)
1702 ENDIF
1703C--------------------------------------
1704 1000 FORMAT (/4x,' RESTART FILES:',1x,a,' WRITTEN'/
1705 . 4x,' -------------'/)
1706 1050 FORMAT (4x,' RESTART FILES:',1x,a,' written')
1707C-----------
1708 RETURN
subroutine compress_i_nnz(array, len)
subroutine compress_r_nnz(array, len)
#define my_real
Definition cppsort.cpp:32
subroutine wrcomi(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:249
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 ninefric
Definition outputs_mod.F:65
integer s_efric
Definition outputs_mod.F:64
integer s_efricint
Definition outputs_mod.F:64
integer ninefric_stamp
Definition outputs_mod.F:65
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 fr_wall
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 nprw
Definition restart_mod.F:60
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 kinet
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 lprw
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:32
integer, dimension(:), allocatable irst
Definition sph_mod.F:32
integer, dimension(:), allocatable sol2sph_typ
Definition sph_mod.F:35
integer, dimension(:), allocatable sol2sph
Definition sph_mod.F:32
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:1488
subroutine spmd_savefi(ipari, iflag, intbuf_tab, nsensor, sensor_tab, parameters)
subroutine spmd_savesph(iflg)
subroutine spmd_glob_dsum9(v, len)
Definition spmd_th.F:380
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:31
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:140
subroutine write_dpdb(a, n)
Definition write_db.F:302
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