stephan
Forum Replies Created
-
AuthorPosts
-
December 7, 2023 at 3:37 pm in reply to: As to LBM-LES with SGS and Wall function compared with LES of NS #7997stephanModerator
Dear Yuji,
thank you for your comment, I’ll try to answer from my personal perspective.
Apparently, it is a good thing to use wall-modeled LES (WMLES) also in direct NS solvers.
The grid requirement for doing this is much less than wall-resolved LES (i.e. LES without wall model but fine enough grid near the wall), which is why WMLES is regarded as more promising for industrial application in the near future (cf. https://doi.org/10.1063/5.0036515).In addition, using SGS only without a wall model and without sufficiently refined grid (wrt y+), can lead to very bad results near the wall in wall-bounded turbulence.
Unfortunately, I do not have a reference for this.BR
Stephan- This reply was modified 4 months, 2 weeks ago by stephan.
stephanModeratorDear 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,
StephanstephanModeratorDear 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:
https://www.openlb.net/DoxyGen/html/da/d58/classolb_1_1SuperLatticeTimeAveragedCrossCorrelationF3D.htmlBR
StephanstephanModeratorDear Fuxin He,
for using the shearSmagorinsky dynamics, please use the conforming descriptor as you suggested:
“#ifdef USE_SHEAR_SMAGORINSKY”.
using DESCRIPTOR = D3Q19<AV_SHEAR>;”Best regards,
StephanstephanModeratorDear Yuji,
regarding your second question, concerning the pressure, I can recommend you to read Section “7.2.1.2 Pressure, Stress and Force” in the book of Krüger et al. (https://doi.org/10.1007/978-3-319-44649-3).
BR
StephanstephanModeratorDear Yuji,
thank you for your post.
Please note that, by construction, the physical pressure is assumed to be absolute.Wrt your questions:
(1) To set a specific pressure value at the boundary, input the desired physical value (e.g. named pF) to the functor which sets the boundary values. So, irrespective of your actual boundary condition (e.g. setLocalPressureBoundary, setInterpolatedPressureBoundary), you can use the following:
AnalyticalConst3D<T,T> rho(converter.getLatticeDensityFromPhysPressure(pF)); // to convert physical pressure to lattice density
sLattice.defineRho(superGeometry, 4, rhoF); // to set the actual value, assuming that your outflow boundary has e.g. material number 4.2) Unfortunately, we do not have this kind of boundary included in OpenLB out of the box.
Best,
StephanstephanModeratorDear Jijo,
thank you for your post.
Please have a look at the examples/ in OpenLB which showcase the usage of setRegularizedHeatFluxBoundary for straight walls (curved walls with a heatflux boundary need specific treatment, which is currently still under development).
In addition, the output functor you use might produce a magnitude value in Paraview which can differ if the shape of the boundary is curved.
BR
StephanstephanModeratorDear Mike,
you might want to consider the book of Krüger et al. (2017) in Section “8.5 Boundary Conditions” and references therein.
Please also note that some specific modifications in the OpenLB code might be of practical nature and not explicitly explained in the comments.BR
StephanstephanModeratorDear Mike,
thanks for your comment.
The difference in the code is due to a different ordering of discrete velocities (columns) and moment polynomials (rows).BR
StephanNovember 2, 2022 at 8:35 pm in reply to: Correction to SuperLatticeTimeAveragedCrossCorrelationF3D #6944stephanModeratorDear Ramiro,
thanks again for your post, and for fixing the bug.
We will include the correction.BR
StephanstephanModeratorDear Ramiro,
thanks for the detailed explanation.
We cannot provide further assistance towards the implementation of the exact code in the paper.In case you would like to cooperate further in this direction please contact me per email (stephan.simonis@kit.edu).
BR
StephanOctober 28, 2022 at 10:28 am in reply to: Correction to SuperLatticeTimeAveragedCrossCorrelationF3D #6924stephanModeratorDear Ramiro,
thank you for the bug report.
We will have a look and get back to you soon.
Meanwhile, could you please explain your suggestion?BR
StephanstephanModeratorDear Ramiro,
thank you for your post.
Please have a look at the channel3d Example in the current release.
A boundary method for wall functions is implemented in setWallFunctionBoundary3D.h(h).BR
StephanstephanModeratorDear Sahil,
regarding your first question, please specify the function as an analytical functor (e.g. AnalyticalLinear3D) and pass it to the boundary condition (depending on what arguments it requires). You can find this procedure in basically any example at some point.
For detailed conversion rules please have a look at the file src/core/thermalUnitConverter.h:
– l.75: The conversion factor for temperature is computed via: (charPhysHighTemperature – charPhysLowTemperature). You set these two values in physical units at the beginning of your simulation. In your case these could be 278K and 318K.
– l.144 onwards: The converter uses the conversion factor for temperature to compute a lattice value of a given physical temperature in this way: (physTemperature – charPhysLowTemperature) / _conversionTemperature + 0.5; and eventually a typecast. Hence, according to this rule, the converter converts charPhysHighTemperature to 1 and charPhysLowTemperature to 0.
– In case you assign your appearing wall temperatures to these two values (in physical units!), respectively, the answer to your second question is yes.BR
stephanstephanModeratorDear sahilbhapkar30,
could you please provide a bit more detail to your question?
BR
stephan -
AuthorPosts