Installation and build¶
ImmersX requires CMake 3.18 or newer, a C++ compiler supported by deal.II, and deal.II 9.7.1 or newer. MPI is required by the distributed applications. Optional deal.II components enable features such as VTK output, SUNDIALS time integration, SymEngine expressions, and PETSc or Trilinos backends.
Configure and build out of source:
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Debug \
-DDEAL_II_DIR=/path/to/deal.II \
-DENABLE_GOOGLE_TESTING=ON \
-DENABLE_DEAL_II_APP_TESTING=ON
cmake --build build -j
ImmersX supports Debug, Release, and DebugRelease. DebugRelease is a
single-config build-tree mode that builds both variants at once: Release
targets keep their normal names, while Debug targets receive the _debug
suffix. It does not select a CMake multi-config generator.
cmake -S . -B build-debugrelease \
-DCMAKE_BUILD_TYPE=DebugRelease \
-DDEAL_II_DIR=/path/to/deal.II
cmake --build build-debugrelease -j
The optional lib1dsolver dependency enables the 3D/1D coupled_elasticity
and pseudocoupling1D executables when it is available. The application reference
lists dependencies and supported dimensions for every executable.
To build the published documentation, install the Python requirements and run:
python3 -m pip install -r doc/requirements.txt
./scripts/build_doc.sh
The site is generated in build/docs/site/. A configured CMake build also
provides cmake --build build --target doc.