Hi,

Is it possible to modify “boussinesqThermal2d” example in Palabos, to make one of the walls (top wall) adiabatic?
If it is, can someone send/post me that example code.

Best regards,

Hi,

Adiabatic walls are implemented in Palabos, according to the following idea: the wall implements a boundary condition for the temperature, but the value of the temperature to be imposed on the wall is copied from the nearest neighbor at each iteration. The effect of this is to have a zero temperature gradient along the wall normal, which means, an adiabatic wall.

Use it with care, though, because this boundary condition has not yet been tested very thoroughly. In particular, it doesn’t seem to be very stable, numerically, at high Rayleigh number. If you use it, it would actually be great if you could share your observations with us.

Here’s how to add an adiabatic wall in a 3D code:

``````
// The lattice of the navier-stokes solver
MultiBlockLattice3D<T, NSDESCRIPTOR> nsLattice (
nx,ny,nz,new NSDYNAMICS<T, NSDESCRIPTOR>(nsOmega) );

// The lattice of the temperature solver

// .. at this place, create the coupling between temperature and fluid, as usual.

OnLatticeBoundaryCondition3D<T,NSDESCRIPTOR>*
nsBoundaryCondition = createLocalBoundaryCondition3D<T,NSDESCRIPTOR>();

// All outer walls of the rectangular domain shall implement a velocity condition for
// the fluid, and a fixed temperature condition for the temperature.
nsBoundaryCondition -> setVelocityConditionOnBlockBoundaries(nsLattice);

// On one selected plane (the x-z plane at y=0), turn the temperature condition
// into an adiabatic condition.

Box3D adiabaticWall(0,  nx-1, 0,    0,    1, nz-2);

xint processorLevelBC = 1;
integrateProcessingFunctional (