
Toucan is a C++17 application and header-only library for predicting grain structure during additive manufacturing solidification. It implements the Discrete Event inspired Cellular Automata (DECA) algorithm with Kokkos and MPI, and advances the cellular automata from reduced thermal histories supplied via the Reduced Data Format (RDF).
Install Toucan Quick start Read the papers
What Toucan provides
- A performance portable, MPI-enabled implementation of the DECA algorithm for grain growth.
- A heterogenous grain nucleation model based on local undercooling.
- Kokkos data structures and kernels for CPU and accelerator execution spaces.
- Two-dimensional MPI decomposition with host- or device-buffer communication.
- An abstract thermal-input interface (
ThermalSource) whose implementations must return RDF:- It is currently coupled to Stork for RDF and SRDF file input.
- It is currently coupled to Condor for in-memory thermal solves.
- Extensible grain identifier types that make it easy to track orientation IDs and, when requested, unique grains through repeat and nucleating-rank IDs.
- Layer-by-layer state transfer through a moving substrate window.
- CSV or XDMF output, with volume or planar selection and optional grain metadata.
At a glance
| Need | Start here |
|---|---|
| Build the executable and installable headers | Installation |
| Run from a JSON settings file | Quick start |
| Understand the simulation workflow | How Toucan works |
| Write a complete settings file | JSON input |
| Select a thermal source | Thermal sources |
| Integrate Toucan in C++ | Library API |
| Interpret generated files | Output |
| Cite DECA or Toucan | Papers |
Contributors
License
Toucan source and these original documentation assets are distributed under the repository’s BSD 3-Clause License.