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_
58#include "implicit_f.inc"
70#include "vect01_c.inc"
74 TYPE(matparam_struct_),
DIMENSION(NUMMAT) ,
INTENT(IN) :: MAT_PARAM
75 INTEGER IXQ(NIXQ,*), IPARG(*),
76 . NEL,IPART(LIPART1,*),IPARTQ(*),
77 . IPM(NPROPMI,*), PTQUAD(*), NSIGS, IGEO(*), NPF(*),
79 my_real MS(*), PM(NPROPM,*), X(*), VEUL(10,*),
80 . fill(numnod,*), sigi(nsigs,*),skew(lskew,*),
81 . msq(*), geo(*), wma(*), bufmat(*), tf(*),
83 TYPE(elbuf_struct_),
TARGET :: ELBUF_STR
84 INTEGER,
INTENT(IN) :: ILOADP(SIZLOADP,*)
85 my_real,
INTENT(IN) :: facload(lfacload,*)
87 TYPE(t_ale_connectivity),
INTENT(INOUT) ::
91 INTEGER I, NF1, IMULT, IGTYP, IP,IBID
92 INTEGER MAT(MVSIZ), NGL(MVSIZ)
94 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
95 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
96 . aire(mvsiz), deltax(mvsiz),
97 . sy(mvsiz), sz(mvsiz), ty(mvsiz), tz(mvsiz)
98 my_real :: tempel(nel)
99 INTEGER PID(MVSIZ), IX1(MVSIZ), (MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
101 TYPE(L_BUFEL_) ,
POINTER :: LBUF
102 TYPE(G_BUFEL_) ,
POINTER :: GBUF
103 TYPE(BUF_MAT_) ,
POINTER :: MBUF
107 gbuf => elbuf_str%GBUF
108 lbuf => elbuf_str%BUFLY(1)%LBUF(1,1,1)
114 CALL qcoor2(x,ixq(1,nf1),ngl,mat,
115 . pid, ix1, ix2, ix3, ix4,
119 CALL qvoli2(gbuf%VOL,ixq(1,nf1),
128 CALL edlen2(veul(1,nf1), aire, deltax)
136 lbuf => elbuf_str%BUFLY(jmult)%LBUF(1,1,1)
137 mbuf => elbuf_str%BUFLY(jmult)%MAT(1,1,1)
141 mat(i)=mat_param(iabs(ixq(1,nft+i)))%MULTIMAT%MID(jmult)
147 CALL bimat2(gbuf%VOL, lbuf%FRAC, fill(1,1), lbuf%VOL, lbuf%OFF, ixq(1,nf1))
152 CALL matini(pm ,ixq ,nixq ,x ,
153 . geo ,ale_connectivity ,detonators ,iparg ,
154 . sigi ,nel ,skew ,igeo ,
156 . mat ,ipm ,nsigs ,numquad ,ptquad ,
157 . ip ,ngl ,npf ,tf ,bufmat ,
158 . gbuf ,lbuf ,mbuf ,elbuf_str ,iloadp ,
159 . facload, deltax,tempel )
163 IF(jthe/=0)
CALL atheri(mat,pm,lbuf%TEMP)
164 IF(jtur/=0)
CALL aturi2(ipargg ,lbuf%RHO,pm,ixq,x,
165 . lbuf%RK,lbuf%RE, aire)
169 IF(jlag+jale+jeul/=0)
170 .
CALL qmasi2(pm,mat,ms,lbuf%VOL,msq(nf1),wma,ipartq(nft+1),partsav,
171 . ix1, ix2, ix3, ix4, x ,v)
177 lbuf => elbuf_str%BUFLY(jmult)%LBUF(1,1,1)
178 mbuf => elbuf_str%BUFLY(jmult)%MAT(1,1,1)
183 mat(i)=mat_param(iabs(ixq(1,nft+i)))%MULTIMAT%MID(jmult)
188 CALL bimat2( gbuf%VOL, lbuf%FRAC, fill(1,2), lbuf%VOL, lbuf%OFF, ixq(1,nf1) )
190 ! initialisation generale
193 CALL matini(pm , ixq ,nixq ,x ,
194 . geo , ale_connectivity ,detonators,iparg ,
195 . sigi , nel ,skew ,igeo ,
197 . mat , ipm ,nsigs ,numquad ,ptquad ,
198 . ip , ngl ,npf ,tf ,bufmat ,
199 . gbuf , lbuf ,mbuf ,elbuf_str ,iloadp ,
200 . facload, deltax,tempel )
204 IF (jthe/=0)
CALL atheri(mat,pm, lbuf%TEMP)
205 IF (jtur/=0)
CALL aturi2(ipargg ,lbuf%RHO,pm,ixq,x,
206 . lbuf%RK,lbuf%RE, aire)
210 IF(jlag+jale+jeul/=0)
211 .
CALL qmasi2b(pm,mat,ms,lbuf%VOL,msq(nf1),wma,ipartq(nft+1),partsav,
212 . 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)