version 0.6.0
How to run Notus

The following guidelines describe the different ways to run Notus.

Basic way to run Notus

Notus runs only through mpirun command, at least on 1 processor. The description of physical case to simulate is present in an _.nts_ file of one of the test_cases subdirectory that must given on the command-line. For instance, to run Notus on 8 processors and solve the Poiseuille flow, the command is:

mpirun -np 8 notus test_cases/verification/navier/poiseuille_2D.nts

Notus full help:

usage: notus [OPTIONS] [--] CASE_FILE

CASE_FILE               Notus case file (*.nts)

OPTIONS

-D TYPE:IDENT=VALUE     Define an identifier outside the Notus case file
                        TYPE: integer|double|boolean|string
                        IDENT: identifier name
                        VALUE: identifier value corresponding to the type

-h, --help              Display help and exit

-t NUM, --thread NUM    Use NUM OpenMP threads. Has no effect if Notus is compiled without OpenMP.

--no-banner             Do not display Notus banner

--no-color              Disable the use of ANSI color codes

--cpu-time-file FILE    File where the CPU time is output

--validation-file FILE  File where the validation is output

Advanced ways to run Notus with the script notus.py

The script notus.py enables one to run Notus in different modes :

  • Run
  • Non-regression
  • Non-regression-scalability
  • Convergence
  • Scalability

There is also a Database mode which permmit to manipulate the database used for the non-regressions modes. For further infomation, see Manipulate non-regression database

Here is the Notus help, which presents the different modes available:

usage: notus.py [-h] [--no-color] MODE ...

Tool to execute Notus for non-regression, scalability or convergence tests.

positional arguments:
    MODE                sub-command help

    non-regression      run Notus non-regression tests.

    non-regression-scalability
                        run Notus non-regression-scalability tests.

    database            Edit database.

    scalability         run Notus scalability tests.

    convergence         run Notus convergence tests.

    run                 run Notus for parametric analysis.

Each mode use the same submitting options, it is explained how to use them in Submitting options section.

Information about the options of these different modes can be found in the following paragraphs.

Run mode

It is the mode to use if you want to execute Notus. It allows to make parametric analysis.

Here is Notus full help for this mode:

usage: notus.py run [-h] [-n PROCS_NUMBER] [-f] [-m MPI_COMMAND] [-o OUTPUT]
                    [-b {black,white}] [-P PBS] [-S SLURM] [--no-color] [-v]
                    NTS_FILES [NTS_FILES ...]

positional arguments:
    NTS_FILES                                     Notus input files (.nts)

optional arguments:
    -h, --help                                    Show this help message and exit
    -n PROCS_NUMBER, --procs-number PROCS_NUMBER  Number of processors used tu run Notus
    -f, --full                                    Enable full validation
    -m MPI_COMMAND, --mpi-command MPI_COMMAND     MPI command (default: mpirun)
    -o OUTPUT, --output OUTPUT                    Output directory of log files
    -b {black,white}, --background {black,white}  Colors for display are chosen according to the color of the background (default: black)
    -P PBS, --PBS PBS                             Launch validation using a batch system (PBS)
    -S SLURM, --SLURM SLURM                       Launch validation using a batch system (SLURM)
    --no-color                                    Disable the use of ANSI color codes
    -v, --verbose                                 Diplay output

More information about [Submitting] options can be found at Submitting options.

Non-regression mode (validation script)

It is possible to run all or a part of the non regression tests, composed with verification and validation test cases (Verification and Validation) as well as various tests, thanks to the notus.py script. It is useful to check Notus portal on a new computer or to validate new developments.

Notus full help in Non-regression mode:

Usage: notus.py non-regression [-h] [-r REGEXP] [-s] [-f] [-m MPI_COMMAND]
                               [-o OUTPUT] [-b {black,white}] [-P PBS] [-S SLURM]
                               [--no-color] [-v]

Optional arguments:

    -h, --help                                    show this help message and exit
    -r REGEXP, --regexp REGEXP                    filter test cases using a regular expression
    -s, --sequential                              enable sequential non-regression tests
    -f, --full                                    enable full non-regression tests
    -m MPI_COMMAND, --mpi-command MPI_COMMAND     MPI command (default: mpirun)
    -o OUTPUT, --output OUTPUT                    output directory of log files
    -b {black,white}, --background {black,white}  colors for display are chosen according to the color of the background (default: black)
    -P PBS, --PBS PBS                             launch non-regression using a batch system (PBS)
    -S SLURM, --SLURM SLURM                       launch non-regression using a batch system (SLURM)
    --no-color                                    Disable the use of ANSI color codes
    -v, --verbose                                 Diplay output

Since the script detects automatically the test cases to use, if you want to test only some of them, you will have to use the -r argument to filter those cases.

The full non-regression is possible thanks to the syntax introduced in every NTS file that makes it possible to run the same test case several times (to rotate the direction of flow for instance). For further information about this, see Add a test case to Notus test case bank

The SLURM template is yet to be written, which means that the non-regression using SLURM batch system is not available for now.

Results can be compared to some obtained on different hardware and software architecture present in the test_cases/results directory.

Non-regression-scalability mode

It is possible to run all the test related to the non regression of scalability, and compare the result with an existing database. It is usefull to check non regression scalability to check the capacity of Notus after new developments.

Notus full help in Non-regression-scalability mode:

usage: notus.py non-regression-scalability [Filters] [Submitting] [Options] database-path

positional arguments:
  database_path         Path of the scalability database (default: Pas de db par défault).


Options:
  -h, --help            show this help message and exit

  -v, --verbose         Verbose mode.

  --reload {STANDBY,SUBMITTED,PASS,FAIL,ERROR} [{STANDBY,SUBMITTED,PASS,FAIL,ERROR} ...]
                        Reload cases by their status.

  --summary [{STANDBY,SUBMITTED,PASS,FAIL,ERROR} [{STANDBY,SUBMITTED,PASS,FAIL,ERROR} ...]]
                        Print a summary and exit.

  -o DIRECTORY, --directory DIRECTORY
                        Output directory (default: non-regression-scalability).


Filters:
  --file-filter FILE_FILTER
                        Filter file names using a regular expression.

  --parameter-filter PARAMETER_FILTER
                        Filter files by their paramaters using a regular expression.

[tips on how to use it with maybe some exemples]

Run a convergence study with convergence mode

It is possible to run a spatial or temporal convergence study using notus.py. The time step or the spatial step will have a geometrical evolution. It will be needed to put X_CELLS, Y_CELLS, Z_CELLS to make the mesh variable. It will be needed to put TIME_STEP to make the time step variable. The result of the study will be save as a markdown table, or on a css format. To [traiter] data for the convergence study it is needed to precise the output values in diagonstic quantities in the post-processing block of the .nts file [+ mandatory option]

Notus full help in Convergence mode:

[help when the shortcut will be set]

[exemple]

Run a scalability study with scalability mode

As the same way of the convergence study, it is possible to lead a different type of scalability study: weak, strong, strong node.

Notus full help in Scalability mode:

[help when the shortcut will be set]

[exemple] [+ mandatory option]