159599516SKenneth E. Jansen subroutine getDiff (T, cp, rho, ycl, 259599516SKenneth E. Jansen & rmu, rlm, rlm2mu, con, shp, 359599516SKenneth E. Jansen & xmudmi, xl) 459599516SKenneth E. Jansen 559599516SKenneth E. Jansenc---------------------------------------------------------------------- 659599516SKenneth E. Jansenc 759599516SKenneth E. Jansenc This routine calculates the fluid material properties. 859599516SKenneth E. Jansenc 959599516SKenneth E. Jansenc input: 1059599516SKenneth E. Jansenc T (npro) : temperature 1159599516SKenneth E. Jansenc cp (npro) : specific heat at constant pressure 1259599516SKenneth E. Jansenc ************************************************************** 1359599516SKenneth E. Jansenc rho (npro) : density 1459599516SKenneth E. Jansenc ycl (npro,nshl,ndof): Y variables 1559599516SKenneth E. Jansenc shp (npro,nshl) : element shape-functions 1659599516SKenneth E. Jansenc ************************************************************* 1759599516SKenneth E. Jansenc output: 1859599516SKenneth E. Jansenc rmu (npro) : Mu 1959599516SKenneth E. Jansenc rlm (npro) : Lambda 2059599516SKenneth E. Jansenc rlm2mu (npro) : Lambda + 2 Mu 2159599516SKenneth E. Jansenc con (npro) : Conductivity 2259599516SKenneth E. Jansenc 2359599516SKenneth E. Jansenc Note: material type flags 2459599516SKenneth E. Jansenc matflg(2): 2559599516SKenneth E. Jansenc eq. 0, constant viscosity 2659599516SKenneth E. Jansenc eq. 1, generalized Sutherland viscosity 2759599516SKenneth E. Jansenc matflg(3): 2859599516SKenneth E. Jansenc eq. 0, Stokes approximation 2959599516SKenneth E. Jansenc eq. 1, shear proportional bulk viscosity 3059599516SKenneth E. Jansenc 3159599516SKenneth E. Jansenc 3259599516SKenneth E. Jansenc Farzin Shakib, Winter 1987. 3359599516SKenneth E. Jansenc Zdenek Johan, Winter 1991. (Fortran 90) 3459599516SKenneth E. Jansenc---------------------------------------------------------------------- 3559599516SKenneth E. Jansenc 3659599516SKenneth E. Jansen use turbSA 3759599516SKenneth E. Jansen use pointer_data 3859599516SKenneth E. Jansen include "common.h" 3959599516SKenneth E. Jansenc 4059599516SKenneth E. Jansen dimension T(npro), cp(npro), 4159599516SKenneth E. Jansen & rho(npro), Sclr(npro), 4259599516SKenneth E. Jansen & rmu(npro), rlm(npro), 4359599516SKenneth E. Jansen & rlm2mu(npro), con(npro), 4459599516SKenneth E. Jansen & ycl(npro,nshl,ndof), shp(npro,nshl), 4559599516SKenneth E. Jansen & xmudmi(npro,ngauss), xl(npro,nenl,nsd), 4659599516SKenneth E. Jansen & xx(npro) 4759599516SKenneth E. Jansenc 4859599516SKenneth E. Jansen dimension xmut(npro) 4959599516SKenneth E. Jansen real*8 prop_blend(npro),test_it(npro) 5059599516SKenneth E. Jansen 5159599516SKenneth E. Jansen integer n, e 5259599516SKenneth E. Jansen integer wallmask(nshl) 53513954efSKenneth E. Jansen real*8 xki, xki3, fv1, evisc, lvisc 54513954efSKenneth E. Jansen xx=zero 55513954efSKenneth E. Jansen do n=1,nenl 56513954efSKenneth E. Jansen xx(:)=xx(:) + shp(:,n) * xl(:,n,1) 57513954efSKenneth E. Jansen enddo 5859599516SKenneth E. Jansenc 5959599516SKenneth E. Jansenc 6059599516SKenneth E. Jansenc.... constant viscosity 6159599516SKenneth E. Jansenc 6259599516SKenneth E. Jansen if (matflg(2,1) .eq. 0) then 6359599516SKenneth E. Jansenc 6459599516SKenneth E. Jansen if (iLSet .ne. 0)then !two fluid properties used in this model 6559599516SKenneth E. Jansen Sclr = zero 6659599516SKenneth E. Jansen isc=abs(iRANS)+6 6759599516SKenneth E. Jansen do n = 1, nshl 6859599516SKenneth E. Jansen Sclr = Sclr + shp(:,n) * ycl(:,n,isc) 6959599516SKenneth E. Jansen enddo 7059599516SKenneth E. Jansen test_it = 0.5*(one + Sclr/epsilon_ls + 7159599516SKenneth E. Jansen & (sin(pi*Sclr/epsilon_ls))/pi ) 7259599516SKenneth E. Jansen 7359599516SKenneth E. Jansen prop_blend = max( min(test_it(:), one ), zero ) 7459599516SKenneth E. Jansen rmu = datmat(1,2,2) + (datmat(1,2,1)-datmat(1,2,2)) 7559599516SKenneth E. Jansen & *prop_blend 7659599516SKenneth E. Jansen elseif(irampViscOutlet.eq.1)then ! increase viscosity near outlet 77513954efSKenneth E. Jansenc.............ramp rmu near outlet (for a Duct geometry) 7859599516SKenneth E. Jansen fmax=10.0 79513954efSKenneth E. Jansen! fmax=2000.0 80513954efSKenneth E. Jansen 81513954efSKenneth E. Jansenc if (myrank .eq. master)then 82513954efSKenneth E. Jansenc write(*,*) 'viscosity', datmat(1,2,1) 83513954efSKenneth E. Jansenc endif 84513954efSKenneth E. Jansen 85513954efSKenneth E. Jansenc... geometry6 86513954efSKenneth E. Jansen if(iDuctgeometryType .eq. 6)then 87513954efSKenneth E. Jansen 88513954efSKenneth E. Jansenc if (myrank .eq. master) write(*,*) 'getdiff, geometry6' 89513954efSKenneth E. Jansen 90513954efSKenneth E. Jansen where(xx(:).le. 0.42) !halfway btwn AIP and exit 9159599516SKenneth E. Jansen rmu(:)= datmat(1,2,1) 9259599516SKenneth E. Jansen elsewhere(xx(:).ge. 0.75) !2/3 of the way to the exit 9359599516SKenneth E. Jansen rmu(:)=fmax*datmat(1,2,1) 9459599516SKenneth E. Jansen elsewhere 9559599516SKenneth E. Jansen rmu(:)= datmat(1,2,1)*( 9659599516SKenneth E. Jansen & (55.65294821-55.65294821*fmax)*xx(:)*xx(:)*xx(:) 9759599516SKenneth E. Jansen & +(-97.67092412+97.67092412*fmax)*xx(:)*xx(:) 9859599516SKenneth E. Jansen & +(52.59203606-52.59203606*fmax)*xx(:) 9959599516SKenneth E. Jansen & -7.982719760+8.982719760*fmax) 100513954efSKenneth E. Jansen 10159599516SKenneth E. Jansen endwhere 102513954efSKenneth E. Jansen 103513954efSKenneth E. Jansenc do i = 1,npro 104513954efSKenneth E. Jansenc if(xx(i) .lt. 0.75 .and. xx(i) .gt. 0.42) 105513954efSKenneth E. Jansenc & write(*,*) xx(i), rmu(i) 106513954efSKenneth E. Jansenc enddo 107513954efSKenneth E. Jansen 108513954efSKenneth E. Jansenc... geometry8 109513954efSKenneth E. Jansen elseif (iDuctgeometryType .eq. 8)then 110513954efSKenneth E. Jansen xstart=1.5 !1.6*4.5*0.0254+0.85*0.5 111513954efSKenneth E. Jansen xmidwy=2.0 !1.6*4.5*0.0254+0.85*1.0 112513954efSKenneth E. Jansen where(xx(:).le.xstart) 113513954efSKenneth E. Jansen rmu(:)=datmat(1,2,1) 114513954efSKenneth E. Jansen elsewhere(xx(:).ge.xmidwy) 115513954efSKenneth E. Jansen rmu(:)=fmax*datmat(1,2,1) 116513954efSKenneth E. Jansen elsewhere 117513954efSKenneth E. Jansen rmu(:)=datmat(1,2,1) 118513954efSKenneth E. Jansen & *(1+(fmax-1)*(0.5+ 119513954efSKenneth E. Jansen & tanh(5*(xx(:)-(xmidwy+xstart)/2)/(xmidwy-xstart))/2)) 120513954efSKenneth E. Jansen endwhere 121513954efSKenneth E. Jansen 122513954efSKenneth E. Jansen 123513954efSKenneth E. Jansen 124513954efSKenneth E. Jansen endif 125513954efSKenneth E. Jansenc..................................................... 12659599516SKenneth E. Jansen else ! constant viscosity 12759599516SKenneth E. Jansen rmu = datmat(1,2,1) 12859599516SKenneth E. Jansen endif 129513954efSKenneth E. Jansen! 130513954efSKenneth E. Jansen! boundary layer thickening via molecular viscosity 131513954efSKenneth E. Jansen! 132513954efSKenneth E. Jansen scaleCntrl=1.0 133513954efSKenneth E. Jansen Lvisc=0.2 134513954efSKenneth E. Jansen xbltb=-0.2159-two*Lvisc 135513954efSKenneth E. Jansen xblte=-0.2159-Lvisc 136513954efSKenneth E. Jansen where((xx(:).gt.xbltb) .and. (xx(:).lt.xblte)) 137513954efSKenneth E. Jansen rmu(:)=scaleCntrl*datmat(1,2,1) 138513954efSKenneth E. Jansen endwhere 139513954efSKenneth E. Jansen 140513954efSKenneth E. Jansen! xvisc1 = -0.3048 141513954efSKenneth E. Jansen! xvisc2 = -0.2159 142513954efSKenneth E. Jansen! where(xx(:).lt.xvisc1) 143513954efSKenneth E. Jansen! rmu(:)=scaleCntrl*datmat(1,2,1) 144513954efSKenneth E. Jansen! elsewhere(xx(:).gt.xvisc1 .and. xx(:).lt.xvisc2) 145513954efSKenneth E. Jansen! rmu(:)=( scaleCntrl - (scaleCntrl - 1)* 146513954efSKenneth E. Jansen! & (xx(:) - xvisc1)/(xvisc2 - xvisc1))*datmat(1,2,1) 147513954efSKenneth E. Jansen! endwhere 148513954efSKenneth E. Jansen 149513954efSKenneth E. Jansen !if(myrank.eq.master) then 150513954efSKenneth E. Jansen ! write(*,*) 'adjusting viscosity in region by ', scaleCntrl 151513954efSKenneth E. Jansen !endif 15259599516SKenneth E. Jansen else 15359599516SKenneth E. Jansenc 15459599516SKenneth E. Jansenc.... generalized Sutherland viscosity 15559599516SKenneth E. Jansenc 15659599516SKenneth E. Jansen rmu = datmat(1,2,1) * (T/datmat(2,2,1))*sqrt(T/datmat(2,2,1)) 15759599516SKenneth E. Jansen & * ( datmat(2,2,1) + datmat(3,2,1) ) / (T + datmat(3,2,1)) 15859599516SKenneth E. Jansenc 15959599516SKenneth E. Jansen endif 16059599516SKenneth E. Jansenc 16159599516SKenneth E. Jansenc.... calculate the second viscosity coefficient 16259599516SKenneth E. Jansenc 16359599516SKenneth E. Jansen if (matflg(3,1) .eq. 0) then 16459599516SKenneth E. Jansen rlm = -pt66 * rmu 16559599516SKenneth E. Jansen else 16659599516SKenneth E. Jansen rlm = (datmat(1,3,1) - pt66) * rmu 16759599516SKenneth E. Jansen endif 16859599516SKenneth E. Jansenc 16959599516SKenneth E. Jansenc.... calculate the remaining quantities 17059599516SKenneth E. Jansenc 17159599516SKenneth E. Jansen con = rmu * cp / pr 17259599516SKenneth E. Jansenc 17359599516SKenneth E. Jansenc-------------Eddy Viscosity Calculation----------------- 17459599516SKenneth E. Jansenc 17559599516SKenneth E. Jansenc.... dynamic model 17659599516SKenneth E. Jansenc 17759599516SKenneth E. Jansen if (iLES .gt. 0. and. iRANS.eq.0) then ! simple LES 17859599516SKenneth E. Jansen xmut = xmudmi(:,intp) 17959599516SKenneth E. Jansen else if (iRANS .eq. 0 .and. iLES.eq.0 ) then !DNS 18059599516SKenneth E. Jansen xmut = zero 18159599516SKenneth E. Jansen else if (iRANS .lt. 0) then ! calculate RANS viscosity 18259599516SKenneth E. Jansenc 18359599516SKenneth E. Jansenc.... RANS 18459599516SKenneth E. Jansenc 18559599516SKenneth E. Jansen do e = 1, npro 18659599516SKenneth E. Jansen wallmask = 0 18759599516SKenneth E. Jansen if(itwmod.eq.-2) then ! effective viscosity 18859599516SKenneth E. Jansenc mark the wall nodes for this element, if there are any 18959599516SKenneth E. Jansen do n = 1, nshl 19059599516SKenneth E. Jansenc 19159599516SKenneth E. Jansenc note that we are using ycl here so that means that these 19259599516SKenneth E. Jansenc terms are not perturbed for MFG difference and therefore 19359599516SKenneth E. Jansenc NOT in the LHS. As they only give the evisc near the wall 19459599516SKenneth E. Jansenc I doubt this is a problem. 19559599516SKenneth E. Jansenc 19659599516SKenneth E. Jansen u1=ycl(e,n,2) 19759599516SKenneth E. Jansen u2=ycl(e,n,3) 19859599516SKenneth E. Jansen u3=ycl(e,n,4) 19959599516SKenneth E. Jansen if((u1.eq.zero).and.(u2.eq.zero).and.(u3.eq.zero)) 20059599516SKenneth E. Jansen & then 20159599516SKenneth E. Jansen wallmask(n)=1 20259599516SKenneth E. Jansen endif 20359599516SKenneth E. Jansen enddo 20459599516SKenneth E. Jansen endif 20559599516SKenneth E. Jansenc 20659599516SKenneth E. Jansen if( any(wallmask.eq.1) ) then 20759599516SKenneth E. Jansenc if there are wall nodes for this elt in an effective-viscosity wall 20859599516SKenneth E. Jansenc modeled case,then eddy viscosity has been stored at the wall nodes 20959599516SKenneth E. Jansenc in place of the spalart-allmaras variable; the eddy viscosity for 21059599516SKenneth E. Jansenc the whole element is taken to be the avg of wall values 21159599516SKenneth E. Jansen evisc = zero 21259599516SKenneth E. Jansen nwnode=0 21359599516SKenneth E. Jansen do n = 1, nshl 21459599516SKenneth E. Jansen if(wallmask(n).eq.1) then 21559599516SKenneth E. Jansen evisc = evisc + ycl(e,n,6) 21659599516SKenneth E. Jansen nwnode = nwnode + 1 21759599516SKenneth E. Jansen endif 21859599516SKenneth E. Jansen enddo 21959599516SKenneth E. Jansen evisc = evisc/nwnode 22059599516SKenneth E. Jansen xmut(e)= abs(evisc) 22159599516SKenneth E. Jansenc this is what we would use instead of the above if we were allowing 22259599516SKenneth E. Jansenc the eddy viscosity to vary through the element based on non-wall nodes 22359599516SKenneth E. Jansenc$$$ evisc = zero 22459599516SKenneth E. Jansenc$$$ Turb = zero 22559599516SKenneth E. Jansenc$$$ do n = 1, nshl 22659599516SKenneth E. Jansenc$$$ if(wallmask(n).eq.1) then 22759599516SKenneth E. Jansenc$$$ evisc = evisc + shape(e,n) * ycl(e,n,6) 22859599516SKenneth E. Jansenc$$$ else 22959599516SKenneth E. Jansenc$$$ Turb = Turb + shape(e,n) * ycl(e,n,6) 23059599516SKenneth E. Jansenc$$$ endif 23159599516SKenneth E. Jansenc$$$ enddo 23259599516SKenneth E. Jansenc$$$ xki = abs(Turb)/rmu(e) 23359599516SKenneth E. Jansenc$$$ xki3 = xki * xki * xki 23459599516SKenneth E. Jansenc$$$ fv1 = xki3 / (xki3 + saCv1P3) 23559599516SKenneth E. Jansenc$$$ rmu(e) = rmu(e) + fv1*abs(Turb) 23659599516SKenneth E. Jansenc$$$ rmu(e) = rmu(e) + abs(evisc) 23759599516SKenneth E. Jansen else 23859599516SKenneth E. Jansenc else one of the following is the case: 23959599516SKenneth E. Jansenc using effective-viscosity, but no wall nodes on this elt 24059599516SKenneth E. Jansenc using slip-velocity 24159599516SKenneth E. Jansenc using no model; walls are resolved 24259599516SKenneth E. Jansenc in all of these cases, eddy viscosity is calculated normally 24359599516SKenneth E. Jansen savar = zero 24459599516SKenneth E. Jansen do n = 1, nshl 24559599516SKenneth E. Jansen savar = savar + shp(e,n) * ycl(e,n,6) 24659599516SKenneth E. Jansen enddo 247*779e4b51SKenneth E. Jansen xki = rho(e)*abs(savar)/rmu(e) 24859599516SKenneth E. Jansen xki3 = xki * xki * xki 24959599516SKenneth E. Jansen fv1 = xki3 / (xki3 + saCv1P3) 250*779e4b51SKenneth E. Jansen xmut(e) = fv1*abs(savar)*rho(e) 25159599516SKenneth E. Jansen endif 25259599516SKenneth E. Jansen enddo ! end loop over elts 25359599516SKenneth E. Jansen 25459599516SKenneth E. Jansen if (iLES.gt.0) then ! this is DES so we have to blend in 25559599516SKenneth E. Jansen ! xmudmi based on max edge length of 25659599516SKenneth E. Jansen ! element 25759599516SKenneth E. Jansen call EviscDES (xl,xmut,xmudmi) 25859599516SKenneth E. Jansen endif 25959599516SKenneth E. Jansen endif ! check for LES or RANS 26059599516SKenneth E. Jansen 26159599516SKenneth E. Jansen rlm = rlm - pt66*xmuT 26259599516SKenneth E. Jansen rmu = rmu + xmuT 26359599516SKenneth E. Jansen rlm2mu = rlm + two * rmu 26459599516SKenneth E. Jansen con = con + xmuT*cp/pr 26559599516SKenneth E. Jansenc 26659599516SKenneth E. Jansenc.... return 26759599516SKenneth E. Jansenc 26859599516SKenneth E. Jansen return 26959599516SKenneth E. Jansen end 27059599516SKenneth E. Jansenc 27159599516SKenneth E. Jansenc 27259599516SKenneth E. Jansenc 27359599516SKenneth E. Jansen subroutine getDiffSclr (T, cp, rmu, rlm, 27459599516SKenneth E. Jansen & rlm2mu, con, rho, Sclr) 27559599516SKenneth E. Jansenc 27659599516SKenneth E. Jansenc---------------------------------------------------------------------- 27759599516SKenneth E. Jansenc 27859599516SKenneth E. Jansenc This routine calculates the fluid material properties. 27959599516SKenneth E. Jansenc 28059599516SKenneth E. Jansenc input: 28159599516SKenneth E. Jansenc T (npro) : temperature 28259599516SKenneth E. Jansenc cp (npro) : specific heat at constant pressure 28359599516SKenneth E. Jansenc 28459599516SKenneth E. Jansenc output: 28559599516SKenneth E. Jansenc rmu (npro) : Mu 28659599516SKenneth E. Jansenc rlm (npro) : Lambda 28759599516SKenneth E. Jansenc rlm2mu (npro) : Lambda + 2 Mu 28859599516SKenneth E. Jansenc con (npro) : Conductivity 28959599516SKenneth E. Jansenc 29059599516SKenneth E. Jansenc Note: material type flags 29159599516SKenneth E. Jansenc matflg(2): 29259599516SKenneth E. Jansenc eq. 0, constant viscosity 29359599516SKenneth E. Jansenc eq. 1, generalized Sutherland viscosity 29459599516SKenneth E. Jansenc matflg(3): 29559599516SKenneth E. Jansenc eq. 0, Stokes approximation 29659599516SKenneth E. Jansenc eq. 1, shear proportional bulk viscosity 29759599516SKenneth E. Jansenc 29859599516SKenneth E. Jansenc 29959599516SKenneth E. Jansenc Farzin Shakib, Winter 1987. 30059599516SKenneth E. Jansenc Zdenek Johan, Winter 1991. (Fortran 90) 30159599516SKenneth E. Jansenc---------------------------------------------------------------------- 30259599516SKenneth E. Jansenc 30359599516SKenneth E. Jansen include "common.h" 30459599516SKenneth E. Jansenc 30559599516SKenneth E. Jansen dimension T(npro), cp(npro), 30659599516SKenneth E. Jansen & rmu(npro), rlm(npro), 30759599516SKenneth E. Jansen & rlm2mu(npro), con(npro), 30859599516SKenneth E. Jansen & rho(npro), Sclr(npro) 30959599516SKenneth E. Jansen 31059599516SKenneth E. Jansen 31159599516SKenneth E. Jansen 31259599516SKenneth E. Jansenc 31359599516SKenneth E. Jansenc 31459599516SKenneth E. Jansenc.... constant viscosity 31559599516SKenneth E. Jansenc 31659599516SKenneth E. Jansen if (matflg(2,1) .eq. 0) then 31759599516SKenneth E. Jansenc 31859599516SKenneth E. Jansen rmu = datmat(1,2,1) 31959599516SKenneth E. Jansenc 32059599516SKenneth E. Jansen else 32159599516SKenneth E. Jansenc 32259599516SKenneth E. Jansenc.... generalized Sutherland viscosity 32359599516SKenneth E. Jansenc 32459599516SKenneth E. Jansen rmu = datmat(1,2,1) * (T/datmat(2,2,1))*sqrt(T/datmat(2,2,1)) 32559599516SKenneth E. Jansen & * ( datmat(2,2,1) + datmat(3,2,1) ) / (T + datmat(3,2,1)) 32659599516SKenneth E. Jansenc 32759599516SKenneth E. Jansen endif 32859599516SKenneth E. Jansenc 32959599516SKenneth E. Jansen*************************check**************************** 33059599516SKenneth E. Jansenc if (iRANS(1).lt.zero) then 33159599516SKenneth E. Jansenc rmu = saSigmaInv*rho*((rmu/rho)+Sclr) 33259599516SKenneth E. Jansenc endif 33359599516SKenneth E. Jansenc This augmentation of viscosity is performed in e3viscsclr 33459599516SKenneth E. Jansenc The Spalart -Allmaras model will need molecular viscosity 33559599516SKenneth E. Jansenc in subsequent calculations. 33659599516SKenneth E. Jansenc.... calculate the second viscosity coefficient 33759599516SKenneth E. Jansenc 33859599516SKenneth E. Jansen if (matflg(3,1) .eq. 0) then 33959599516SKenneth E. Jansenc 34059599516SKenneth E. Jansen rlm = -pt66 * rmu 34159599516SKenneth E. Jansenc 34259599516SKenneth E. Jansen else 34359599516SKenneth E. Jansenc 34459599516SKenneth E. Jansen rlm = (datmat(1,3,1) - pt66) * rmu 34559599516SKenneth E. Jansenc 34659599516SKenneth E. Jansen endif 34759599516SKenneth E. Jansenc 34859599516SKenneth E. Jansenc.... calculate the remaining quantities 34959599516SKenneth E. Jansenc 35059599516SKenneth E. Jansen 35159599516SKenneth E. Jansen 35259599516SKenneth E. Jansen 35359599516SKenneth E. Jansen rlm2mu = rlm + two * rmu 35459599516SKenneth E. Jansen con = rmu * cp / pr 35559599516SKenneth E. Jansen 35659599516SKenneth E. Jansen 35759599516SKenneth E. Jansen 35859599516SKenneth E. Jansenc 35959599516SKenneth E. Jansenc.... return 36059599516SKenneth E. Jansenc 36159599516SKenneth E. Jansen return 36259599516SKenneth E. Jansen end 36359599516SKenneth E. Jansen 36459599516SKenneth E. Jansen subroutine EviscDES(xl,xmut,xmudmi) 36559599516SKenneth E. Jansen 36659599516SKenneth E. Jansen include "common.h" 36759599516SKenneth E. Jansen real*8 xmut(npro),xl(npro,nenl,nsd),xmudmi(npro,ngauss) 36859599516SKenneth E. Jansen 36959599516SKenneth E. Jansen 37059599516SKenneth E. Jansen do i=1,npro 37159599516SKenneth E. Jansen dx=maxval(xl(i,:,1))-minval(xl(i,:,1)) 37259599516SKenneth E. Jansen dy=maxval(xl(i,:,2))-minval(xl(i,:,2)) 37359599516SKenneth E. Jansen dz=maxval(xl(i,:,3))-minval(xl(i,:,3)) 37459599516SKenneth E. Jansen emax=max(dx,max(dy,dz)) 37559599516SKenneth E. Jansen if(emax.lt.eles) then ! pure les 37659599516SKenneth E. Jansen xmut(i)=xmudmi(i,intp) 37759599516SKenneth E. Jansen else if(emax.lt.two*eles) then ! blend 37859599516SKenneth E. Jansen xi=(emax-eles)/(eles) 37959599516SKenneth E. Jansen xmut(i)=xi*xmut(i)+(one-xi)*xmudmi(1,intp) 38059599516SKenneth E. Jansen endif ! leave at RANS value as edge is twice pure les 38159599516SKenneth E. Jansen enddo 38259599516SKenneth E. Jansen 38359599516SKenneth E. Jansen return 38459599516SKenneth E. Jansen end 385