November 7, 2023 at 3:12 pm #7905
Dear OpenLB community,
I replaced “SmagorinskyForcedBGKdynamics” with “ShearSmagorinskyForcedBGKdynamics” in channel3d and it never runs successfully. I can’t get it to run successfully, is this based on the descriptor, because in nozzle3d it says “#ifdef USE_SHEAR_SMAGORINSKY”.
using DESCRIPTOR = D3Q19<AV_SHEAR>;” and I understand from the literature that I want to implement a dynamic smagorinsky model instead of a shear smagorinsky model, should I change the model to a channel in nozzle3d?
Fuxin HeNovember 20, 2023 at 10:53 am #7920
Dear Fuxin He,
for using the shearSmagorinsky dynamics, please use the conforming descriptor as you suggested:
using DESCRIPTOR = D3Q19<AV_SHEAR>;”
StephanNovember 20, 2023 at 2:33 pm #7922RookieParticipantNovember 20, 2023 at 2:39 pm #7926
Thanks for writing back, I’m still using this descriptor“typedef WallFunctionForcedD3Q19Descriptor DESCRIPTOR;”and selected “ShearSmagorinskyForcedBGKdynamics”.It runs fine, so is this something I still need to change.
I also want to ask a question, I saw a post mentioned a mistake about Reynolds stress, but you only corrected half of the line 225 should be as said in this post：
If I set after “SuperLatticeTimeAveragedCrossCorrelationF3D < T > sAveragedVelcc (sVel sVel);”Is the output “Time Averaged Corss Correlation physVelocity-physVelocity_2” Reynolds stress？
Fuxin HeNovember 20, 2023 at 2:54 pm #7927
Dear Fuxin He,
please note that the descriptor needs a tag …<AV_SHEAR> to make the shear Smagorinsky dynamics work correctly.
Please have a look at the doxygen to learn more about input and output of specific functors.
In your case, please consider:
StephanNovember 20, 2023 at 3:06 pm #7928
In this file I also think it should be changed to “_sDataMN.getBlock(iCloc).get(input+1,iDim)/_ensembles” because it is “(uv)_av – u_av v_av,” and there is no averaging of (uv)。After I output the original result and compare it with the literature, I find that the trend is correct, but the value is indeed too large
Fuxin HeNovember 21, 2023 at 10:23 am #7929
Dear Fuxin He,
please specify the exact lines of the code you mean.
In case you have found a bug, please provide comparison to reference data in a plot or implementation for us to double-check.
Thank you and BR,
StephanNovember 22, 2023 at 11:06 am #7934
I’m sorry for the late reply, because I just finished dealing with the result. The error is just as I said in the last post attached. In of this folder (/ olb1.6 r0 / SRC/functors/lattice timeAveraged/superLatticeTimeAveraged3D hh) line 225 should be “the output = [iDim] _sDataMN.getBlock(iCloc).get(input+1,iDim)-_sDataM.getBlock(iCloc).get(input+1,iDimM) *_sDataN.getBlock(iCloc).get(input+1,iDimN)/_ensembles/_ensembles;” Change to “output[iDim] = _sDataMN.getBlock(iCloc).get(input+1,iDim)/_ensembles-_sDataM.getBlock(iCloc).get(input+1,iDimM)” *_sDataN.getBlock(iCloc).get(input+1,iDimN)/_ensembles/_ensembles. In other words, you are missing an average of MN, which is the Reynolds stress processed after my modification. Although it is not in perfect agreement with Kim’s result, it is much better than the original data, which is 1000 times higher than the modified one.
Below is my output, compared to Kim’s literature：Kim J, Moin P, Moser R. Turbulence statistics in fully developed channel flow at low Reynolds number[J]. Journal of fluid mechanics, 1987, 177: 133-166.
- You must be logged in to reply to this topic.