flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
vof_profile_mpi Namespace Reference

Functions

 slice_block (glob, origin, size)
 
 build_hysing1 (nx=64)
 
 build_packed (nx=64, gnz=160)
 
 main ()
 

Variables

 HERE = os.path.dirname(os.path.abspath(__file__))
 
dict BUILD = {"hysing1": build_hysing1, "packed": build_packed}
 

Detailed Description

WO-V9 item 3 — the g = 3 colour-halo cost under MPI, and what it is a fraction of.

The colour advector owns its own g = 3 block with its own `GridHaloTopology`, and exchanges it
once per sweep (three times a step, plus the momentum advector's two sibling fields per sweep).
That is a deeper halo than the solver's own G = 2 and it is exchanged more often than anything
else in the step, which is why PARIS's partial-column-sum trick (exchange sums over the swept
column instead of the colour band, halving the depth) exists.  This script measures what the
trick would be BUYING before anyone writes it.

Run:
    mpirun -np 1 python tests/study/vof_profile_mpi.py --case hysing1 --steps 20
    mpirun -np 2 python tests/study/vof_profile_mpi.py --case hysing1 --steps 20
    mpirun -np 4 python tests/study/vof_profile_mpi.py --case packed  --steps 20

Needs a `-DPECLET_FLOW_MPI=ON` module on PYTHONPATH.

Function Documentation

◆ slice_block()

vof_profile_mpi.slice_block (   glob,
  origin,
  size 
)

Definition at line 33 of file vof_profile_mpi.py.

Referenced by build_hysing1(), and build_packed().

◆ build_hysing1()

vof_profile_mpi.build_hysing1 (   nx = 64)

Definition at line 38 of file vof_profile_mpi.py.

References slice_block().

◆ build_packed()

vof_profile_mpi.build_packed (   nx = 64,
  gnz = 160 
)

Definition at line 66 of file vof_profile_mpi.py.

References slice_block().

◆ main()

vof_profile_mpi.main ( )

Definition at line 104 of file vof_profile_mpi.py.

References main().

Referenced by main().

Variable Documentation

◆ HERE

vof_profile_mpi.HERE = os.path.dirname(os.path.abspath(__file__))

Definition at line 28 of file vof_profile_mpi.py.

◆ BUILD

dict vof_profile_mpi.BUILD = {"hysing1": build_hysing1, "packed": build_packed}

Definition at line 101 of file vof_profile_mpi.py.