Skip to content

Approximate Deconvolution Method

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Approximate Deconvolution Method

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #5207
    fele.fele
    Participant

    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!
    Raffaele

    #5208
    stephan
    Moderator

    Dear Raffaele,

    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.

    Best
    Stephan

    #5209
    fele.fele
    Participant

    Dear Stephan,

    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?

    Best Regards,
    Raffaele

    #5210
    stephan
    Moderator

    Dear Raffaele,

    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.

    BR
    Stephan

    #5211
    fele.fele
    Participant

    Hello Stephan,
    thank you, I’ll try!
    Best,
    Raffaele

    #5212
    stephan
    Moderator

    … 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.

    Best
    Stephan

    #5219
    fele.fele
    Participant

    Hi Stephan,
    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…

    BR,
    Raffaele

    #5319
    stephan
    Moderator

    Hi Raffaele,

    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.

    BR
    Stephan

    #5330
    fele.fele
    Participant

    Hi Stephan,

    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!
    Raffaele

Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.