45 1 IPARG, PM, ELBUF_TAB, FLUX,
46 2 VAL2, T, ALE_CONNECT,IXS,
48 4 TF, NPF, NERCVOIS, NESDVOIS,
49 5 LERCVOIS, LESDVOIS, LENCOM, IPM,
57 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
58 USE matparam_def_mod,
ONLY : matparam_struct_
62#include "implicit_f.inc"
72#include "vect01_c.inc"
77 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,NUMELS), IXQ(7,NUMELQ), NPF(*),
78 . NERCVOIS(*),NESDVOIS(*),LERCVOIS(*),LESDVOIS(*),
79 . IPM(NPROPMI,NUMMAT), LENCOM
80 my_real PM(NPROPM,NUMMAT), FLUX(*), VAL2(*), T(*), FV(*), X(3,NUMNOD),TF(*),BUFMAT(*)
81 TYPE (ELBUF_STRUCT_),
DIMENSION (NGROUP),
TARGET :: ELBUF_TAB
82 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECT
83 TYPE(matparam_struct_),
DIMENSION(NUMMAT),
INTENT(IN) :: MATPARAM
87 INTEGER NG, I, J, NPH1, NPH2, NPH3, IADBUF
89 my_real rk, re, r, yp0, xmu
90 my_real,
DIMENSION(:) ,
POINTER :: ph1,ph2,ph3
91 TYPE(g_bufel_) ,
POINTER :: GBUF
99 IF(iparg(8,ng) == 1)cycle
100 IF (iparg(76, ng) == 1) cycle
101 gbuf => elbuf_tab(ng)%GBUF
103 2 mtn ,llt ,nft ,iad ,ity ,
104 3 npt ,jale ,ismstr ,jeul ,jtur ,
105 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
106 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
107 6 irep ,iint ,igtyp ,israt ,isrot ,
108 7 icsen ,isorth ,isorthg ,ifailure,jsms )
109 IF((ity /= 1).AND.(ity /= 2))cycle
130 IF(t(j) <= pm(80,mat(i)))
THEN
131 val2(j)=pm(75,mat(i))+pm(76,mat(i))*t(j)
133 val2(j)=pm(77,mat(i))+pm(78,mat(i))*t(j)
150 yplus =cmu*rk**2/
max(ax*re*xmu,em15)
152 p = ninep24*(rpr-one)/(rpr**fourth)
153 val2(j)=val2(j) * rpr*ax*yplus / (a*log(e*yplus) + ax*p)
155 ELSEIF (mtn == 18)
THEN
156 CALL m18th( gbuf%TEMP,val2, mat, pm,
158 ELSEIF (mtn == 26)
THEN
159 CALL m26th( mat, gbuf%RHO, gbuf%TEMP,val2,
160 2 pm, bufmat, gbuf%RE, nel,
162 ELSEIF (mtn == 51)
THEN
163 nph1 = (m51_n0phas)*nel
164 nph2 = (m51_n0phas + m51_nvphas)*nel
165 nph3 = (m51_n0phas + m51_nvphas*2)*nel
166 iadbuf = ipm(7,mat(1))
167 ph1 =>elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR(nph1+1:nph1+1+nel)
168 ph2 =>elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR(nph2+1:nph2+1+nel
169 ph3 =>elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR(nph3+1:nph3+1+nel)
170 CALL m51th( t(1+nft), ph1, ph2, ph3,
171 2 bufmat(iadbuf),val2(1+nft), nel)
172 ELSEIF (jtur /= 0.AND.mtn /= 11)
THEN
178 xmt= pm(81,mat(i))*rk*rk /
max(em15,re)
181 val2(j)=val2(j)*(one+rpr*xmt/xmu)
189 CALL spmd_evois(t, val2, nercvois, nesdvois, lercvois, lesdvois, lencom)
195 IF (iparg(76, ng) == 1) cycle
207 CALL afimp3(pm,x,ixs,t,flux(6*nft+1),val2,ale_connect,fv)
209 CALL afimp2(pm,x,ixq,t,flux(4*nft+1),val2,ale_connect,fv)
217 IF (iparg(76, ng) == 1) cycle
218 gbuf => elbuf_tab(ng)%GBUF
220 2 mtn ,llt ,nft ,iad ,ity ,
221 3 npt ,jale ,ismstr ,jeul ,jtur ,
222 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
223 5 nvaux ,jpor ,jcvt ,jclose
224 6 irep ,iint ,igtyp ,israt ,isrot
225 7 icsen ,isorth ,isorthg ,ifailure,jsms )
226 IF (iparg(8,ng) == 1)cycle
227 IF (jthe /= 1 .OR. ity == 51)cycle
232 if(rhocp == zero)
then
233 rhocp = pm(89,mid)*matparam(mid)%eos%cp
240 CALL adiff3(gbuf%TEMP,t,flux(6*nft+1),val2,ale_connect,gbuf%VOL,gbuf%TEMP,rhocp,nel)
242 CALL adiff2(gbuf%TEMP,t,flux(4*nft+1),val2,ale_connect,gbuf%VOL,gbuf%TEMP,rhocp,nel)
246 CALL adiff3(gbuf%EINT,t,flux(6*nft+1),val2,ale_connect,gbuf%VOL,gbuf%TEMP,rhocp,nel)
248 CALL adiff2(gbuf%EINT,t,flux(4*nft+1),val2,ale_connect,gbuf%VOL,gbuf%TEMP,rhocp,nel)
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)