Solute Only Advecting on one node in MPIrun

Hi Palabos Community,
Sorry for posting Another question…

I’m having a new issue where the Solute in my model is occuring in the first node of my MPI run.
It’s a bit hard to explain so i’ll show with images.
with 36 cores the simulation looks like this:


the area where it the solute advected correctly fits perfectly with where the first component is from the MPI split…
with 8 cores:

Again the major splits fit perfectly with where the cores are being distributed on the model.
To couple the solute with the velocity I’m using:

applyProcessingFunctional(
            new LatticeToPassiveAdvDiff3D<T,DESCRIPTOR,CONCENTRATION_DESCRIPTOR>(10.),
            concentrationLattice->getBoundingBox(),*lattice,*concentrationLattice);

Running with openMPI v. 2 and 3.
checked on Ubuntu and redhat linux

Just want to be Clear this is only occuring on the passive solute advection in my model. the velocity field is being copied to the lattice just fine and the density and velocity in the first part of the model completed correctly without this issue.

Is this a bug ? or is it more likely a mistake on my side ?

any advice would help

As is always the case with IT stuff. The moment you ask for help, you figure out the solution anyway! XD

MultiBlockLattice3D<T,CONCENTRATION_DESCRIPTOR>* concentrationLattice=
   new MultiBlockLattice3D<T,CONCENTRATION_DESCRIPTOR>((MultiBlock3D&) voxelizedDomain.getVoxelMatrix());

changed to :

Dynamics<T,CONCENTRATION_DESCRIPTOR>* cdynamics =0;
cdynamics = new AdvectionDiffusionBGKdynamics<T,CONCENTRATION_DESCRIPTOR>(concentrationOmega);

MultiBlockLattice3D<T,CONCENTRATION_DESCRIPTOR>* concentrationLattice = 0;
concentrationLattice = generateMultiBlockLattice<T,CONCENTRATION_DESCRIPTOR>(voxelizedDomain.getVoxelMatrix(),
    envelopeWidth, cdynamics).release(); 

seems to have fixed it !

1 Like