STOMP User Guide
Subsurface Transport Over Multiple Phases
STOMP User Guide
Subsurface Transport Over Multiple Phases
Installing STOMP
See the Availability and Licensing page for information on acquiring the STOMP source code.
The preferred operating systems for running STOMP are Linux or Mac OSX, although users can compile and run STOMP within the Windows operating system using cygwin another linux terminal application, or with a WIndows based Fortran compiler. Specific memory requirements are strictly problem specific. However, it is recommended that users have at minimum of 4 GB RAM.
STOMP is distributed as Fortran source code, therefore users must have a Fortran compiler available on the machine where they wish to run simulations. Note that executable code is operating system and processor specific. One option for a free Fortran compiler is GNU Fortran (GFortran).
STOMP is distributed with an internal banded solver (bd). However, this is limited to smaller problems (less than 10,000 unknowns). A version that uses the lis solver can be requested. However to use this version, users must download and compile the lis solver prior to compiling STOMP.
STOMP is written in Fortran 90 with dynamic memory allocation. Once a license has been acquired, STOMP is distributed as assembled source coding for a particular operational mode and solver, with associated files including modules and example input files. Distributing an open source allows users to read and modify the simulator, which will hopefully result in an open exchange of scientific ideas. However, this also means that the user is responsible for compiling and linking the source code to generate an executable.
When requesting STOMP, the user must specify the linear system solver they wish to use. For small to moderately sized problems (number of unknowns on the order of less than 10,000), users should request the banded matrix solution algorithm from LINPACK (bd) that is included with the source code. For solving larger problems, an iterative linerar solver called lis is more appropriate. However, this solver is not distributed with the STOMP source code. Users must download and install this solver prior to compiling STOMP.
Upon completing the Government Use Agreement or Educational Use Site License avaiable from the STOMP website, users will be provided with a zip file containing the Fortran source files (*.f) configured for the requested solver, pre- and/or post-processing utilities, and example input files that are distributed with STOMP. In general, the modules must be compiled first, then the rest of the Fortran source, and then the object files must be linked with the solver libraries (for lis). Examples of the steps to build an executable using gfortran are (examples shown are for stomp-w but are applicable to all operational modes):
bd solver
gfortran -O2 -w -c allo.f gfortran -O2 -w -c *.f gfortran -O2 -w -o stomp-w_bd.x *.o
lis solver
gfortran -O2 -w -c allo.f gfortran -O2 -w -c lis.f gfortran -O2 -w -c *.f gfortran -O2 -w -o stomp-w_lis.x *.o <path_to_lis>/liblis.a