Skip to content

Re: Slip-free and pressure corner boundary condition

#2776
Markus Mohrhard
Participant

Hello Juliaan,

Quote:
Quote from juliaan on January 24, 2018, 13:14
Hi Albert,

Thanks again.
Except for a small difference on the line “int mult = 2 / (d…” I didn’t find anything wrong. I actually think the problem is not with the slip-free bc, but potentially with the pressure outlet.

Because I want to run high Reynolds number cases I have opted for a pressure driven + periodic domain approach and I have implemented a fringe region to set the inflow.

However, I have two questions:

1. when i try to run my simulations with MPI they fail over the following line of code (that I use to initialize the fringe region). For a simulation on 2 processors, the code fails when iCloc = 1.

Code:
for (int iCloc = 0; iCloc < noOfCuboids; iCloc++) {
BlockGeometryStructure2D<T>& tmp = superGeometry.getBlockGeometry(iCloc);
dom_origin = tmp.getOrigin();

}

Something goes wrong when I ask for the origin. Any suggestion what could be wrong here?

You are not allowed to just access all the data when you use MPI. In MPI mode your data is distributed across multiple processes so you need to use a concept like:

Code:
for (int iC=0; iC<this->_loadBalancer.size(); ++iC) {
BlockGeometryStructure2D<T>& tmp = superGeometry.getBlockGeometry(iC);

}

If you execute this code now in each MPI process you will process each BlockLattice by the correct MPI process.