Home | Project | Software | Gallery | News | Development | Use | Documentation | Search/Ask
Restricted acces either to user or developer of elsA Advice
Restricted acces either to user or developer of elsA Utilities
Restricted acces either to user or developer of elsA Known bugs
Restricted acces either to user or developer of elsA Problem processing
Validation tool
Site jumps
Validation ref.
User news
Restricted acces either to user or developer of elsA Problem report
© 1999-2016 ONERA Terms of use

elsA validation tool

Once the software is installed, you can run the demos. We are explaining here how to run the demos, we do not explain the contents of these demos. The technical information about these demos can be found into the Validation report (/ELSA/PTST-98088). 

The Val Tool

The tool named Val supports  automatic run of tests and  what we call now "suites" (series of tests). The  tool should be run from the $ELSAROOT/Validation directory.  From now, we assume this latter is your current working directory. The name Val is a shell alias of the script lib/py/EpValidation.py. The most useful options for this tool are options t and a that make Val runs a single test or a suite. For instance :
Val -h gives the usage tool
Val -s <suite> lists all tests in <suite>
Val -a <suite> runs all tests in <suite>
Val -t <test> runs the specific <test>
Val -R <sessionnumber> shows <session> report
Val -p <sessionnumber> produces PostScripts for <session>
Val -S lists all suites and tests

The Validation directory doesn't contain the mesh and initialisation files. Because these often are large files, we have to share them.  Thus, even if there is no actual share of the data between more than one test, we make symbolic links from the DB directory to the test script directory. When you install for the first time the Val tool, you have to find out the DB directory and make symbolic links to it. This is done by the Val tool with the -L option.

Session Numbers

Each time you run a test or a suite of tests, the Val tool creates a new session number. This session number is used as a key for directories creations. Thus, the results of all of your sessions are saved, you have to clear by yourself these directories.
For example, if you run four times the tube suite of tests that contains all the shock-tube demos,  the four sets of results are kept into the following directories:

where 001, 002, 003 and 004 are the session numbers.  Each session directory contains a set of directories and a log file named LOG.py which is  in Python format. The  PS directory contains all the generated PostScripts for the current session. Then, there is one directory per test where the directory name is the test name. For example, we can have for the single test S-tube-A :
session/run/dec01/R.001/S-tube-A/<other files>

A Sample Run

[1] First of all, we have to initialize our environment with the correct shell ELSAROOT and ELSAPRODUCTION. Then, there is a script to initialize all required variables: lib/start.sh (you have to source it ):
. lib/start.sh
We can check the correct variables are set , we use the Val -E command.  The tool searches the elsA binaries using the declared PATH and PYTHONPATH. In the case these are NOT correct, you can either modify your PATH, PYTHONPATH and ELSAROOT, or only modify your ELSAROOT and re-source lib/start.sh script:
$ Val -E
elsA kernel:       /data/Public/v1.2.07/Dist/bin/sgi_cc_64/elsA.x
elsA Python lib:   /data/Public/v1.2.07/Dist/lib/py/elsA.py
Session Workspace: /home/elsa/Tmp/Validation
Production mode:   sgi_cc_64
Link database:     /data/Export/elsA/DCFD
Reference results: /data/Export/elsA/Reference
Then we create the whole set of symbolic links to the mesh and initialisation data:
$ Val -L
[2] Now we  identify what or where is the test we want to run.  The command Val -S gives us the list of all known suites and  the corresponding tests. Each test is identified with a name, such as S-tube-B,Plate-KL-B,
$ Val -S
Session:     Validation
APROF-02     AProfile.epy [A Profile]
Caimen-01    as28Caimen.py [3D Wing Fine Mesh]
Caimen-02    as28Caimen_1s2.py [3D Wing Coarse Mesh]
Caimen-03    as28Caimen1s2_mat.py [3D Wing Matrix Viscosity]
Caimen-04    as28Caimen1s2_sca.py [3D Wing Scalar Viscosity]
Plate-KL-B   flatPlateKL0.epy [Shock Tube 3D]
S-tube-B     shockTube.epy [ShockTube 3D]
S-tube-C     shockTube1D.epy [ShockTube 1D]
[3] We run a given test (single test) and have a look at the standard output log. This file name is given on your screen, you just have to cut/paste it to have a look at it:
$ Val -t  S-tube-B
+++ ShockTube 3D [S-tube-B]
+++ vi session/run/sgi/R.001/S-tube-B/*.list
+++ Run epy
+++ Prepare Residus
+++ Prepare Template TecPlot
+++ Run TecPlot
+++ Diff with reference
+++ Ok
+++ CPU Time [1.78e+00]
Please note:
    1. We use the TecPlot tool to generate PostScript. Thus you may have an error if this tool is not available.
    2. We make a diff with a given reference file that may NOT be on your platform. Then, the FAILED message may indicate either that the reference file is not found or that the test has failed.
    3. Some test cases are using confidential and/or large mesh files, these files may not be delivered with the public elsA release. Please contact our support if such a test fails and if you want more information.
    4. The report is generated for LaTeX, with a set of private macros. This will be corrected in future versions.
    5. There is no simple way now to add a new test. This will be improved in future versions.
[4]If you want to edit a test script, you have to go in the script directory. Each test has a directory with its given name. In one directory, you can found the test script itself (i.e. S-tube-B/shockTube.epy) and a TecPlot-like file. The mesh and init files are symbolic links to the DB directory (which is on the same directory level that Validation, elsA and Dist).

The Validation suite

The validation suite used for the reference version is described under the heading "software/validation".

(updated $Date: 2016/04/28 13:06:54 $)Home Site map Contacts