Decapodes.jl
A framework for composing and simulating multiphysics systems
Install / Use
/learn @AlgebraicJulia/Decapodes.jlREADME
<img src='docs/src/logo/decapodes_logo.svg' width='128' alt='Georges de Prhawnm'> Decapodes.jl
Decapodes.jl is a framework for developing, composing, and simulating physical systems.
Click here or the docs badge above for rendered documentation and notebooks.
Decapodes.jl is the synthesis of Applied Category Theory (ACT) techniques for formalizing and composing physics equations, and Discrete Exterior Calculus (DEC) techniques for formalizing differential operators. CombinatorialSpaces.jl hosts tools for discretizing space and defining DEC operators on simplicial complexes, and DiagrammaticEquations.jl hosts tooling for representing the equations as formal ACT diagrams. This repository combines these two packages, compiling diagrams down to simulatable code.
By combining the power of ACT and the DEC, we seek to improve the scientific computing workflow. Decapodes simulations are hierarchically composable, generalize over any type of manifold, and are performant and accurate with a declarative domain specific language (DSL) that is human-readable.
<img src='https://algebraicjulia.github.io/Decapodes.jl/dev/navier_stokes/vort.gif' width='512' alt='Solution of the Vorticity-Formulation of the Incompressible Navier-Stokes Equations'>Citation
The ideas behind this package are described in the paper:
Morris, Baas, Arias, Gatlin, Patterson, Fairbanks. Decapodes: A diagrammatic tool for representing, composing, and computing spatialized partial differential equations. Journal of Computational Science 81 (2024). arXiv:2401.17432. DOI:10.1016/j.jocs.2024.102345.
