aaron99 |
May 27, 2019 06:12 |
Effects on fvSolution file on calling mpi run
I'm getting different behaviors while rereading fvSolution file using mpirun and without using it.
I modified my fvSolution.H file and added a fvSolution.C (also added it to Make)
fvSolution.C
Code:
bool::Foam::fvSolution::read() {
Info << "fvSolution rereading" << endl;
return solution::read();
}
fvSolution.H (I override the read() method)
Code:
public:
virtual bool read();
from my shell I run the tutorial in:
tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom
1. sequential run: (without mpi)
Code:
./Allrun &
echo " " >> fvSolution # this just puts a blank line at the end of fvSolution, causing it to be reread
when I check the log, I see "fvSolution rereading" inside it, as expected.
2. mpi parallel run
Code:
./Allrun.par&
mpirun -np 4 buoyantBoussinesqSimpleFoam -parallel > log.bbsf &
echo " " >> fvSolution
but the log.bbsf contains no "fvSolution rereading" in it.
How can I explain that behavior ? (I use OpenFoam 2.3.x version, if that matters at all)
This doesn't make any sense to me.
Allrun.par is just a tailored version of Allrun.
Code:
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application=`getApplication`
runApplication blockMesh
cp 0/T.org 0/T
runApplication setFields
runApplication decomposePar
# runApplication $application
# runApplication mpirun -np 4 $application -parallel
# ----------------------------------------------------------------- end-of-file
|