STOMP

Installation

Hardware Requirements

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. Specific memory requirements are strictly problem specific, however, it is recommended that users have a minimum of 4 GB RAM. 

Software Requirements

Users must have a Fortran compiler available on the machine where they wish to compile the source code and run simulations. Note that executable code is operating system and processor specific. One option for a free Fortran compiler is GNU Fortran (GFortran). To use the lis solver, the lis libraries must be installed with fortran enabled prior to compiling STOMP.

Building an Executable

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, with the associated files including modules, example input files, and required solver packages (e.g., bd or lis). 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 35,000), users should request the banded matrix solution algorithm from LINPACK (bd) that is included with the source code. For solving larger problems, the Library of Iterative Solvers for linear systems (Lis), is more appropriate. Lis is not distributed with the STOMP source code and must be independently downloaded and installed with fortran enabled prior to compiling STOMP.

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:

lis solver
gfortran -O2 -c -w allo.f 
gfortran -O2 -c -w lis.f 
gfortran -O2 -c -w *.f
gfortran -O2 -w -o stomp-w_lis.x *.o [path_to_lis]/liblis.a
bd solver
gfortran -O2 -c -w allo.f 
gfortran -O2 -c -w *.f
gfortran -O2 -w -o stomp-w_bd.x *.o

STOMP User Guide Home