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.


Toucan is distributed under the BSD 3-Clause License.

This site uses Just the Docs, a documentation theme for Jekyll.