46 1 IPARG, PM, ELBUF_TAB, FLUX,
47 2 VAL2, T, ALE_CONNECT,IXS,
49 4 TF, NPF, NERCVOIS, NESDVOIS,
50 5 LERCVOIS, LESDVOIS, LENCOM, IPM,
58 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
59 USE matparam_def_mod,
ONLY : matparam_struct_
60 use element_mod ,
only : nixs
64#include "implicit_f.inc"
74#include "vect01_c.inc"
79 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,NUMELS), IXQ(7,NUMELQ), NPF(*),
80 . NERCVOIS(*),NESDVOIS(*),LERCVOIS(*),LESDVOIS(*),
81 . IPM(,NUMMAT), LENCOM
82 my_real PM(NPROPM,NUMMAT), FLUX(*), VAL2(*), T(*), FV(*), X(3,NUMNOD),TF(*),BUFMAT(*)
83 TYPE (ELBUF_STRUCT_),
DIMENSION (NGROUP),
TARGET :: ELBUF_TAB
84 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECT
85 TYPE(matparam_struct_),
DIMENSION(NUMMAT),
INTENT(IN) :: MATPARAM
89 INTEGER NG, I, J, NPH1, NPH2, NPH3, IADBUF
91 my_real rk, re, r, yp0, xmu, ax, e, a, cmu, rpr, yplus, p, xmt
92 my_real,
DIMENSION(:) ,
POINTER :: ph1,ph2,ph3
93 TYPE(g_bufel_) ,
POINTER :: GBUF
101 IF(iparg(8,ng) == 1)cycle
102 IF (iparg(76, ng) == 1) cycle
103 gbuf => elbuf_tab(ng)%GBUF
105 2 mtn ,llt ,nft ,iad ,ity ,
106 3 npt ,jale ,ismstr ,jeul ,jtur ,
107 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
108 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
109 6 irep ,iint ,igtyp ,israt ,isrot ,
110 7 icsen ,isorth ,isorthg ,ifailure,jsms )
111 IF((ity /= 1).AND.(ity /= 2))cycle
132 IF(t(j) <= pm(80,mat(i)))
THEN
133 val2(j)=pm(75,mat(i))+pm(76,mat(i))*t(j)
135 val2(j)=pm(77,mat(i))+pm(78,mat(i))*t(j)
152 yplus =cmu*rk**2/
max(ax*re*xmu,em15)
154 p = ninep24*(rpr-one)/(rpr**fourth)
155 val2(j)=val2(j) * rpr*ax*yplus / (a*log(e*yplus) + ax*p)
157 ELSEIF (mtn == 18)
THEN
158 CALL m18th( gbuf%TEMP,val2, mat, pm
160 ELSEIF (mtn == 26)
THEN
161 CALL m26th( mat, gbuf%RHO, gbuf%TEMP,val2,
162 2 pm, bufmat, gbuf%RE, nel,
164 ELSEIF (mtn == 51)
THEN
165 nph1 = (m51_n0phas)*nel
166 nph2 = (m51_n0phas + m51_nvphas)*nel
167 nph3 = (m51_n0phas + m51_nvphas*2)*nel
168 iadbuf = ipm(7,mat(1))
169 ph1 =>elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR(nph1+1:nph1+1+nel)
170 ph2 =>elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR(nph2+1:nph2+1+nel)
171 ph3 =>elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR(nph3+1:nph3+1+nel)
172 CALL m51th( t(1+nft), ph1, ph2, ph3,
173 2 bufmat(iadbuf),val2(1+nft), nel)
174 ELSEIF (jtur /= 0.AND.mtn /= 11)
THEN
180 xmt= pm(81,mat(i))*rk*rk /
max(em15,re)
183 val2(j)=val2(j)*(one+rpr*xmt/xmu
191 CALL spmd_evois(t, val2, nercvois, nesdvois, lercvois, lesdvois, lencom)
197 IF (iparg(76, ng) == 1) cycle
209 CALL afimp3(pm,x,ixs,t,flux(6*nft+1),val2,ale_connect,fv
211 CALL afimp2(pm,x,ixq,t,flux(4*nft+1),val2,ale_connect,fv)
219 IF (iparg(76, ng) == 1) cycle
220 gbuf => elbuf_tab(ng)%GBUF
222 2 mtn ,llt ,nft ,iad ,ity ,
223 3 npt ,jale ,ismstr ,jeul ,jtur ,
224 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
225 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
226 6 irep ,iint ,igtyp ,israt ,isrot ,
227 7 icsen ,isorth ,isorthg ,ifailure,jsms )
228 IF (iparg(8,ng) == 1)cycle
229 IF (jthe /= 1 .OR. ity == 51)cycle
234 if(rhocp == zero)
then
235 rhocp = pm(89,mid)*matparam(mid)%eos%cp
242 CALL adiff3(gbuf%TEMP,t,flux(6*nft+1),val2,ale_connect,gbuf%VOL,gbuf%TEMP,rhocp,nel)
244 CALL adiff2(gbuf%TEMP,t,flux(4*nft+1),val2
248 CALL adiff3(gbuf%EINT,t,flux(6*nft+1),val2,ale_connect,gbuf%VOL,gbuf%TEMP,rhocp,nel
250 CALL adiff2(gbuf%EINT,t,flux(4*nft+1),val2
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)