Quick Start
Dependencies
PERFORM is a pure Python code and does not (as of the writing of this section) depend on any non-Python software. As such, everything can be installed directly through pip
and is done so through the pip install
command explained below.
The code is only actively tested using Python 3.7.4. I have arbitrarily set the minimum required Python version to be 3.6. I also only actively test it in Ubuntu 18.04, but it should run without a hitch on other Linux distributions, Windows, and macOS.
The baseline solver only requires three additional packages: numpy
, scipy
, and matplotlib
. I have not set minimum required version for these packages, but will when I make some time to check at what version the code fails.
The TensorFlow-Keras autoencoder ROM models of course depend on tensorflow
, though the code will only throw an error if you attempt to run one of those models and so does not require tensorflow
to run the baseline solver or other ROM models. These models are only tested for tensorflow==2.4.1
, and I make no guarantees whatsoever that the code will work correctly or optimally for older versions.
Installing
To get up and running with PERFORM, first clone the source code repository by executing the following command from your terminal command line:
git clone https://github.com/cwentland0/perform.git
or use your Git client of choice, along with the above HTTPS address. PERFORM is currently installed locally via pip
(or pip3
, if your pip
does not automatically install for your Python 3 distribution). To do this, enter the PERFORM root folder and execute
pip install -e .
This will install PERFORM, as well as any required package dependencies which you have not yet installed.
Running
After installation is complete, a new script, perform
, will be added to you Python scripts. This is the command that you will use to execute PERFORM. The options for running the code from the command line are as follows:
Note that all command-line options are optional: WORK
defaults to the terminal’s current working directory, PARAM
defaults to ./solver_params.inp
, and ROM
defaults to ./rom_params.inp
. The format and input key values of PARAM
and ROM
are described in solver_params.inp and rom_params.inp, respectively.
You can check that PERFORM works by entering any of the example case directories (e.g. perform/examples/shock_tube
) and executing
perform
If running correctly, your terminal’s STDOUT should start filling with output from each time step iteration and live field and probe plots should appear on your screen.
Testing
Coming soon!