46 SUBROUTINE q4init2(ELBUF_STR ,MS ,IXQ ,PM ,X ,
47 2 DETONATORS ,GEO ,VEUL ,ALE_CONNECTIVITY ,IPARG ,
48 3 DTELEM ,SIGI ,IGEO ,
49 4 NEL ,SKEW ,MSQ ,IPART ,IPARTQ,
50 5 IPM ,NSIGS ,WMA ,PTQUAD ,BUFMAT,
51 6 NPF ,TF ,IPARGG ,ILOADP ,FACLOAD,
64#include "implicit_f.inc"
72#include "vect01_c.inc"
80 INTEGER IXQ(NIXQ,*), IPARG(*),IGEO(NPROPGI,*),
81 . NEL,IPART(LIPART1,*),IPARTQ(*),IPM(NPROPMI,*), PTQUAD(*),
82 . NSIGS, NPF(*),IPARGG(*)
84 . MS(*), PM(NPROPM,*), X(*), (NPROPG,*),
85 . VEUL(10,*), DTELEM(*),SIGI(NSIGS,*),SKEW(LSKEW,*),
86 . msq(*), bufmat(*), tf(*),wma(*),partsav(20,*),v(*)
87 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
88 INTEGER,
INTENT(IN) :: ILOADP(SIZLOADP,*)
89 my_real,
INTENT(IN) :: facload(lfacload,*)
91 TYPE(t_ale_connectivity),
INTENT(INOUT) :: ALE_CONNECTIVITY
118 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ)
119 INTEGER NF1, I, IGTYP, IHBE, IP
120 INTEGER IR,IS,NPTR,NPTS,IBID, IPID1
121 my_real Y1(MVSIZ),(MVSIZ),Y3(MVSIZ),(MVSIZ),
122 + Z1(MVSIZ),Z2(MVSIZ),Z3(MVSIZ),Z4(MVSIZ),
123 + Y12(MVSIZ),Y34(MVSIZ),Y13(MVSIZ),Y24(MVSIZ),
124 + y14(mvsiz),y23(mvsiz),
125 + z12(mvsiz),z34(mvsiz),z13(mvsiz),z24(mvsiz),
126 + z14(mvsiz),z23(mvsiz),yavg(mvsiz),
area(mvsiz),
128 + sy(mvsiz) ,sz(mvsiz) ,ty(mvsiz) ,tz(mvsiz),
130 my_real wi,ksi,eta,fv
131 my_real deltax(mvsiz),y234(mvsiz),y124(mvsiz)
132 my_real :: tempel(nel)
133 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
136 CHARACTER(LEN=NCHARTITLE)::TITR1
138 TYPE(l_bufel_) ,
POINTER :: LBUF
139 TYPE(g_bufel_) ,
POINTER :: GBUF
140 TYPE(BUF_MAT_) ,
POINTER :: MBUF
143 . w_gauss(9,9),a_gauss(9,9)
151 3 0.555555555555556,0.888888888888889,0.555555555555556,
154 4 0.347854845137454,0.652145154862546,0.652145154862546,
155 4 0.347854845137454,0. ,0. ,
157 5 0.236926885056189,0.478628670499366,0.568888888888889,
158 5 0.478628670499366,0.236926885056189,0. ,
160 6 0.171324492379170,0.360761573048139,0.467913934572691,
161 6 0.467913934572691,0.360761573048139,0.171324492379170,
163 7 0.129484966168870,0.279705391489277,0.381830050505119,
164 7 0.417959183673469,0.381830050505119,0.279705391489277,
165 7 0.129484966168870,0. ,0. ,
166 8 0.101228536290376,0.222381034453374,0.313706645877887,
167 8 0.362683783378362,0.362683783378362,0.313706645877887,
168 8 0.222381034453374,0.101228536290376,0. ,
169 9 0.081274388361574,0.180648160694857,0.260610696402935,
170 9 0.312347077040003,0.330239355001260,0.312347077040003,
171 9 0.260610696402935,0.180648160694857,0.081274388361574/
176 2 -.577350269189626,0.577350269189626,0. ,
179 3 -.774596669241483,0. ,0.774596669241483,
182 4 -.861136311594053,-.339981043584856,0.339981043584856,
183 4 0.861136311594053,0. ,0. ,
185 5 -.906179845938664,-.538469310105683,0. ,
186 5 0.538469310105683,0.906179845938664,0. ,
188 6 -.932469514203152,-.661209386466265,-.238619186083197,
189 6 0.238619186083197,0.661209386466265,0.932469514203152,
191 7 -.949107912342759,-.741531185599394,-.405845151377397,
192 7 0. ,0.405845151377397,0.741531185599394,
193 7 0.949107912342759,0. ,0. ,
194 8 -.960289856497536,-.796666477413627,-.525532409916329,
195 8 -.183434642495650,0.183434642495650,0.525532409916329,
196 8 0.796666477413627,0.960289856497536,0. ,
197 9 -.968160239507626,-.836031107326636,-.613371432700590,
198 9 -.324253423403809,0. ,0.324253423403809,
199 9 0.613371432700590,0.836031107326636,0.968160239507626/
203 gbuf => elbuf_str%GBUF
204 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
205 mbuf => elbuf_str%BUFLY(1)%MAT(1,1,1)
218 CALL qcoor2(x,ixq(1,nf1),ngl,mat,
219 . pid, ix1, ix2, ix3, ix4,
224 yavg(i) = fourth*(y1(i)+y2(i)+y3(i)+y4(i))
228 . pid, ix1, ix2, ix3, ix4,
230 . z1, z2, z3, z4,yavg,y234,y124,
232 . e1y, e1z, e2y, e2z)
235 IF (igtyp == 6)
CALL qmorth2(pid ,geo ,igeo ,gbuf%GAMA, nel,
237 . e1y ,e1z , e2y, e2z)
239 CALL q4voli2(gbuf%VOL,ixq(1,nf1),
242 . z1, z2, z3, z4,y234,y124)
247 IF(jeul/=0)
CALL edlen2(veul(1,nf1),
area, deltax)
249 y12(i) = y1(i) - y2(i)
250 y34(i) = y3(i) - y4(i)
251 y13(i) = y1(i) - y3(i)
252 y24(i) = y2(i) - y4(i)
253 y14(i) = y1(i) - y4(i)
254 y23(i) = y2(i) - y3(i)
255 z12(i) = z1(i) - z2(i)
256 z34(i) = z3(i) - z4(i)
257 z13(i) = z1(i) - z3(i)
258 z24(i) = z2(i) - z4(i)
259 z14(i) = z1(i) - z4(i)
260 z23(i) = z2(i) - z3(i)
265 CALL matini(pm ,ixq ,nixq ,x ,
266 . geo ,ale_connectivity ,detonators ,iparg ,
267 . sigi ,nel ,skew ,igeo ,
269 . mat ,ipm ,nsigs ,numquad ,ptquad ,
270 . ip ,ngl ,npf ,tf ,bufmat ,
271 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
272 . facload ,deltax ,tempel )
280 lbuf => elbuf_str%BUFLY(1)%LBUF(ir,is,1)
282 ip = ir + (is-1)*nptr
283 ksi = a_gauss(ir,nptr)
284 eta = a_gauss(is,npts)
285 wi = w_gauss(ir,nptr)*w_gauss(is,npts)
287 CALL q4deri2(lbuf%VOL,ksi,eta,wi,
288 2 y12,y34,y13,y24,y14,y23,
289 3 z12,z34,z13,z24,z14,z23,
290 4 y1,y2,y3,y4,yavg,ihbe,ngl)
294 . geo ,ale_connectivity ,detonators ,iparg ,
295 . sigi ,nel ,skew ,igeo ,
297 . mat ,ipm ,nsigs ,numquad ,ptquad ,
298 . ip ,ngl ,npf ,tf ,bufmat ,
299 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
300 . facload, deltax ,tempel )
308 IF(jthe/=0)
CALL atheri(mat ,pm ,lbuf%TEMP)
309 IF(jtur/=0)
CALL aturi2(ipargg ,lbuf%RHO,pm,ixq,x,
310 . lbuf%RK ,lbuf%RE,
area)
314 IF(jlag+jale+jeul/=0)
315 .
CALL qmasi2(pm,mat,ms,gbuf%VOL,msq(nf1),wma,ipartq(nft+1),partsav,
316 . ix1, ix2, ix3, ix4,x ,v)
320 CALL dtmain(geo ,pm ,ipm ,pid ,mat ,fv ,
321 . gbuf%EINT ,gbuf%TEMP ,gbuf%DELTAX ,gbuf%RK ,gbuf%RE ,bufmat, deltax,
area,
322 . gbuf%VOL, dtx, igeo,igtyp)
324 IF(ixq(6,i+nft)/=0)
THEN
325 IF(igtyp/=0 .AND. igtyp/=6 .AND.
326 . igtyp/=14.AND.igtyp/=15)
THEN
327 ipid1=ixq(nixq-1,i+nft)
328 CALL fretitl2(titr1,igeo(npropgi-ltitr+1,ipid1),ltitr)
331 . anmode=aninfo_blind_1,