Skip to content

Latest commit

 

History

History

legacy_reservoir_prototype

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
###################
#
# THIS CODE IS EXPERIMENTAL AND NOT PART OF THE MAIN FLUIDITY/ICOM DEVELOPMENT PROJECT
#
###################


Multiphase Prototype Brief Description

Within this directory there is:

     main.cpp
     Makefile.in
     src/
     tests/
     tools/

the src/ directory has the source code files that were needed in the
Makefile (note this is less than that previously as some code wasnt
actually being compiled)

the tools/ contains the python scripts

     MultiphasePrototype_Tools.py
     regressiontest.py
     testharness_MultiphasePrototype.py

the first one came from FETCH and the second two are
copies from the latest fluidity trunk in svn (as of 24th Nov 2010) - these are needed
to run a testharness. They contain a small change to the name of the
binary from fluidity to MultiphasePrototype.bin

the tests/ directory containstest cases such as:

     BL_test_10elements_1d/

which is the BL test which has been discussed in many of the MP meetings

tests/ also has a Makefile so that one can clean the tests/ directory of
all output (ie. from tests/ typing "make clean" will clean all test directories and
tests/). This requires the test name to be added to this makefile for this to work.

in each test directory (eg. BL_test_10elements_1d) there is

     Makefile
     BL_test_10elements_1d.xml
     other input files (ie. lots of .f90 functions and input.dat)
     perhaps a reference answer

the makefile prepares the input and will clean the directory. The .xml
will run the problem and do the pass/fail tests. To do these pass/fail
tests the xml will load the .py module in

     tools/MultiphasePrototype_Tools.py

to run all tests, from legacy_reservoir_prototype/ do:

     make test

this runs all tests and reports the outcome

these make commands are in the main Makefile. The command make test
calls the .py script

     tools/testharness_MultiphasePrototype.py

this uses the other script regressiontest.py and then goes to tests/ and
runs all appropriate tagged tests (deduced from inspecting the .xml
files in each test directory)

currently the BL test above is testing against a previously run answer
for the water saturation of each spatial dump (a regression test with a
very small tolerance)

thid is an example of how further test cases should be set up. Also to
run one test case (as a test), from Reservoir/multiphase_prototype/tests/
do:

     ../tools/testharness_MultiphasePrototype.py -f BL_test_10elements_1d.xml

Note that the testharness_MultiphasePrototype.py input name
is the .xml file within the test case directory not the actual test case directory name

Therefore to do a clean make and run all that should be working tests do:

     make superclean
     make
     make test

Or the command to do the above three sequential is possible through

     make all
     
make sure test cases pass first before svn committing changes

if one wants to commit a test case that is not fully working yet then in the .xml file change the 

     <problem_definition length="short" nprocs="1">
  
to

     <problem_definition length="special" nprocs="1">
  
"short" is a keyword the testharness will pick up, special means the test case is ignored. When the test case
is fully working make sure that "short" is included back such that the new test case will run with 

     make test