38#include "implicit_f.inc"
47 INTEGER PROC,LEN_AM, IPARG(NPARG,*),FLAG_XFEM
48 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
52 INTEGER I,J,K,IL,IR,IS,IT,NG,NEL,NPT,P,L_REL,BUFLEN,NUVAR,
53 . ITY,IGTYP,ERR,IFAIL,IDFAIL,DEBUG_PRINT,IAD,
54 . NFAIL,IXFEM,IVISC,II,NINTLAY,NPG,IPT,NPTT,NPTTOT,INLOC,NONL,
57 . G_GAMA,G_SIG,G_OFF,G_NOFF,G_EINT,G_EINS,G_TEMP,
58 . G_RHO,G_PLA,G_VOL,G_EPSD,G_QVIS,G_DELTAX,G_TB,G_RK,G_RE,G_WPLA,
59 . G_SMSTR,G_HOURG,G_BFRAC,G_THK,G_FOR,G_MOM,G_TAG22,G_STRA,G_SIGI,
60 . G_DMG,G_FORPG,G_MOMPG,G_STRPG,G_UELR,G_UELR1,G_EPSQ,G_IERR,
61 . G_DAMDL,G_FORTH,G_EINTTH,G_FILL,G_SEQ,G_STRW,G_STRWPG,G_THK_I,
62 . G_JAC_I,G_AREA,G_SKEW,G_LENGTH,G_TOTDEPL,G_TOTROT,G_FOREP,G_MOMEP,
63 . G_DEP_IN_TENS,G_DEP_IN_COMP,G_ROT_IN_TENS,G_ROT_IN_COMP,
64 . G_POSX,G_POSY,G_POSZ,G_POSXX,G_POSYY,G_POSZZ,G_YIELD,G_LENGTH_ERR,
65 . ,G_DFS,G_SKEW_ERR,G_E6,G_RUPTCRIT,G_MASS,,
66 . G_VR_REPCVT,G_NUVAR,G_NUVARN,G_INIFRIC,G_DT,G_ISMS,G_STRHG,G_ETOTSH,
67 . G_BPRELD,G_ABURN,,G_PLANL,G_EPSDNL,G_MAXFRAC,G_MAXEPS,G_DT_PITER,
68 . G_TEMPG,G_COR_NF,G_COR_FR,G_COR_XR,G_DEFINI,G_FORINI,G_IDT_TSH,
69 . G_FORPGPINCH,G_MOMPGPINCH,G_EPGPINCHXZ,G_EPGPINCHYZ,G_EPGPINCHZZ,
70 . G_SKEW_ID,G_GAMA_R,G_SLIPRING_ID,G_SLIPRING_STRAND,G_RETRACTOR_ID,G_RINGSLIP,
71 . G_ADD_NODE,G_UPDATE,G_INTVAR,G_BETAORTH,G_AMU,G_SLIPRING_FRAM_ID,G_FRAM_FACTOR,
72 . G_TM_YIELD,G_TM_SEQ,G_TM_EINT,G_TM_DMG,G_TM_SIG,G_TM_STRA,G_TSAIWU,G_DMGSCL,
73 . G_SH_IOFFSET,G_EINT_DISTOR,G_FOR_G,,G_YIELD_IN_COMP,G_XXOLD_IN_COMP
76 . LY_DMG,LY_GAMA,LY_DIRA,LY_DIRB,LY_CRKDIR,LY_PLAPT,LY_SIGPT,LY_SMSTR,
77 . LY_HOURG,LY_UELR,LY_UELR1,Ly_OFFPG,LY_OFF,LEN_PLAPT,
81 . L_OFF,L_EINT,L_EINS,L_RHO,L_DP_DRHO,L_VOL,L_PLA,L_TB,L_TEMP,
82 . L_RK,L_RE,L_VK,L_ROB,L_SIG,L_SIGV,L_SIGL,L_SIGA,L_SIGD,L_SIGB,
83 . L_SIGC,L_SIGF,L_STRA,L_EPSA,L_EPSD,L_EPSQ,L_EPSF,L_CRAK,L_WPLA,
84 . L_ANG,L_SF,,L_DELTAX,L_GAMA,
85 . L_DAM,L_DSUM,L_DGLO,L_EPE,L_EPC,,L_SSP,L_Z,L_FRAC,L_VISC,
86 . L_THK,L_FOR,L_MOM,L_EPS,L_SMSTR,L_BFRAC,L_DMG,,L_EINTTH,
87 . L_SEQ,L_SIGPLY,L_JAC_I,L_FAC_YLD,L_ABURN,L_MU,L_PLANL,L_EPSDNL,
88 . L_DMGSCL,L_PIJ,L_VOL0DP,L_TSAIWU,IDRAPE
90 . LF_DAM,LF_DAMMX,LF_DAMINI,LF_TDEL,LF_INDX,LF_OFF
93 .
ALLOCATABLE,
DIMENSION (:) :: rbuf_l
95 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE :: DP_RBUF
98 TYPE(elbuf_struct_),
POINTER :: ELBUF
99 TYPE() ,
POINTER :: GBUF
100 TYPE(l_bufel_) ,
POINTER :: LBUF
101 TYPE(buf_intloc_) ,
POINTER :: ILBUF
102 TYPE(buf_lay_) ,
POINTER :: BUFLY
103 TYPE(buf_intlay_) ,
POINTER :: INTLAY
104 TYPE(fail_loc_) ,
POINTER :: FLOC
105 TYPE(buf_nloc_) ,
POINTER ::
106 TYPE() ,
POINTER :: BUFNLTS
107 TYPE(l_bufel_dir_) ,
POINTER ::
116 idamp_freq_range = iparg(93,ng)
122 IF (ity == 1 .OR. ity == 2 .OR. ity == 51 .OR.
123 . ity == 3 .OR. ity == 7 .OR. ity == 101.OR.
124 . ity == 4 .OR. ity == 5 .OR. ity == 6 .OR. ity == 100)
THEN
125 elbuf => elbuf_tab(ng)
128 IF (ixfem == 0 .AND. flag_xfem == 1) cycle
133 idrape = elbuf%IDRAPE
135 npt = elbuf%NLAY*elbuf%NPTR*elbuf%NPTS*elbuf%NPTT
138 IF (ity == 1 .OR. ity == 2 .OR. ity == 51 .OR.
140 npg = elbuf%NPTR*elbuf%NPTS*elbuf%NPTT
142 ELSEIF (ity == 3 .OR. ity == 7)
THEN
143 npg = elbuf%NPTR*elbuf%NPTS
146 npttot = npttot + npg*elbuf%BUFLY(il)%NPTT
148 IF (npt == 0) npttot = npt
156 buflen = iparg(66,ng)
157 ALLOCATE (rbuf_l(buflen), stat=err)
167 gbuf => elbuf_tab(ng)%GBUF
171 bufly => elbuf_tab(ng)%BUFLY(il)
172 IF (igtyp == 51 .OR. igtyp == 52)
THEN
173 nptt = elbuf_tab(ng)%BUFLY(il)%NPTT
175 nptt = elbuf_tab(ng)%NPTT
180 sdp_rbuf = sdp_rbuf+bufly%L_VOL0DP*nel
185 sdp_rbuf = sdp_rbuf + gbuf%G_SMSTR *nel
187 ALLOCATE(dp_rbuf(sdp_rbuf))
192 rbuf_l(1:buflen) = zero
195 rbuf_l(l_rel+1) = elbuf%IGTYP
197 rbuf_l(l_rel+1) = elbuf%NEL
199 rbuf_l(l_rel+1) = elbuf%NLAY
201 rbuf_l(l_rel+1) = elbuf%NINTLAY
203 rbuf_l(l_rel+1) = elbuf%NPTR
205 rbuf_l(l_rel+1) = elbuf%NPTS
207 rbuf_l(l_rel+1) = elbuf%NPTT
209 rbuf_l(l_rel+1) = elbuf%IXFEM
211 rbuf_l(l_rel+1) = elbuf%NXEL
213 rbuf_l(l_rel+1) = elbuf%IDRAPE
218 IF (idamp_freq_range > 0)
THEN
219 rbuf_l(l_rel+1:l_rel+3) = elbuf%DAMP_RANGE%ALPHA(1:3)
220 rbuf_l(l_rel+4:l_rel+6) = elbuf%DAMP_RANGE%TAU(1:3)
228 IF (debug_print == 1)
THEN
229 print*,
' NPAR_TAB=',sum
233 bufly => elbuf_tab(ng)%BUFLY(il)
237 rbuf_l(l_rel+1) = bufly%ILAW
239 rbuf_l(l_rel+1) = bufly%IMAT
241 rbuf_l(l_rel+1) = bufly%IEOS
243 rbuf_l(l_rel+1) = bufly%IVISC
245 rbuf_l(l_rel+1) = bufly%IPORO
247 rbuf_l(l_rel+1) = bufly%NFAIL
249 rbuf_l(l_rel+1) = bufly%NVAR_MAT
251 rbuf_l(l_rel+1) = bufly%NVAR_EOS
253 rbuf_l(l_rel+1) = bufly%NVARTMP
255 rbuf_l(l_rel+1) = bufly%NVARTMP_EOS
257 rbuf_l(l_rel+1) = bufly%NVAR_VISC
259 rbuf_l(l_rel+1) = bufly%NVAR_LOC
261 rbuf_l(l_rel+1) = bufly%NVAR_LAY
263 rbuf_l(l_rel+1) = bufly%NPTT
267 IF (debug_print == 1)
THEN
268 print*,
' ** LAYER=',il
269 print*,
' NPAR_LAY=', l_rel-sum
276 ly_dmg = bufly%LY_DMG
277 ly_gama = bufly%LY_GAMA
278 ly_dira = bufly%LY_DIRA
279 ly_dirb = bufly%LY_DIRB
280 ly_crkdir= bufly%LY_CRKDIR
281 ly_plapt = bufly%LY_PLAPT
282 ly_sigpt = bufly%LY_SIGPT
283 ly_hourg = bufly%LY_HOURG
284 ly_uelr = bufly%LY_UELR
285 ly_uelr1 = bufly%LY_UELR1
286 ly_offpg = bufly%LY_OFFPG
287 ly_off = bufly%LY_OFF
289 rbuf_l(l_rel+1) = ly_dmg
291 rbuf_l(l_rel+1) = ly_gama
293 rbuf_l(l_rel+1) = ly_dira
295 rbuf_l(l_rel+1) = ly_dirb
297 rbuf_l(l_rel+1) = ly_crkdir
299 rbuf_l(l_rel+1) = ly_plapt
301 rbuf_l(l_rel+1) = ly_sigpt
303 rbuf_l(l_rel+1) = ly_hourg
305 rbuf_l(l_rel+1) = ly_uelr
307 rbuf_l(l_rel+1) = ly_uelr1
309 rbuf_l(l_rel+1) = ly_offpg
311 rbuf_l(l_rel+1) = ly_off
315 IF (debug_print == 1)
THEN
316 print*,
' NVAR_LAY=', l_rel-iad
323 l_gama = bufly%L_GAMA
324 l_stra = bufly%L_STRA
325 l_frac = bufly%L_FRAC
326 l_bfrac = bufly%L_BFRAC
327 l_eint = bufly%L_EINT
328 l_eins = bufly%L_EINS
330 l_dp_drho = bufly%L_DP_DRHO
331 l_qvis = bufly%L_QVIS
332 l_deltax = bufly%L_DELTAX
334 l_epsa = bufly%L_EPSA
335 l_epsd = bufly%L_EPSD
336 l_epsq = bufly%L_EPSQ
337 l_epsf = bufly%L_EPSF
339 l_wpla = bufly%L_WPLA
340 l_temp = bufly%L_TEMP
348 l_dsum = bufly%L_DSUM
349 l_dglo = bufly%L_DGLO
350 l_crak = bufly%L_CRAK
357 l_visc = bufly%L_VISC
358 l_sigl = bufly%L_SIGL
359 l_sigv = bufly%L_SIGV
360 l_siga = bufly%L_SIGA
361 l_sigb = bufly%L_SIGB
362 l_sigc = bufly%L_SIGC
363 l_sigd = bufly%L_SIGD
364 l_sigf = bufly%L_SIGF
366 l_sigply = bufly%L_SIGPLY
370 l_smstr = bufly%L_SMSTR
372 l_forth = bufly%L_FORTH
373 l_eintth = bufly%L_EINTTH
375 l_jac_i = bufly%L_JAC_I
376 l_fac_yld = bufly%L_FAC_YLD
377 l_aburn = bufly%L_ABURN
379 l_planl = bufly%L_PLANL
380 l_epsdnl = bufly%L_EPSDNL
381 l_dmgscl = bufly%L_DMGSCL
382 l_tsaiwu = bufly%L_TSAIWU
384 l_vol0dp = bufly%L_VOL0DP
388 rbuf_l(l_rel+1) = l_off
390 rbuf_l(l_rel+1) = l_gama
392 rbuf_l(l_rel+1) = l_stra
394 rbuf_l(l_rel+1) = l_frac
396 rbuf_l(l_rel+1) = l_bfrac
398 rbuf_l(l_rel+1) = l_eint
400 rbuf_l(l_rel+1) = l_eins
402 rbuf_l(l_rel+1) = l_rho
408 rbuf_l(l_rel+1) = l_deltax
410 rbuf_l(l_rel+1) = l_vol
412 rbuf_l(l_rel+1) = l_epsa
414 rbuf_l(l_rel+1) = l_epsd
416 rbuf_l(l_rel+1) = l_epsq
418 rbuf_l(l_rel+1) = l_epsf
420 rbuf_l(l_rel+1) = l_pla
422 rbuf_l(l_rel+1) = l_wpla
424 rbuf_l(l_rel+1) = l_temp
426 rbuf_l(l_rel+1) = l_tb
428 rbuf_l(l_rel+1) = l_rk
430 rbuf_l(l_rel+1) = l_re
432 rbuf_l(l_rel+1) = l_vk
434 rbuf_l(l_rel+1) = l_sf
436 rbuf_l(l_rel+1) = l_rob
438 rbuf_l(l_rel+1) = l_dam
440 rbuf_l(l_rel+1) = l_dsum
442 rbuf_l(l_rel+1) = l_dglo
444 rbuf_l(l_rel+1) = l_crak
446 rbuf_l(l_rel+1) = l_ang
448 rbuf_l(l_rel+1) = l_epe
450 rbuf_l(l_rel+1) = l_epc
452 rbuf_l(l_rel+1) = l_xst
454 rbuf_l(l_rel+1) = l_ssp
456 rbuf_l(l_rel+1) = l_z
458 rbuf_l(l_rel+1) = l_visc
460 rbuf_l(l_rel+1) = l_sigl
462 rbuf_l(l_rel+1) = l_sigv
464 rbuf_l(l_rel+1) = l_siga
468 rbuf_l(l_rel+1) = l_sigc
470 rbuf_l(l_rel+1) = l_sigd
472 rbuf_l(l_rel+1) = l_sigf
474 rbuf_l(l_rel+1) = l_sig
476 rbuf_l(l_rel+1) = l_sigply
478 rbuf_l(l_rel+1) = l_for
480 rbuf_l(l_rel+1) = l_mom
482 rbuf_l(l_rel+1) = l_thk
484 rbuf_l(l_rel+1) = l_smstr
486 rbuf_l(l_rel+1) = l_dmg
488 rbuf_l(l_rel+1) = l_forth
490 rbuf_l(l_rel+1) = l_eintth
492 rbuf_l(l_rel+1) = l_seq
494 rbuf_l(l_rel+1) = l_jac_i
496 rbuf_l(l_rel+1) = l_fac_yld
498 rbuf_l(l_rel+1) = l_aburn
500 rbuf_l(l_rel+1) = l_mu
502 rbuf_l(l_rel+1) = l_planl
504 rbuf_l(l_rel+1) = l_epsdnl
506 rbuf_l(l_rel+1) = l_dmgscl
508 rbuf_l(l_rel+1) = l_tsaiwu
510 rbuf_l(l_rel+1) = l_pij
512 rbuf_l(l_rel+1) = l_vol0dp
515 IF (debug_print == 1)
THEN
516 print*,' nvar_loc=
', L_REL-IAD
523 RBUF_L(L_REL+1:L_REL+NEL*LY_DMG) = BUFLY%DMG(1:NEL*LY_DMG)
524 L_REL = L_REL+NEL*LY_DMG
525 RBUF_L(L_REL+1:L_REL+NEL*LY_GAMA) = BUFLY%GAMA(1:NEL*LY_GAMA)
526 L_REL = L_REL+NEL*LY_GAMA
527.OR..AND.
IF(IDRAPE == 0 (IDRAPE > 0 IGTYP == 17)) THEN
528 RBUF_L(L_REL+1:L_REL+NEL*LY_DIRA) = BUFLY%DIRA(1:NEL*LY_DIRA)
529 L_REL = L_REL+NEL*LY_DIRA
530 RBUF_L(L_REL+1:L_REL+NEL*LY_DIRB) = BUFLY%DIRB(1:NEL*LY_DIRB)
531 L_REL = L_REL+NEL*LY_DIRB
533 IF(LY_CRKDIR > 0) RBUF_L(L_REL+1:L_REL+NEL*LY_CRKDIR) = BUFLY%CRKDIR(1:NEL*LY_CRKDIR)
534 L_REL = L_REL+NEL*LY_CRKDIR
537 IF (ELBUF%NLAY > 1) THEN
538 LEN_PLAPT = NEL*LY_PLAPT
539 LEN_SIGPT = NEL*LY_SIGPT
541.AND.
IF (IGTYP /= 51 IGTYP /= 52) THEN
542 LEN_PLAPT = NEL*LY_PLAPT*NPT
543 LEN_SIGPT = NEL*LY_SIGPT*NPT
545 LEN_PLAPT = NEL*LY_PLAPT*BUFLY%NPTT
546 LEN_SIGPT = NEL*LY_SIGPT*BUFLY%NPTT
549 RBUF_L(L_REL+1:L_REL+LEN_PLAPT) = BUFLY%PLAPT(1:LEN_PLAPT)
550 L_REL = L_REL+LEN_PLAPT
551 RBUF_L(L_REL+1:L_REL+LEN_SIGPT) = BUFLY%SIGPT(1:LEN_SIGPT)
552 L_REL = L_REL+LEN_SIGPT
553 ELSEIF (NPG == 1) THEN ! nothing to write
559 RBUF_L(L_REL+1:L_REL+NEL*LY_HOURG) = BUFLY%HOURG(1:NEL*LY_HOURG)
560 L_REL = L_REL+NEL*LY_HOURG
561 RBUF_L(L_REL+1:L_REL+NEL*LY_UELR) = BUFLY%UELR(1:NEL*LY_UELR)
562 L_REL = L_REL+NEL*LY_UELR
563 RBUF_L(L_REL+1:L_REL+NEL*LY_UELR1) = BUFLY%UELR1(1:NEL*LY_UELR1)
564 L_REL = L_REL+NEL*LY_UELR1
565 RBUF_L(L_REL+1:L_REL+NEL*LY_OFFPG) = BUFLY%OFFPG(1:NEL*LY_OFFPG)
566 L_REL = L_REL+NEL*LY_OFFPG
567 RBUF_L(L_REL+1:L_REL+NEL*LY_OFF ) = BUFLY%OFF(1:NEL*LY_OFF)
568 L_REL = L_REL+NEL*LY_OFF
571 IF (DEBUG_PRINT == 1) THEN
572 print*,' layer_vars=
', L_REL-IAD
573 print*,' total layer vars =
', L_REL - SUM
584.OR.
IF (IGTYP == 51 IGTYP == 52) THEN
585 NPTT = ELBUF_TAB(NG)%BUFLY(IL)%NPTT
587 NPTT = ELBUF_TAB(NG)%NPTT
594 LBUF => ELBUF_TAB(NG)%BUFLY(IL)%LBUF(I,J,K)
596 RBUF_L(L_REL+1) = LBUF%MLAW
598 RBUF_L(L_REL+1) = LBUF%LawID
601 RBUF_L(L_REL+1:L_REL+NEL*L_OFF) = LBUF%OFF(1:NEL*L_OFF)
602 L_REL = L_REL+NEL*L_OFF
603 RBUF_L(L_REL+1:L_REL+NEL*L_GAMA) =LBUF%GAMA(1:NEL*L_GAMA)
604 L_REL = L_REL+NEL *L_GAMA
605 RBUF_L(L_REL+1:L_REL+NEL*L_STRA) = LBUF%STRA(1:NEL*L_STRA)
606 L_REL = L_REL+NEL*L_STRA
607 RBUF_L(L_REL+1:L_REL+NEL*L_FRAC) = LBUF%FRAC(1:NEL*L_FRAC)
608 L_REL = L_REL+NEL*L_FRAC
609 RBUF_L(L_REL+1:L_REL+NEL*L_BFRAC)= LBUF%BFRAC(1:NEL*L_BFRAC)
610 L_REL = L_REL+NEL*L_BFRAC
611 RBUF_L(L_REL+1:L_REL+NEL*L_EINT)= LBUF%EINT(1:NEL*L_EINT)
612 L_REL = L_REL+NEL*L_EINT
613 RBUF_L(L_REL+1:L_REL+NEL*L_EINS)= LBUF%EINS(1:NEL*L_EINS)
614 L_REL = L_REL+NEL*L_EINS
615 RBUF_L(L_REL+1:L_REL+NEL*L_RHO) = LBUF%RHO(1:NEL*L_RHO)
616 L_REL = L_REL+NEL*L_RHO
617 RBUF_L(L_REL+1:L_REL+NEL*L_DP_DRHO)=
618 . LBUF%DP_DRHO(1:NEL*L_DP_DRHO)
619 L_REL = L_REL+NEL*L_DP_DRHO
620 RBUF_L(L_REL+1:L_REL+NEL*L_QVIS)= LBUF%QVIS(1:NEL*L_QVIS)
621 L_REL = L_REL+NEL*L_QVIS
622 RBUF_L(L_REL+1:L_REL+NEL*L_DELTAX)=
623 . LBUF%DELTAX(1:NEL*L_DELTAX)
624 L_REL = L_REL+NEL*L_DELTAX
625 RBUF_L(L_REL+1:L_REL+NEL*L_VOL) = LBUF%VOL(1:NEL*L_VOL)
626 L_REL = L_REL+NEL*L_VOL
627 RBUF_L(L_REL+1:L_REL+NEL*L_EPSA) = LBUF%EPSA(1:NEL*L_EPSA)
628 L_REL = L_REL+NEL*L_EPSA
629 RBUF_L(L_REL+1:L_REL+NEL*L_EPSD) = LBUF%EPSD(1:NEL*L_EPSD)
630 L_REL = L_REL+NEL*L_EPSD
631 RBUF_L(L_REL+1:L_REL+NEL*L_EPSQ) = LBUF%EPSQ(1:NEL*L_EPSQ)
632 L_REL = L_REL+NEL*L_EPSQ
633 RBUF_L(L_REL+1:L_REL+NEL*L_EPSF) = LBUF%EPSF(1:NEL*L_EPSF)
634 L_REL = L_REL+NEL*L_EPSF
635 RBUF_L(L_REL+1:L_REL+NEL*L_PLA) = LBUF%PLA(1:NEL*L_PLA)
636 L_REL = L_REL+NEL*L_PLA
637 RBUF_L(L_REL+1:L_REL+NEL*L_WPLA) = LBUF%WPLA(1:NEL*L_WPLA)
638 L_REL = L_REL+NEL*L_WPLA
639 RBUF_L(L_REL+1:L_REL+NEL*L_TEMP) = LBUF%TEMP(1:NEL*L_TEMP)
640 L_REL = L_REL+NEL*L_TEMP
641 RBUF_L(L_REL+1:L_REL+NEL*L_TB) = LBUF%TB(1:NEL*L_TB)
642 L_REL = L_REL+NEL*L_TB
643 RBUF_L(L_REL+1:L_REL+NEL*L_RK) = LBUF%RK(1:NEL*L_RK)
644 L_REL = L_REL+NEL*L_RK
645 RBUF_L(L_REL+1:L_REL+NEL*L_RE) = LBUF%RE(1:NEL*L_RE)
646 L_REL = L_REL+NEL*L_RE
647 RBUF_L(L_REL+1:L_REL+NEL*L_VK) = LBUF%VK(1:NEL*L_VK)
648 L_REL = L_REL+NEL*L_VK
649 RBUF_L(L_REL+1:L_REL+NEL*L_SF) = LBUF%SF(1:NEL*L_SF)
650 L_REL = L_REL+NEL*L_SF
651 RBUF_L(L_REL+1:L_REL+NEL*L_ROB) = LBUF%ROB(1:NEL*L_ROB)
652 L_REL = L_REL+NEL*L_ROB
653 RBUF_L(L_REL+1:L_REL+NEL*L_DAM) = LBUF%DAM(1:NEL*L_DAM)
654 L_REL = L_REL+NEL*L_DAM
655 RBUF_L(L_REL+1:L_REL+NEL*L_DSUM) = LBUF%DSUM(1:NEL*L_DSUM)
656 L_REL = L_REL+NEL*L_DSUM
657 RBUF_L(L_REL+1:L_REL+NEL*L_DGLO) = LBUF%DGLO(1:NEL*L_DGLO)
658 L_REL = L_REL+NEL*L_DGLO
659 RBUF_L(L_REL+1:L_REL+NEL*L_CRAK) = LBUF%CRAK(1:NEL*L_CRAK)
660 L_REL = L_REL+NEL*L_CRAK
661 RBUF_L(L_REL+1:L_REL+NEL*L_ANG) = LBUF%ANG(1:NEL*L_ANG)
662 L_REL = L_REL+NEL*L_ANG
663 RBUF_L(L_REL+1:L_REL+NEL*L_EPE) = LBUF%EPE(1:NEL*L_EPE)
664 L_REL = L_REL+NEL*L_EPE
665 RBUF_L(L_REL+1:L_REL+NEL*L_EPC) = LBUF%EPC(1:NEL*L_EPC)
666 L_REL = L_REL+NEL*L_EPC
667 RBUF_L(L_REL+1:L_REL+NEL*L_XST) = LBUF%XST(1:NEL*L_XST)
668 L_REL = L_REL+NEL*L_XST
669 RBUF_L(L_REL+1:L_REL+NEL*L_SSP) = LBUF%SSP(1:NEL*L_SSP)
670 L_REL = L_REL+NEL*L_SSP
671 RBUF_L(L_REL+1:L_REL+NEL*L_Z) = LBUF%Z(1:NEL*L_Z)
672 L_REL = L_REL+NEL*L_Z
673 RBUF_L(L_REL+1:L_REL+NEL*L_VISC) = LBUF%VISC(1:NEL*L_VISC)
674 L_REL = L_REL+NEL*L_VISC
675 RBUF_L(L_REL+1:L_REL+NEL*L_SIGL) = LBUF%SIGL(1:NEL*L_SIGL)
676 L_REL = L_REL+NEL*L_SIGL
677 RBUF_L(L_REL+1:L_REL+NEL*L_SIGV) = LBUF%SIGV(1:NEL*L_SIGV)
678 L_REL = L_REL+NEL*L_SIGV
679 RBUF_L(L_REL+1:L_REL+NEL*L_SIGA) = LBUF%SIGA(1:NEL*L_SIGA)
680 L_REL = L_REL+NEL*L_SIGA
681 RBUF_L(L_REL+1:L_REL+NEL*L_SIGB) = LBUF%SIGB(1:NEL*L_SIGB)
682 L_REL = L_REL+NEL*L_SIGB
683 RBUF_L(L_REL+1:L_REL+NEL*L_SIGC) = LBUF%SIGC(1:NEL*L_SIGC)
684 L_REL = L_REL+NEL*L_SIGC
685 RBUF_L(L_REL+1:L_REL+NEL*L_SIGD) = LBUF%SIGD(1:NEL*L_SIGD)
686 L_REL = L_REL+NEL*L_SIGD
687 RBUF_L(L_REL+1:L_REL+NEL*L_SIGF) = LBUF%SIGF(1:NEL*L_SIGF)
688 L_REL = L_REL+NEL*L_SIGF
689 RBUF_L(L_REL+1:L_REL+NEL*L_SIG) = LBUF%SIG(1:NEL*L_SIG)
690 L_REL = L_REL+NEL*L_SIG
691 RBUF_L(L_REL+1:L_REL+NEL*L_SIGPLY) = LBUF%SIGPLY(1:NEL*L_SIGPLY)
692 L_REL = L_REL+NEL*L_SIGPLY
693 RBUF_L(L_REL+1:L_REL+NEL*L_FOR) = LBUF%FOR(1:NEL*L_FOR)
694 L_REL = L_REL+NEL*L_FOR
695 RBUF_L(L_REL+1:L_REL+NEL*L_MOM) = LBUF%MOM(1:NEL*L_MOM)
696 L_REL = L_REL+NEL*L_MOM
697 RBUF_L(L_REL+1:L_REL+NEL*L_THK) = LBUF%THK(1:NEL*L_THK)
698 L_REL = L_REL+NEL*L_THK
699 RBUF_L(L_REL+1:L_REL+NEL*L_SMSTR) = LBUF%SMSTR(1:NEL*L_SMSTR)
700 L_REL = L_REL+NEL*L_SMSTR
701 RBUF_L(L_REL+1:L_REL+NEL*L_DMG) = LBUF%DMG(1:NEL*L_DMG)
702 L_REL = L_REL+NEL*L_DMG
703 RBUF_L(L_REL+1:L_REL+NEL*L_FORTH) = LBUF%FORTH(1:NEL*L_FORTH)
704 L_REL = L_REL+NEL*L_FORTH
705 RBUF_L(L_REL+1:L_REL+NEL*L_EINTTH) = LBUF%EINTTH(1:NEL*L_EINTTH)
706 L_REL = L_REL+NEL*L_EINTTH
707 RBUF_L(L_REL+1:L_REL+NEL*L_SEQ) = LBUF%SEQ(1:NEL*L_SEQ)
708 L_REL = L_REL+NEL*L_SEQ
709 RBUF_L(L_REL+1:L_REL+NEL*L_JAC_I) = LBUF%JAC_I(1:NEL*L_JAC_I)
710 L_REL = L_REL+NEL*L_JAC_I
711 RBUF_L(L_REL+1:L_REL+NEL*L_FAC_YLD) = LBUF%FAC_YLD(1:NEL*L_FAC_YLD)
712 L_REL = L_REL+NEL*L_FAC_YLD
713 RBUF_L(L_REL+1:L_REL+NEL*L_ABURN)= LBUF%ABURN(1:NEL*L_ABURN)
714 L_REL = L_REL+NEL*L_ABURN
715 RBUF_L(L_REL+1:L_REL+NEL*L_MU)= LBUF%MU(1:NEL*L_MU)
716 L_REL = L_REL+NEL*L_MU
717 RBUF_L(L_REL+1:L_REL+NEL*L_PLANL)= LBUF%PLANL(1:NEL*L_PLANL)
718 L_REL = L_REL+NEL*L_PLANL
719 RBUF_L(L_REL+1:L_REL+NEL*L_EPSDNL)= LBUF%EPSDNL(1:NEL*L_EPSDNL)
720 L_REL = L_REL+NEL*L_EPSDNL
721 RBUF_L(L_REL+1:L_REL+NEL*L_DMGSCL)= LBUF%DMGSCL(1:NEL*L_DMGSCL)
722 L_REL = L_REL+NEL*L_DMGSCL
723 RBUF_L(L_REL+1:L_REL+NEL*L_TSAIWU)= LBUF%TSAIWU(1:NEL*L_TSAIWU)
724 L_REL = L_REL+NEL*L_TSAIWU
725 RBUF_L(L_REL+1:L_REL+NEL*L_PIJ) = LBUF%PIJ(1:NEL*L_PIJ)
726 L_REL = L_REL+NEL*L_PIJ
728 IF(NEL*L_VOL0DP >0)THEN
729 DP_RBUF(L_DPREL+1:L_DPREL+NEL*L_VOL0DP)= LBUF%VOL0DP(1:NEL*L_VOL0DP)
730 L_DPREL = L_DPREL + NEL*L_VOL0DP
735.AND..OR.
IF(IDRAPE > 0 (IGTYP == 51 IGTYP == 52)) THEN
737 LBUF_DIR => ELBUF_TAB(NG)%BUFLY(IL)%LBUF_DIR(K)
738 RBUF_L(L_REL+1:L_REL+NEL*LY_DIRA) = LBUF_DIR%DIRA(1:NEL*LY_DIRA)
739 L_REL = L_REL + NEL*LY_DIRA
740 RBUF_L(L_REL+1:L_REL+NEL*LY_DIRB) = LBUF_DIR%DIRB(1:NEL*LY_DIRB)
741 L_REL = L_REL + NEL*LY_DIRB
746 IF (DEBUG_PRINT == 1) THEN
747 print*,' local vars(lbuf tables)=
', L_REL-IAD
755 BUFLY => ELBUF_TAB(NG)%BUFLY(IL)
756 NUVAR = BUFLY%NVAR_MAT
757.OR.
IF (IGTYP == 51 IGTYP == 52) THEN
758 NPTT = ELBUF_TAB(NG)%BUFLY(IL)%NPTT
760 NPTT = ELBUF_TAB(NG)%NPTT
766 RBUF_L(L_REL+1:L_REL+NEL*NUVAR)=BUFLY%MAT(IR,IS,IT)%VAR(1:NEL*NUVAR)
767 L_REL = L_REL+NEL*NUVAR
773 IF (DEBUG_PRINT == 1) THEN
774 print*,' mat uvar=
', L_REL-IAD
782 BUFLY => ELBUF_TAB(NG)%BUFLY(IL)
784.OR.
IF (IGTYP == 51 IGTYP == 52) THEN
785 NPTT = ELBUF_TAB(NG)%BUFLY(IL)%NPTT
787 NPTT = ELBUF_TAB(NG)%NPTT
793 FLOC=>ELBUF_TAB(NG)%BUFLY(IL)%FAIL(IR,IS,IT)%FLOC(K)
798 LF_DAMMX= FLOC%LF_DAMMX
799 LF_DAMINI= FLOC%LF_DAMINI
800 LF_TDEL= FLOC%LF_TDEL
801 LF_INDX= FLOC%LF_INDX
804 RBUF_L(L_REL+1)=IFAIL
806 RBUF_L(L_REL+1)=IDFAIL
808 RBUF_L(L_REL+1)=NUVAR
810 RBUF_L(L_REL+1)=LF_DAM
812 RBUF_L(L_REL+1)=LF_DAMMX
814 RBUF_L(L_REL+1)=LF_DAMINI
816 RBUF_L(L_REL+1)=LF_TDEL
818 RBUF_L(L_REL+1)=LF_INDX
820 RBUF_L(L_REL+1)=LF_OFF
823 RBUF_L(L_REL+1:L_REL+NEL*NUVAR) = FLOC%VAR(1:NEL*NUVAR)
824 L_REL = L_REL+NEL*NUVAR
825 RBUF_L(L_REL+1:L_REL+NEL*LF_DAM) = FLOC%DAM(1:NEL*LF_DAM)
826 L_REL = L_REL+NEL*LF_DAM
827 RBUF_L(L_REL+1:L_REL+NEL*LF_DAMMX) = FLOC%DAMMX(1:NEL*LF_DAMMX)
828 L_REL = L_REL+NEL*LF_DAMMX
829 RBUF_L(L_REL+1:L_REL+NEL*LF_DAMINI) = FLOC%DAMINI(1:NEL*LF_DAMINI)
830 L_REL = L_REL+NEL*LF_DAMINI
831 RBUF_L(L_REL+1:L_REL+NEL*LF_TDEL) = FLOC%TDEL(1:NEL*LF_TDEL)
832 L_REL = L_REL + NEL*LF_TDEL
833 RBUF_L(L_REL+1:L_REL+NEL*LF_INDX) = FLOC%INDX(1:NEL*LF_INDX)
834 L_REL = L_REL + NEL*LF_INDX
835 RBUF_L(L_REL+1:L_REL+NEL*LF_OFF) = FLOC%OFF(1:NEL*LF_OFF)
836 L_REL = L_REL + NEL*LF_OFF
843 IF (DEBUG_PRINT == 1) THEN
844 print*,' fail uvar=
', L_REL-IAD
852 BUFLY => ELBUF_TAB(NG)%BUFLY(IL)
853 NUVAR = BUFLY%NVAR_VISC
855.OR.
IF (IGTYP == 51 IGTYP == 52) THEN
856 NPTT = ELBUF_TAB(NG)%BUFLY(IL)%NPTT
858 NPTT = ELBUF_TAB(NG)%NPTT
863 RBUF_L(L_REL+1:L_REL+NEL*NUVAR)=BUFLY%VISC(IR,IS,IT)%VAR(1:NEL*NUVAR)
864 L_REL = L_REL+NEL*NUVAR
871 IF (DEBUG_PRINT == 1) THEN
872 print*,' visc uvar=
', L_REL-IAD
877 ! Non-local regularization in the shell thickness
878.OR.
IF ((ITY==3)(ITY==7)) THEN
879.AND.
IF ((INLOC>0)(ELBUF%NPTT>1)) THEN
880 ! Number of non-local nodes in the thickness
881 IF (ELBUF%NPTT>2) THEN
889 ! Pointing the non-local buffer
890 BUFNL => ELBUF_TAB(NG)%NLOC(IR,IS)
893 RBUF_L(L_REL+1:L_REL+NONL) = BUFNL%MASSTH(I,1:NONL)
895 ! Non-local in-thickness cumulated variables
896 RBUF_L(L_REL+1:L_REL+NONL) = BUFNL%UNLTH(I,1:NONL)
898 ! Non-local in-thickness velocities
899 RBUF_L(L_REL+1:L_REL+NONL) = BUFNL%VNLTH(I,1:NONL)
901 ! Non-local in-thickness forces
902 RBUF_L(L_REL+1:L_REL+NONL) = BUFNL%FNLTH(I,1:NONL)
908.AND.
ELSEIF ((ITY == 1)(ELBUF_TAB(NG)%NLAY>1)) THEN
910 ! Number of non-local nodes in the thickshell thickness
915 ! Pointing the non-local buffer
916 BUFNLTS => ELBUF_TAB(NG)%NLOCTS(IR,IS)
919 RBUF_L(L_REL+1:L_REL+NONL) = BUFNLTS%MASSTH(I,1:NONL)
921 ! Non-local in-thickness cumulated variables
922 RBUF_L(L_REL+1:L_REL+NONL) = BUFNLTS%UNLTH(I,1:NONL)
924 ! Non-local in-thickness velocities
925 RBUF_L(L_REL+1:L_REL+NONL) = BUFNLTS%VNLTH(I,1:NONL)
927 ! Non-local in-thickness forces
928 RBUF_L(L_REL+1:L_REL+NONL) = BUFNLTS%FNLTH(I,1:NONL)
936 IF (DEBUG_PRINT == 1) THEN
937 print*,' nloc uvar=
', L_REL-IAD
947 BUFLY => ELBUF_TAB(NG)%BUFLY(IL)
948 NUVAR = BUFLY%NVAR_EOS
949 IF(ASSOCIATED(BUFLY%EOS))THEN
950.OR.
IF (IGTYP == 51 IGTYP == 52) THEN
951 NPTT = ELBUF_TAB(NG)%BUFLY(IL)%NPTT
953 NPTT = ELBUF_TAB(NG)%NPTT
958 RBUF_L(L_REL+1:L_REL+NEL*NUVAR)=BUFLY%EOS(IR,IS,IT)%VAR(1:NEL*NUVAR)
959 L_REL = L_REL+NEL*NUVAR
963 ENDIF!IF(ASSOCIATED(BUFLY%EOS))
966 IF (DEBUG_PRINT == 1) THEN
967 print*,' eos uvar=
', L_REL-IAD
981 DO IL = 1,ELBUF%NINTLAY
982 INTLAY => ELBUF_TAB(NG)%INTLAY(IL)
986 RBUF_L(L_REL+1) = INTLAY%ILAW
988 RBUF_L(L_REL+1) = INTLAY%IMAT
990 RBUF_L(L_REL+1) = INTLAY%NFAIL
992 RBUF_L(L_REL+1) = INTLAY%NVAR_MAT
994 RBUF_L(L_REL+1) = INTLAY%NVARTMP
998 RBUF_L(L_REL+1:L_REL+NEL*LY_EINT) = INTLAY%EINT(1:NEL*LY_EINT)
999 L_REL = L_REL+NEL*LY_EINT
1000 RBUF_L(L_REL+1:L_REL+NEL*LY_COUNT) = INTLAY%COUNT(1:NEL*LY_COUNT)
1001 L_REL = L_REL+NEL*LY_COUNT
1006 ILBUF => ELBUF_TAB(NG)%INTLAY(IL)%ILBUF(I,J)
1008 RBUF_L(L_REL+1:L_REL+NEL*L_EPS) =ILBUF%EPS(1:NEL*L_EPS)
1009 L_REL = L_REL+NEL*L_EPS
1010 RBUF_L(L_REL+1:L_REL+NEL*L_SIG) =ILBUF%SIG(1:NEL*L_SIG)
1011 L_REL = L_REL+NEL*L_SIG
1018 DO IL = 1,ELBUF%NINTLAY
1019 INTLAY => ELBUF_TAB(NG)%INTLAY(IL)
1020 NUVAR = INTLAY%NVAR_MAT
1021 DO IR = 1,ELBUF%NPTR
1022 DO IS = 1,ELBUF%NPTS
1023 RBUF_L(L_REL+1:L_REL+NEL*NUVAR)=INTLAY%MAT(IR,IS)%VAR(1:NEL*NUVAR)
1024 L_REL = L_REL+NEL*NUVAR
1031 DO IL = 1,ELBUF%NINTLAY
1032 INTLAY => ELBUF_TAB(NG)%INTLAY(IL)
1033 NFAIL = INTLAY%NFAIL
1034 DO IR = 1,ELBUF%NPTR
1035 DO IS = 1,ELBUF%NPTS
1037 FLOC=>ELBUF_TAB(NG)%INTLAY(IL)%FAIL(IR,IS)%FLOC(K)
1039 IDFAIL = FLOC%IDFAIL
1041 RBUF_L(L_REL+1)=IFAIL
1043 RBUF_L(L_REL+1)=IDFAIL
1045 RBUF_L(L_REL+1)=NUVAR
1047 RBUF_L(L_REL+1:L_REL+NEL*NUVAR)=FLOC%VAR(1:NEL*NUVAR)
1048 L_REL = L_REL+NEL*NUVAR
1054 IF (DEBUG_PRINT == 1) THEN
1055 print*,' total interlayer=
', L_REL-SUM
1063 GBUF => ELBUF_TAB(NG)%GBUF
1065 G_NOFF = GBUF%G_NOFF
1066 G_IERR = GBUF%G_IERR
1068 G_GAMA = GBUF%G_GAMA
1069 G_SMSTR = GBUF%G_SMSTR
1070 G_HOURG = GBUF%G_HOURG
1071 G_BFRAC = GBUF%G_BFRAC
1072 G_EINT = GBUF%G_EINT
1073 G_EINS = GBUF%G_EINS
1075 G_QVIS = GBUF%G_QVIS
1076 G_DELTAX= GBUF%G_DELTAX
1078 G_EPSD = GBUF%G_EPSD
1079 G_EPSQ = GBUF%G_EPSQ
1081 G_WPLA = GBUF%G_WPLA
1082 G_TEMP = GBUF%G_TEMP
1090 G_TAG22 = GBUF%G_TAG22
1091 G_STRA = GBUF%G_STRA
1092 G_SIGI = GBUF%G_SIGI
1094 G_FORPG = GBUF%G_FORPG
1095 G_MOMPG = GBUF%G_MOMPG
1096 G_MAXEPS= GBUF%G_MAXEPS
1098 G_MAXFRAC = GBUF%G_MAXFRAC
1099 G_GAMA_R = GBUF%G_GAMA_R
1101 G_FORPGPINCH = GBUF%G_FORPGPINCH
1102 G_MOMPGPINCH = GBUF%G_MOMPGPINCH
1103 G_EPGPINCHXZ = GBUF%G_EPGPINCHXZ
1104 G_EPGPINCHYZ = GBUF%G_EPGPINCHYZ
1105 G_EPGPINCHZZ = GBUF%G_EPGPINCHZZ
1107 G_STRPG = GBUF%G_STRPG
1108 G_UELR = GBUF%G_UELR
1109 G_UELR1 = GBUF%G_UELR1
1110 G_DAMDL = GBUF%G_DAMDL
1111 G_FORTH = GBUF%G_FORTH
1112 G_EINTTH = GBUF%G_EINTTH
1113 G_FILL = GBUF%G_FILL
1115 G_STRW = GBUF%G_STRW
1116 G_STRWPG= GBUF%G_STRWPG
1117 G_THK_I = GBUF%G_THK_I
1118 G_JAC_I = GBUF%G_JAC_I
1120 G_ISMS = GBUF%G_ISMS
1121 G_BPRELD= GBUF%G_BPRELD
1122 G_ABURN = GBUF%G_ABURN
1124 G_PLANL = GBUF%G_PLANL
1125 G_EPSDNL = GBUF%G_EPSDNL
1126 G_DMGSCL = GBUF%G_DMGSCL
1127 G_TSAIWU = GBUF%G_TSAIWU
1128 G_COR_NF = GBUF%G_COR_NF
1129 G_COR_FR = GBUF%G_COR_FR
1130 G_COR_XR = GBUF%G_COR_XR
1131 G_SH_IOFFSET = GBUF%G_SH_IOFFSET
1132 G_EINT_DISTOR = GBUF%G_EINT_DISTOR
1133 G_FOR_G = GBUF%G_FOR_G
1134 G_FORPG_G = GBUF%G_FORPG_G
1139 G_AREA = GBUF%G_AREA
1140 G_SKEW = GBUF%G_SKEW
1141 G_LENGTH = GBUF%G_LENGTH
1142 G_TOTDEPL = GBUF%G_TOTDEPL
1143 G_TOTROT = GBUF%G_TOTROT
1144 G_FOREP = GBUF%G_FOREP
1145 G_MOMEP = GBUF%G_MOMEP
1146 G_DEP_IN_TENS = GBUF%G_DEP_IN_TENS
1147 G_DEP_IN_COMP = GBUF%G_DEP_IN_COMP
1148 G_ROT_IN_TENS = GBUF%G_ROT_IN_TENS
1149 G_ROT_IN_COMP = GBUF%G_ROT_IN_COMP
1150 G_POSX = GBUF%G_POSX
1151 G_POSY = GBUF%G_POSY
1152 G_POSZ = GBUF%G_POSZ
1153 G_POSXX = GBUF%G_POSXX
1154 G_POSYY = GBUF%G_POSYY
1155 G_POSZZ = GBUF%G_POSZZ
1156 G_YIELD = GBUF%G_YIELD
1157 G_LENGTH_ERR = GBUF%G_LENGTH_ERR
1160 G_SKEW_ERR = GBUF%G_SKEW_ERR
1162 G_RUPTCRIT = GBUF%G_RUPTCRIT
1163 G_MASS = GBUF%G_MASS
1164 G_V_REPCVT = GBUF%G_V_REPCVT
1165 G_VR_REPCVT = GBUF%G_VR_REPCVT
1166 G_NUVAR = GBUF%G_NUVAR
1167 G_NUVARN = GBUF%G_NUVARN
1168 G_DEFINI = GBUF%G_DEFINI
1169 G_FORINI = GBUF%G_FORINI
1170 G_INIFRIC = GBUF%G_INIFRIC
1171 G_STRHG = GBUF%G_STRHG
1172 G_ETOTSH = GBUF%G_ETOTSH
1173 G_DT_PITER = GBUF%G_DT_PITER
1174 G_TEMPG = GBUF%G_TEMPG
1175 G_SKEW_ID = GBUF%G_SKEW_ID
1176 G_IDT_TSH = GBUF%G_IDT_TSH
1177 G_YIELD_IN_COMP = GBUF%G_YIELD_IN_COMP
1178 G_XXOLD_IN_COMP = GBUF%G_XXOLD_IN_COMP
1182 G_SLIPRING_ID = GBUF%G_SLIPRING_ID
1183 G_SLIPRING_FRAM_ID = GBUF%G_SLIPRING_FRAM_ID
1184 G_SLIPRING_STRAND = GBUF%G_SLIPRING_STRAND
1185 G_RETRACTOR_ID= GBUF%G_RETRACTOR_ID
1186 G_RINGSLIP = GBUF%G_RINGSLIP
1187 G_ADD_NODE = GBUF%G_ADD_NODE
1188 G_UPDATE = GBUF%G_UPDATE
1189 G_FRAM_FACTOR = GBUF%G_FRAM_FACTOR
1190 G_INTVAR = GBUF%G_INTVAR
1192 G_BETAORTH = GBUF%G_BETAORTH
1194 G_TM_YIELD = GBUF%G_TM_YIELD
1195 G_TM_SEQ = GBUF%G_TM_SEQ
1196 G_TM_EINT = GBUF%G_TM_EINT
1197 G_TM_DMG = GBUF%G_TM_DMG
1198 G_TM_SIG = GBUF%G_TM_SIG
1199 G_TM_STRA = GBUF%G_TM_STRA
1205 RBUF_L(L_REL+1) = GBUF%NVAR_GLOB
1210 RBUF_L(L_REL+1) = G_NOFF
1212 RBUF_L(L_REL+1) = G_IERR
1214 RBUF_L(L_REL+1) = G_OFF
1216 RBUF_L(L_REL+1) = G_GAMA
1218 RBUF_L(L_REL+1) = G_SMSTR
1220 RBUF_L(L_REL+1) = G_HOURG
1222 RBUF_L(L_REL+1) = G_BFRAC
1224 RBUF_L(L_REL+1) = G_EINT
1226 RBUF_L(L_REL+1) = G_EINS
1228 RBUF_L(L_REL+1) = G_RHO
1230 RBUF_L(L_REL+1) = G_QVIS
1232 RBUF_L(L_REL+1) = G_DELTAX
1234 RBUF_L(L_REL+1) = G_VOL
1236 RBUF_L(L_REL+1) = G_EPSD
1238 RBUF_L(L_REL+1) = G_EPSQ
1240 RBUF_L(L_REL+1) = G_PLA
1242 RBUF_L(L_REL+1) = G_WPLA
1244 RBUF_L(L_REL+1) = G_TEMP
1246 RBUF_L(L_REL+1) = G_TB
1248 RBUF_L(L_REL+1) = G_RK
1250 RBUF_L(L_REL+1) = G_RE
1252 RBUF_L(L_REL+1) = G_SIG
1254 RBUF_L(L_REL+1) = G_FOR
1256 RBUF_L(L_REL+1) = G_MOM
1258 RBUF_L(L_REL+1) = G_THK
1260 RBUF_L(L_REL+1) = G_TAG22
1262 RBUF_L(L_REL+1) = G_STRA
1264 RBUF_L(L_REL+1) = G_SIGI
1266 RBUF_L(L_REL+1) = G_DMG
1268 RBUF_L(L_REL+1) = G_FORPG
1270 RBUF_L(L_REL+1) = G_MOMPG
1273 RBUF_L(L_REL+1) = G_FORPGPINCH
1275 RBUF_L(L_REL+1) = G_MOMPGPINCH
1277 RBUF_L(L_REL+1) = G_EPGPINCHXZ
1279 RBUF_L(L_REL+1) = G_EPGPINCHYZ
1281 RBUF_L(L_REL+1) = G_EPGPINCHZZ
1284 RBUF_L(L_REL+1) = G_STRPG
1286 RBUF_L(L_REL+1) = G_UELR
1288 RBUF_L(L_REL+1) = G_UELR1
1290 RBUF_L(L_REL+1) = G_DAMDL
1292 RBUF_L(L_REL+1) = G_FORTH
1294 RBUF_L(L_REL+1) = G_EINTTH
1296 RBUF_L(L_REL+1) = G_FILL
1298 RBUF_L(L_REL+1) = G_SEQ
1300 RBUF_L(L_REL+1) = G_STRW
1302 RBUF_L(L_REL+1) = G_STRWPG
1304 RBUF_L(L_REL+1) = G_THK_I
1306 RBUF_L(L_REL+1) = G_JAC_I
1308 RBUF_L(L_REL+1) = G_DT
1310 RBUF_L(L_REL+1) = G_ISMS
1312 RBUF_L(L_REL+1) = G_BPRELD
1314 RBUF_L(L_REL+1) = G_ABURN
1316 RBUF_L(L_REL+1) = G_MU
1318 RBUF_L(L_REL+1) = G_PLANL
1320 RBUF_L(L_REL+1) = G_EPSDNL
1322 RBUF_L(L_REL+1) = G_DMGSCL
1324 RBUF_L(L_REL+1) = G_TSAIWU
1326 RBUF_L(L_REL+1) = G_TEMPG
1328 RBUF_L(L_REL+1) = G_COR_NF
1330 RBUF_L(L_REL+1) = G_COR_FR
1332 RBUF_L(L_REL+1) = G_COR_XR
1334 RBUF_L(L_REL+1) = G_MAXFRAC
1336 RBUF_L(L_REL+1) = G_MAXEPS
1339 RBUF_L(L_REL+1) = G_BETAORTH
1341 RBUF_L(L_REL+1) = G_AMU
1343 RBUF_L(L_REL+1) = G_SH_IOFFSET
1345 RBUF_L(L_REL+1) = G_EINT_DISTOR
1347 RBUF_L(L_REL+1) = G_FOR_G
1349 RBUF_L(L_REL+1) = G_FORPG_G
1354 RBUF_L(L_REL+1) = G_AREA
1356 RBUF_L(L_REL+1) = G_SKEW
1358 RBUF_L(L_REL+1) = G_LENGTH
1360 RBUF_L(L_REL+1) = G_TOTDEPL
1362 RBUF_L(L_REL+1) = G_TOTROT
1364 RBUF_L(L_REL+1) = G_FOREP
1366 RBUF_L(L_REL+1) = G_MOMEP
1368 RBUF_L(L_REL+1) = G_DEP_IN_TENS
1370 RBUF_L(L_REL+1) = G_DEP_IN_COMP
1372 RBUF_L(L_REL+1) = G_ROT_IN_TENS
1374 RBUF_L(L_REL+1) = G_ROT_IN_COMP
1376 RBUF_L(L_REL+1) = G_POSX
1378 RBUF_L(L_REL+1) = G_POSY
1380 RBUF_L(L_REL+1) = G_POSZ
1382 RBUF_L(L_REL+1) = G_POSXX
1384 RBUF_L(L_REL+1) = G_POSYY
1386 RBUF_L(L_REL+1) = G_POSZZ
1388 RBUF_L(L_REL+1) = G_YIELD
1390 RBUF_L(L_REL+1) = G_LENGTH_ERR
1392 RBUF_L(L_REL+1) = G_DV
1394 RBUF_L(L_REL+1) = G_DFS
1396 RBUF_L(L_REL+1) = G_SKEW_ERR
1398 RBUF_L(L_REL+1) = G_E6
1400 RBUF_L(L_REL+1) = G_RUPTCRIT
1402 RBUF_L(L_REL+1) = G_MASS
1404 RBUF_L(L_REL+1) = G_V_REPCVT
1406 RBUF_L(L_REL+1) = G_VR_REPCVT
1408 RBUF_L(L_REL+1) = G_NUVAR
1410 RBUF_L(L_REL+1) = G_NUVARN
1412 RBUF_L(L_REL+1) = G_DEFINI
1414 RBUF_L(L_REL+1) = G_FORINI
1416 RBUF_L(L_REL+1) = G_INIFRIC
1418 RBUF_L(L_REL+1) = G_STRHG
1420 RBUF_L(L_REL+1) = G_ETOTSH
1422 RBUF_L(L_REL+1) = G_DT_PITER
1424 RBUF_L(L_REL+1) = G_SKEW_ID
1426 RBUF_L(L_REL+1) = G_GAMA_R
1428 RBUF_L(L_REL+1) = G_YIELD_IN_COMP
1430 RBUF_L(L_REL+1) = G_XXOLD_IN_COMP
1435 RBUF_L(L_REL+1) = G_SLIPRING_ID
1437 RBUF_L(L_REL+1) = G_SLIPRING_FRAM_ID
1439 RBUF_L(L_REL+1) = G_SLIPRING_STRAND
1441 RBUF_L(L_REL+1) = G_RETRACTOR_ID
1443 RBUF_L(L_REL+1) = G_RINGSLIP
1445 RBUF_L(L_REL+1) = G_ADD_NODE
1447 RBUF_L(L_REL+1) = G_UPDATE
1449 RBUF_L(L_REL+1) = G_FRAM_FACTOR
1451 RBUF_L(L_REL+1) = G_INTVAR
1453 RBUF_L(L_REL+1) = G_IDT_TSH
1458 RBUF_L(L_REL+1) = G_TM_YIELD
1460 RBUF_L(L_REL+1) = G_TM_SEQ
1462 RBUF_L(L_REL+1) = G_TM_EINT
1464 RBUF_L(L_REL+1) = G_TM_DMG
1466 RBUF_L(L_REL+1) = G_TM_SIG
1468 RBUF_L(L_REL+1) = G_TM_STRA
1471 IF (DEBUG_PRINT == 1) THEN
1472 print*,' nvar_glob=
',GBUF%NVAR_GLOB,L_REL-SUM
1481 RBUF_L(L_REL+1:L_REL+NEL*G_NOFF) = GBUF%NOFF(1:NEL*G_NOFF)
1482 L_REL = L_REL + NEL*G_NOFF
1483 RBUF_L(L_REL+1:L_REL+NEL*G_IERR) = GBUF%IERR(1:NEL*G_IERR)
1484 L_REL = L_REL + NEL*G_IERR
1485 RBUF_L(L_REL+1:L_REL+NEL*G_GAMA) = GBUF%GAMA(1:NEL*G_GAMA)
1486 L_REL = L_REL + NEL*G_GAMA
1487 IF(NEL*G_SMSTR >0)THEN
1488 DP_RBUF(L_DPREL+1:L_DPREL+NEL*G_SMSTR)= GBUF%SMSTR(1:NEL*G_SMSTR)
1489 L_DPREL = L_DPREL + NEL*G_SMSTR
1491 RBUF_L(L_REL+1:L_REL+NEL*G_HOURG)= GBUF%HOURG(1:NEL*G_HOURG)
1492 L_REL = L_REL + NEL*G_HOURG
1493 RBUF_L(L_REL+1:L_REL+NEL*G_TAG22)= GBUF%TAG22(1:NEL*G_TAG22)
1494 L_REL = L_REL+NEL*G_TAG22
1495 RBUF_L(L_REL+1:L_REL+NEL*G_STRA) = GBUF%STRA(1:NEL*G_STRA)
1496 L_REL = L_REL+NEL*G_STRA
1497 RBUF_L(L_REL+1:L_REL+NEL*G_SIGI) = GBUF%SIGI(1:NEL*G_SIGI)
1498 L_REL = L_REL+NEL*G_SIGI
1499 RBUF_L(L_REL+1:L_REL+NEL*G_DMG) = GBUF%DMG(1:NEL*G_DMG)
1500 L_REL = L_REL+NEL*G_DMG
1501 RBUF_L(L_REL+1:L_REL+NEL*G_UELR) = GBUF%UELR(1:NEL*G_UELR)
1502 L_REL = L_REL+NEL*G_UELR
1503 RBUF_L(L_REL+1:L_REL+NEL*G_UELR1) = GBUF%UELR1(1:NEL*G_UELR1)
1504 L_REL = L_REL+NEL*G_UELR1
1505 RBUF_L(L_REL+1:L_REL+NEL*G_DAMDL) = GBUF%DAMDL(1:NEL*G_DAMDL)
1506 L_REL = L_REL+NEL*G_DAMDL
1507 RBUF_L(L_REL+1:L_REL+NEL*G_FOR) = GBUF%FOR(1:NEL*G_FOR)
1508 L_REL = L_REL+NEL*G_FOR
1509 RBUF_L(L_REL+1:L_REL+NEL*G_MOM) = GBUF%MOM(1:NEL*G_MOM)
1510 L_REL = L_REL+NEL*G_MOM
1511 RBUF_L(L_REL+1:L_REL+NEL*G_THK) = GBUF%THK(1:NEL*G_THK)
1512 L_REL = L_REL+NEL*G_THK
1513 RBUF_L(L_REL+1:L_REL+NEL*G_STRW)=GBUF%STRW(1:NEL*G_STRW)
1514 L_REL = L_REL+NEL*G_STRW
1515 RBUF_L(L_REL+1:L_REL+NEL*G_THK_I) = GBUF%THK_I(1:NEL*G_THK_I)
1516 L_REL = L_REL+NEL*G_THK_I
1517 RBUF_L(L_REL+1:L_REL+NEL*G_JAC_I) = GBUF%JAC_I(1:NEL*G_JAC_I)
1518 L_REL = L_REL+NEL*G_JAC_I
1519 RBUF_L(L_REL+1:L_REL+NEL*G_DT) = GBUF%DT(1:NEL*G_DT)
1520 L_REL = L_REL+NEL*G_DT
1521 RBUF_L(L_REL+1:L_REL+NEL*G_ISMS) = GBUF%ISMS(1:NEL*G_ISMS)
1522 L_REL = L_REL+NEL*G_ISMS
1523 RBUF_L(L_REL+1:L_REL+NEL*G_BPRELD) = GBUF%BPRELD(1:NEL*G_BPRELD)
1524 L_REL = L_REL+NEL*G_BPRELD
1525 RBUF_L(L_REL+1:L_REL+NEL*G_COR_NF) = GBUF%COR_NF(1:NEL*G_COR_NF)
1526 L_REL = L_REL+NEL*G_COR_NF
1527 RBUF_L(L_REL+1:L_REL+NEL*G_COR_FR) = GBUF%COR_FR(1:NEL*G_COR_FR)
1528 L_REL = L_REL+NEL*G_COR_FR
1529 RBUF_L(L_REL+1:L_REL+NEL*G_COR_XR) = GBUF%COR_XR(1:NEL*G_COR_XR)
1530 L_REL = L_REL+NEL*G_COR_XR
1531 RBUF_L(L_REL+1:L_REL+NEL*G_MAXFRAC)= GBUF%MAXFRAC(1:NEL*G_MAXFRAC)
1532 L_REL = L_REL + NEL*G_MAXFRAC
1533 RBUF_L(L_REL+1:L_REL+NEL*G_MAXEPS)= GBUF%MAXEPS(1:NEL*G_MAXEPS)
1534 L_REL = L_REL + NEL*G_MAXEPS
1536 RBUF_L(L_REL+1:L_REL+NEL*G_BETAORTH) = GBUF%BETAORTH(1:NEL*G_BETAORTH)
1537 L_REL = L_REL+NEL*G_BETAORTH
1538 RBUF_L(L_REL+1:L_REL+NEL*G_AMU) = GBUF%AMU(1:NEL*G_AMU)
1539 L_REL = L_REL + NEL*G_AMU
1540 RBUF_L(L_REL+1:L_REL+NEL*G_SH_IOFFSET) = GBUF%SH_IOFFSET(1:NEL*G_SH_IOFFSET)
1541 L_REL = L_REL + NEL*G_SH_IOFFSET
1542 RBUF_L(L_REL+1:L_REL+NEL*G_EINT_DISTOR) = GBUF%EINT_DISTOR(1:NEL*G_EINT_DISTOR)
1543 L_REL = L_REL + NEL*G_EINT_DISTOR
1544 RBUF_L(L_REL+1:L_REL+NEL*G_FOR_G) = GBUF%FOR_G(1:NEL*G_FOR_G)
1545 L_REL = L_REL + NEL*G_FOR_G
1546 RBUF_L(L_REL+1:L_REL+NEL*G_WPLA) = GBUF%WPLA(1:NEL*G_WPLA)
1547 L_REL = L_REL+NEL*G_WPLA
1549 IF (DEBUG_PRINT == 1) THEN
1550 print*,' COMMON glob=
', L_REL-SUM
1556 IF (G_STRPG>G_STRA) THEN
1557 RBUF_L(L_REL+1:L_REL+NEL*G_STRPG) = GBUF%STRPG(1:NEL*G_STRPG)
1558 L_REL = L_REL+NEL*G_STRPG
1560 ELSEIF (NPG > 1) THEN
1561 RBUF_L(L_REL+1:L_REL+NEL*G_FORPG) = GBUF%FORPG(1:NEL*G_FORPG)
1562 L_REL = L_REL+NEL*G_FORPG
1563 RBUF_L(L_REL+1:L_REL+NEL*G_MOMPG) = GBUF%MOMPG(1:NEL*G_MOMPG)
1564 L_REL = L_REL+NEL*G_MOMPG
1566 RBUF_L(L_REL+1:L_REL+NEL*G_FORPGPINCH) = GBUF%FORPGPINCH(1:NEL*G_FORPGPINCH)
1567 L_REL = L_REL+NEL*G_FORPGPINCH
1568 RBUF_L(L_REL+1:L_REL+NEL*G_MOMPGPINCH) = GBUF%MOMPGPINCH(1:NEL*G_MOMPGPINCH)
1569 L_REL = L_REL+NEL*G_MOMPGPINCH
1570 RBUF_L(L_REL+1:L_REL+NEL*G_EPGPINCHXZ) = GBUF%EPGPINCHXZ(1:NEL*G_EPGPINCHXZ)
1571 L_REL = L_REL+NEL*G_EPGPINCHXZ
1572 RBUF_L(L_REL+1:L_REL+NEL*G_EPGPINCHYZ) = GBUF%EPGPINCHYZ(1:NEL*G_EPGPINCHYZ)
1573 L_REL = L_REL+NEL*G_EPGPINCHYZ
1574 RBUF_L(L_REL+1:L_REL+NEL*G_EPGPINCHZZ) = GBUF%EPGPINCHZZ(1:NEL*G_EPGPINCHZZ)
1575 L_REL = L_REL+NEL*G_EPGPINCHZZ
1577 RBUF_L(L_REL+1:L_REL+NEL*G_STRPG) = GBUF%STRPG(1:NEL*G_STRPG)
1578 L_REL = L_REL+NEL*G_STRPG
1579 RBUF_L(L_REL+1:L_REL+NEL*G_STRWPG)= GBUF%STRWPG(1:NEL*G_STRWPG)
1580 L_REL = L_REL+NEL*G_STRWPG
1581 RBUF_L(L_REL+1:L_REL+NEL*G_FORPG_G)= GBUF%FORPG_G(1:NEL*G_FORPG_G)
1582 L_REL = L_REL+NEL*G_FORPG_G
1585 IF (DEBUG_PRINT == 1) THEN
1586 print*,' glob npg > 1 =
', L_REL-IAD
1592 IF (NPTTOT /= 1) THEN
1593 RBUF_L(L_REL+1:L_REL+NEL*G_BFRAC)= GBUF%BFRAC(1:NEL*G_BFRAC)
1594 L_REL = L_REL + NEL*G_BFRAC
1595 RBUF_L(L_REL+1:L_REL+NEL*G_OFF) = GBUF%OFF(1:NEL*G_OFF)
1596 L_REL = L_REL+NEL*G_OFF
1597 RBUF_L(L_REL+1:L_REL+NEL*G_EINT) = GBUF%EINT(1:NEL*G_EINT)
1598 L_REL = L_REL+NEL*G_EINT
1599 RBUF_L(L_REL+1:L_REL+NEL*G_EINS) = GBUF%EINS(1:NEL*G_EINS)
1600 L_REL = L_REL+NEL*G_EINS
1601 RBUF_L(L_REL+1:L_REL+NEL*G_RHO) = GBUF%RHO(1:NEL*G_RHO)
1602 L_REL = L_REL+NEL*G_RHO
1603 RBUF_L(L_REL+1:L_REL+NEL*G_QVIS) = GBUF%QVIS(1:NEL*G_QVIS)
1604 L_REL = L_REL+NEL*G_QVIS
1605 RBUF_L(L_REL+1:L_REL+NEL*G_DELTAX)=GBUF%DELTAX(1:NEL*G_DELTAX)
1606 L_REL = L_REL+NEL*G_DELTAX
1607 RBUF_L(L_REL+1:L_REL+NEL*G_VOL) = GBUF%VOL(1:NEL*G_VOL)
1608 L_REL = L_REL+NEL*G_VOL
1609 RBUF_L(L_REL+1:L_REL+NEL*G_EPSD) = GBUF%EPSD(1:NEL*G_EPSD)
1610 L_REL = L_REL+NEL*G_EPSD
1611 RBUF_L(L_REL+1:L_REL+NEL*G_EPSQ) = GBUF%EPSQ(1:NEL*G_EPSQ)
1612 L_REL = L_REL+NEL*G_EPSQ
1613 RBUF_L(L_REL+1:L_REL+NEL*G_PLA) = GBUF%PLA(1:NEL*G_PLA)
1614 L_REL = L_REL+NEL*G_PLA
1615 RBUF_L(L_REL+1:L_REL+NEL*G_TEMP) = GBUF%TEMP(1:NEL*G_TEMP)
1616 L_REL = L_REL+NEL*G_TEMP
1617 RBUF_L(L_REL+1:L_REL+NEL*G_TB) = GBUF%TB(1:NEL*G_TB)
1618 L_REL = L_REL+NEL*G_TB
1619 RBUF_L(L_REL+1:L_REL+NEL*G_RK) = GBUF%RK(1:NEL*G_RK)
1620 L_REL = L_REL+NEL*G_RK
1621 RBUF_L(L_REL+1:L_REL+NEL*G_RE) = GBUF%RE(1:NEL*G_RE)
1622 L_REL = L_REL+NEL*G_RE
1623 RBUF_L(L_REL+1:L_REL+NEL*G_SIG) = GBUF%SIG(1:NEL*G_SIG)
1624 L_REL = L_REL+NEL*G_SIG
1625 RBUF_L(L_REL+1:L_REL+NEL*G_FORTH)= GBUF%FORTH(1:NEL*G_FORTH)
1626 L_REL = L_REL+NEL*G_FORTH
1627 RBUF_L(L_REL+1:L_REL+NEL*G_EINTTH)= GBUF%EINTTH(1:NEL*G_EINTTH)
1628 L_REL = L_REL+NEL*G_EINTTH
1629 RBUF_L(L_REL+1:L_REL+NEL*G_SEQ) = GBUF%SEQ(1:NEL*G_SEQ)
1630 L_REL = L_REL+NEL*G_SEQ
1631 RBUF_L(L_REL+1:L_REL+NEL*G_ABURN)= GBUF%ABURN(1:NEL*G_ABURN)
1632 L_REL = L_REL + NEL*G_ABURN
1633 RBUF_L(L_REL+1:L_REL+NEL*G_MU)= GBUF%MU(1:NEL*G_MU)
1634 L_REL = L_REL + NEL*G_MU
1637 RBUF_L(L_REL+1:L_REL+NEL*G_FILL) = GBUF%FILL(1:NEL*G_FILL)
1638 L_REL = L_REL+NEL*G_FILL
1642.and.
IF(IGTYP == 3 ITY == 5) THEN
1643 RBUF_L(L_REL+1:L_REL+NEL*G_DMGSCL) = GBUF%DMGSCL(1:NEL*G_DMGSCL)
1644 L_REL = L_REL+NEL*G_DMGSCL
1646 RBUF_L(L_REL+1:L_REL+NEL*G_AREA) = GBUF%AREA(1:NEL*G_AREA)
1647 L_REL = L_REL +NEL*G_AREA
1648 RBUF_L(L_REL+1:L_REL+NEL*G_SKEW) = GBUF%SKEW(1:NEL*G_SKEW)
1649 L_REL = L_REL +NEL*G_SKEW
1650 RBUF_L(L_REL+1:L_REL+NEL*G_LENGTH) = GBUF%LENGTH(1:NEL*G_LENGTH)
1651 L_REL = L_REL +NEL*G_LENGTH
1652 RBUF_L(L_REL+1:L_REL+NEL*G_TOTDEPL) = GBUF%TOTDEPL(1:NEL*G_TOTDEPL)
1653 L_REL = L_REL +NEL*G_TOTDEPL
1654 RBUF_L(L_REL+1:L_REL+NEL*G_TOTROT) = GBUF%TOTROT(1:NEL*G_TOTROT)
1655 L_REL = L_REL +NEL*G_TOTROT
1656 RBUF_L(L_REL+1:L_REL+NEL*G_FOREP) = GBUF%FOREP(1:NEL*G_FOREP)
1657 L_REL = L_REL +NEL*G_FOREP
1658 RBUF_L(L_REL+1:L_REL+NEL*G_MOMEP) = GBUF%MOMEP(1:NEL*G_MOMEP)
1659 L_REL = L_REL +NEL*G_MOMEP
1660 RBUF_L(L_REL+1:L_REL+NEL*G_DEP_IN_TENS) = GBUF%DEP_IN_TENS(1:NEL*G_DEP_IN_TENS)
1661 L_REL = L_REL + NEL*G_DEP_IN_TENS
1662 RBUF_L(L_REL+1:L_REL+NEL*G_DEP_IN_COMP) = GBUF%DEP_IN_COMP(1:NEL*G_DEP_IN_COMP)
1663 L_REL = L_REL +NEL*G_DEP_IN_COMP
1664 RBUF_L(L_REL+1:L_REL+NEL*G_ROT_IN_TENS) = GBUF%ROT_IN_TENS(1:NEL*G_ROT_IN_TENS)
1665 L_REL = L_REL +NEL*G_ROT_IN_TENS
1666 RBUF_L(L_REL+1:L_REL+NEL*G_ROT_IN_COMP) = GBUF%ROT_IN_COMP(1:NEL*G_ROT_IN_COMP)
1667 L_REL = L_REL +NEL*G_ROT_IN_COMP
1668 RBUF_L(L_REL+1:L_REL+NEL*G_POSX) = GBUF%POSX(1:NEL*G_POSX)
1669 L_REL = L_REL +NEL*G_POSX
1670 RBUF_L(L_REL+1:L_REL+NEL*G_POSY) = GBUF%POSY(1:NEL*G_POSY)
1671 L_REL = L_REL +NEL*G_POSY
1672 RBUF_L(L_REL+1:L_REL+NEL*G_POSZ) = GBUF%POSZ(1:NEL*G_POSZ)
1673 L_REL = L_REL +NEL*G_POSZ
1674 RBUF_L(L_REL+1:L_REL+NEL*G_POSXX) = GBUF%POSXX(1:NEL*G_POSXX)
1675 L_REL = L_REL +NEL*G_POSXX
1676 RBUF_L(L_REL+1:L_REL+NEL*G_POSYY) = GBUF%POSYY(1:NEL*G_POSYY)
1677 L_REL = L_REL +NEL*G_POSYY
1678 RBUF_L(L_REL+1:L_REL+NEL*G_POSZZ) = GBUF%POSZZ(1:NEL*G_POSZZ)
1679 L_REL = L_REL +NEL*G_POSZZ
1680 RBUF_L(L_REL+1:L_REL+NEL*G_YIELD) = GBUF%YIELD(1:NEL*G_YIELD)
1681 L_REL = L_REL +NEL*G_YIELD
1682 RBUF_L(L_REL+1:L_REL+NEL*G_LENGTH_ERR) = GBUF%LENGTH_ERR(1:NEL*G_LENGTH_ERR)
1683 L_REL = L_REL +NEL*G_LENGTH_ERR
1684 RBUF_L(L_REL+1:L_REL+NEL*G_DV) = GBUF%DV(1:NEL*G_DV)
1685 L_REL = L_REL +NEL*G_DV
1686 RBUF_L(L_REL+1:L_REL+NEL*G_DFS) = GBUF%DFS(1:NEL*G_DFS)
1687 L_REL = L_REL +NEL*G_DFS
1688 RBUF_L(L_REL+1:L_REL+NEL*G_SKEW_ERR) = GBUF%SKEW_ERR(1:NEL*G_SKEW_ERR)
1689 L_REL = L_REL +NEL*G_SKEW_ERR
1690 RBUF_L(L_REL+1:L_REL+NEL*G_E6) = GBUF%E6(1:NEL*G_E6)
1691 L_REL = L_REL +NEL*G_E6
1692 RBUF_L(L_REL+1:L_REL+NEL*G_RUPTCRIT) = GBUF%RUPTCRIT(1:NEL*G_RUPTCRIT)
1693 L_REL = L_REL +NEL*G_RUPTCRIT
1694 RBUF_L(L_REL+1:L_REL+NEL*G_MASS) = GBUF%MASS(1:NEL*G_MASS)
1695 L_REL = L_REL +NEL*G_MASS
1696 RBUF_L(L_REL+1:L_REL+NEL*G_V_REPCVT) = GBUF%V_REPCVT(1:NEL*G_V_REPCVT)
1697 L_REL = L_REL +NEL*G_V_REPCVT
1698 RBUF_L(L_REL+1:L_REL+NEL*G_VR_REPCVT) = GBUF%VR_REPCVT(1:NEL*G_VR_REPCVT)
1699 L_REL = L_REL +NEL*G_VR_REPCVT
1700 RBUF_L(L_REL+1:L_REL+NEL*G_NUVAR) = GBUF%VAR(1:NEL*G_NUVAR)
1701 L_REL = L_REL +NEL*G_NUVAR
1702 RBUF_L(L_REL+1:L_REL+NEL*G_NUVARN) = GBUF%VARN(1:NEL*G_NUVARN)
1703 L_REL = L_REL +NEL*G_NUVARN
1704 RBUF_L(L_REL+1:L_REL+NEL*G_DEFINI) = GBUF%DEFINI(1:NEL*G_DEFINI)
1705 L_REL = L_REL +NEL*G_DEFINI
1706 RBUF_L(L_REL+1:L_REL+NEL*G_FORINI) = GBUF%FORINI(1:NEL*G_FORINI)
1707 L_REL = L_REL +NEL*G_FORINI
1708 RBUF_L(L_REL+1:L_REL+NEL*G_INIFRIC) = GBUF%INIFRIC(1:NEL*G_INIFRIC)
1709 L_REL = L_REL +NEL*G_INIFRIC
1710 RBUF_L(L_REL+1:L_REL+NEL*G_STRHG) = GBUF%STRHG(1:NEL*G_STRHG)
1711 L_REL = L_REL +NEL*G_STRHG
1712 RBUF_L(L_REL+1:L_REL+NEL*G_DT_PITER) = GBUF%DT_PITER(1:NEL*G_DT_PITER)
1713 L_REL = L_REL +NEL*G_DT_PITER
1714 RBUF_L(L_REL+1:L_REL+NEL*G_SKEW_ID) = GBUF%SKEW_ID(1:NEL*G_SKEW_ID)
1715 L_REL = L_REL +NEL*G_SKEW_ID
1716 RBUF_L(L_REL+1:L_REL+NEL*G_YIELD_IN_COMP) = GBUF%YIELD_IN_COMP(1:NEL*G_YIELD_IN_COMP)
1717 L_REL = L_REL +NEL*G_YIELD_IN_COMP
1718 RBUF_L(L_REL+1:L_REL+NEL*G_XXOLD_IN_COMP) = GBUF%XXOLD_IN_COMP(1:NEL*G_XXOLD_IN_COMP)
1719 L_REL = L_REL +NEL*G_XXOLD_IN_COMP
1722.and.
IF (IGTYP == 3 G_NOFF == 1) THEN
1723 IFAIL = ELBUF_TAB(NG)%GBUF%FAIL(1)%ILAWF
1724 IDFAIL = ELBUF_TAB(NG)%GBUF%FAIL(1)%IDFAIL
1725 NUVAR = ELBUF_TAB(NG)%GBUF%FAIL(1)%NVAR
1726 LF_DAM = ELBUF_TAB(NG)%GBUF%FAIL(1)%LF_DAM
1727 LF_DAMMX = ELBUF_TAB(NG)%GBUF%FAIL(1)%LF_DAMMX
1728 LF_DAMINI= ELBUF_TAB(NG)%GBUF%FAIL(1)%LF_DAMINI
1729 LF_TDEL = ELBUF_TAB(NG)%GBUF%FAIL(1)%LF_TDEL
1730 LF_INDX = ELBUF_TAB(NG)%GBUF%FAIL(1)%LF_INDX
1731 LF_OFF = ELBUF_TAB(NG)%GBUF%FAIL(1)%LF_OFF
1733 RBUF_L(L_REL+1)=IFAIL
1735 RBUF_L(L_REL+1)=IDFAIL
1737 RBUF_L(L_REL+1)=NUVAR
1739 RBUF_L(L_REL+1)=LF_DAM
1741 RBUF_L(L_REL+1)=LF_DAMMX
1743 RBUF_L(L_REL+1)=LF_DAMINI
1745 RBUF_L(L_REL+1)=LF_TDEL
1747 RBUF_L(L_REL+1)=LF_INDX
1749 RBUF_L(L_REL+1)=LF_OFF
1752 RBUF_L(L_REL+1:L_REL+NEL*NUVAR) = ELBUF_TAB(NG)%GBUF%FAIL(1)%VAR(1:NEL*NUVAR)
1753 L_REL = L_REL+NEL*NUVAR
1754 RBUF_L(L_REL+1:L_REL+NEL*LF_DAM) = ELBUF_TAB(NG)%GBUF%FAIL(1)%DAM(1:NEL*LF_DAM)
1755 L_REL = L_REL+NEL*LF_DAM
1756 RBUF_L(L_REL+1:L_REL+NEL*LF_DAMMX) = ELBUF_TAB(NG)%GBUF%FAIL(1)%DAMMX(1:NEL*LF_DAMMX)
1757 L_REL = L_REL+NEL*LF_DAMMX
1758 RBUF_L(L_REL+1:L_REL+NEL*LF_DAMINI) = ELBUF_TAB(NG)%GBUF%FAIL(1)%DAMINI(1:NEL*LF_DAMINI)
1759 L_REL = L_REL+NEL*LF_DAMINI
1760 RBUF_L(L_REL+1:L_REL+NEL*LF_TDEL) = ELBUF_TAB(NG)%GBUF%FAIL(1)%TDEL(1:NEL*LF_TDEL)
1761 L_REL = L_REL + NEL*LF_TDEL
1762 RBUF_L(L_REL+1:L_REL+NEL*LF_INDX) = ELBUF_TAB(NG)%GBUF%FAIL(1)%INDX(1:NEL*LF_INDX)
1763 L_REL = L_REL + NEL*LF_INDX
1764 RBUF_L(L_REL+1:L_REL+NEL*LF_OFF) = ELBUF_TAB(NG)%GBUF%FAIL(1)%OFF(1:NEL*LF_OFF)
1765 L_REL = L_REL + NEL*LF_OFF
1770 RBUF_L(L_REL+1:L_REL+NEL*G_SLIPRING_ID) = GBUF%SLIPRING_ID(1:NEL*G_SLIPRING_ID)
1771 L_REL = L_REL +NEL*G_SLIPRING_ID
1772 RBUF_L(L_REL+1:L_REL+NEL*G_SLIPRING_FRAM_ID) = GBUF%SLIPRING_FRAM_ID(1:NEL*G_SLIPRING_FRAM_ID)
1773 L_REL = L_REL +NEL*G_SLIPRING_FRAM_ID
1774 RBUF_L(L_REL+1:L_REL+NEL*G_SLIPRING_STRAND) = GBUF%SLIPRING_STRAND(1:NEL*G_SLIPRING_STRAND)
1775 L_REL = L_REL +NEL*G_SLIPRING_STRAND
1776 RBUF_L(L_REL+1:L_REL+NEL*G_RETRACTOR_ID)= GBUF%RETRACTOR_ID(1:NEL*G_RETRACTOR_ID)
1777 L_REL = L_REL +NEL*G_RETRACTOR_ID
1778 RBUF_L(L_REL+1:L_REL+NEL*G_RINGSLIP)= GBUF%RINGSLIP(1:NEL*G_RINGSLIP)
1779 L_REL = L_REL +NEL*G_RINGSLIP
1780 RBUF_L(L_REL+1:L_REL+NEL*G_ADD_NODE)= GBUF%ADD_NODE(1:NEL*G_ADD_NODE)
1781 L_REL = L_REL +NEL*G_ADD_NODE
1782 RBUF_L(L_REL+1:L_REL+NEL*G_UPDATE) = GBUF%UPDATE(1:NEL*G_UPDATE)
1783 L_REL = L_REL +NEL*G_UPDATE
1784 RBUF_L(L_REL+1:L_REL+NEL*G_FRAM_FACTOR) = GBUF%FRAM_FACTOR(1:NEL*G_FRAM_FACTOR)
1785 L_REL = L_REL +NEL*G_FRAM_FACTOR
1786 RBUF_L(L_REL+1:L_REL+NEL*G_INTVAR) = GBUF%INTVAR(1:NEL*G_INTVAR)
1787 L_REL = L_REL +NEL*G_INTVAR
1789 RBUF_L(L_REL+1:L_REL+NEL*G_IDT_TSH) = GBUF%IDT_TSH(1:NEL*G_IDT_TSH)
1790 L_REL = L_REL +NEL*G_IDT_TSH
1792 RBUF_L(L_REL+1:L_REL + NEL*GBUF%G_TEMPG)= GBUF%TEMPG(1:NEL*GBUF%G_TEMPG)
1793 L_REL = L_REL + NEL*GBUF%G_TEMPG
1798 RBUF_L(L_REL+1:L_REL+NEL*G_TM_YIELD) = GBUF%TM_YIELD(1:NEL*G_TM_YIELD)
1799 L_REL = L_REL +NEL*G_TM_YIELD
1800 RBUF_L(L_REL+1:L_REL+NEL*G_TM_SEQ) = GBUF%TM_SEQ(1:NEL*G_TM_SEQ)
1801 L_REL = L_REL +NEL*G_TM_SEQ
1802 RBUF_L(L_REL+1:L_REL+NEL*G_TM_EINT) = GBUF%TM_EINT(1:NEL*G_TM_EINT)
1803 L_REL = L_REL +NEL*G_TM_EINT
1804 RBUF_L(L_REL+1:L_REL+NEL*G_TM_DMG) = GBUF%TM_DMG(1:NEL*G_TM_DMG)
1805 L_REL = L_REL +NEL*G_TM_DMG
1806 RBUF_L(L_REL+1:L_REL+NEL*G_TM_SIG) = GBUF%TM_SIG1(1:NEL*G_TM_SIG)
1807 L_REL = L_REL +NEL*G_TM_SIG
1808 RBUF_L(L_REL+1:L_REL+NEL*G_TM_SIG) = GBUF%TM_SIG3(1:NEL*G_TM_SIG)
1809 L_REL = L_REL +NEL*G_TM_SIG
1810 RBUF_L(L_REL+1:L_REL+NEL*G_TM_STRA) = GBUF%TM_STRA1(1:NEL*G_TM_STRA)
1811 L_REL = L_REL +NEL*G_TM_STRA
1812 RBUF_L(L_REL+1:L_REL+NEL*G_TM_STRA) = GBUF%TM_STRA3(1:NEL*G_TM_STRA)
1813 L_REL = L_REL +NEL*G_TM_STRA
1815 IF (DEBUG_PRINT == 1) THEN
1816 print*,' total glob vars =
', L_REL-SUM
1821 CALL WRITE_DB (RBUF_L,L_REL)
1822 IF( SDP_RBUF >0)THEN
1823 CALL WRITE_DPDB(DP_RBUF,SDP_RBUF)
1829 LEN_AM = LEN_AM + L_REL
subroutine ddsplit(p, cep, cel, igeo, mat_elem, ipm, icode, iskew, iskn, insel, ibcslag, ipart, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, iparttg, detonators, ipartx, npc, ixtg, group_param_tab, ixtg6, ixs, ixs10, ixs20, ixs16, ixq, ixc, ixt, ixp, ixr, itab, itabm1, gjbufi, nale, ale_connectivity, kxx, ixx, ibcl, ibfv, las, laccelm, nnlink, lllink, iparg, igrav, lgrav, ibvel, lbvel, iactiv, factiv, kinet, ipari, nprw, lprw, iexmad, npby, lpby, ixri, nstrf, ljoint, pornod, monvol, icontact, lagbuf, fr_iad, x, d, v, vr, dr, thke, dampr, damp, ms, in, tf, pm, skew, xframe, geo, eani, bufmat, bufgeo, bufsf, brmpc, gjbufr, w, veul, fill, dfill, wb, dsav, asav, msnf, spbuf, fac, vel, fsav, fzero, xlas, accelm, fbvel, gravfac, fr_wave, failwave, parts0, elbuf, rwl, rwsav, rby, rivet, secbuf, rvolu, rconx, nloc_dmg, fvmain, libagale, lenthg, lbufmat, lbufgeo, lbufsf, lenxlas, lnom_opt, lenlas, lenvolu, npts, cne, lcne, addcne, cni2, lcni2g, addcni2, cepi2, celi2, i2nsnt, probint, ddstat, pm1shf, dd_iad, kxsp, ixsp, nod2sp, cepsp, nthwa, nairwa, nmnt, l_mul_lag1, l_mul_lag, lwaspio, ipartsp, ispcond, pm1sph, wma, eigipm, eigibuf, eigrpm, iflow, rflow, memflow, iexlnk, fasolfr, iparth, fxbipm, fxbrpm, fxbnod, fxbmod, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxbdep, fxbvit, fxbacc, fxbelm, fxbsig, fxbgrvi, fxbgrvr, iadll, lll, ibmpc, lambda, lrbagale, iskwp, nskwp, isensp, nsensp, iaccp, naccp, ipart_state, mcp, temp, unitab, intstamp, iframe, clusters, partsav, ibft, fbft, ibcv, fconv, irbe3, lrbe3, frbe3, front_rm, rbym, irbym, lcrbym, inoise, fnoise, ms0, admsms, nom_sect, ispsym, sh4tree, sh3tree, ipadmesh, ibfflux, fbfflux, sh4trim, sh3trim, padmesh, msc, mstg, inc, intg, ptg, mcpc, mcptg, rcontact, acontact, pcontact, mscnd, incnd, mssa, mstr, msp, msrt, ibcr, fradia, dmelc, dmeltg, dmels, dmeltr, dmelp, dmelrt, res_sms, isphio, lprtsph, lonfsph, vsphio, sphveln, alph, ifill, ims, irbe2, lrbe2, ms_ply, zi_ply, inod_pxfem, iel_pxfem, icodply, iskwply, addcne_pxfem, cne_pxfem, cel_pxfem, ithvar, xdp, table, celsph, icfield, lcfield, cfield, msz2, itask, diag_sms, iloadp, lloadp, loadp, inod_crkxfem, iel_crkxfem, addcne_crkxfem, cne_crkxfem, cel_crkxfem, ibufssg_io, intercep, ibordnode, iedgesh, ibordedge, linale, nodedge, iedge, cep_crkxfem, iedge_tmp, crknodiad, elbuf_tab, nom_opt, lgauge, gauge, igaup, ngaup, nodlevxf, frontb_r2r, dflow, vflow, wflow, sph2sol, sol2sph, irst, elcutc, nodenr, kxfenod2elc, enrtag, intbuf_tab, i11flag, xfem_tab, lenthgr, rthbuf, ixig3d, kxig3d, knot, ipartig3d, wige, ncrkpart, indx_crk, crklvset, crkshell, crksky, crkavx, crkedge, sensors, stack, xfem_phantom, t8, tab_ump, poin_ump, sol2sph_typ, addcsrect, csrect, drape, loads, itagnd, icnds10, addcncnd, cepcnd, celcnd, cncnd, nativ_sms, i24maxnsne, multi_fvm, segquadfr, intbuf_fric_tab, subset, igrnod, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, igrsurf, igrslin, poin_part_shell, poin_part_tri, poin_part_sol, mid_pid_shell, mid_pid_tri, mid_pid_sol, tag_nm, nindx_nm, indx_nm, tag_scratch, nindx_scrt, indx_scrt, flag_24_25, numnod_l, tag_skn, multiple_skew, igrsurf_proc, knotlocpc, knotlocel, ale_elm, size_ale_elm, pinch_data, tag_skins6, ibcscyc, lbcscyc, t_monvol, indx_s, indx_q, indx_tg, face_elm_s, face_elm_q, face_elm_tg, nbr_th_monvol, ebcs_tab, kloadpinter, loadpinter, dgaploadint, s_loadpinter, len_cep, dynain_data, drapeg, user_windows, output, interfaces, number_load_cyl, loads_per_proc, python, dpl0cld, vel0cld, names_and_titles, bcs_per_proc, constraint_struct, glob_therm, pblast)