35 . IPM ,DETONATORS ,PM ,TB ,
36 . NUVAR ,UVAR ,UPARAM ,X ,
37 . MAT ,IPARG ,IFORM ,IX ,NIX ,
38 . ALE_CONNECTIVITY ,BUFMAT ,RHO0 ,
46 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
50#include "implicit_f.inc"
60 INTEGER IPM(NPROPMI,NUMMAT),MAT(NEL), IPARG(NPARG),IFORM,NIX,IX(NIX,*)
61 my_real PM(NPROPM,NUMMAT),UVAR(NEL,NUVAR),UPARAM(*), X(3,NUMNOD), BUFMAT(*), RHO0
62 INTEGER,
INTENT(IN) :: NEL
63 my_real,
INTENT(INOUT) :: SIG(NEL,6)
64 TYPE(G_BUFEL_),
INTENT(INOUT),
TARGET :: GBUF
70 INTEGER I,NUVAR, ISFLUID
74 my_real :: GG1, GG2, GG3
75 my_real vold,t0_(4),c0_(4),c1_(4),c2_(4),c3_(4),c4_(4),c5_(4),e0_(4),rho0_(4),vf(4),p0(4),pext,pres_0
76 my_real,
intent(inout) :: tb(nel)
80 iflg = nint(uparam(55))
81 iform = nint(uparam(31))
100 IF (gg1 == zero .AND. gg2 == zero .AND. gg3 == zero) isfluid=1
111 IF(iform == 2 .OR. iform == 3 .OR. iform == 4 .OR. iform==5 .OR. iform == 6)
THEN
121 IF(iflg == 1 .AND. iparg(64) == 0)
THEN
124 CALL m5in3 (pm,mat,0,detonators,tb,iparg,x,ix,nix)
126 CALL m5in2 (pm,mat,0,detonators,tb,x,ix,nix)
133 c0_(1:4) = (/uparam(35:37),uparam(49)/)
134 c1_(1:4) = (/uparam(12:14),uparam(50)/)
135 c2_(1:4) = (/uparam(15:17),zero/)
136 c3_(1:4) = (/uparam(18),uparam(20:21),zero/)
137 c4_(1:4) = (/uparam(22:24),zero/)
138 c5_(1:4) = (/uparam(25:27),zero/)
139 e0_(1:4) = (/uparam(32:34),uparam(48)/)
140 t0_(1:4) = (/uparam(113),uparam(163),uparam(213),uparam(263)/)
141 rho0_(1:4)= (/uparam(09:11),uparam(47)/)
142 vf(1:4) = (/uparam(04:06),uparam(46)/)
144 p0(1) = c0_(1)+c4_(1)*e0_(1)
145 p0(2) = c0_(2)+c4_(2)*e0_(2)
146 p0(3) = c0_(3)+c4_(3)*e0_(3)
156 vold = gbuf%VOL(i)*vf(imat)
157 kk = m51_n0phas + (imat-1)*m51_nvphas
158 uvar(i,1+kk) = vf(imat)
165 uvar(i,8+kk) = e0_(imat)
166 uvar(i,9+kk) = rho0_(imat)
169 uvar(i,12+kk) = rho0_(imat)
171 uvar(i,16+kk) = t0_(imat)
173 uvar(i,18+kk) = c0_(imat)+c4_(imat
175 uvar(i,20+kk) = rho0_(imat)
176 uvar(i,21+kk) = e0_(imat)
178 uvar(i,23+kk) = vf(imat)
183 kk = m51_n0phas+(imat-1)*m51_nvphas
184 uvar(1:nel,15+kk) = uvar(1:nel,1)
187 p0(1) = c0_(1)+c4_(1)*e0_(1)
188 p0(2) = c0_(2)+c4_(2)*e0_(2)
189 p0(3) = c0_(3)+c4_(3)*e0_(3)
191 pres_0 = vf(1)*p0(1)+vf(2)*p0(2)+vf(3)*p0(3)+vf(4)*p0(4)
193 pm(31,mat(i)) = pres_0
194 pm(104,mat(i)) = pres_0
202 gbuf%RHO(i) = vf(1)*rho0_(1)+vf(2)*rho0_(2)+vf(3)*rho0_(3)+vf(4)*rho0_(4)
218 . ipm , pm , x , nix , ix,
219 . ale_connectivity , bufmat, uparam, rho0 ,
220 . uvar , nuvar , nel , gbuf%RHO, numel
subroutine m51init(ipm, detonators, pm, tb, nuvar, uvar, uparam, x, mat, iparg, iform, ix, nix, ale_connectivity, bufmat, rho0, gbuf, nel, sig)