31
32
33
34 USE elbufdef_mod
35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "param_c.inc"
43
44
45
46 INTEGER NGROUP
47 INTEGER IPARG(NPARG,NGROUP)
48 TYPE(ELBUF_STRUCT_),DIMENSION(NGROUP),TARGET ::ELBUF_TAB,ELBUF_IMP
49
50
51
52 INTEGER NG,ITY,ERR,BUFLEN,NEL,NPT,NPG,NLAY,NPTR,NPTS,NPTT,NUVAR,NVARTMP,
53 . NFAIL,K,IL,IR,IS,IT,IGTYP,NPTTOT,I,NONL,INLOC,NVAR_EOS,NVARTMP_EOS
54 INTEGER
55 . G_GAMA,G_SIG,G_OFF,G_NOFF,G_EINT,G_EINS,G_TEMP,
56 . G_RHO,G_PLA,G_VOL,G_EPSD,G_QVIS,G_DELTAX,G_TB,G_RK,G_RE,G_WPLA
57 . G_SMSTR,G_HOURG,G_BFRAC,G_THK,G_FOR,G_MOM,G_TAG22,G_STRA,G_SIGI,
58 . G_DMG,G_FORPG,G_MOMPG,G_STRPG,G_UELR,G_UELR1,G_EPSQ,G_IERR,
59 . G_DAMDL,G_FORTH,G_EINTTH,G_SEQ,
60 . G_AREA,G_SKEW,G_LENGTH,G_TOTDEPL,G_TOTROT,G_FOREP,G_MOMEP,
61 . G_DEP_IN_TENS,G_DEP_IN_COMP,G_ROT_IN_TENS,G_ROT_IN_COMP,
62 . G_POSX,G_POSY,G_POSZ,G_POSXX,G_POSYY,G_POSZZ,G_YIELD,G_LENGTH_ERR,
63 . G_DV,G_DFS,G_SKEW_ERR,G_E6,G_RUPTCRIT,G_MASS,G_V_REPCVT,
64 . G_VR_REPCVT,G_NUVAR,G_NUVARN,G_INIFRIC,G_STRHG,G_ABURN,G_MU,
65 . G_BPRELD,G_COR_NF,G_COR_FR,G_COR_XR,G_DEFINI,G_FORINI,
66 . G_FORPGPINCH,G_MOMPGPINCH,G_EPGPINCHXZ,G_EPGPINCHYZ,G_EPGPINCHZZ,
67 . G_SKEW_ID,G_MAXFRAC,G_MAXEPS,G_SLIPRING_ID,G_SLIPRING_STRAND,G_RETRACTOR_ID,
68 . G_RINGSLIP,G_ADD_NODE,G_UPDATE,G_INTVAR,G_AMU,G_SLIPRING_FRAM_ID,G_FRAM_FACTOR,
69 . G_YIELD_IN_COMP,G_XXOLD_IN_COMP
70 INTEGER
71 . LY_DMG,LY_GAMA,LY_DIRA,LY_DIRB,LY_CRKDIR,LY_PLAPT,LY_SIGPT,LY_HOURG,
72 . LY_UELR,LY_UELR1,LY_OFFPG,LY_OFF,LEN_PLAPT,LEN_SIGPT
73 INTEGER
74 . L_OFF,L_EINT,L_EINS,L_RHO,L_DP_DRHO,L_VOL,L_PLA,L_TB,L_TEMP,
75 . L_RK,L_RE,L_VK,L_ROB,L_SIG,L_SIGV,L_SIGL,L_SIGA,L_SIGD,L_SIGB,
76 . L_SIGC,L_SIGF,L_STRA,L_EPSA,L_EPSD,L_EPSQ,L_EPSF,L_CRAK,L_WPLA,
77 . L_ANG,L_SF,L_QVIS,L_DELTAX,L_GAMA,
78 . L_DAM,L_DSUM,L_DGLO,L_EPE,L_EPC,L_XST,L_SSP,L_Z,L_FRAC,L_VISC,
79 . L_THK,L_FOR,L_MOM,L_SMSTR,L_BFRAC,L_DMG,L_FORTH,L_EINTTH,L_SEQ,
80 . L_SIGPLY,L_FAC_YLD,L_ABURN,L_MU
81 INTEGER
82 . LF_DAM,LF_DAMMX,LF_DAMINI,LF_TDEL,LF_INDX,LF_OFF
83 TYPE(BUF_LAY_) , POINTER :: BUFLY,BUFLY_IMP
84 TYPE(G_BUFEL_) , POINTER :: GBUF
85 TYPE(L_BUFEL_) , POINTER :: LBUF
86 TYPE(FAIL_LOC_) , POINTER :: FLOC
87 TYPE(BUF_NLOC_) , POINTER :: BUFNL
88 TYPE(BUF_NLOCTS_),POINTER :: BUFNLTS
89
90
91
92 npg = 0
93 npttot = 0
94 DO ng = 1,ngroup
95 ity = iparg(5,ng)
96 inloc = iparg(78,ng)
97 IF (ity == 1 .OR. ity == 2 .OR. ity == 51 .OR.
98 . ity == 3 .OR. ity == 7 .OR. ity == 101 .OR.
99 . ity == 4 .OR. ity == 5 .OR. ity == 6 .OR. ity == 100) THEN
100 igtyp = elbuf_tab(ng)%IGTYP
101 nel = elbuf_tab(ng)%NEL
102 nlay = elbuf_tab(ng)%NLAY
103 nptr = elbuf_tab(ng)%NPTR
104 npts = elbuf_tab(ng)%NPTS
105 nptt = elbuf_tab(ng)%NPTT
106 npt = nlay*nptr*npts*nptt
107 IF (ity == 1 .OR. ity == 2 .OR. ity == 51 .OR.
108 . ity == 101) THEN
109 npg = nptr*npts*nptt
110 npttot = npt
111 ELSEIF (ity == 3 .OR. ity == 7) THEN
112 npg = nptr*npts
113 npttot = 0
114 DO il=1,elbuf_tab(ng)%NLAY
115 npttot = npttot + npg*elbuf_tab(ng)%BUFLY(il)%NPTT
116 ENDDO
117 IF (npt == 0) npttot = npt
118 ELSEIF (ity == 4 .OR. ity == 5 .OR. ity == 6 .OR. ity == 100) THEN
119 npg = 0
120 npttot = 0
121 ELSE
122 npg = 0
123 npttot = 0
124 ENDIF
125
126 ALLOCATE (elbuf_imp(ng)%BUFLY(nlay) ,stat=err)
127
128 DO il = 1, nlay
129 IF (igtyp == 51 .OR. igtyp == 52) nptt = elbuf_tab(ng)%BUFLY(il)%NPTT
130 ALLOCATE(elbuf_imp(ng)%BUFLY(il)%LBUF(nptr,npts,nptt),stat=err)
131 ALLOCATE(elbuf_imp(ng)%BUFLY(il)%MAT (nptr,npts,nptt),stat=err)
132 ALLOCATE(elbuf_imp(ng)%BUFLY(il)%FAIL(nptr,npts,nptt),stat=err)
133 ALLOCATE(elbuf_imp(ng)%BUFLY(il)%PROP(nptr,npts,nptt),stat=err)
134 ALLOCATE(elbuf_imp(ng)%BUFLY(il)%EOS (nptr,npts,nptt),stat=err)
135 ALLOCATE(elbuf_imp(ng)%BUFLY(il)%VISC(nptr,npts,nptt),stat=err)
136 ALLOCATE(elbuf_imp(ng)%BUFLY(il)%PORO(nptr,npts,nptt),stat=err)
137 ENDDO
138
139
140
141
142
143 DO il = 1, nlay
144 bufly => elbuf_tab(ng)%BUFLY(il)
145 bufly_imp => elbuf_imp(ng)%BUFLY(il)
146
147 bufly_imp%ILAW = bufly%ILAW
148 bufly_imp%IMAT = bufly%IMAT
149 bufly_imp%IEOS = bufly%IEOS
150 bufly_imp%IVISC = bufly%IVISC
151 bufly_imp%NFAIL = bufly%NFAIL
152 bufly_imp%NVAR_MAT = bufly%NVAR_MAT
153 bufly_imp%NVAR_EOS = bufly%NVAR_EOS
154 bufly_imp%NVARTMP = bufly%NVARTMP
155 bufly_imp%NVARTMP_EOS = bufly%NVARTMP_EOS
156 bufly_imp%NVAR_VISC = bufly%NVAR_VISC
157 bufly_imp%NVAR_LOC = bufly%NVAR_LOC
158 bufly_imp%NVAR_LAY = bufly%NVAR_LAY
159 bufly_imp%NPTT = bufly%NPTT
160
161 bufly_imp%LY_DMG = bufly%LY_DMG
162 bufly_imp%LY_GAMA = bufly%LY_GAMA
163 bufly_imp%LY_DIRA = bufly%LY_DIRA
164 bufly_imp%LY_DIRB = bufly%LY_DIRB
165 bufly_imp%LY_CRKDIR = bufly%LY_CRKDIR
166 bufly_imp%LY_PLAPT = bufly%LY_PLAPT
167 bufly_imp%LY_SIGPT = bufly%LY_SIGPT
168 bufly_imp%LY_HOURG = bufly%LY_HOURG
169 bufly_imp%LY_UELR = bufly%LY_UELR
170 bufly_imp%LY_UELR1 = bufly%LY_UELR1
171 bufly_imp%LY_OFFPG = bufly%LY_OFFPG
172 bufly_imp%LY_OFF = bufly%LY_OFF
173
174 ALLOCATE(bufly_imp%DMG(nel*bufly%LY_DMG) ,stat=err)
175 ALLOCATE(bufly_imp%GAMA(nel*bufly%LY_GAMA) ,stat=err)
176 ALLOCATE(bufly_imp%DIRA(nel*bufly%LY_DIRA) ,stat=err)
177 ALLOCATE(bufly_imp%DIRB(nel*bufly%LY_DIRB) ,stat=err)
178 ALLOCATE(bufly_imp%CRKDIR(nel*bufly%LY_CRKDIR),stat=err)
179 IF (npg > 1) THEN
180 IF (nlay > 1) THEN
181 len_plapt = nel*bufly%LY_PLAPT
182 len_sigpt = nel*bufly%LY_SIGPT
183 ELSE
184 IF (igtyp /= 51 .AND. igtyp /= 52) THEN
185 len_plapt = nel*bufly%LY_PLAPT*npt
186 len_sigpt = nel*bufly%LY_SIGPT*npt
187 ELSE
188 len_plapt = nel*bufly%LY_PLAPT*bufly%NPTT
189 len_sigpt = nel*bufly%LY_SIGPT*bufly%NPTT
190 ENDIF
191 ENDIF
192 ALLOCATE(bufly_imp%PLAPT(nel*len_plapt) ,stat=err)
193 ALLOCATE(bufly_imp%SIGPT(nel*len_sigpt) ,stat=err)
194
195
196 ENDIF
197 ALLOCATE(bufly_imp%HOURG(nel*bufly%LY_HOURG) ,stat=err)
198 ALLOCATE(bufly_imp%UELR(nel*bufly%LY_UELR) ,stat=err
199 ALLOCATE(bufly_imp%UELR1(nel*bufly%LY_UELR1) ,stat=err)
200 ALLOCATE(bufly_imp%OFFPG(nel*bufly%LY_OFFPG) ,stat=err)
201 ALLOCATE(bufly_imp%OFF(nel*bufly%LY_OFF) ,stat=err)
202
203 bufly_imp%L_OFF = bufly%L_OFF
204 bufly_imp%L_GAMA = bufly%L_GAMA
205 bufly_imp%L_STRA = bufly%L_STRA
206 bufly_imp%L_FRAC = bufly%L_FRAC
207 bufly_imp%L_BFRAC = bufly%L_BFRAC
208 bufly_imp%L_EINT = bufly%L_EINT
209 bufly_imp%L_EINS = bufly%L_EINS
210 bufly_imp%L_RHO = bufly%L_RHO
211 bufly_imp%L_DP_DRHO = bufly%L_DP_DRHO
212 bufly_imp%L_QVIS = bufly%L_QVIS
213 bufly_imp%L_DELTAX = bufly%L_DELTAX
214 bufly_imp%L_VOL = bufly%L_VOL
215 bufly_imp%L_EPSA = bufly%L_EPSA
216 bufly_imp%L_EPSD = bufly%L_EPSD
217 bufly_imp%L_EPSQ = bufly%L_EPSQ
218 bufly_imp%L_EPSF = bufly%L_EPSF
219 bufly_imp%L_PLA = bufly%L_PLA
220 bufly_imp%L_WPLA = bufly%L_WPLA
221 bufly_imp%L_TEMP = bufly%L_TEMP
222 bufly_imp%L_TB = bufly%L_TB
223 bufly_imp%L_RK = bufly%L_RK
224 bufly_imp%L_RE = bufly%L_RE
225 bufly_imp%L_VK = bufly%L_VK
226 bufly_imp%L_SF = bufly%L_SF
227 bufly_imp%L_ROB = bufly%L_ROB
228 bufly_imp%L_DAM = bufly%L_DAM
229 bufly_imp%L_DSUM = bufly%L_DSUM
230 bufly_imp%L_DGLO = bufly%L_DGLO
231 bufly_imp%L_CRAK = bufly%L_CRAK
232 bufly_imp%L_ANG = bufly%L_ANG
233 bufly_imp%L_EPE = bufly%L_EPE
234 bufly_imp%L_EPC = bufly%L_EPC
235 bufly_imp%L_XST = bufly%L_XST
236 bufly_imp%L_SSP = bufly%L_SSP
237 bufly_imp%L_Z = bufly%L_Z
238 bufly_imp%L_VISC = bufly%L_VISC
239 bufly_imp%L_SIGL = bufly%L_SIGL
240 bufly_imp%L_SIGV = bufly%L_SIGV
241 bufly_imp%L_SIGA = bufly%L_SIGA
242 bufly_imp%L_SIGB = bufly%L_SIGB
243 bufly_imp%L_SIGC = bufly%L_SIGC
244 bufly_imp%L_SIGD = bufly%L_SIGD
245 bufly_imp%L_SIGF = bufly%L_SIGF
246 bufly_imp%L_SIG = bufly%L_SIG
247 bufly_imp%L_SIGPLY = bufly%L_SIGPLY
248 bufly_imp%L_FOR = bufly%L_FOR
249 bufly_imp%L_MOM = bufly%L_MOM
250 bufly_imp%L_THK = bufly%L_THK
251 bufly_imp%L_SMSTR = bufly%L_SMSTR
252 bufly_imp%L_DMG = bufly%L_DMG
253 bufly_imp%L_FORTH = bufly%L_FORTH
254 bufly_imp%L_EINTTH = bufly%L_EINTTH
255 bufly_imp%L_SEQ = bufly%L_SEQ
256 bufly_imp%L_FAC_YLD = bufly%L_FAC_YLD
257 bufly_imp%L_ABURN = bufly%L_ABURN
258 bufly_imp%L_MU = bufly%L_MU
259 bufly_imp%L_PLANL = bufly%L_PLANL
260 bufly_imp%L_EPSDNL = bufly%L_EPSDNL
261 bufly_imp%L_DMGSCL = bufly%L_DMGSCL
262 bufly_imp%L_TSAIWU = bufly%L_TSAIWU
263
264 IF (igtyp == 51 .OR. igtyp == 52) THEN
265 nptt = elbuf_tab(ng)%BUFLY(il)%NPTT
266 ELSE
267 nptt = elbuf_tab(ng)%NPTT
268 ENDIF
269 DO ir = 1,nptr
270 DO is = 1,npts
271DO
272 lbuf => elbuf_imp(ng)%BUFLY(il)%LBUF(ir,is,it)
273
274 ALLOCATE(lbuf%OFF (nel*bufly%L_OFF) ,stat=err)
275 ALLOCATE(lbuf%GAMA(nel*bufly%L_GAMA) ,stat=err)
276 ALLOCATE(lbuf%STRA (nel*bufly%L_STRA) ,stat=err)
277 ALLOCATE(lbuf%FRAC (nel*bufly%L_FRAC) ,stat=err)
278 ALLOCATE(lbuf%BFRAC(nel*bufly%L_BFRAC) ,stat=err)
279 ALLOCATE(lbuf%EINT(nel*bufly%L_EINT) ,stat=err)
280 ALLOCATE(lbuf%EINS(nel*bufly%L_EINS) ,stat=err)
281 ALLOCATE(lbuf%RHO(nel*bufly%L_RHO) ,stat=err)
282 ALLOCATE(lbuf%DP_DRHO(nel*bufly%L_DP_DRHO) ,stat=err)
283 ALLOCATE(lbuf%QVIS(nel*bufly%L_QVIS) ,stat=err)
284 ALLOCATE(lbuf%DELTAX(nel*bufly%L_DELTAX),stat=err)
285 ALLOCATE(lbuf%VOL (nel*bufly%L_VOL) ,stat=err)
286 ALLOCATE(lbuf%EPSA (nel*bufly%L_EPSA) ,stat=err)
287 ALLOCATE(lbuf%EPSD (nel*bufly%L_EPSD) ,stat=err)
288 ALLOCATE(lbuf%EPSQ (nel*bufly%L_EPSQ) ,stat=err)
289 ALLOCATE(lbuf%EPSF (nel*bufly%L_EPSF) ,stat=err)
290 ALLOCATE(lbuf%PLA (nel*bufly%L_PLA) ,stat=err)
291 ALLOCATE(lbuf%WPLA (nel*bufly%L_WPLA) ,stat=err)
292 ALLOCATE(lbuf%TEMP(nel*bufly%L_TEMP), stat=err)
293 ALLOCATE(lbuf%TB(nel*bufly%L_TB), stat=err)
294 ALLOCATE(lbuf%RK(nel*bufly%L_RK), stat=err)
295 ALLOCATE(lbuf%RE(nel*bufly%L_RE), stat=err)
296 ALLOCATE(lbuf%VK(nel*bufly%L_VK), stat=err)
297 ALLOCATE(lbuf%SF(nel*bufly%L_SF), stat=err)
298 ALLOCATE(lbuf%ROB(nel*bufly%L_ROB), stat=err)
299 ALLOCATE(lbuf%DAM (nel*bufly%L_DAM) ,stat=err)
300 ALLOCATE(lbuf%DSUM (nel*bufly%L_DSUM) ,stat=err)
301 ALLOCATE(lbuf%DGLO (nel*bufly%L_DGLO) ,stat=err)
302 ALLOCATE(lbuf%CRAK (nel*bufly%L_CRAK) ,stat=err)
303 ALLOCATE(lbuf%ANG (nel*bufly%L_ANG) ,stat=err)
304 ALLOCATE(lbuf%EPE (nel*bufly%L_EPE) ,stat=err)
305 ALLOCATE(lbuf%EPC (nel*bufly%L_EPC) ,stat=err)
306 ALLOCATE(lbuf%XST (nel*bufly%L_XST) ,stat=err)
307 ALLOCATE(lbuf%SSP (nel*bufly%L_SSP) ,stat=err)
308 ALLOCATE(lbuf%Z (nel*bufly%L_Z) ,stat=err)
309 ALLOCATE(lbuf%VISC (nel*bufly%L_VISC) ,stat=err)
310 ALLOCATE(lbuf%SIGL (nel*bufly%L_SIGL) ,stat=err)
311 ALLOCATE(lbuf%SIGV (nel*bufly%L_SIGV) ,stat=err)
312 ALLOCATE(lbuf%SIGA (nel*bufly%L_SIGA) ,stat=err)
313 ALLOCATE(lbuf%SIGB (nel*bufly%L_SIGB) ,stat=err)
314 ALLOCATE(lbuf%SIGC (nel*bufly%L_SIGC) ,stat=err)
315 ALLOCATE(lbuf%SIGD (nel*bufly%L_SIGD) ,stat=err)
316 ALLOCATE(lbuf%SIGF (nel*bufly%L_SIGF) ,stat=err)
317 ALLOCATE(lbuf%SIG(nel*bufly%L_SIG) ,stat=err)
318 ALLOCATE(lbuf%SIGPLY(nel*bufly%L_SIGPLY) ,stat=err)
319 ALLOCATE(lbuf%FOR (nel*bufly%L_FOR) ,stat=err)
320 ALLOCATE(lbuf%MOM (nel*bufly%L_MOM) ,stat=err)
321 ALLOCATE(lbuf%THK (nel*bufly%L_THK) ,stat=err)
322 ALLOCATE(lbuf%SMSTR (nel*bufly%L_SMSTR) ,stat=err)
323 ALLOCATE(lbuf%DMG (nel*bufly%L_DMG) ,stat=err)
324 ALLOCATE(lbuf%FORTH (nel*bufly%L_FORTH) ,stat=err)
325 ALLOCATE(lbuf%EINTTH (nel*bufly%L_EINTTH) ,stat=err)
326 ALLOCATE(lbuf%SEQ (nel*bufly%L_SEQ) ,stat=err)
327 ALLOCATE(lbuf%FAC_YLD (nel*bufly%L_FAC_YLD) ,stat=err)
328 ALLOCATE(lbuf%BFRAC(nel*bufly%L_ABURN) ,stat=err)
329 ALLOCATE(lbuf%BFRAC(nel*bufly%L_MU) ,stat=err)
330 ALLOCATE(lbuf%PLANL(nel*bufly%L_PLANL) ,stat=err)
331 ALLOCATE(lbuf%EPSDNL(nel*bufly%L_EPSDNL) ,stat=err)
332 ALLOCATE(lbuf%DMGSCL(nel*bufly%L_DMGSCL) ,stat=err)
333 ALLOCATE(lbuf%TSAIWU(nel*bufly%L_TSAIWU) ,stat=err)
334 ENDDO
335 ENDDO
336 ENDDO
337 ENDDO
338
339
340
341 DO il = 1, nlay
342 nuvar = elbuf_tab(ng)%BUFLY(il)%NVAR_MAT
343 nvartmp = elbuf_tab(ng)%BUFLY(il)%NVARTMP
344 IF (igtyp == 51 .OR. igtyp == 52) THEN
345 nptt = elbuf_tab(ng)%BUFLY(il)%NPTT
346 ELSE
347 nptt = elbuf_tab(ng)%NPTT
348 ENDIF
349 DO ir = 1,nptr
350 DO is = 1,npts
351 DO it = 1,nptt
352 ALLOCATE (elbuf_imp(ng)%BUFLY(il)%MAT(ir,is,it)
353 . %VAR(nel*nuvar), stat=err)
354 ALLOCATE (elbuf_imp(ng)%BUFLY(il)%MAT(ir,is,it)
355 . %VARTMP(nel*nvartmp), stat=err)
356 ENDDO
357 ENDDO
358 ENDDO
359 ENDDO
360
361
362
363 DO il = 1, nlay
364 nfail = elbuf_tab(ng)% BUFLY(il)%NFAIL
365 IF (igtyp == 51 .OR. igtyp == 52) THEN
366 nptt = elbuf_tab(ng)%BUFLY(il)%NPTT
367 ELSE
368 nptt = elbuf_tab(ng)%NPTT
369 ENDIF
370 DO ir = 1,nptr
371 DO is = 1,npts
372 DO it = 1,nptt
373 ALLOCATE (elbuf_imp(ng)%BUFLY(il)%FAIL(ir,is,it)
374 . %FLOC(nfail), stat=err)
375 DO k = 1,nfail
376 nuvar=
377 . elbuf_tab(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)%NVAR
378 lf_dam=
379 . elbuf_tab(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)%LF_DAM
380 lf_dammx=
381 . elbuf_tab(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)%LF_DAMMX
382 lf_damini=
383 . elbuf_tab(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)%LF_DAMINI
384 lf_tdel=
385 . elbuf_tab(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)%LF_TDEL
386 lf_indx=
387 . elbuf_tab(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)%LF_INDX
388 lf_off=
389 . elbuf_tab(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)%LF_OFF
390
391 floc=>elbuf_imp(ng)%BUFLY(il)%FAIL(ir,is,it)%FLOC(k)
392 ALLOCATE(floc%VAR(nel*nuvar), stat=err)
393 ALLOCATE(floc%DAM(nel*lf_dam), stat=err)
394 ALLOCATE(floc%DAMMX(nel*lf_dammx), stat=err)
395 ALLOCATE(floc%DAMINI(nel*lf_damini), stat=err)
396 ALLOCATE(floc%TDEL(nel*lf_tdel), stat=err)
397 ALLOCATE(floc%INDX(nel*lf_indx), stat=err)
398 ALLOCATE(floc%OFF(nel*lf_off) , stat=err)
399
400 ENDDO
401 ENDDO
402 ENDDO
403 ENDDO
404 ENDDO
405
406
407
408 DO il = 1, nlay
409 nuvar = elbuf_tab(ng)% BUFLY(il)%NVAR_VISC
410 IF (igtyp == 51 .OR. igtyp == 52) THEN
411 nptt = elbuf_tab(ng)%BUFLY(il)%NPTT
412 ELSE
413 nptt = elbuf_tab(ng)%NPTT
414 ENDIF
415 DO ir = 1,nptr
416 DO is = 1,npts
417 DO it = 1,nptt
418 ALLOCATE (elbuf_imp(ng)%BUFLY(il)%VISC(ir,is,it)%VAR(nel*nuvar), stat=err)
419 ENDDO
420 ENDDO
421 ENDDO
422 ENDDO
423
424
425
426 IF ((ity==3).OR.(ity==7)) THEN
427
428 nptt = elbuf_tab(ng)%NPTT
429 IF ((inloc>0).AND.(nptt>1)) THEN
430
431 ALLOCATE(elbuf_tab(ng)%NLOC(nptr,npts), stat=err)
432
433 IF (nptt>2) THEN
434 nonl = nptt+1
435 ELSE
436 nonl = nptt
437 ENDIF
438
439 DO ir = 1,nptr
440 DO is = 1,npts
441
442 bufnl => elbuf_tab(ng)%NLOC(ir,is)
443
444 ALLOCATE(bufnl%MASSTH(nel,nonl), stat=err)
445
446 ALLOCATE(bufnl%UNLTH(nel,nonl), stat=err)
447
448 ALLOCATE(bufnl%VNLTH(nel,nonl), stat=err)
449
450 ALLOCATE(bufnl%FNLTH(nel,nonl), stat=err)
451 ENDDO
452 ENDDO
453 ENDIF
454
455
456
457 ELSEIF (ity==1) THEN
458
459 nptt = elbuf_tab(ng)%NLAY
460 IF ((inloc>0).AND.(nptt>1)) THEN
461
462 ALLOCATE(elbuf_tab(ng)%NLOCTS(nptr,npts), stat=err)
463
464 nonl = nptt+1
465
466 DO ir = 1,nptr
467 DO is = 1,npts
468
469 bufnlts => elbuf_tab(ng)%NLOCTS(ir,is)
470
471 ALLOCATE(bufnlts%MASSTH(nel,nonl), stat=err)
472
473 ALLOCATE(bufnlts%UNLTH(nel,nonl), stat=err)
474
475 ALLOCATE(bufnlts%VNLTH(nel,nonl), stat=err)
476
477 ALLOCATE(bufnlts%FNLTH(nel,nonl), stat=err)
478 ENDDO
479 ENDDO
480 ENDIF
481 ENDIF
482
483
484
485
486 DO il = 1, nlay
487 nvar_eos = elbuf_tab(ng)%BUFLY(il)%NVAR_EOS
488 nvartmp_eos = elbuf_tab(ng)%BUFLY(il)%NVARTMP_EOS
489 IF (igtyp == 51 .OR. igtyp == 52) THEN
490 nptt = elbuf_tab(ng)%BUFLY(il)%NPTT
491 ELSE
492 nptt = elbuf_tab(ng)%NPTT
493 ENDIF
494 DO ir = 1,nptr
495 DO is = 1,npts
496 DO it = 1,nptt
497 ALLOCATE( elbuf_tab(ng)%BUFLY(il)%EOS(ir,is,it)%VAR(nel*nvar_eos), stat=err)
498 ALLOCATE( elbuf_tab(ng)%BUFLY(il)%EOS(ir,is,it)%VARTMP(nel*nvartmp_eos), stat=err)
499 ENDDO
500 ENDDO
501 ENDDO
502 ENDDO
503
504
505
506 gbuf => elbuf_tab(ng)%GBUF
507 elbuf_imp(ng)%GBUF%NVAR_GLOB = gbuf%NVAR_GLOB
508
509 elbuf_imp(ng)%GBUF%G_NOFF = gbuf%G_NOFF
510 elbuf_imp(ng)%GBUF%G_IERR = gbuf%G_IERR
511 elbuf_imp(ng)%GBUF%G_OFF = gbuf%G_OFF
512 elbuf_imp(ng)%GBUF%G_GAMA = gbuf%G_GAMA
513 elbuf_imp(ng)%GBUF%G_SMSTR = gbuf%G_SMSTR
514 elbuf_imp(ng)%GBUF%G_HOURG = gbuf%G_HOURG
515 elbuf_imp(ng)%GBUF%G_BFRAC = gbuf%G_BFRAC
516 elbuf_imp(ng)%GBUF%G_EINT = gbuf%G_EINT
517 elbuf_imp(ng)%GBUF%G_EINS = gbuf%G_EINS
518 elbuf_imp(ng)%GBUF%G_RHO = gbuf%G_RHO
519 elbuf_imp(ng)%GBUF%G_QVIS = gbuf%G_QVIS
520 elbuf_imp(ng)%GBUF%G_DELTAX = gbuf%G_DELTAX
521 elbuf_imp(ng)%GBUF%G_VOL = gbuf%G_VOL
522 elbuf_imp(ng)%GBUF%G_EPSD = gbuf%G_EPSD
523 elbuf_imp(ng)%GBUF%G_EPSQ = gbuf%G_EPSQ
524 elbuf_imp(ng)%GBUF%G_PLA = gbuf%G_PLA
525 elbuf_imp(ng)%GBUF%G_WPLA = gbuf%G_WPLA
526 elbuf_imp(ng)%GBUF%G_TEMP = gbuf%G_TEMP
527 elbuf_imp(ng)%GBUF%G_TB = gbuf%G_TB
528 elbuf_imp(ng)%GBUF%G_RK = gbuf%G_RK
529 elbuf_imp(ng)%GBUF%G_RE = gbuf%G_RE
530 elbuf_imp(ng)%GBUF%G_SIG = gbuf%G_SIG
531 elbuf_imp(ng)%GBUF%G_FOR = gbuf%G_FOR
532 elbuf_imp(ng)%GBUF%G_MOM = gbuf%G_MOM
533 elbuf_imp(ng)%GBUF%G_THK = gbuf%G_THK
534 elbuf_imp(ng)%GBUF%G_TAG22 = gbuf%G_TAG22
535 elbuf_imp(ng)%GBUF%G_STRA = gbuf%G_STRA
536 elbuf_imp(ng)%GBUF%G_SIGI = gbuf%G_SIGI
537 elbuf_imp(ng)%GBUF%G_DMG = gbuf%G_DMG
538 elbuf_imp(ng)%GBUF%G_FORPG = gbuf%G_FORPG
539 elbuf_imp(ng)%GBUF%G_MOMPG = gbuf%G_MOMPG
540
541 elbuf_imp(ng)%GBUF%G_FORPGPINCH = gbuf%G_FORPGPINCH
542 elbuf_imp(ng)%GBUF%G_MOMPGPINCH = gbuf%G_MOMPGPINCH
543 elbuf_imp(ng)%GBUF%G_EPGPINCHXZ = gbuf%G_EPGPINCHXZ
544 elbuf_imp(ng)%GBUF%G_EPGPINCHYZ = gbuf%G_EPGPINCHYZ
545 elbuf_imp(ng)%GBUF%G_EPGPINCHZZ = gbuf%G_EPGPINCHZZ
546
547 elbuf_imp(ng)%GBUF%G_STRPG = gbuf%G_STRPG
548 elbuf_imp(ng)%GBUF%G_UELR = gbuf%G_UELR
549 elbuf_imp(ng)%GBUF%G_UELR1 = gbuf%G_UELR1
550 elbuf_imp(ng)%GBUF%G_DAMDL = gbuf%G_DAMDL
551 elbuf_imp(ng)%GBUF%G_FORTH = gbuf%G_FORTH
552 elbuf_imp(ng)%GBUF%G_EINTTH = gbuf%G_EINTTH
553 elbuf_imp(ng)%GBUF%G_SEQ = gbuf%G_SEQ
554 elbuf_imp(ng)%GBUF%G_STRW = gbuf%G_STRW
555 elbuf_imp(ng)%GBUF%G_STRWPG = gbuf%G_STRWPG
556 elbuf_imp(ng)%GBUF%G_ABURN = gbuf%G_ABURN
557 elbuf_imp(ng)%GBUF%G_MU = gbuf%G_MU
558 elbuf_imp(ng)%GBUF%G_PLANL = gbuf%G_PLANL
559 elbuf_imp(ng)%GBUF%G_EPSDNL = gbuf%G_EPSDNL
560 elbuf_imp(ng)%GBUF%G_DMGSCL = gbuf%G_DMGSCL
561 elbuf_imp(ng)%GBUF%G_TSAIWU = gbuf%G_TSAIWU
562 elbuf_imp(ng)%GBUF%G_BPRELD = gbuf%G_BPRELD
563 elbuf_imp(ng)%GBUF%G_COR_NF = gbuf%G_COR_NF
564 elbuf_imp(ng)%GBUF%G_COR_FR = gbuf%G_COR_FR
565 elbuf_imp(ng)%GBUF%G_COR_XR = gbuf%G_COR_XR
566 elbuf_imp(ng)%GBUF%G_MAXFRAC= gbuf%G_MAXFRAC
567 elbuf_imp(ng)%GBUF%G_MAXEPS = gbuf%G_MAXEPS
568 elbuf_imp(ng)%GBUF%G_BETAORTh = gbuf%G_BETAORTh
569 elbuf_imp(ng)%GBUF%G_AMU = gbuf%G_AMU
570 elbuf_imp(ng)%GBUF%G_FOR_G = gbuf%G_FOR_G
571 elbuf_imp(ng)%GBUF%G_FORPG_G= gbuf%G_FORPG_G
572
573
574
575 elbuf_imp(ng)%GBUF%G_AREA = gbuf%G_AREA
576 elbuf_imp(ng)%GBUF%G_SKEW = gbuf%G_SKEW
577 elbuf_imp(ng)%GBUF%G_LENGTH = gbuf%G_LENGTH
578 elbuf_imp(ng)%GBUF%G_TOTDEPL = gbuf%G_TOTDEPL
579 elbuf_imp(ng)%GBUF%G_TOTROT = gbuf%G_TOTROT
580 elbuf_imp(ng)%GBUF%G_FOREP = gbuf%G_FOREP
581 elbuf_imp(ng)%GBUF%G_MOMEP = gbuf%G_MOMEP
582 elbuf_imp(ng)%GBUF%G_DEP_IN_TENS = gbuf%G_DEP_IN_TENS
583 elbuf_imp(ng)%GBUF%G_DEP_IN_COMP = gbuf%G_DEP_IN_COMP
584 elbuf_imp(ng)%GBUF%G_ROT_IN_TENS = gbuf%G_ROT_IN_TENS
585 elbuf_imp(ng)%GBUF%G_ROT_IN_COMP = gbuf%G_ROT_IN_COMP
586 elbuf_imp(ng)%GBUF%G_POSX = gbuf%G_POSX
587 elbuf_imp(ng)%GBUF%G_POSY = gbuf%G_POSY
588 elbuf_imp(ng)%GBUF%G_POSZ = gbuf%G_POSZ
589 elbuf_imp(ng)%GBUF%G_POSXX = gbuf%G_POSXX
590 elbuf_imp(ng)%GBUF%G_POSYY = gbuf%G_POSYY
591 elbuf_imp(ng)%GBUF%G_POSZZ = gbuf%G_POSZZ
592 elbuf_imp(ng)%GBUF%G_YIELD = gbuf%G_YIELD
593 elbuf_imp(ng)%GBUF%G_LENGTH_ERR = gbuf%G_LENGTH_ERR
594 elbuf_imp(ng)%GBUF%G_DV = gbuf%G_DV
595 elbuf_imp(ng)%GBUF%G_DFS = gbuf%G_DFS
596 elbuf_imp(ng)%GBUF%G_SKEW_ERR = gbuf%G_SKEW_ERR
597 elbuf_imp(ng)%GBUF%G_E6 = gbuf%G_E6
598 elbuf_imp(ng)%GBUF%G_RUPTCRIT = gbuf%G_RUPTCRIT
599 elbuf_imp(ng)%GBUF%G_MASS = gbuf%G_MASS
600 elbuf_imp(ng)%GBUF%G_V_REPCVT = gbuf%G_V_REPCVT
601 elbuf_imp(ng)%GBUF%G_VR_REPCVT = gbuf%G_VR_REPCVT
602 elbuf_imp(ng)%GBUF%G_NUVAR = gbuf%G_NUVAR
603 elbuf_imp(ng)%GBUF%G_NUVARN = gbuf%G_NUVARN
604 elbuf_imp(ng)%GBUF%G_DEFINI = gbuf%G_DEFINI
605 elbuf_imp(ng)%GBUF%G_FORINI = gbuf%G_FORINI
606 elbuf_imp(ng)%GBUF%G_INIFRIC = gbuf%G_INIFRIC
607 elbuf_imp(ng)%GBUF%G_STRHG = gbuf%G_STRHG
608 elbuf_imp(ng)%GBUF%G_SKEW_ID = gbuf%G_SKEW_ID
609 elbuf_imp(ng)%GBUF%G_YIELD_IN_COMP = gbuf%G_YIELD_IN_COMP
610 elbuf_imp(ng)%GBUF%G_XXOLD_IN_COMP = gbuf%G_XXOLD_IN_COMP
611
612
613
614 elbuf_imp(ng)%GBUF%G_SLIPRING_ID = gbuf%G_SLIPRING_ID
615 elbuf_imp(ng)%GBUF%G_SLIPRING_FRAM_ID = gbuf%G_SLIPRING_FRAM_ID
616 elbuf_imp(ng)%GBUF%G_SLIPRING_STRAND = gbuf%G_SLIPRING_STRAND
617 elbuf_imp(ng)%GBUF%G_RETRACTOR_ID = gbuf%G_RETRACTOR_ID
618 elbuf_imp(ng)%GBUF%G_RINGSLIP = gbuf%G_RINGSLIP
619 elbuf_imp(ng)%GBUF%G_ADD_NODE = gbuf%G_ADD_NODE
620 elbuf_imp(ng)%GBUF%G_UPDATE = gbuf%G_UPDATE
621 elbuf_imp(ng)%GBUF%G_FRAM_FACTOR = gbuf%G_FRAM_FACTOR
622 elbuf_imp(ng)%GBUF%G_INTVAR = gbuf%G_INTVAR
623
624 ALLOCATE (elbuf_imp(ng)%GBUF%NOFF(nel*gbuf%G_NOFF) ,stat=err)
625 ALLOCATE (elbuf_imp(ng)%GBUF%IERR(nel*gbuf%G_IERR) ,stat=err)
626 ALLOCATE (elbuf_imp(ng)%GBUF%GAMA(nel*gbuf%G_GAMA) ,stat=err)
627 ALLOCATE (elbuf_imp(ng)%GBUF%SMSTR(nel*gbuf%G_SMSTR) ,stat=err)
628 ALLOCATE (elbuf_imp(ng)%GBUF%HOURG(nel*gbuf%G_HOURG) ,stat=err)
629 ALLOCATE (elbuf_imp(ng)%GBUF%TAG22(nel*gbuf%G_TAG22) ,stat=err)
630 ALLOCATE (elbuf_imp(ng)%GBUF%STRA(nel*gbuf%G_STRA) ,stat=err)
631 ALLOCATE (elbuf_imp(ng)%GBUF%SIGI(nel*gbuf%G_SIGI) ,stat=err)
632 ALLOCATE (elbuf_imp(ng)%GBUF%DMG(nel*gbuf%G_DMG) ,stat=err)
633 ALLOCATE (elbuf_imp(ng)%GBUF%UELR(nel*gbuf%G_UELR) ,stat=err)
634 ALLOCATE (elbuf_imp(ng)%GBUF%UELR1(nel*gbuf%G_UELR1) ,stat=err)
635 ALLOCATE (elbuf_imp(ng)%GBUF%DAMDL(nel*gbuf%G_DAMDL) ,stat=err)
636 ALLOCATE (elbuf_imp(ng)%GBUF%FOR (nel*gbuf%G_FOR) ,stat=err)
637 ALLOCATE (elbuf_imp(ng)%GBUF%MOM (nel*gbuf%G_MOM) ,stat=err)
638 ALLOCATE (elbuf_imp(ng)%GBUF%THK (nel*gbuf%G_THK) ,stat=err)
639 ALLOCATE (elbuf_imp(ng)%GBUF%STRW(nel*gbuf%G_STRW) ,stat=err)
640 ALLOCATE (elbuf_imp(ng)%GBUF%BPRELD(nel*gbuf%G_BPRELD) ,stat=err)
641 ALLOCATE (elbuf_imp(ng)%GBUF%COR_NF(nel*gbuf%G_COR_NF) ,stat=err)
642 ALLOCATE (elbuf_imp(ng)%GBUF%COR_FR(nel*gbuf%G_COR_FR) ,stat=err)
643 ALLOCATE (elbuf_imp(ng)%GBUF%COR_XR(nel*gbuf%G_COR_XR) ,stat=err)
644 ALLOCATE (elbuf_imp(ng)%GBUF%MAXFRAC(nel*gbuf%G_MAXFRAC) ,stat=err)
645 ALLOCATE (elbuf_imp(ng)%GBUF%MAXEPS(nel*gbuf%G_MAXEPS) ,stat=err)
646 ALLOCATE (elbuf_imp(ng)%GBUF%BETAORTH(nel*gbuf%G_BETAORTH) ,stat=err)
647 ALLOCATE (elbuf_imp(ng)%GBUF%AMU(nel*gbuf%G_AMU) ,stat=err)
648 ALLOCATE (elbuf_imp(ng)%GBUF%FOR_G(nel*gbuf%G_FOR_G) ,stat=err)
649 ALLOCATE (elbuf_imp(ng)%GBUF%WPLA(nel*gbuf%G_WPLA) ,stat=err)
650
651 IF (npttot /= 1) THEN
652 ALLOCATE (elbuf_imp(ng)%GBUF%BFRAC(nel*gbuf%G_BFRAC) ,stat=err)
653 ALLOCATE (elbuf_imp(ng)%GBUF%OFF (nel*gbuf%G_OFF) ,stat=err)
654 ALLOCATE (elbuf_imp(ng)%GBUF%EINT(nel*gbuf%G_EINT) ,stat=err)
655 ALLOCATE (elbuf_imp(ng)%GBUF%EINS(nel*gbuf%G_EINS) ,stat=err)
656 ALLOCATE (elbuf_imp(ng)%GBUF%RHO (nel*gbuf%G_RHO) ,stat=err)
657 ALLOCATE (elbuf_imp(ng)%GBUF%QVIS(nel*gbuf%G_QVIS) ,stat=err)
658 ALLOCATE (elbuf_imp(ng)%GBUF%DELTAX(nel*gbuf%G_DELTAX) ,stat=err)
659 ALLOCATE (elbuf_imp(ng)%GBUF%VOL (nel*gbuf%G_VOL) ,stat=err)
660 ALLOCATE (elbuf_imp(ng)%GBUF%EPSD(nel*gbuf%G_EPSD) ,stat=err)
661 ALLOCATE (elbuf_imp(ng)%GBUF%EPSQ(nel*gbuf%G_EPSQ) ,stat=err)
662 ALLOCATE (elbuf_imp(ng)%GBUF%PLA (nel*gbuf%G_PLA) ,stat=err)
663 ALLOCATE (elbuf_imp(ng)%GBUF%TEMP(nel*gbuf%G_TEMP) ,stat=err)
664 ALLOCATE (elbuf_imp(ng)%GBUF%TB(nel*gbuf%G_TB) ,stat=err)
665 ALLOCATE (elbuf_imp(ng)%GBUF%RK(nel*gbuf%G_RK) ,stat=err)
666 ALLOCATE (elbuf_imp(ng)%GBUF%RE(nel*gbuf%G_RE) ,stat=err)
667 ALLOCATE (elbuf_imp(ng)%GBUF%SIG (nel*gbuf%G_SIG) ,stat=err)
668 ALLOCATE (elbuf_imp(ng)%GBUF%FORTH (nel*gbuf%G_FORTH) ,stat=err)
669 ALLOCATE (elbuf_imp(ng)%GBUF%EINTTH (nel*gbuf%G_EINTTH),stat=err)
670 ALLOCATE (elbuf_imp(ng)%GBUF%SEQ (nel*gbuf%G_SEQ) ,stat=err)
671 ALLOCATE (elbuf_imp(ng)%GBUF%ABURN(nel*gbuf%G_ABURN) ,stat=err)
672 ALLOCATE (elbuf_imp(ng)%GBUF%MU(nel*gbuf%G_MU) ,stat=err)
673 ENDIF
674
675 IF (npg == 1) THEN
676 IF (gbuf%G_STRPG > gbuf%G_STRA)
677 . ALLOCATE(elbuf_imp(ng)%GBUF%STRPG(nel*gbuf%G_STRPG),stat=err)
678 ELSEIF (npg > 1) THEN
679 ALLOCATE(elbuf_imp(ng)%GBUF%FORPG(nel*gbuf%G_FORPG),stat=err)
680 ALLOCATE(elbuf_imp(ng)%GBUF%MOMPG(nel*gbuf%G_MOMPG),stat=err)
681
682 ALLOCATE(elbuf_imp(ng)%GBUF%FORPGPINCH(nel*gbuf%G_FORPGPINCH),stat=err)
683 ALLOCATE(elbuf_imp(ng)%GBUF%MOMPGPINCH(nel*gbuf%G_MOMPGPINCH),stat=err)
684 ALLOCATE(elbuf_imp(ng)%GBUF%EPGPINCHXZ(nel*gbuf%G_EPGPINCHXZ),stat=err)
685 ALLOCATE(elbuf_imp(ng)%GBUF%EPGPINCHYZ(nel*gbuf%G_EPGPINCHYZ),stat=err)
686 ALLOCATE(elbuf_imp(ng)%GBUF%EPGPINCHZZ(nel*gbuf%G_EPGPINCHZZ),stat=err)
687
688 ALLOCATE(elbuf_imp(ng)%GBUF%STRPG(nel*gbuf%G_STRPG),stat=err)
689 ALLOCATE(elbuf_imp(ng)%GBUF%STRWPG(nel*gbuf%G_STRWPG),stat=err)
690 ALLOCATE(elbuf_imp(ng)%GBUF%FORPG_G(nel*gbuf%G_FORPG_G),stat=err)
691 ENDIF
692
693
694
695
696 IF(igtyp == 3 .and. ity == 5) THEN
697 ALLOCATE (elbuf_imp(ng)%GBUF%DMGSCL(nel*gbuf%G_DMGSCL) ,stat=err)
698 ENDIF
699 ALLOCATE (elbuf_imp(ng)%GBUF%AREA(nel*gbuf%G_AREA) ,stat=err)
700 ALLOCATE (elbuf_imp(ng)%GBUF%SKEW(nel*gbuf%G_SKEW) ,stat=err)
701 ALLOCATE (elbuf_imp(ng)%GBUF%LENGTH(nel*gbuf%G_LENGTH) ,stat=err)
702 ALLOCATE (elbuf_imp(ng)%GBUF%TOTDEPL(nel*gbuf%G_TOTDEPL) ,stat=err)
703 ALLOCATE (elbuf_imp(ng)%GBUF%TOTROT(nel*gbuf%G_TOTROT) ,stat=err)
704 ALLOCATE (elbuf_imp(ng)%GBUF%FOREP(nel*gbuf%G_FOREP) ,stat=err)
705 ALLOCATE (elbuf_imp(ng)%GBUF%MOMEP(nel*gbuf%G_MOMEP) ,stat=err)
706 ALLOCATE (elbuf_imp(ng)%GBUF%DEP_IN_TENS(nel*gbuf%G_DEP_IN_TENS),stat=err)
707 ALLOCATE (elbuf_imp(ng)%GBUF%DEP_IN_COMP(nel*gbuf%G_DEP_IN_COMP),stat=err)
708 ALLOCATE (elbuf_imp(ng)%GBUF%ROT_IN_TENS(nel*gbuf%G_ROT_IN_TENS),stat=err)
709 ALLOCATE (elbuf_imp(ng)%GBUF%ROT_IN_COMP(nel*gbuf%G_ROT_IN_COMP),stat=err)
710 ALLOCATE (elbuf_imp(ng)%GBUF%POSX(nel*gbuf%G_POSX) ,stat=err)
711 ALLOCATE (elbuf_imp(ng)%GBUF%POSY(nel*gbuf%G_POSY) ,stat=err)
712 ALLOCATE (elbuf_imp(ng)%GBUF%POSZ(nel*gbuf%G_POSZ) ,stat=err)
713 ALLOCATE (elbuf_imp(ng)%GBUF%POSXX(nel*gbuf%G_POSXX) ,stat=err)
714 ALLOCATE (elbuf_imp(ng)%GBUF%POSYY(nel*gbuf%G_POSYY) ,stat=err)
715 ALLOCATE (elbuf_imp(ng)%GBUF%POSZZ(nel*gbuf%G_POSZZ) ,stat=err)
716 ALLOCATE (elbuf_imp(ng)%GBUF%YIELD(nel*gbuf%G_YIELD) ,stat=err)
717 ALLOCATE (elbuf_imp(ng)%GBUF%LENGTH_ERR(nel*gbuf%G_LENGTH_ERR) ,stat=err)
718 ALLOCATE (elbuf_imp(ng)%GBUF%DV(nel*gbuf%G_DV) ,stat=err)
719 ALLOCATE (elbuf_imp(ng)%GBUF%DFS(nel*gbuf%G_DFS) ,stat=err)
720 ALLOCATE (elbuf_imp(ng)%GBUF%SKEW_ERR(nel*gbuf%G_SKEW_ERR) ,stat=err)
721 ALLOCATE (elbuf_imp(ng)%GBUF%E6(nel*gbuf%G_E6) ,stat=err)
722 ALLOCATE (elbuf_imp(ng)%GBUF%RUPTCRIT(nel*gbuf%G_RUPTCRIT) ,stat=err)
723 ALLOCATE (elbuf_imp(ng)%GBUF%MASS(nel*gbuf%G_MASS) ,stat=err)
724 ALLOCATE (elbuf_imp(ng)%GBUF%V_REPCVT(nel*gbuf%G_V_REPCVT) ,stat=err)
725 ALLOCATE (elbuf_imp(ng)%GBUF%VR_REPCVT(nel*gbuf%G_VR_REPCVT) ,stat=err)
726 ALLOCATE (elbuf_imp(ng)%GBUF%VAR(nel*gbuf%G_NUVAR) ,stat=err)
727 ALLOCATE (elbuf_imp(ng)%GBUF%VARN(nel*gbuf%G_NUVARN) ,stat=err)
728 ALLOCATE (elbuf_imp(ng)%GBUF%DEFINI(nel*gbuf%G_DEFINI) ,stat=err)
729 ALLOCATE (elbuf_imp(ng)%GBUF%FORINI(nel*gbuf%G_FORINI) ,stat=err)
730 ALLOCATE (elbuf_imp(ng)%GBUF%INIFRIC(nel*gbuf%G_INIFRIC) ,stat=err)
731 ALLOCATE (elbuf_imp(ng)%GBUF%STRHG(nel*gbuf%G_STRHG) ,stat=err)
732 ALLOCATE (elbuf_imp(ng)%GBUF%SKEW_ID(nel*gbuf%G_SKEW_ID) ,stat=err)
733 ALLOCATE (elbuf_imp(ng)%GBUF%YIELD_IN_COMP(nel*gbuf%G_YIELD_IN_COMP),stat=err)
734 ALLOCATE (elbuf_imp(ng)%GBUF%XXOLD_IN_COMP(nel*gbuf%G_XXOLD_IN_COMP),stat=err)
735
736
737
738 ALLOCATE (elbuf_imp(ng)%GBUF%SLIPRING_ID(nel*gbuf%G_SLIPRING_ID))
739 ALLOCATE (elbuf_imp(ng)%GBUF%SLIPRING_FRAM_ID(nel*gbuf%G_SLIPRING_FRAM_ID))
740 ALLOCATE (elbuf_imp(ng)%GBUF%SLIPRING_STRAND(nel*gbuf%G_SLIPRING_STRAND))
741 ALLOCATE (elbuf_imp(ng)%GBUF%RETRACTOR_ID(nel*gbuf%G_RETRACTOR_ID))
742 ALLOCATE (elbuf_imp(ng)%GBUF%RINGSLIP(nel*gbuf%G_RINGSLIP))
743 ALLOCATE (elbuf_imp(ng)%GBUF%ADD_NODE(nel*gbuf%G_ADD_NODE))
744 ALLOCATE (elbuf_imp(ng)%GBUF%UPDATE(nel*gbuf%G_UPDATE))
745 ALLOCATE (elbuf_imp(ng)%GBUF%FRAM_FACTOR(nel*gbuf%G_FRAM_FACTOR))
746 ALLOCATE (elbuf_imp(ng)%GBUF%INTVAR(nel*gbuf%G_INTVAR))
747
748
749 ENDIF
750 ENDDO
751
752 RETURN