Skip to content

openfoam

This module tests the binary icofoam in available modules containing substring 'OPENFOAM'. This line of tests target binaries from OpenFOAM from https://www.openfoam.com/ . The test is taken from the ExaFOAM project: https://develop.openfoam.com/committees/hpc/-/tree/develop/incompressible/icoFoam/cavity3D

License information can be found here: https://develop.openfoam.com/committees/hpc/-/blob/develop/incompressible/icoFoam/cavity3D/README.md#copyright

ReFrame terminology:

"pipeline stages": https://reframe-hpc.readthedocs.io/en/stable/regression_test_api.html#pipeline-hooks

"test parameter": a list of values, which will generate different test variants. https://reframe-hpc.readthedocs.io/en/stable/regression_test_api.html#reframe.core.builtins.parameter

"test variant": a version of a test with a specific value for each test parameter https://reframe-hpc.readthedocs.io/en/stable/regression_test_api.html#test-variants

"concrete test cases": all test combinations that will actually run: - test variants - valid system:partition+programming environment combinations https://reframe-hpc.readthedocs.io/en/stable/tutorial_deps.html#listing-dependencies

Tests can be filtered by name, tag, programming environment, system, partition, or maintainer, see https://reframe-hpc.readthedocs.io/en/stable/manpage.html#test-filtering

Hooks acting on all possible test combinations (before filtering) are called after the 'init' stage. Hooks acting on concrete test cases (after filtering) are called after the 'setup' stage.

See also https://reframe-hpc.readthedocs.io/en/stable/pipeline.html

EESSI_OPENFOAM_LID_DRIVEN_CAVITY

Bases: RunOnlyRegressionTest, EESSI_Mixin

This is the main OPENFOAM class for the Lid-driven cavity test. The test consists of many steps which are run as pre-run commands and the main test with the executable icoFoam is measured for performance.

assert_sanity()

Check all sanity criteria

check_files()

Check for all the log files present.

set_compute_unit()

Set the compute unit to which tasks will be assigned: one task per CPU core for CPU runs.

filter_scales_8M()

Filtering function for filtering scales for the OpenFOAM 8M mesh test returns all scales with at least half a node.