41 SUBROUTINE binit2(ELBUF_STR ,MS ,IXQ ,PM ,X ,
42 . DETONATORS,VEUL ,ALE_CONNECTIVITY ,IPARG ,FILL ,
43 . SIGI ,BUFMAT ,NEL ,MAT_PARAM ,
44 . SKEW ,MSQ ,IPART ,IPARTQ ,
46 . NSIGS ,WMA ,PTQUAD ,NPF ,TF ,
47 . IPARGG ,ILOADP ,FACLOAD ,PARTSAV ,V)
54 USE matparam_def_mod,
ONLY : matparam_struct_
55 use element_mod ,
only : nixq
59#include "implicit_f.inc"
71#include "vect01_c.inc"
75 TYPE(matparam_struct_),
DIMENSION(NUMMAT) ,
INTENT(IN) :: MAT_PARAM
76 INTEGER IXQ(NIXQ,*), IPARG(*),
77 . NEL,IPART(LIPART1,*),IPARTQ(*),
78 . IPM(NPROPMI,*), PTQUAD(*), NSIGS, IGEO(*), NPF(*),
80 my_real MS(*), PM(NPROPM,*), X(*), VEUL(10,*),
81 . fill(numnod,*), sigi(nsigs,*),skew(lskew,*),
82 . msq(*), geo(*), wma(*), bufmat(*), tf(*),
84 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
85 INTEGER,
INTENT(IN) :: ILOADP(SIZLOADP,*)
86 my_real,
INTENT(IN) :: facload(lfacload,*)
88 TYPE(t_ale_connectivity),
INTENT(INOUT) :: ALE_CONNECTIVITY
92 INTEGER I, NF1, IMULT, IGTYP, IP,IBID
93 INTEGER MAT(MVSIZ), NGL(MVSIZ)
95 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
96 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4
97 . aire(mvsiz), deltax(mvsiz),
98 . sy(mvsiz), sz(mvsiz), ty(mvsiz), tz(mvsiz)
99 my_real :: tempel(nel)
100 INTEGER PID(MVSIZ), IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
102 TYPE(L_BUFEL_) ,
POINTER :: LBUF
103 TYPE(G_BUFEL_) ,
POINTER :: GBUF
104 TYPE(BUF_MAT_) ,
POINTER :: MBUF
108 gbuf => elbuf_str%GBUF
109 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
115 CALL qcoor2(x,ixq(1,nf1),ngl,mat,
116 . pid, ix1, ix2, ix3, ix4,
120 CALL qvoli2(gbuf%VOL,ixq(1,nf1),
129 CALL edlen2(veul(1,nf1), aire, deltax)
137 lbuf => elbuf_str%BUFLY(jmult)%LBUF(1,1,1)
138 mbuf => elbuf_str%BUFLY(jmult)%MAT(1,1,1)
142 mat(i)=mat_param(iabs(ixq(1,nft+i)))%MULTIMAT%MID(jmult)
148 CALL bimat2(gbuf%VOL, lbuf%FRAC, fill(1,1), lbuf%VOL, lbuf%OFF, ixq
153 CALL matini(pm ,ixq ,nixq ,x ,
154 . geo ,ale_connectivity ,detonators ,iparg ,
155 . sigi ,nel ,skew ,igeo ,
157 . mat ,ipm ,nsigs ,numquad ,ptquad ,
158 . ip ,ngl ,npf ,tf ,bufmat ,
159 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
160 . facload, deltax,tempel ,mat_param )
164 IF(jthe/=0)
CALL atheri(mat,pm,lbuf%TEMP)
165 IF(jtur/=0)
CALL aturi2(ipargg ,lbuf%RHO,pm,ixq,x,
166 . lbuf%RK,lbuf%RE, aire)
170 IF(jlag+jale+jeul/=0)
171 .
CALL qmasi2(pm,mat,ms,lbuf%VOL,msq(nf1),wma,ipartq(nft+1),partsav,
172 . ix1, ix2, ix3, ix4, x ,v)
178 lbuf => elbuf_str%BUFLY(jmult)%LBUF(1,1,1)
179 mbuf => elbuf_str%BUFLY(jmult)%MAT(1,1,1)
184 mat(i)=mat_param(iabs(ixq(1,nft+i)))%MULTIMAT%MID(jmult)
189 CALL bimat2( gbuf%VOL, lbuf%FRAC, fill(1,2), lbuf%VOL, lbuf%OFF, ixq(1,nf1) )
194 CALL matini(pm , ixq ,nixq ,x ,
195 . geo , ale_connectivity ,detonators,iparg ,
196 . sigi , nel ,skew ,igeo ,
198 . mat , ipm ,nsigs ,numquad ,ptquad ,
199 . ip , ngl ,npf ,tf ,bufmat ,
200 . gbuf , lbuf ,mbuf ,elbuf_str ,iloadp ,
201 . facload, deltax,tempel ,mat_param )
205 IF (jthe/=0)
CALL atheri(mat,pm, lbuf%TEMP)
206 IF (jtur/=0)
CALL aturi2(ipargg ,lbuf%RHO,pm,ixq,x,
207 . lbuf%RK,lbuf%RE, aire)
211 IF(jlag+jale+jeul/=0)
212 .
CALL qmasi2b(pm,mat,ms,lbuf%VOL,msq(nf1),wma,ipartq(nft+1),partsav,
213 . ix1, ix2, ix3, ix4 ,x ,v)
subroutine binit2(elbuf_str, ms, ixq, pm, x, detonators, veul, ale_connectivity, iparg, fill, sigi, bufmat, nel, mat_param, skew, msq, ipart, ipartq, geo, igeo, ipm, nsigs, wma, ptquad, npf, tf, ipargg, iloadp, facload, partsav, v)
subroutine matini(pm, ix, nix, x, geo, ale_connectivity, detonators, iparg, sigi, nel, skew, igeo, ipart, ipartel, mat, ipm, nsig, nums, pt, ipt, ngl, npf, tf, bufmat, gbuf, lbuf, mbuf, elbuf_str, iloadp, facload, ddeltax, tempel, mat_param)