Skip to content

t8_time_forest_partition.cxx

Prasanna Ponnusamy edited this page Jul 1, 2025 · 1 revision

t8_time_forest_partition

Overview

The t8_time_forest_partition.cxx benchmark evaluates the performance of t8code's mesh partitioning capabilities. It measures the efficiency of partitioning operations across various mesh configurations and parallel processing scenarios.


Execution

Run the benchmark using MPI:

mpirun -n <num_processes> ./t8_time_forest_partition [options]

Replace <num_processes> with the desired number of MPI processes.


Command-Line Options

The benchmark accepts various options to configure the mesh and partitioning parameters.

Short Long Argument Description
-h --help Show a help message and exit
-o --no-vtk Do not produce VTK (visualization) output files
-f --mshfile STRING Use a .msh file (GMSH format, prefix only) as the coarse mesh
-d --dim INT (With -f) Dimension of the mesh: 2 or 3
-c --cmeshfile STRING Use cmesh files created by t8_cmesh_save
-n --nfiles INT Number of cmesh files to use with -c
-s --stride INT MPI rank stride for cmesh file reading (default: 16)
-t --test-tet Use built-in tetrahedral connectivity test mesh (disables VTK by default)
-L --test-linear-cylinder Use built-in linear cylinder mesh (disables VTK by default)
-O --test-cad-cylinder Use built-in CAD (curved) cylinder mesh (disables VTK by default)
-l --level INT Initial uniform refinement level
-r --rlevel INT Number of adaptive refinement levels to add (band refinement)
--cmesh-level INT Starting level for built-in cylinder meshes (default 0, only with -L or -O)
-x --xmin REAL Minimum x-coordinate for the adaptive refinement band
-X --xmax REAL Maximum x-coordinate for the adaptive refinement band
-T --time REAL Simulated time span (end time)
-D --delta_t REAL Timestep size (deprecated; use -C for CFL)
-C --cfl REAL CFL number; if set, delta_t = CFL * 0.64 / 2^level
-g --ghost Create ghost elements for parallel overlap
-b --balance Enforce 2:1 mesh balancing
-z --use_cad Use curved meshes to match original geometry (needs .brep and .msh files)

For a complete list of options and their descriptions, run:

./t8_time_forest_partition -h

Sample Usage

mpirun -np 8 ./t8_time_forest_partition -L -l 4 -r 3 -x -0.3 -X -0.4 -T 0.05 -C 0.8 -g -b

What this does:

  • Uses the built-in linear cylinder mesh.
  • Sets initial uniform refinement level to 4, with up to 3 additional adaptive refinements in the band x ∈ [−0.3, −0.4].
  • Runs up to time T = 0.05, with CFL-derived time step.
  • Builds ghost layers and enforces mesh balancing.

Output

t8_time_forest_partition cxx

The benchmark outputs timing information for the partitioning operations, including:

  • Total time taken for partitioning.
  • Average time per trial.
  • Minimum and maximum times observed.

This data helps assess the scalability and efficiency of t8code's partitioning algorithms under different configurations.

Clone this wiki locally