Usually, to execute a MOOSE app in parallel, you just execute prefix the executable with mpirun and you're away. However, to run OpenFOAM cases in parallel, you need to pass the -parallel flag to the solver you're running. This is an issue for Hippo, because it means you can't run the same input file in serial and parallel.
To run a Hippo app in parallel, you need to add the -parallel flag to the foam_args argument in the [Mesh] block of your input file, then run it with mpirun:
[Mesh]
type = FoamMesh
foam_args = '-case buoyantCavity -parallel'
foam_patch = 'topAndBottom frontAndBack'
dim = 2
[]
If you do not run it with mpirun OpenFOAM will error.
If you do not add the -parallel flag and run Hippo with mpirun, OpenFOAM will complain that you're not running in parallel.
Ideally, being a MOOSE app, we want to be able to run the same Hippo input file in serial and in parallel just by running the app through mpirun.
Outputs
Implement a way to run the same Hippo input file in serial and in parallel.
(Can we detect when the app is run with mpirun and automatically pass the -parallel flag to OpenFOAM?)
Description
Usually, to execute a MOOSE app in parallel, you just execute prefix the executable with
mpirun
and you're away. However, to run OpenFOAM cases in parallel, you need to pass the-parallel
flag to the solver you're running. This is an issue for Hippo, because it means you can't run the same input file in serial and parallel.To run a Hippo app in parallel, you need to add the
-parallel
flag to thefoam_args
argument in the[Mesh]
block of your input file, then run it withmpirun
:If you do not run it with
mpirun
OpenFOAM will error.If you do not add the
-parallel
flag and run Hippo withmpirun
, OpenFOAM will complain that you're not running in parallel.Ideally, being a MOOSE app, we want to be able to run the same Hippo input file in serial and in parallel just by running the app through
mpirun
.Outputs
mpirun
and automatically pass the-parallel
flag to OpenFOAM?)