Free-surface boundary conditions

Hi there!

I’m fairly new to Palabos and LBM and have run into issues with the boundary conditions of my free-surface simulation… Is there any legitimate way to set boundary conditions (on or off lattice) using an STL file in free-surface?

I’ve tried adapting the method used in externalFlowAroundObstacle.cpp (see snippet below) by using “fields.lattice” instead of “*lattice” in the call to offLatticeBoundaryCondition3D. However, this causes crashes when my SparseBlockStructure is using more than 1 atomicblock/processor.

[code=“cpp”]
OffLatticeBoundaryCondition3D<T,DESCRIPTOR,Velocity> *boundaryCondition;

BoundaryProfiles3D<T,Velocity> profiles;
bool useAllDirections=true;
OffLatticeModel3D<T,Velocity>* offLatticeModel=0;
if (param.freeSlipWall) {
profiles.setWallProfile(new FreeSlipProfile3D);
}
else {
profiles.setWallProfile(new NoSlipProfile3D);
}
offLatticeModel =
new GuoOffLatticeModel3D<T,DESCRIPTOR> (
new TriangleFlowShape3D<T,Array<T,3> >(voxelizedDomain.getBoundary(), profiles),
flowType, useAllDirections );
offLatticeModel->setVelIsJ(velIsJ);
boundaryCondition = new OffLatticeBoundaryCondition3D<T,DESCRIPTOR,Velocity>(
offLatticeModel, voxelizedDomain, *lattice);

boundaryCondition->insert();



I'd be grateful for any help on this :)