I have been experimenting with the general BC in 2D.
I have flow inside a 2D geometry that is quite complicated. Firstly I started with a lid-driven cavity2D tutorial.
Than I wanted to generate a new boundaries inside a block nx, ny. For the sake of simplicity, I took again a smaller lid-driven cavity centered inside a block nx, ny.
I generated boundaries manually
boundaryCondition.addVelocityBoundary1N(Box2D(10, 120, 30, 30), lattice, boundary::freeslip);
boundaryCondition.addExternalVelocityCornerPN(121,30, lattice, boundary::freeslip );
boundaryCondition.addVelocityBoundary0P(Box2D(121, 121, 31, 90), lattice, boundary::freeslip);
boundaryCondition.addExternalVelocityCornerPP(121,91, lattice, boundary::freeslip );
boundaryCondition.addVelocityBoundary1P(Box2D(10, 120, 91, 91), lattice, boundary::dirichlet);
boundaryCondition.addExternalVelocityCornerNP(9,91, lattice, boundary::freeslip );
boundaryCondition.addVelocityBoundary0N(Box2D(9, 9, 31, 90), lattice, boundary::freeslip);
boundaryCondition.addExternalVelocityCornerNN(9,30, lattice, boundary::freeslip );
Then I set appropriate values for dirichlet BC and initialized at equilibrium.
I was expecting the flow to be calculated only inside a smaller cavity, because of the 1N, PN orientation used. It is however calculated also outside the cavity within the bounds of the box nx, ny.
I am sure I misunderstood something in your documentation, but what is it? Complicated 2D is clear only when I can use a bounceback nodes via boolean mask. What if I have dirichlet BC with zero normal component and constant tangential component (moving wall) ?
many thanks for reply!