It has been 372 days since a new Decapodes world record.
It has been 71 days since a new Decapodes entry.
DateInitialsMultiphysicsDev Time
Mar 10, 2022ABNavier-Stokes18 months¹
July 21, 2023GRTeacup Brusselator15 minutes*
Apr 7, 2023LMGray-Scott15 minutes
Feb 17, 2023GRIcosphere-Brusselator15 minutes*
Sep 1, 2023LM & GRBurger's30 minutes
July 13, 2023LMNonhydrostatic Buoyant Seawater4 hours
July 12, 2023LMHalfar2 hours
July 11, 2023LMBudyko-Sellers2 hours
Feb 16, 2023LM & GRBrusselator2 hours
May 17, 2024LMNavier-Stokes, Vorticity2 hours
Feb 7, 2023LM & JC & JGMultispecies Navier-Stokes5 hours**


What is a Decapode?

The Diffusion DecapodeA Decapode multiphysics diagram encoding diffusion

A Decapode is a diagram of a system of multiphysics equations. That's all you need to know to start if you are a physicist looking to model fluid flow, or a chemist looking to model the reaction of some chemical species. However, people familiar with graph theory can understand these as something like directed acyclic graphs (DAGs), where nodes are physical quantities, and edges are operators that relate them. People familiar with category theory will suspect that diagram carries a connotation with it of composability of morphisms. That is, an arrow from A to B, and an arrow from B to C, can be understood as an arrow from A to C in its own right. People even more familiar with category can understand these as copresheaves from some category acting like a database schema. Or, as people familiar with Catlab.jl will understand them, as a certain type of Acset. But that's just what a Decapode is. What else is there to Decapodes?

What makes constructing Decapodes fast?

Constructing Decapodes is fast because you specify them exactly how you write your PDEs written in the Discrete Exterior Calculus.

For example, we can write the equations for the Brusselator reaction like so:


 # Here, we declare our variables.

 (U, V)::Form0       # State variables.
 (U2V, One)::Form0   # Named intermediate variables.
 (U̇, V̇)::Form0       # Tangent variables.
 (γ, β, α)::Constant # Scalars.
 F::Parameter        # Time-varying parameter.

 # These equations relate our physical quantities.

 U2V == (U .* U) .* V

 U̇ == One + U2V - (γ * U) + (α * Δ(U)) + F
 V̇ == (β * U) - U2V + (α * Δ(U))

 # These equations specify the derivatives with
 # respect to time of our state variables.

 ∂ₜ(U) == U̇
 ∂ₜ(V) == V̇

Constructing complex multiphysics systems from simpler, component systems is fast because we use the technique of operadic composition. That is, we can describe complex multiphysics systems from which variables are shared between component systems.

Rather than slowing us down, having formal descriptions of multiphysics diagrams enables us to develop models more quickly by providing all the information that you need to encode your multiphysics upfront.

What makes Decapodes simulations fast?

Decapodes simulations are fast because their operators are implemented as matrix-matrix and matrix-vector multiplications. This is a property of the Discrete Exterior Calculus. Compounding on this, the auto-generated simulations consist of performant Julia code, and interface nicely with Julia packages like OrdinaryDiffEq.jl and MultiScaleArrays.jl.

What makes Decapodes accurate?

Decapodes simulations are accurate because they use the Discrete Exterior Calculus (DEC). The DEC has the amazing property that the operators obey the same useful laws that they obey in the continuous case. One is that the exterior derivative, d, exhibits the property that dd = 0.

What makes Decapodes iterable?

Decapodes are iterable because new models can be written quickly. You do not have to worry about time spent in developing a simulator for your new model because Decapodes.jl will automatically generate the simulator for you! They allow a scientist to use the scientific method of creating a hypothesis model and then seek to validate (or rather disprove) it quickly.

Furthermore, a Decapodes simulation generalizes over any well-constructed mesh. Once you define your physics, you can run your automatically-generated simulation on the plane, the sphere, and so on.

What is the Decapodes Leader Board?

I (Luke Morris) created the Decapodes Leader Board (DLB) initially as a hobby project to keep track of the models that we built for a friend over coffee. However, we soon recognized that the DLB captured the essence of a new workflow that the Decapodes project enables. We emphasize the speed in which accurate simulations for novel models can be created. Of course, modelers are interested in having good models, so we always make sure that our physics are well-formed, but as developers, we want this modeling process to be as efficient as possible. We want it to be so efficient, that one could in fact "race" their friends in building them!

What does Decapodes stand for?

Discrete Exterior Calculus Applied to Partial and Ordinary Differential Equations

Site under construction