Approximate Deconvolution Method
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Approximate Deconvolution Method
- This topic has 8 replies, 2 voices, and was last updated 2 years, 6 months ago by fele.fele.
October 8, 2020 at 11:30 am #5207
Hi OpenLB Community,
I would like to test the Approximate Deconvolution Method for simulating turbulence. Is there any tutorial or implemented case where I can give a look?
Thanks in advance!
RaffaeleOctober 8, 2020 at 4:31 pm #5208
thank you for your post.
Unfortunately, the current release does not offer examples which showcase ADM.
In case you have further questions, just let me know.
StephanOctober 8, 2020 at 4:38 pm #5209
thanks a lot for the quick reply! How should I work with the ADM? Is it similar to other turbulence models implemented in OLB? In which *dynamics.hh are infos on the implementation?
RaffaeleOctober 8, 2020 at 4:44 pm #5210
the general application is similar, yes.
For example, you may have a look at ./examples/turbulence/nozzle3d/nozzle3d.cpp, define a flag similar to the other models (#define ADM) which in turn triggers the if-condition further below.
To make that work however, you have to uncomment and probably modify the corresponding functors in ./src/functors/lattice/turbulentF3D.h, .hh, .cpp.
StephanOctober 8, 2020 at 4:47 pm #5211
thank you, I’ll try!
RaffaeleOctober 8, 2020 at 9:24 pm #5212
… I forgot to mention the dynamics location.
There are several descriptors (see ADMlatticeDescriptors.h) and the corresponding (Forced)ADMBGKdynamics are located in the smagorinskyBGKdynamics.h.
StephanOctober 9, 2020 at 3:55 pm #5219
I tried to uncomment everything belonging to the ADMdynamics in the /src/dynamics/smagorinskyBGKdynamics.* and /src/functors/lattice/turbulentF3D.* files. I get although several errors by compiling. Mostly missing declarations and (i guess…) an error on line 75 of the smagorinskyBGKdynamics.hh, namely:
T uSqr = lbHelpers<T,DESCRIPTOR>::bgkCollision(cell, *cell., cell[velocityBeginsAt], omega);
Is the passed *cell. variable correct??
The variable missed from the compiler (velocityBeginsAt and rhoIsAt) are in this and in the next line (statistics.incrementStats(*cell[rhoIsAt], uSqr);).
I’ll try to fix the problem in the next days, in case you have any suggestion, please let me know…
RaffaeleNovember 13, 2020 at 12:46 pm #5319
have you managed to fix the problem?
Please excuse my late response.
You might want to try step by step enabling the comments.
Start with solely ADM dynamics used in the .cpp and the turbulentF3D as is (outcommented ADM lines).
A good example for testing could be the tgv3d case, since the automated gnuplot output includes reference solutions for the dissipation rate.
Then work your way up in the turbulentF3D. file and use the lines you need for your own application.
StephanNovember 17, 2020 at 12:34 pm #5330
thanks for your message. In the moment I’m focusing more on the implementation of the ADM rather than using it. The aim would be to implement a variant by myself, in OLB or in a self-made Code, I didn’t decided yet. I have however a general problem with OLB in understanding in a “practicable time” all structures of the Code. Using it for standard applications is quite nice but working on it can become a issue, if you have not so much time to go deep into it…
Best regards and thanks a lot for the help!
- You must be logged in to reply to this topic.