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.