Toucan is a performance-portable C++ application and header-only library for predicting grain structure during additive manufacturing solidification. It uses Kokkos and MPI to advance cellular automata from reduced thermal histories without stepping through a complete temperature field.
Thermal data can be read from Stork RDF or SRDF files. Toucan can also run Condor in memory when built with Condor support. Its thermal-source interface allows coupled applications to provide RDF data directly.
The implementation and its scaling behavior are presented in Stump et al. (2025).
The full installation guide, quick start, input reference, thermal coupling guide, and API documentation are on the Toucan documentation site.
Toucan requires Kokkos, MPI, OpenMP, Stork, and nlohmann/json. Condor is optional. See the installation guide for dependency and configuration details.
After setting the dependency paths in make.sh, build and install with:
./make.shSet TOUCAN_ENABLE_CONDOR=OFF during CMake configuration for a file-input-only
build without Condor.
Run Toucan with an MPI launcher and a JSON settings file:
mpiexec -n <ranks> ./build/install/bin/Toucan ToucanSettings.jsonA downstream CMake project can import the installed header target with:
find_package(ToucanCore CONFIG REQUIRED)
target_link_libraries(my_target PRIVATE Toucan_Core)Contributions are welcome, including new thermal sources, coupling workflows, validation cases, performance improvements, and output capabilities.