38#include "implicit_f.inc"
47 INTEGER IPARG(NPARG,NGROUP)
48 TYPE(elbuf_struct_),
DIMENSION(NGROUP) :: ELBUF_SRC,ELBUF_TGT
49 TARGET :: elbuf_src,elbuf_tgt
53 INTEGER IL,IR,IS,IT,ITY,K,NUVAR,NVARTMP,NFAIL,NLAY,NPTR,NPTS,NPTT,NPT,
54 . NPG,NEL,IGTYP,LEN1,LEN2,NPTTOT,I,NONL,INLOC
56 . G_GAMA,G_SIG,G_OFF,G_NOFF,G_EINT,G_EINS,G_TEMP,
57 . G_RHO,G_PLA,G_VOL,G_EPSD,G_QVIS,G_DELTAX,G_TB,G_RK,G_RE,G_WPLA,
58 . G_SMSTR,G_HOURG,G_BFRAC,G_THK,G_FOR,G_MOM,G_TAG22,G_STRA,G_SIGI,
59 . G_DMG,G_FORPG,G_MOMPG,G_STRPG,G_EPSQ,G_UELR,G_UELR1,G_IERR,
60 . G_DAMDL,G_FORTH,G_EINTTH,G_SEQ,G_STRW,G_STRWPG,
61 . G_AREA,G_SKEW,G_LENGTH,G_TOTDEPL,,G_FOREP,G_MOMEP,
62 . G_DEP_IN_TENS,G_DEP_IN_COMP,G_ROT_IN_TENS,G_ROT_IN_COMP,
63 . G_POSX,G_POSY,G_POSZ,G_POSXX,G_POSYY,G_POSZZ,G_YIELD,G_LENGTH_ERR,
64 . G_DV,G_DFS,G_SKEW_ERR,G_E6,G_RUPTCRIT,G_MASS,G_V_REPCVT,
65 . G_VR_REPCVT,G_NUVAR,G_NUVARN,G_INIFRIC,G_DT,G_ISMS,G_STRHG,G_ABURN,G_MU,
66 . G_PLANL,G_EPSDNL,G_BPRELD,G_COR_NF,G_COR_FR,G_COR_XR,G_DEFINI,G_FORINI,
67 . G_FORPGPINCH,G_MOMPGPINCH,G_EPGPINCHXZ,G_EPGPINCHYZ,G_EPGPINCHZZ,
68 . G_SKEW_ID,G_MAXFRAC,G_MAXEPS,G_SLIPRING_ID,G_SLIPRING_STRAND,G_RETRACTOR_ID,
69 . G_RINGSLIP,G_ADD_NODE,G_UPDATE,G_INTVAR,G_BETAORTH,G_AMU,G_SLIPRING_FRAM_ID,
70 . G_FRAM_FACTOR,G_TSAIWU,G_DMGSCL,G_SH_IOFFSET,G_FOR_G,G_FORPG_G,G_YIELD_IN_COMP,
73 . LY_DMG,LY_GAMA,LY_DIRA,LY_DIRB,LY_CRKDIR,,LY_SIGPT,LY_HOURG,
74 . LY_UELR,LY_UELR1,LY_OFFPG,LY_OFF,LEN_PLAPT,LEN_SIGPT
76 . L_OFF,,L_EINS,L_RHO,L_DP_DRHO,L_VOL,L_PLA,L_TB,L_TEMP,L_WPLA,
77 . L_RK,L_RE,L_VK,L_ROB,L_SIG,L_SIGV,,L_SIGA,L_SIGD,L_SIGB,
78 . L_SIGC,L_SIGF,L_STRA,L_EPSA,L_EPSD,L_EPSQ,L_EPSF,L_CRAK,
79 . L_ANG,L_SF,L_QVIS,L_DELTAX,L_GAMA,
80 . L_DAM,L_DSUM,L_DGLO,L_EPE,L_EPC,L_XST,L_SSP,L_Z,L_FRAC,L_VISC,
81 . L_THK,L_FOR,,L_SMSTR,L_BFRAC,L_DMG,LF_DAM,LF_DAMMX,LF_TDEL,
82 . LF_INDX,LF_OFF,L_FORTH,L_EINTTH,L_SEQ,L_SIGPLY,L_FAC_YLD,L_ABURN,
83 . L_MU,,L_EPSDNL,L_DMGSCL,L_TSAIWU,LF_DAMINI,IFAIL,IDFAIL
84 TYPE(buf_lay_) ,
POINTER :: BUFLY
85 TYPE(l_bufel_) ,
POINTER :: LBUF
86 TYPE(g_bufel_) ,
POINTER :: GBUFS,GBUFT
87 TYPE(l_bufel_) ,
POINTER :: LBUFS,LBUFT
88 TYPE(fail_loc_) ,
POINTER :: FLOCS,FLOCT
89 TYPE(buf_visc_) ,
POINTER :: VISCS,VISCT
90 TYPE(buf_eos_) ,
POINTER :: EOSS,EOST
91 TYPE(buf_nloc_) ,
POINTER :: BUFNLS,BUFNLT
92 TYPE(buf_nlocts_),
POINTER :: BUFNLSTS,BUFNLTTS
101 IF (ity == 1 .OR. ity == 2 .OR. ity == 51 .OR.
102 . ity == 3 .OR. ity == 7 .OR.
103 . ity == 4 .OR. ity == 5 .OR. ity == 6 .OR. ity == 100)
THEN
105 igtyp = elbuf_src(ng)%IGTYP
106 nel = elbuf_src(ng)%NEL
107 nlay = elbuf_src(ng)%NLAY
108 nptr = elbuf_src(ng)%NPTR
109 npts = elbuf_src(ng)%NPTS
110 nptt = elbuf_src(ng)%NPTT
111 npt = nlay*nptr*npts*nptt
112 IF (ity == 1 .OR. ity == 2 .OR. ity == 51)
THEN
115 ELSEIF (ity == 3 .OR. ity == 7)
THEN
119 npttot = npttot + npg*elbuf_src(ng)%BUFLY(il)%NPTT
121 IF (npt == 0) npttot = npt
122 ELSEIF (ity == 4 .OR. ity == 5 .OR. ity == 6 .OR. ity == 100)
THEN
130 elbuf_tgt(ng)%IGTYP = igtyp
131 elbuf_tgt(ng)%NEL = nel
132 elbuf_tgt(ng)%NLAY = nlay
133 elbuf_tgt(ng)%NPTR = nptr
134 elbuf_tgt(ng)%NPTS = npts
135 elbuf_tgt(ng)%NPTT = nptt
138 elbuf_tgt(ng)%BUFLY(il)%ILAW = elbuf_src(ng)%BUFLY(il)%ILAW
139 elbuf_tgt(ng)%BUFLY(il)%IMAT = elbuf_src(ng)%BUFLY(il)%IMAT
140 elbuf_tgt(ng)%BUFLY(il)%IEOS = elbuf_src(ng
141 elbuf_tgt(ng)%BUFLY(il)%IVISC = elbuf_src(ng)%BUFLY(il)%IVISC
142 elbuf_tgt(ng)%BUFLY(il)%IPORO = elbuf_src(ng)%BUFLY(il)%IPORO
143 elbuf_tgt(ng)%BUFLY(il)%NFAIL = elbuf_src(ng)%BUFLY(il)%NFAIL
144 elbuf_tgt(ng)%BUFLY(il)%NVAR_MAT = elbuf_src(ng)%BUFLY(il)%NVAR_MAT
145 elbuf_tgt(ng)%BUFLY(il)%NVAR_EOS = elbuf_src(ng)%BUFLY(il)%NVAR_EOS
146 elbuf_tgt(ng)%BUFLY(il)%NVARTMP = elbuf_src(ng)%BUFLY(il)%NVARTMP
147 elbuf_tgt(ng)%BUFLY(il)%NVARTMP_EOS = elbuf_src(ng)%BUFLY(il)%NVARTMP_EOS
148 elbuf_tgt(ng)%BUFLY(il)%NVAR_EOS = elbuf_src(ng)%BUFLY(il)%NVAR_EOS
149 elbuf_tgt(ng)%BUFLY(il)%NVAR_VISC = elbuf_src(ng
150 elbuf_tgt(ng)%BUFLY(il)%NVAR_LOC = elbuf_src(ng)%BUFLY(il)%NVAR_LOC
151 elbuf_tgt(ng)%BUFLY(il)%NVAR_LAY = elbuf_src(ng)%BUFLY(il)%NVAR_LAY
152 elbuf_tgt(ng)%BUFLY(il)%NPTT = elbuf_src(ng)%BUFLY(il)%NPTT
156 bufly => elbuf_src(ng)%BUFLY(il)
158 ly_dmg = bufly%LY_DMG
159 ly_gama = bufly%LY_GAMA
160 ly_dira = bufly%LY_DIRA
161 ly_dirb = bufly%LY_DIRB
162 ly_crkdir= bufly%LY_CRKDIR
163 ly_plapt = bufly%LY_PLAPT
164 ly_sigpt = bufly%LY_SIGPT
165 ly_hourg = bufly%LY_HOURG
166 ly_uelr = bufly%LY_UELR
167 ly_uelr1 = bufly%LY_UELR1
168 ly_offpg = bufly%LY_OFFPG
169 ly_off = bufly%LY_OFF
172 l_gama = bufly%L_GAMA
173 l_stra = bufly%L_STRA
174 l_frac = bufly%L_FRAC
175 l_bfrac = bufly%L_BFRAC
176 l_eint = bufly%L_EINT
177 l_eins = bufly%L_EINS
179 l_dp_drho= bufly%L_DP_DRHO
180 l_qvis = bufly%L_QVIS
181 l_deltax = bufly%L_DELTAX
183 l_epsa = bufly%L_EPSA
184 l_epsd = bufly%L_EPSD
185 l_epsq = bufly%L_EPSQ
186 l_epsf = bufly%L_EPSF
188 l_wpla = bufly%L_WPLA
189 l_temp = bufly%L_TEMP
197 l_dsum = bufly%L_DSUM
198 l_dglo = bufly%L_DGLO
199 l_crak = bufly%L_CRAK
206 l_visc = bufly%L_VISC
207 l_sigl = bufly%L_SIGL
208 l_sigv = bufly%L_SIGV
209 l_siga = bufly%L_SIGA
210 l_sigb = bufly%L_SIGB
211 l_sigc = bufly%L_SIGC
212 l_sigd = bufly%L_SIGD
213 l_sigf = bufly%L_SIGF
215 l_sigply = bufly%L_SIGPLY
219 l_smstr = bufly%L_SMSTR
221 l_forth = bufly%L_FORTH
222 l_eintth = bufly%L_EINTTH
224 l_fac_yld = bufly%L_FAC_YLD
225 l_aburn = bufly%L_ABURN
227 l_planl = bufly%L_PLANL
228 l_epsdnl = bufly%L_EPSDNL
229 l_dmgscl = bufly%L_DMGSCL
230 l_tsaiwu = bufly%L_TSAIWU
233 elbuf_tgt(ng)%BUFLY(il)%DMG(1:nel*ly_dmg) =
234 . bufly%DMG(1:nel*ly_dmg)
235 elbuf_tgt(ng)%BUFLY(il)%GAMA(1:nel*ly_gama) =
236 . bufly%GAMA(1:nel*ly_gama)
237 elbuf_tgt(ng)%BUFLY(il)%DIRA(1:nel*ly_dira) =
238 . bufly%DIRA(1:nel*ly_dira)
239 elbuf_tgt(ng)%BUFLY(il)%DIRB(1:nel*ly_dirb) =
240 . bufly%DIRB(1:nel*ly_dirb)
241 elbuf_tgt(ng)%BUFLY(il)%CRKDIR(1:nel*ly_crkdir) =
242 . bufly%CRKDIR(1:nel*ly_crkdir)
243 elbuf_tgt(ng)%BUFLY(il)%HOURG(1:nel*ly_hourg) =
244 . bufly%HOURG(1:nel*ly_hourg)
245 elbuf_tgt(ng)%BUFLY(il)%UELR(1:nel*ly_uelr) =
246 . bufly%UELR(1:nel*ly_uelr)
247 elbuf_tgt(ng)%BUFLY(il)%UELR1(1:nel*ly_uelr1) =
248 . bufly%UELR1(1:nel*ly_uelr1)
249 elbuf_tgt(ng)%BUFLY(il)%OFFPG(1:nel*ly_offpg) =
250 . bufly%OFFPG(1:nel*ly_offpg)
251 elbuf_tgt(ng)%BUFLY(il)%OFF(1:nel*ly_off) =
252 . bufly%OFF(1:nel*ly_off)
254 IF (igtyp == 51 .OR. igtyp == 52)
THEN
255 nptt = elbuf_src(ng)%BUFLY(il)%NPTT
257 nptt = elbuf_src(ng)%NPTT
263 lbufs => elbuf_src(ng)%BUFLY(il)%LBUF(ir,is,it)
264 lbuft => elbuf_tgt(ng)%BUFLY(il)%LBUF(ir,is,it)
266 lbuft%OFF(1:nel*l_off) =lbufs%OFF(1:nel*l_off)
267 lbuft%GAMA(1:nel*l_gama) =lbufs%GAMA(1:nel*l_gama)
268 lbuft%STRA(1:nel*l_stra) =lbufs%STRA(1:nel*l_stra)
269 lbuft%FRAC(1:nel*l_frac) =lbufs%FRAC(1:nel*l_frac)
270 lbuft%BFRAC(1:nel*l_bfrac) =lbufs%BFRAC(1:nel*l_bfrac)
271 lbuft%EINT(1:nel*l_eint) =lbufs%EINT(1:nel*l_eint)
272 lbuft%EINS(1:nel*l_eins) =lbufs%EINS(1:nel*l_eins)
273 lbuft%RHO(1:nel*l_rho) =lbufs%RHO(1:nel*l_rho)
274 lbuft%DP_DRHO(1:nel*l_dp_drho)=lbufs%DP_DRHO(1:nel*l_dp_drho)
275 lbuft%QVIS(1:nel*l_qvis) =lbufs%QVIS(1:nel*l_qvis)
276 lbuft%DELTAX(1:nel*l_deltax) =lbufs%DELTAX(1:nel*l_deltax)
277 lbuft%VOL(1:nel*l_vol) =lbufs%VOL(1:nel*l_vol)
278 lbuft%EPSA(1:nel*l_epsa) =lbufs%EPSA(1:nel*l_epsa)
279 lbuft%EPSD(1:nel*l_epsd) =lbufs%EPSD(1:nel*l_epsd)
280 lbuft%EPSQ(1:nel*l_epsq) =lbufs%EPSQ(1:nel*l_epsq)
281 lbuft%EPSF(1:nel*l_epsf) =lbufs%EPSF(1:nel*l_epsf)
282 lbuft%PLA(1:nel*l_pla) =lbufs%PLA(1:nel*l_pla)
283 lbuft%WPLA(1:nel*l_wpla) =lbufs%WPLA(1:nel*l_wpla)
284 lbuft%TEMP(1:nel*l_temp) =lbufs%TEMP(1:nel*l_temp)
285 lbuft%TB(1:nel*l_tb) =lbufs%TB(1:nel*l_tb)
286 lbuft%RK(1:nel*l_rk) =lbufs%RK(1:nel*l_rk)
287 lbuft%RE(1:nel*l_re) =lbufs%RE(1:nel*l_re)
288 lbuft%VK(1:nel*l_vk) =lbufs%VK(1:nel*l_vk)
289 lbuft%SF(1:nel*l_sf) =lbufs%SF(1:nel*l_sf)
290 lbuft%ROB(1:nel*l_rob) =lbufs%ROB(1:nel*l_rob)
291 lbuft%DAM(1:nel*l_dam) =lbufs%DAM(1:nel*l_dam)
292 lbuft%DSUM(1:nel*l_dsum) =lbufs%DSUM(1:nel*l_dsum)
293 lbuft%DGLO(1:nel*l_dglo) =lbufs%DGLO(1:nel*l_dglo)
294 lbuft%CRAK(1:nel*l_crak) =lbufs%CRAK(1:nel*l_crak)
295 lbuft%ANG(1:nel*l_ang) =lbufs%ANG(1:nel*l_ang)
296 lbuft%EPE(1:nel*l_epe) =lbufs%EPE(1:nel*l_epe)
297 lbuft%EPC(1:nel*l_epc) =lbufs%EPC(1:nel*l_epc)
298 lbuft%XST(1:nel*l_xst) =lbufs%XST(1:nel*l_xst)
299 lbuft%SSP(1:nel*l_ssp) =lbufs%SSP(1:nel*l_ssp)
300 lbuft%Z(1:nel*l_z) =lbufs%Z(1:nel*l_z)
301 lbuft%VISC(1:nel*l_visc) =lbufs%VISC(1:nel*l_visc)
302 lbuft%SIGL(1:nel*l_sigl) =lbufs%SIGL(1:nel*l_sigl)
303 lbuft%SIGV(1:nel*l_sigv) =lbufs%SIGV(1:nel*l_sigv)
304 lbuft%SIGA(1:nel*l_siga) =lbufs%SIGA(1:nel*l_siga)
305 lbuft%SIGB(1:nel*l_sigb) =lbufs%SIGB(1:nel*l_sigb)
306 lbuft%SIGC(1:nel*l_sigc) =lbufs%SIGC(1:nel*l_sigc)
307 lbuft%SIGD(1:nel*l_sigd) =lbufs%SIGD(1:nel*l_sigd)
308 lbuft%SIGF(1:nel*l_sigf) =lbufs%SIGF(1:nel*l_sigf)
309 lbuft%SIG(1:nel*l_sig) =lbufs%SIG(1:nel*l_sig)
310 lbuft%SIGPLY(1:nel*l_sigply) =lbufs%SIGPLY(1:nel*l_sigply)
312 lbuft%MOM(1:nel*l_mom) =lbufs%MOM(1:nel*l_mom)
313 lbuft%THK(1:nel*l_thk) =lbufs%THK(1:nel*l_thk)
314 lbuft%SMSTR(1:nel*l_smstr) =lbufs%SMSTR(1:nel*l_smstr)
315 lbuft%DMG(1:nel*l_dmg) =lbufs%DMG(1:nel*l_dmg)
316 lbuft%FORTH(1:nel*l_forth) =lbufs%FORTH(1:nel*l_forth)
317 lbuft%EINTTH(1:nel*l_eintth) =lbufs%EINTTH(1:nel*l_eintth)
319 lbuft%FAC_YLD(1:nel*l_fac_yld)=lbufs%FAC_YLD(1:nel*l_fac_yld)
320 lbuft%ABURN(1:nel*l_aburn) =lbufs%ABURN(1:nel*l_aburn)
321 lbuft%MU(1:nel*l_mu) =lbufs%MU(1:nel*l_mu)
322 lbuft%PLANL(1:nel*l_planl) =lbufs%PLANL(1:nel*l_planl)
323 lbuft%EPSDNL(1:nel*l_epsdnl) =lbufs%EPSDNL(1:nel*l_epsdnl)
324 lbuft%DMGSCL(1:nel*l_dmgscl) =lbufs%DMGSCL(1:nel*l_dmgscl)
325 lbuft%TSAIWU(1:nel*l_tsaiwu) =lbufs%TSAIWU(1:nel*l_tsaiwu)
333 bufly => elbuf_src(ng)%BUFLY(il)
335 len_plapt = nel*ly_plapt
336 len_sigpt = nel*ly_sigpt
338 IF (igtyp /= 51 .AND. igtyp /= 52 )
THEN
339 len_plapt = nel*ly_plapt*npt
340 len_sigpt = nel*ly_sigpt*npt
342 len_plapt = nel*ly_plapt*bufly%NPTT
343 len_sigpt = nel*ly_sigpt*bufly%NPTT
346 elbuf_tgt(ng)%BUFLY(il)%PLAPT(1:len_plapt) =
347 . bufly%PLAPT(1:len_plapt)
348 elbuf_tgt(ng)%BUFLY(il)%SIGPT(1:len_sigpt) =
349 . bufly%SIGPT(1:len_sigpt)
354 IF (igtyp == 51 .OR. igtyp == 52)
THEN
355 nptt = elbuf_src(ng)%BUFLY(il)%NPTT
357 lbuf => elbuf_src(ng)%BUFLY(il)%LBUF(1,1,it)
358 elbuf_tgt(ng)%BUFLY(il)%PLAPT(1:nel*ly_plapt)
359 . => lbuf%PLA(1:nel*l_pla)
360 elbuf_tgt(ng)%BUFLY(il)%SIGPT(1:nel*ly_sigpt)
361 . => lbuf%SIG(1:nel*l_sig)
364 lbuf => elbuf_src(ng)%BUFLY(il)%LBUF(1,1,1)
365 elbuf_tgt(ng)%BUFLY(il)%PLAPT(1:nel*ly_plapt)
366 . => lbuf%PLA(1:nel*l_pla)
367 elbuf_tgt(ng)%BUFLY(il)%SIGPT(1:nel*ly_sigpt)
368 . => lbuf%SIG(1:nel*l_sig)
372 bufly => elbuf_src(ng)%BUFLY(1)
373 IF (igtyp == 51 .OR. igtyp == 52)
THEN
376 len1 = 1+(it-1)*nel*ly_plapt
377 len2 = it*nel*ly_plapt
378 elbuf_tgt(ng)%BUFLY(1)%PLAPT(len1:len2)
379 . => bufly%LBUF(1,1,it)%PLA(1:nel*l_pla)
380 len1 = 1+(it-1)*nel*ly_sigpt
381 len2 = it*nel*ly_sigpt
382 elbuf_tgt(ng)%BUFLY(1)%SIGPT(len1:len2)
383 . => bufly%LBUF(1,1,it)%SIG(1:nel*l_sig)
387 len1 = 1+(it-1)*nel*ly_plapt
388 len2 = it*nel*ly_plapt
389 elbuf_tgt(ng)%BUFLY(1)%PLAPT(len1:len2)
390 . => bufly%LBUF(1,1,it)%PLA(1:nel*l_pla)
391 len1 = 1+(it-1)*nel*ly_sigpt
392 len2 = it*nel*ly_sigpt
393 elbuf_tgt(ng)%BUFLY(1)%SIGPT(len1
394 . => bufly%LBUF(1,1,it)%SIG(1:nel*l_sig)
412 nvartmp = elbuf_src(ng)%BUFLY(il)%NVARTMP
413 IF (igtyp == 51 .OR. igtyp == 52)
THEN
414 nptt = elbuf_src(ng)%BUFLY(il)%NPTT
416 nptt = elbuf_src(ng)%NPTT
421 elbuf_tgt(ng)%BUFLY(il)%MAT(ir,is,it)%VAR(1:nel*nuvar)=
422 . elbuf_src(ng)%BUFLY(il)%MAT(ir,is,it)%VAR(1:nel*nuvar)
423 elbuf_tgt(ng)%BUFLY(il)%MAT(ir,is,it)%VARTMP(1:nel*nvartmp)=
424 . elbuf_src(ng)%BUFLY(il)%MAT(ir,is,it)%VARTMP(1:nel*nvartmp)
433 nfail = elbuf_src(ng)%BUFLY(il)%NFAIL
434 IF (igtyp == 51 .OR. igtyp == 52)
THEN
435 nptt = elbuf_src(ng)%BUFLY(il)%NPTT
437 nptt = elbuf_src(ng)%NPTT
443 flocs=>elbuf_src(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)
444 floct=>elbuf_tgt(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)
447 idfail = flocs%IDFAIL
448 floct%IDFAIL = idfail
451 floct%VAR(1:nel*nuvar) = flocs%VAR(1:nel*nuvar)
453 lf_dam = flocs%LF_DAM
454 floct%LF_DAM = lf_dam
455 floct%DAM(1:nel*lf_dam) = flocs%DAM(1:nel*lf_dam)
457 lf_dammx = flocs%LF_DAMMX
458 floct%LF_DAMMX = lf_dammx
459 floct%DAMMX(1:nel*lf_dammx) = flocs%DAMMX(1:nel*lf_dammx)
461 lf_damini = flocs%LF_DAMINI
462 floct%LF_DAMINI = lf_damini
463 floct%DAMINI(1:nel*lf_damini) = flocs%DAMINI(1:nel*lf_damini)
465 lf_tdel = flocs%LF_TDEL
466 floct%LF_TDEL = lf_tdel
467 floct%TDEL(1:nel*lf_tdel) = flocs%TDEL(1:nel*lf_tdel)
469 lf_indx = flocs%LF_INDX
470 floct%LF_INDX = lf_indx
471 floct%INDX(1:nel*lf_indx) = flocs%INDX(1:nel*lf_indx)
473 lf_off = flocs%LF_OFF
474 floct%LF_OFF = lf_off
475 floct%OFF(1:nel*lf_off) = flocs%OFF(1:nel*lf_off)
486 nuvar = elbuf_src(ng)%BUFLY(il)%NVAR_VISC
487 IF (igtyp == 51 .OR. igtyp == 52)
THEN
488 nptt = elbuf_src(ng)%BUFLY(il)%NPTT
490 nptt = elbuf_src(ng)%NPTT
495 viscs => elbuf_src(ng)%BUFLY(il)%VISC(ir,is,it)
496 visct => elbuf_tgt(ng)%BUFLY(il)%VISC(ir,is,it)
497 visct%VAR(1:nel*nuvar) = viscs%VAR(1:nel*nuvar)
506 IF ((ity==3).OR.(ity==7))
THEN
508 nptt = elbuf_src(ng)%NPTT
509 IF ((inloc>0).AND.(nptt>1))
THEN
520 bufnls => elbuf_src(ng)%NLOC(ir,is)
522 bufnlt => elbuf_tgt(ng)%NLOC(ir,is)
526 bufnlt%MASSTH(i,1:nonl) = bufnls%MASSTH(i,1:nonl)
528 bufnlt%UNLTH(i,1:nonl) = bufnls%UNLTH(i,1:nonl)
530 bufnlt%VNLTH(i,1:nonl) = bufnls%VNLTH(i,1:nonl)
532 bufnlt%FNLTH(i,1:nonl) = bufnls%FNLTH(i,1:nonl)
542 nptt = elbuf_src(ng)%NLAY
543 IF ((inloc>0).AND.(nptt>1))
THEN
550 bufnlsts => elbuf_src(ng)%NLOCTS(ir,is)
552 bufnltts => elbuf_tgt(ng)%NLOCTS(ir,is)
556 bufnltts%MASSTH(i,1:nonl) = bufnlsts%MASSTH(i,1:nonl)
558 bufnltts%UNLTH(i,1:nonl) = bufnlsts%UNLTH(i,1:nonl)
560 bufnltts%VNLTH(i,1:nonl) = bufnlsts%VNLTH(i,1:nonl)
562 bufnltts%FNLTH(i,1:nonl) = bufnlsts%FNLTH(i,1:nonl)
572 nuvar = elbuf_src(ng)%BUFLY(il)%NVAR_EOS
573 nvartmp = elbuf_src(ng)%BUFLY(il)%NVARTMP_EOS
574 IF (igtyp == 51 .OR. igtyp == 52)
THEN
575 nptt = elbuf_src(ng)%BUFLY(il)%NPTT
577 nptt = elbuf_src(ng)%NPTT
582 eoss => elbuf_src(ng)%BUFLY(il)%EOS(ir,is,it)
583 eost => elbuf_tgt(ng)%BUFLY(il)%EOS(ir,is,it)
584 eost%VAR(1:nel*nuvar) = eoss%VAR(1:nel*nuvar)
585 eost%VARTMP(1:nel*nvartmp) = eoss%VARTMP(1:nel*nvartmp)
593 gbufs => elbuf_src(ng)%GBUF
594 gbuft => elbuf_tgt(ng)%GBUF
596 gbuft%NVAR_GLOB = gbufs%NVAR_GLOB
598 g_noff = gbufs%G_NOFF
599 g_ierr = gbufs%G_IERR
601 g_gama = gbufs%G_GAMA
602 g_smstr = gbufs%G_SMSTR
603 g_hourg = gbufs%G_HOURG
604 g_bfrac = gbufs%G_BFRAC
605 g_eint = gbufs%G_EINT
606 g_eins = gbufs%G_EINS
608 g_qvis = gbufs%G_QVIS
609 g_deltax= gbufs%G_DELTAX
611 g_epsd = gbufs%G_EPSD
612 g_epsq = gbufs%G_EPSQ
614 g_wpla = gbufs%G_WPLA
615 g_temp = gbufs%G_TEMP
623 g_tag22 = gbufs%G_TAG22
624 g_stra = gbufs%G_STRA
625 g_sigi = gbufs%G_SIGI
627 g_forpg = gbufs%G_FORPG
628 g_mompg = gbufs%G_MOMPG
630 g_forpgpinch = gbufs%G_FORPGPINCH
631 g_mompgpinch = gbufs%G_MOMPGPINCH
632 g_epgpinchxz = gbufs%G_EPGPINCHXZ
633 g_epgpinchyz = gbufs%G_EPGPINCHYZ
634 g_epgpinchzz = gbufs%G_EPGPINCHZZ
636 g_strpg = gbufs%G_STRPG
637 g_uelr = gbufs%G_UELR
638 g_uelr1 = gbufs%G_UELR1
639 g_damdl = gbufs%G_DAMDL
640 g_forth = gbufs%G_FORTH
641 g_eintth= gbufs%G_EINTTH
643 g_strw = gbufs%G_STRW
644 g_strwpg= gbufs%G_STRWPG
646 g_isms = gbufs%G_ISMS
647 g_aburn = gbufs%G_ABURN
649 g_planl = gbufs%G_PLANL
650 g_epsdnl = gbufs%G_EPSDNL
651 g_dmgscl = gbufs%G_DMGSCL
652 g_tsaiwu = gbufs%G_TSAIWU
653 g_bpreld= gbufs%G_BPRELD
654 g_cor_nf = gbufs%G_COR_NF
655 g_cor_fr = gbufs%G_COR_FR
656 g_cor_xr = gbufs%G_COR_XR
657 g_maxfrac= gbufs%G_MAXFRAC
658 g_maxeps = gbufs%G_MAXEPS
659 g_betaorth = gbufs%G_BETAORTH
661 g_for_g = gbufs%G_FOR_G
662 g_forpg_g= gbufs%G_FORPG_G
666 g_area = gbufs%G_AREA
667 g_skew = gbufs%G_SKEW
668 g_length = gbufs%G_LENGTH
669 g_totdepl = gbufs%G_TOTDEPL
670 g_totrot = gbufs%G_TOTROT
671 g_forep = gbufs%G_FOREP
672 g_momep = gbufs%G_MOMEP
674 g_dep_in_comp = gbufs%G_DEP_IN_COMP
675 g_rot_in_tens = gbufs%G_ROT_IN_TENS
676 g_rot_in_comp = gbufs%G_ROT_IN_COMP
677 g_posx = gbufs%G_POSX
678 g_posy = gbufs%G_POSY
679 g_posz = gbufs%G_POSZ
680 g_posxx = gbufs%G_POSXX
682 g_poszz = gbufs%G_POSZZ
683 g_yield = gbufs%G_YIELD
684 g_length_err = gbufs%G_LENGTH_ERR
687 g_skew_err = gbufs%G_SKEW_ERR
689 g_ruptcrit = gbufs%G_RUPTCRIT
690 g_mass = gbufs%G_MASS
691 g_v_repcvt = gbufs%G_V_REPCVT
692 g_vr_repcvt = gbufs%G_VR_REPCVT
693 g_nuvar = gbufs%G_NUVAR
694 g_nuvarn = gbufs%G_NUVARN
695 g_defini = gbufs%G_DEFINI
696 g_forini = gbufs%G_FORINI
697 g_inifric = gbufs%G_INIFRIC
698 g_strhg = gbufs%G_STRHG
699 g_skew_id = gbufs%G_SKEW_ID
700 g_yield_in_comp = gbufs%G_YIELD_IN_COMP
701 g_xxold_in_comp = gbufs%G_XXOLD_IN_COMP
705 g_slipring_id = gbufs%G_SLIPRING_ID
706 g_slipring_fram_id = gbufs%G_SLIPRING_FRAM_ID
707 g_slipring_strand = gbufs%G_SLIPRING_STRAND
708 g_retractor_id = gbufs%G_RETRACTOR_ID
709 g_ringslip = gbufs%G_RINGSLIP
710 g_add_node = gbufs%G_ADD_NODE
711 g_update = gbufs%G_UPDATE
712 g_fram_factor = gbufs%G_FRAM_FACTOR
713 g_intvar = gbufs%G_INTVAR
715 gbuft%NOFF(1:nel*g_noff)
716 gbuft%IERR(1:nel*g_ierr) = gbufs%IERR(1:nel*g_ierr)
717 gbuft%GAMA(1:nel*g_gama) = gbufs%GAMA(1:nel*g_gama)
718 gbuft%SMSTR(1:nel*g_smstr) = gbufs%SMSTR(1:nel*g_smstr)
719 gbuft%HOURG(1:nel*g_hourg) = gbufs%HOURG(1:nel*g_hourg)
720 gbuft%BFRAC(1:nel*g_bfrac) = gbufs%BFRAC(1:nel*g_bfrac)
721 gbuft%TAG22(1:nel*g_tag22) = gbufs%TAG22(1:nel*g_tag22)
722 gbuft%STRA(1:nel*g_stra) = gbufs%STRA(1:nel*g_stra)
723 gbuft%SIGI(1:nel*g_sigi) = gbufs%SIGI(1:nel*g_sigi)
724 gbuft%DMG(1:nel*g_dmg) = gbufs%DMG(1:nel*g_dmg)
725 gbuft%UELR(1:nel*g_uelr) = gbufs%UELR(1:nel*g_uelr)
726 gbuft%UELR1(1:nel*g_uelr1) = gbufs%UELR1(1:nel
727 gbuft%DAMDL(1:nel*g_damdl) = gbufs%DAMDL(1:nel*g_damdl)
728 gbuft%FOR(1:nel*g_for) = gbufs%FOR(1:nel*g_for)
729 gbuft%MOM(1:nel*g_mom) = gbufs%MOM(1:nel*g_mom)
730 gbuft%THK(1:nel*g_thk) = gbufs%THK
731 gbuft%STRW(1:nel*g_strw) = gbufs%STRW(1:nel*g_strw)
734 gbuft%BPRELD(1:nel*g_bpreld) = gbufs%BPRELD(1:nel*g_bpreld)
735 gbuft%COR_NF(1:nel*g_cor_nf) = gbufs%COR_NF(1:nel*g_cor_nf)
736 gbuft%COR_FR(1:nel*g_cor_fr) = gbufs%COR_FR(1:nel*g_cor_fr)
737 gbuft%COR_XR(1:nel*g_cor_xr) = gbufs%COR_XR(1:nel*g_cor_xr)
738 gbuft%MAXFRAC(1:nel*g_maxfrac) = gbufs%MAXFRAC
739 gbuft%MAXEPS(1:nel*g_maxeps) = gbufs%MAXEPS(1:nel*g_maxeps)
740 gbuft%BETAORTH(1:nel*g_betaorth) = gbufs%BETAORTH
741 gbuft%AMU(1:nel*g_amu) = gbufs%AMU(1:nel*g_amu)
743 gbuft%WPLA(1:nel*g_wpla) = gbufs%WPLA(1:nel*g_wpla)
745 IF (npttot == 1)
THEN
746 lbuft => elbuf_tgt(ng)%BUFLY(1)%LBUF(1,1,1)
747 elbuf_tgt(ng)%GBUF%BFRAC => lbuft%BFRAC
748 elbuf_tgt(ng)%GBUF%OFF => lbuft%OFF
749 elbuf_tgt(ng)%GBUF%EINT => lbuft%EINT
750 elbuf_tgt(ng)%GBUF%EINS => lbuft%EINS
751 elbuf_tgt(ng)%GBUF%RHO => lbuft%RHO
752 elbuf_tgt(ng)%GBUF%QVIS => lbuft%QVIS
753 elbuf_tgt(ng)%GBUF%DELTAX => lbuft%DELTAX
754 elbuf_tgt(ng)%GBUF%VOL => lbuft%VOL
755 elbuf_tgt(ng)%GBUF%EPSD => lbuft%EPSD
756 elbuf_tgt(ng)%GBUF%EPSQ => lbuft%EPSQ
757 elbuf_tgt(ng)%GBUF%PLA => lbuft%PLA
758 elbuf_tgt(ng)%GBUF%WPLA => lbuft%WPLA
759 elbuf_tgt(ng)%GBUF%TEMP => lbuft%TEMP
760 elbuf_tgt(ng)%GBUF%TB => lbuft%TB
761 elbuf_tgt(ng)%GBUF%RK => lbuft%RK
762 elbuf_tgt(ng)%GBUF%RE => lbuft%RE
763 elbuf_tgt(ng)%GBUF%SIG => lbuft%SIG
764 elbuf_tgt(ng)%GBUF%FORTH => lbuft%FORTH
765 elbuf_tgt(ng)%GBUF%EINTTH => lbuft%EINTTH
766 elbuf_tgt(ng)%GBUF%SEQ => lbuft%SEQ
767 elbuf_tgt(ng)%GBUF%ABURN => lbuft%ABURN
768 elbuf_tgt(ng)%GBUF%MU => lbuft%MU
770 gbuft%BFRAC(1:nel*g_bfrac) = gbufs%BFRAC(1:nel*g_bfrac)
771 gbuft%OFF(1:nel*g_off) = gbufs%OFF(1:nel*g_off)
772 gbuft%EINT(1:nel*g_eint) = gbufs%EINT(1:nel*g_eint)
773 gbuft%EINS(1:nel*g_eins) = gbufs%EINS(1:nel*g_eins)
774 gbuft%RHO(1:nel*g_rho) = gbufs%RHO(1:nel*g_rho)
775 gbuft%QVIS(1:nel*g_qvis) = gbufs%QVIS(1:nel*g_qvis)
776 gbuft%DELTAX(1:nel*g_deltax)= gbufs%DELTAX(1:nel*g_deltax)
777 gbuft%VOL(1:nel*g_vol) = gbufs%VOL(1:nel*g_vol)
778 gbuft%EPSD(1:nel*g_epsd) = gbufs%EPSD(1:nel*g_epsd)
779 gbuft%EPSQ(1:nel*g_epsq) = gbufs%EPSQ(1:nel*g_epsq)
780 gbuft%PLA(1:nel*g_pla) = gbufs%PLA(1:nel*g_pla)
781 gbuft%TEMP(1:nel*g_temp) = gbufs%TEMP(1:nel*g_temp)
782 gbuft%TB(1:nel*g_tb) = gbufs%TB(1:nel*g_tb)
783 gbuft%RK(1:nel*g_rk) = gbufs%RK(1:nel*g_rk
784 gbuft%RE(1:nel*g_re) = gbufs%RE(1:nel
785 gbuft%SIG(1:nel*g_sig) = gbufs%SIG(1:nel*g_sig)
786 gbuft%FORTH(1:nel*g_forth) = gbufs%FORTH(1
787 gbuft%EINTTH(1:nel*g_eintth)= gbufs%EINTTH(1:nel*g_eintth)
788 gbuft%SEQ(1:nel*g_seq) = gbufs%SEQ(1:nel*g_seq)
789 gbuft%ABURN(1:nel*g_aburn) = gbufs%ABURN(1:nel*g_aburn)
790 gbuft%MU(1:nel*g_mu) = gbufs%MU(1:nel*g_mu)
795 IF(igtyp == 3 .and. ity == 5)
THEN
796 gbuft%DMGSCL(1:nel*g_dmgscl)= gbufs%DMGSCL(1:nel*g_dmgscl)
798 gbuft%AREA(1:nel*g_area)= gbufs%AREA(1:nel*g_area)
799 gbuft%SKEW(1:nel*g_skew)= gbufs%SKEW(1:nel*g_skew)
800 gbuft%LENGTH(1:nel*g_length)= gbufs%LENGTH(1:nel*g_length)
801 gbuft%TOTDEPL(1:nel*g_totdepl)= gbufs%TOTDEPL(1:nel*g_totdepl)
802 gbuft%TOTROT(1:nel*g_totrot)= gbufs%TOTROT(1:nel*g_totrot)
803 gbuft%FOREP(1:nel*g_forep)= gbufs%FOREP(1:nel*g_forep)
804 gbuft%MOMEP(1:nel*g_momep)= gbufs%MOMEP(1:nel*g_momep)
805 gbuft%DEP_IN_TENS(1:nel*g_dep_in_tens)= gbufs%DEP_IN_TENS(1:nel*g_dep_in_tens)
806 gbuft%DEP_IN_COMP(1:nel*g_dep_in_comp)= gbufs%DEP_IN_COMP(1:nel*g_dep_in_comp)
807 gbuft%ROT_IN_TENS(1:nel*g_rot_in_tens)= gbufs%ROT_IN_TENS(1:nel*g_rot_in_tens)
808 gbuft%ROT_IN_COMP(1:nel*g_rot_in_comp)= gbufs%ROT_IN_COMP(1:nel*g_rot_in_comp)
809 gbuft%POSX(1:nel*g_posx)= gbufs%POSX(1:nel*g_posx)
810 gbuft%POSY(1:nel*g_posy)= gbufs%POSY(1:nel*g_posy)
811 gbuft%POSZ(1:nel*g_posz)= gbufs%POSZ(1:nel*g_posz)
812 gbuft%POSXX(1:nel*g_posxx)= gbufs%POSXX(
813 gbuft%POSYY(1:nel*g_posyy)= gbufs%POSYY(1:nel*g_posyy
814 gbuft%POSZZ(1:nel*g_poszz)= gbufs%POSZZ(1:nel*g_poszz)
815 gbuft%YIELD(1:nel*g_yield)= gbufs%YIELD(1:nel
816 gbuft%LENGTH_ERR(1:nel*g_length_err)= gbufs%LENGTH_ERR(1:nel*g_length_err)
817 gbuft%DV(1:nel*g_dv)= gbufs%DV(1:nel*g_dv)
818 gbuft%DFS(1:nel*g_dfs)= gbufs%DFS(1:nel*g_dfs)
819 gbuft%SKEW_ERR(1:nel*g_skew_err)= gbufs%SKEW_ERR(1:nel*g_skew_err)
820 gbuft%E6(1:nel*g_e6)= gbufs%E6(1:nel*g_e6)
821 gbuft%RUPTCRIT(1:nel*g_ruptcrit)= gbufs%RUPTCRIT(1:nel*g_ruptcrit)
822 gbuft%MASS(1:nel*g_mass)= gbufs%MASS(1:nel*g_mass)
823 gbuft%V_REPCVT(1:nel*g_v_repcvt)= gbufs%V_REPCVT(1:nel*g_v_repcvt)
824 gbuft%VR_REPCVT(1:nel*g_vr_repcvt)= gbufs%VR_REPCVT(1:nel*g_vr_repcvt)
825 gbuft%VAR(1:nel*g_nuvar)= gbufs%VAR(1:nel*g_nuvar)
826 gbuft%VARN(1:nel*g_nuvarn)= gbufs%VARN(1:nel*g_nuvarn)
827 gbuft%DEFINI(1:nel*g_defini)= gbufs%DEFINI(1:nel*g_defini)
828 gbuft%FORINI(1:nel*g_forini)= gbufs%FORINI(1:nel*g_forini)
829 gbuft%INIFRIC(1:nel*g_inifric)= gbufs%INIFRIC(1:nel*g_inifric)
830 gbuft%STRHG(1:nel*g_strhg) = gbufs%STRHG(1:nel*g_strhg)
831 gbuft%SKEW_ID(1:nel*g_skew_id)= gbufs%SKEW_ID(1:nel*g_skew_id)
832 gbuft%YIELD_IN_COMP(1:nel*g_yield_in_comp) = gbufs%YIELD_IN_COMP(1:nel*g_yield_in_comp)
833 gbuft%XXOLD_IN_COMP(1:nel*g_xxold_in_comp) = gbufs%XXOLD_IN_COMP(1:nel*g_xxold_in_comp)
837 gbuft%SLIPRING_ID(1:nel*g_slipring_id)=gbufs%SLIPRING_ID(1:nel*g_slipring_id)
838 gbuft%SLIPRING_FRAM_ID(1:nel*g_slipring_fram_id)=gbufs%SLIPRING_FRAM_ID(1:nel*g_slipring_fram_id)
839 gbuft%SLIPRING_STRAND(1:nel*g_slipring_strand)= gbufs%SLIPRING_STRAND(1:nel*g_slipring_strand)
840 gbuft%RETRACTOR_ID(1:nel*g_retractor_id)=gbufs%RETRACTOR_ID(1:nel*g_retractor_id)
841 gbuft%RINGSLIP(1:nel*g_ringslip)=gbufs%RINGSLIP(1:nel*g_ringslip)
842 gbuft%ADD_NODE(1:nel*g_add_node)=gbufs%ADD_NODE(1:nel*g_add_node)
843 gbuft%UPDATE(1:nel*g_update)=gbufs%UPDATE(1:nel*g_update)
844 gbuft%FRAM_FACTOR(1:nel*g_fram_factor)=gbufs%FRAM_FACTOR(1:nel*g_fram_factor)
845 gbuft%INTVAR(1:nel*g_intvar)=gbufs%INTVAR(1:nel*g_intvar)
848 IF (npttot == 1)
THEN
849 lbuft => elbuf_tgt(ng)%BUFLY(1)%LBUF(1,1,1)
850 elbuf_tgt(ng)%GBUF%FORPG => lbuft%FOR
851 elbuf_tgt(ng)%GBUF%MOMPG => lbuft%MOM
859 IF (g_strpg<=g_stra) elbuf_tgt(ng)%GBUF%STRPG => lbuft%STRA
861 elbuf_tgt(ng)%GBUF%FORPG => elbuf_tgt(ng)%GBUF%FOR
862 elbuf_tgt(ng)%GBUF%MOMPG => elbuf_tgt(ng)%GBUF%MOM
870 IF (g_strpg<=g_stra) elbuf_tgt(ng)%GBUF%STRPG => elbuf_tgt(ng)%GBUF%STRA
872 elbuf_tgt(ng)%GBUF%STRWPG=> elbuf_tgt(ng)%GBUF%STRW
873 IF (g_strpg>g_stra) gbuft%STRPG(1:nel*g_strpg) = gbufs%STRPG(1:nel*g_strpg)
874 elbuf_tgt(ng)%GBUF%FORPG_G => elbuf_tgt(ng)%GBUF%FOR_G
875 ELSEIF (npg > 1)
THEN
876 gbuft%FORPG(1:nel*g_forpg) = gbufs%FORPG(1:nel*g_forpg)
877 gbuft%MOMPG(1:nel*g_mompg) = gbufs%MOMPG(1:nel*g_mompg)
879 gbuft%FORPGPINCH(1:nel*g_forpgpinch) = gbufs%FORPGPINCH(1:nel*g_forpgpinch)
880 gbuft%MOMPGPINCH(1:nel*g_mompgpinch) = gbufs%MOMPGPINCH(1:nel*g_mompgpinch)
881 gbuft%EPGPINCHXZ(1:nel*g_epgpinchxz) = gbufs%EPGPINCHXZ(1:nel*g_epgpinchxz)
882 gbuft%EPGPINCHYZ(1:nel*g_epgpinchyz) = gbufs%EPGPINCHYZ(1:nel*g_epgpinchyz
883 gbuft%EPGPINCHZZ(1:nel*g_epgpinchzz) = gbufs%EPGPINCHZZ(1:nel*g_epgpinchzz
885 gbuft%STRPG(1:nel*g_strpg) = gbufs%STRPG(1:nel*g_strpg)
886 gbuft%STRWPG(1:nel*g_strwpg)= gbufs%STRWPG(1:nel*g_strwpg)
887 gbuft%FORPG_G(1:nel*g_forpg_g)= gbufs%FORPG_G(1:nel*g_forpg_g)