Documentation

Documentation

The reference: each part of Conatus described once, with the choices you make and the ones it will not make for you. To learn, start with the Tutorials.

User guide

Running

Simulations and time steppers

A model with dt(...) is integrated by m.simulate(...), with the resolution, the scheme and the time step written in the call.

Resolution

The resolution report says, for each unknown and each direction, whether the spectral coefficients have decayed, and how many modes a target accuracy would need.

GPU

The same model runs on an NVIDIA GPU by adding backend="cuda"; the arithmetic is double precision, as on the CPU.

Diagnostics and visualization

Eulerian, Lagrangian and mixing diagnostics computed from the fields of a run, on the CPU or the GPU.

Particles and dye of a simulation

Tracer particles and a numerical dye that live inside a native simulation: they advance with each step of sim.run, on the CPU or the GPU, and write files in the cn.io layout.

Input and output

Two kinds of HDF5 files: analysis files, which hold what you asked to see (fields, derived quantities, numbers) at a fixed cadence, and checkpoints, which hold everything needed to continue a run exactly.

The Studio

The Studio shows a running simulation as a film, from a browser or a phone, and lets you pause, checkpoint, stop or fork it; watching never changes a bit of the computation.

Pilot a run from a script or an agent

Everything the Studio shows about a run, a script can read as JSON, and the commands of the Controls sheet, a script can send (experimental, like the Studio: experimental).

For AI agents

What an AI coding agent reads before using Conatus, and the JSON interface it uses while it works.

Notebooks

In Jupyter, Conatus objects display as formatted tables and cards.

User guide

Dynamics

Eigenvalues and stability

Normal modes of a linear problem, each with its backward residual, with spurious modes removed only by a declared test.

Onset of convection

The critical Rayleigh number of Rayleigh–Bénard convection between no-slip walls, and the shape of its mode, in a few calls: from the ready linearization, then from the equations of a normal mode written by hand.

Non-modal analysis

Transient growth of a linear operator, measured in the kinetic-energy norm.

Invariant solutions

Equilibria, travelling waves and periodic orbits found by Newton–Krylov–hookstep on the flow map of your own time stepper.

Continuation and bifurcations

Branches of solutions followed through folds by pseudo-arclength, with branch points, Hopf points, cycles and codimension-two curves located on the way.

Floquet analysis

Stability of time-periodic flows by the Hill method: the Floquet exponents are eigenvalues of one large, structured problem.

Eigenvalues in a region

Every eigenvalue inside a box of the complex plane, with a count you can trust: how many there are, and which they are.

Chaos and ensembles

Lyapunov exponents with error bars, covariant Lyapunov vectors, Poincaré maps, and the fate of many trajectories integrated as one batch.

Invariant manifolds and slices

The unstable manifold of an equilibrium as a polynomial parametrization, connections between solutions, and the reduction of a continuous symmetry by a slice.

Symmetry subspaces

Computing in an invariant subspace of a symmetry group: fewer unknowns and isolated solutions, at the price of hiding what breaks the symmetry.

Adjoints and sensitivity

Exact tangent and adjoint of the discrete time stepper, adjoint eigenmodes in a declared inner product, the wavemaker and the sensitivity to the base flow.

Tangent, adjoint and optimal perturbations

FlowMap is the time-stepping map of a solver, X_0 ↦ X_N, with its exact discrete tangent (jvp) and adjoint (vjp): the same schemes, the same operators, the same linear factorizations, transposed.

Data-driven analysis

Dynamic mode decomposition and spectral proper orthogonal decomposition of snapshots, in the inner product of the physics rather than that of the array.