Building Stream

Run build commands from the source root. Stream requires installed Loci, HYPRE, SUNDIALS, Chem and Homogeneous Reactor libraries built with compatible compiler and MPI settings. Pass their locations to ./configure:

./configure --loci-dir /path/to/Loci --hypre-dir /path/to/Hypre \
  --sundials-dir /path/to/SUNDIALS --chem-dir /path/to/Chem \
  --chem-src-dir /path/to/Chem/src --hr-dir /path/to/HR \
  --prefix /path/to/stream-install
make -j$(( ( $(nproc) * 3 + 3 ) / 4 ))

make builds and installs to the selected prefix. Use stream -v to report the product version and source revision.

Dependency Builds

To build the pinned HYPRE and SUNDIALS submodules:

git submodule update --init ext/hypre ext/sundials
./build_stream_deps.sh

The default destinations are ext/hypre_install and ext/sundials_install. Use --prefix to change them.

Optional Modules

For Loci-FEM CHT, first install the shared coupling package:

make -C cht/common/coupling/native -j$(( ( $(nproc) * 3 + 3 ) / 4 )) \
  LOCI_BASE=/path/to/Loci PREFIX=/path/to/coupling install

Build Loci-FEM with that package and the same Loci/MPI/PETSc SDK, then add --fem-dir /path/to/Loci-FEM/install to Stream’s configure command.

For ParaView Catalyst:

./build_stream_deps.sh --with-catalyst --paraview-edition CATALYST

Add --catalyst-dev-dir ./ext/catalyst_install and --paraview-runtime-dir ./ext/paraview_install to the configure command.

For preCICE FSI:

./build_stream_deps.sh --deps precice

Add --precice-dir ./ext/precice_install to the configure command. After configuring, run the build command above to install the selected modules.

External Modules

Headers are installed under include. Add -I<prefix>/include and -I<prefix>/include/<module> for each module used, plus dependency SDKs. Use make install-headers to install headers alone.

Relocatable Installation

With patchelf installed, choose a new absolute destination:

make -j$(( ( $(nproc) * 3 + 3 ) / 4 )) relocatable-install \
  RELOCATABLE_DIR=/absolute/path/to/stream-runtime

This creates an installation containing binaries, headers and bundled runtime libraries. Install the system libraries, including MPI, on the destination host.