Skip to content

Coupling NSE and ADE (Poiseuille Flow)

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Coupling NSE and ADE (Poiseuille Flow)

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #9318
    Nick
    Participant

    Hello

    I am currently researching the coupling of the Advection-Diffusion Equation (ADE) with the Navier-Stokes Equations (NSE) in OpenLB to simulate advection-diffusion in a flow field, specifically focusing on 2D Poiseuille flow. So far, I have successfully implemented both Poiseuille flow and advection-diffusion simulations independently.

    Current Challenges
    ・Poiseuille Flow in Advection-Diffusion: I want to implement Poiseuille flow within the advectiondiffusion2d.cpp example.

    ・Velocity Field Usage: I understand that I need to use the velocity field generated by the NSE as input for the advection term in the ADE. However, I am unsure about the best way to extract the velocity field from the SuperLattice for Poiseuille flow and use it in the advection-diffusion process in OpenLB.

    ・Code Integration: I also want to maintain OpenLB conventions for dynamics, boundary conditions, and data handling while integrating these two implementations.

    Specific Questions
    1.Accessing the Velocity Field: What is the recommended way to extract the velocity field from the fluid lattice (SuperLattice) and use it in the advection-diffusion lattice in OpenLB?

    2.Coupling Strategy: Are there existing examples or guidelines for effectively coupling NSE with ADE in OpenLB? Should I use a UnitConverter for both flow and concentration or have separate converters?

    I have also reviewed user guides, but I am still unsure about the best approach for coupling. Any guidance or references would be greatly appreciated.

    Thank you for your support!

    #9319
    Adrian
    Keymaster

    You can check out the thermal examples for a starting point, specifically the NavierStokesAdvectionDiffusionCoupling coupling operator used in e.g. examples/thermal/rayleighBenard3d.

    In general, what you will want to do is implemement a coupling operator (cf. the FAQ section on how to write your own coupling in the user guide) that computes the velocity moment using the NSE lattice dynamics (commonly via CELL::computeU) and applies it to the ADE lattice (how this is done very much depends on the specific model you want to implement).

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