Rocstar MultiPhysics simulation suite (RocstarMP)
Rocstar is a multiphysics simulation application designed for coupled multiphysics simulations involving fluid-structure interaction (FSI) across moving, reacting interfaces. Rocstar couples multiple domain-specific simulation packages and disparately discretized domains and provides several simulation-supporting services including conservative and accurate data transfer, surface propagation, and parallel I/O. Rocstar is MPI-parallel. Rocstar was originally developed at the University of Illinois Center for Simulation of Advanced Rockets (CSAR) under Department of Energy ASCI program funding.
Rocstar has been significantly updated and improved since it's beginnings with CSAR by Illinois Rocstar LLC and others. It is currently open-source, unsupported software and is no longer being actively developed by Illinois Rocstar. The latest (last) version of the User Guide has been included with the Rocstar source at the root level. Documents in the Docs directory are older. Make sure to read this readme and the user guide for current information on compiling and running Rocstar along with the RocFOAM (OpenFOAM) and Calculix solvers.
Version 5.0.2
Rocstar follows semantic versioning. The version will be major.minor.patch. We will:
- Increase the version for bug fixes, security fixes, and code documentation. Backwards compatible; no breaking changes.
- Increase the minor version for new features and additions to the library’s interface. Backwards compatible; no breaking changes.
- Increase the major version for breaking changes to the library’s interface or breaking changes to behavior.
To acquire RocstarMP, you can download it from Illinois Rocstar's GitHub or clone it with the following command:
$ git clone https://github.com/IllinoisRocstar/Rocstar.git
Make sure to apt install
following before you start
- build-essential
- cmake
- EITHER mpich OR openmpi
- liblapack-dev
- libblas-dev
- libjpeg-dev
Make sure to compile and install following packages before you start compiling RocstarMP:
Follow standard compile instructions for these dependencies. Note that RocstarMP uses an older version of METIS.
NOTE Currently RocstarMP is only tested with MPI compilers. Serial build is not recommended.
For the following steps we assume $ROCSTAR_PROJECT_PATH
is the path to RocstarMP, $ROCSTAR_INSTALL_PATH
is the desired installation location, $IMPACT_DIR
is the path to the location the IMPACT project is installed, and $METIS_LIB
is the location of library of metis.
Start the build process by:
$ cd $ROCSTAR_PROJECT_PATH
$ mkdir build && cd build
$ IMPACT_DIR=$IMPACT_DIR cmake -DCMAKE_INSTALL_PREFIX=$ROCSTAR_INSTALL_PATH -DMETIS_LIB=$METIS_LIB ..
$ make -j$(nproc)
$ make install
Executing the commands above will build all libraries and executables.
NOTE The testing is currently heavily dependent on IR's IRAD project. Modern testing is currently under development. In case needed, IRAD testing framework can be revived temporarily. Please contact developers for further instructions.
To perform testing, execute the following in the build directory:
$ make test
The output of tests are captured in $ROCSTAR_PROJECT_PATH/testing
. The testing framework also keeps a log of the test outputs in $ROCSTAR_PROJECT_PATH/Testing
directory. If tests fail seek output log in this directory for more details.
Add the RocstarMP library directory $ROCSTAR_INSTALL_PATH/lib
to your environment $LD_LIBRARY_PATH
.
The new version of IMPACT project should be obtianed from GitHub here. Follow directions given at the project page to compile and build IMPACT.
The executables in bin
require the libraries in lib
to be available in the runtime environment. When a non-standard installation location is used, this can be done in the shell start-up script or before executing a RocstarMP binary, for example:
$ cd $ROCSTAR_INSTALL_PATH/bin
$ LD_LIBRARY_PATH=../lib:$LD_LIBRARY_PATH ./rocstar