48 1 ELBUF_STR,MAS ,IXS ,PM ,X ,
49 2 DETONATORS,GEO ,VEUL ,ALE_CONNECTIVITY ,IPARG ,
50 3 DTELEM ,SIGI ,NEL ,SKEW ,IGEO ,
51 4 STIFN ,PARTSAV ,V ,IPARTS ,MSS ,
52 5 IXS20 ,IPART ,MSSX ,SIGSP ,NSIGI ,
53 7 IPM ,IUSER ,NSIGS ,VOLNOD ,BVOLNOD ,
54 8 VNS ,BNS ,VNSX ,BNSX ,PTSOL ,
55 9 BUFMAT ,MCP ,MCPS ,MCPSX ,TEMP ,
56 A NPF ,TF ,STRSGLOB,STRAGLOB,FAIL_INI ,
57 B ILOADP ,FACLOAD ,RNOISE ,PERTURB ,MAT_PARAM ,
73#include "implicit_f.inc"
86#include "vect01_c.inc"
90 INTEGER (NIXS,*),IPARG(*),IPARTS(*),IGEO(NPROPGI,*),
91 . IXS20(12,*), IPART(LIPART1,*), IPM(NPROPMI,*), PTSOL(*),
92 . NPF(*),STRSGLOB(*),STRAGLOB(*),FAIL_INI(*),PERTURB(NPERTURB)
93 INTEGER NEL,NSIGI,IUSER,NSIGS
95 . MAS(*), PM(NPROPM,*), X(*), GEO(,*),
96 . VEUL(LVEUL,*), DTELEM(*),SIGI(NSIGS,*),SKEW(LSKEW,*),STIFN(*),
97 . (20,*), V(*), MSS(8,*), MSSX(12,*), SIGSP(NSIGI,*),
98 . VOLNOD(*),BVOLNOD(*), VNS(8,*), BNS(8,*),RNOISE(NPERTURB,*),
99 . VNSX(12,*), BNSX(12,*),BUFMAT(*),MCP(*), MCPS(8,*),MCPSX(12,*),
101 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
102 INTEGER,
INTENT(IN) :: ILOADP(SIZLOADP,*)
103 my_real,
INTENT(IN) :: FACLOAD(LFACLOAD,*)
106 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(INOUT) :: MAT_PARAM
107 type (glob_therm_) ,
intent(in) :: glob_therm
111 INTEGER NF1, IBID, I, IGTYP, IP, NF2,NPTR,NPTS,NPTT,IR,IS,IT,
112 . nb01,nb02,nb03,nb04,nb05,nb06, nuvar,idef,
113 . jhbe, ipid1,nlay,l_pla,l_sigb
114 INTEGER NC(MVSIZ,20),MAT(MVSIZ), PID(MVSIZ), (MVSIZ), NCC
115 CHARACTER(LEN=NCHARTITLE)::TITR1
119 . sti(mvsiz),deltax(mvsiz),deltax2(mvsiz),
120 . xx(mvsiz,20), yy(mvsiz,20), zz(mvsiz,20),
121 . vx(mvsiz,20), vy(mvsiz,20), vz(mvsiz,20),
122 . px(mvsiz,20), py(mvsiz,20), pz(mvsiz,20),
123 . rx(mvsiz),ry(mvsiz),rz(mvsiz),
124 . sx(mvsiz),sy(mvsiz),sz(mvsiz),
125 . tx(mvsiz),ty(mvsiz),tz(mvsiz),ul(mvsiz,20),
126 . ni(mvsiz,20),dnidr(mvsiz,20),dnids(mvsiz,20),dnidt(mvsiz,20),
127 . dtx(mvsiz), wi,rhocp(mvsiz),temp0(mvsiz), aire(mvsiz)
128 my_real :: tempel(nel)
129 INTEGER ,
PARAMETER :: NPE=20
131 type(l_bufel_) ,
POINTER :: lbuf
132 TYPE(g_bufel_) ,
POINTER :: GBUF
133 TYPE(BUF_MAT_) ,
POINTER :: MBUF
136 . W_GAUSS(9,9),A_GAUSS(9,9)
145 3 0.555555555555556d0,0.888888888888889d0,0.555555555555556d0,
148 4 0.347854845137454d0,0.652145154862546d0,0.652145154862546d0,
149 4 0.347854845137454d0,0.d0 ,0.d0 ,
151 5 0.236926885056189d0,0.478628670499366d0,0.568888888888889d0,
152 5 0.478628670499366d0,0.236926885056189d0,0.d0 ,
154 6 0.171324492379170d0,0.360761573048139d0,0.467913934572691d0,
155 6 0.467913934572691d0,0.360761573048139d0,0.171324492379170d0,
157 7 0.129484966168870d0,0.279705391489277d0,0.381830050505119d0,
158 7 0.417959183673469d0,0.381830050505119d0,0.279705391489277d0,
159 7 0.129484966168870d0,0.d0 ,0.d0 ,
160 8 0.101228536290376d0,0.222381034453374d0,0.313706645877887d0,
161 8 0.362683783378362d0,0.362683783378362d0,0.313706645877887d0,
162 8 0.222381034453374d0,0.101228536290376d0,0.d0 ,
163 9 0.081274388361574d0,0.180648160694857d0,0.260610696402935d0,
164 9 0.312347077040003d0,0.330239355001260d0,0.312347077040003d0,
165 9 0.260610696402935d0,0.180648160694857d0,0.081274388361574d0/
171 2 -.577350269189625d0,0.577350269189625d0,0.d0 ,
174 3 -.774596669241483d0,0.d0 ,0.774596669241483d0,
177 4 -.861136311594053d0,-.339981043584856d0,0.339981043584856d0,
178 4 0.861136311594053d0,0.d0 ,0.d0 ,
180 5 -.906179845938664d0,-.538469310105683d0,0.d0 ,
181 5 0.538469310105683d0,0.906179845938664d0,0.d0 ,
183 6 -.932469514203152d0,-.661209386466265d0,-.238619186083197d0,
184 6 0.238619186083197d0,0.661209386466265d0,0.932469514203152d0,
186 7 -.949107912342759d0,-.741531185599394d0,-.405845151377397d0,
187 7 0.d0 ,0.405845151377397d0,0.741531185599394d0,
188 7 0.949107912342759d0,0.d0 ,0.d0 ,
189 8 -.960289856497536d0,-.796666477413627d0,-
190 8 -.183434642495650d0,0.183434642495650d0,0.525532409916329d0,
191 8 0.796666477413627d0,0.960289856497536d0,0.d0 ,
192 9 -.968160239507626d0,-.836031107326636d0,-.613371432700590d0,
193 9 -.324253423403809d0,0.d0 ,0.324253423403809d0,
194 9 0.613371432700590d0,0.836031107326636d0,0.968160239507626d0/
199 gbuf => elbuf_str%GBUF
203 nf2 = nf1-(numels8+numels10)
206 rhocp(i) = pm(69,ixs(1,nft+i))
207 temp0(i) = pm(79,ixs(1,nft+i))
211 1 x ,v ,ixs(1,nf1),ixs20(1,nf2),xx ,
212 2 yy ,zz ,vx ,vy ,vz ,
213 3 nc ,ngl ,mat ,pid ,mass ,
214 4 dtelem(nf1),sti ,gbuf%SIG ,gbuf%EINT ,gbuf%RHO,
215 5 gbuf%QVIS ,temp0 ,temp ,nel ,glob_therm%NINTEMP)
219 IF(jthe /=0)
CALL atheri(mat,pm,gbuf%TEMP)
223 nptr = elbuf_str%NPTR
224 npts = elbuf_str%NPTS
225 nptt = elbuf_str%NPTT
226 nlay = elbuf_str%NLAY
232 lbuf => elbuf_str%BUFLY(1)%LBUF(ir,is,it)
233 mbuf => elbuf_str%BUFLY(1)%MAT(ir,is,it)
234 l_pla = elbuf_str%BUFLY(1)%L_PLA
235 l_sigb = elbuf_str%BUFLY(1)%L_SIGB
236 ip = ir + ( (is-1) + (it-1)*npts )*nptr
237 wi = w_gauss(ir,nptr)*w_gauss(is,npts)*w_gauss(it,nptt)
240 1 a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),ni ,
241 2 dnidr ,dnids ,dnidt )
244 1 a_gauss(ir,nptr),a_gauss(is,npts),a_gauss(it,nptt),wi,
245 2 dnidr ,dnids ,dnidt ,rx ,ry ,rz ,
246 3 sx ,sy ,sz ,tx ,ty ,tz ,
247 4 xx ,yy ,zz ,px ,py ,pz ,
248 5 lbuf%VOL,deltax ,deltax2,ir*is*it,nptr*npts*nptt,ul ,
249 6 gbuf%VOL,lbuf%VOL0DP)
251 IF (jthe == 0 .and. glob_therm%NINTEMP > 0)
THEN
252 CALL s20temp(nel,numnod,mvsiz,npe, nc,ni(1,ip),temp,tempel)
254 tempel(1:nel) = temp0(1:nel)
257 CALL matini(pm ,ixs ,nixs ,x ,
258 . geo ,ale_connectivity ,detonators,iparg ,
259 . sigi ,nel ,skew ,igeo ,
261 . mat ,ipm ,nsigs ,numsol ,ptsol ,
262 . ip ,ngl ,npf ,tf ,bufmat ,
263 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
264 . facload, deltax ,tempel)
267 CALL dtmain(geo ,pm ,ipm ,pid ,mat ,fv ,
268 . lbuf%EINT ,lbuf%TEMP ,lbuf%DELTAX ,lbuf%RK ,lbuf%RE ,bufmat, deltax, aire,
269 . gbuf%VOL, dtx , igeo,igtyp)
273 CALL s20msi(lbuf%RHO, mass , lbuf%VOL , dtelem(nf1), sti ,
274 . lbuf%OFF, lbuf%SIG, lbuf%EINT, dtx , nel ,
275 . gbuf%OFF, gbuf%SIG, gbuf%EINT, gbuf%RHO , wi/eight)
278 nuvar = ipm(8,ixs(1,nf1))
282 IF(mtn == 14 .OR. mtn == 12)
THEN
284 ELSEIF(mtn == 24)
THEN
286 ELSEIF(istrain == 1)
THEN
293 ELSEIF(mtn == 3.OR.mtn == 6.OR.mtn ==10.OR.
294 . mtn == 21.OR.mtn == 22.OR.
295 . mtn == 23.OR.mtn == 49)
THEN
301 . sigi ,lbuf%EINT,lbuf%RHO,mbuf%VAR ,lbuf%STRA,
302 . ixs ,nixs ,nsigi ,ip ,nuvar ,
304 . straglob,jhbe ,igtyp ,x ,lbuf%GAMA,
305 . mat ,lbuf%PLA ,l_pla ,ptsol ,lbuf%SIGB,
306 . l_sigb ,ipm ,bufmat ,lbuf%VOL0DP)
311 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
313 CALL dtmain(geo ,pm ,ipm ,pid ,mat ,fv ,
314 . gbuf%EINT ,gbuf%TEMP ,gbuf%DELTAX ,gbuf%RK ,lbuf%RE ,bufmat, deltax, aire,
315 . gbuf%VOL, dtx , igeo,igtyp )
318 1 mass ,mas,partsav,iparts(nf1),mss(1,nf1),gbuf%VOL ,
319 2 xx ,yy ,zz ,vx ,vy ,vz ,
320 3 nc ,sti,stifn ,deltax2 ,gbuf%RHO ,dtx ,
321 4 dtelem(nf1) ,mssx(1,nf1),rhocp ,mcp ,mcps(1,nf1),
326 CALL failini(elbuf_str,nptr,npts,nptt,nlay,
327 . ipm,sigsp,nsigi,fail_ini,
328 . sigi,nsigs,ixs,nixs,ptsol,
329 . rnoise,perturb,mat_param)
336 CALL sbulk3(gbuf%VOL ,nc ,ncc ,mat ,pm ,
337 2 volnod ,bvolnod,vns(1,nf1),bns(1,nf1),vnsx(1,nf1),
338 3 bnsx(1,nf1),gbuf%FILL)
342 IF(ixs(10,i+nft)/=0)
THEN
343 IF( igtyp/=0 .AND.igtyp/=6
344 . .AND.igtyp/=14.AND.igtyp/=15)
THEN
345 ipid1=ixs(nixs-1,i+nft)
346 CALL fretitl2(titr1,igeo(npropgi-ltitr+1,ipid1),ltitr)
349 . anmode=aninfo_blind_1,