The following guidelines describe the different ways 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
The script notus.py
enables one to run Notus in different modes :
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.
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.
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.
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]
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]
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]