Hello,
I am trying to replicate the experiment from P.Ouro et al. 2018 : a vertical tidal turbine in a flume. In experments, the turbulent intensity (TI) is measured as pretty much constant along the flume (horizontally and vertically) : TIi=15% ; while the vertical profile is pretty much constant/flat (horizontally and vertically).
To impose this profile and TI in my numerical flume I use the k-epsilon turbulence model to have access to the TKE and epsilon - and I assume that TI=sqrt(2*TKE/3)/||u||
Using Viollet test case and forum posts, the idea is to specify TKE and Epsilon in kepcl3.f via a Dirichlet boundary condition. I manage to do that for the inlet - around lines 257:
IF(OPTBCKE.EQ.1) THEN
! NO TURBULENCE
KBORL(IPTFR,IPLAN) = 0.03D0 ! 3/2*(TI[%]*U)**2 KMIN
However specifying TKE on WALLS seems impossible - line 277 in kepscl3.f does nothing. I think I tried all combinaison of keywords but let me know if I forgot one (I do NOT want to impose a friction coefficient on walls as I want a constant/flat horizontal velocity profile). Imposing TKE and Epsilon on walls is the only solution I came up with otherwise TI drops from 15% at inlet to 6% at outlet - because we impose Dirichlet BC TKE=Kmin on walls (and bottom).
I think line 277 in kepscl3.f does nothing because LIKBOL should be KENT (line 241), whereas in kepicl.f LIKBOL=KSORT (lines 78-89) since LIUBOL=!KENT or LIUBOL=!KENTU
So, (and this is why I post on this topic), I made modifications in kepicl.f:
IF(LIUBOL(IPTFR).EQ.KENT.OR.LIUBOL(IPTFR).EQ.KENTU) THEN
LIKBOL(IPTFR) = KENT
LIEBOL(IPTFR) = KENT
! ELSE
elseif(LIUBOL(IPTFR).EQ.KSORT) then
LIKBOL(IPTFR) = KSORT
LIEBOL(IPTFR) = KSORT
else
LIKBOL(IPTFR) = KENT
LIEBOL(IPTFR) = KENT
ENDIF
That way, wall type BC can be specified in kepcl3.f.
I guess another solution would be to add (in kepcl3.f) an else to the
LIKBOL(IPTFR,IPLAN).EQ.KENT (line 241) and move the "wall" part.
I have attached the case - hopefully to replicate- and a picture showing the difference.
Pierre-Henri