Skip to content

Reproducing Scaling Results

Ole Albers edited this page Nov 18, 2024 · 3 revisions

Reproducing Scaling Results

To effectively reproduce scaling results for our core functionality, we recommend a benchmark program that showcases these capabilities. One such program is ./t8_time_forest_partition, located in the benchmarks folder. This program is extensively used in several of our papers, notably described in Section 5.2 of this paper.

In this example we build a mesh geometry, uniformly refine it to a given level l, and then adaptively refine a band of elements, we move this band through the mesh over several time steps. This example measures Adapt Partition Ghost and Balance, so all of our critical core algorithms.

A recommended call for the program is:

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

This will build a 1 million element mesh, you can increase the -l value if that's to small and runs to quickly.

Overview of the options:

Option Description recommendation
-g Build Ghost layer always use
-b 2:1 balance the mesh always use
-C CFL number/how fast the mesh moves Keep it at 0.8.
-x Where the band of fine elements starts decrease for more fine elements
-X Where the band of fine elements stops increase for more fine elements
-l Uniform refinement level every step multiplies number of elements by 8
-r How many refinement levels from the uniform level change at will
-O Use cylindrical geometry substitute with -L if t8code isn't linked against OpenCascade
-o Do not produce VTK output Keep it while measuring runtime. For debugging/checking the mesh, leave it out.
-T Simulated time span Divide by two for each additional uniform level. T has to be > 0.
-h Display a short help message

Example

By changing -l to 2 the following call for a low dimensional example is created:

mpirun -np N ./t8_time_forest_partition -g -b -C 0.8 -x -0.4 -X -0.3 -l 2 -r 3 -O -o -T 0.05

Here is the resulting mesh:

355820074-372fe941-fc4e-40bd-83f6-deb49841a239

Advanced options:

Option Description recommendation
-f The cmesh is constructed from a .msh (Gmsh) file with the give prefix Cannot be used with -O or -L.
-g Together with -f: The dimension of the coarse mesh. 2 or 3
-c The cmesh is constructed from a collection of cmesh files. Created with t8_cmesh_save. Cannot be used with -O or -L.
-n The number of cmesh files. If n=1 then the cmesh will be replicated throughout the test.
Clone this wiki locally