Expert layer by module¶
Every public object re-exported by conatus.expert, grouped by the module that defines
it and documented from its docstring.
conatus.verify¶
Verification tools: MMS, convergence studies, reports — never a CORRECT flag.
|
|
|
|
|
Residuals, rank, reconstruction, spectral tail, sensitivity Taylor test, critical point. |
conatus.ir¶
Mathematical IR: coordinates, bases, domains, fields, expressions, problems.
|
Cartesian coordinates in 1, 2 or 3 dimensions (identity metric). |
|
(phi, r) on the disk or annulus. |
|
(phi, r, z) for pipes and periodic cylinders. |
|
(phi, theta) on the sphere of radius R. |
|
(phi, theta, r) for the ball and the spherical shell. |
|
Real Fourier series (cos/sin pairs) for real-valued data. |
|
Complex Fourier series exp(i k x). |
|
Jacobi polynomials P_n^(a,b) on a bounded interval (mapped from [-1, 1]). |
|
Chebyshev T_n = Jacobi(-1/2, -1/2) up to normalisation. |
|
Chebyshev polynomials of the second kind U_n = C_n^(1) (Dedalus |
|
Gegenbauer C_n^(2), under Dedalus's name |
|
Legendre P_n = Jacobi(0, 0). |
|
Ultraspherical (Gegenbauer) C_n^(lambda) = Jacobi(lambda-1/2, lambda-1/2) up to norm. |
|
Radial basis of the full disk r in [0, R], regular at the axis (Vasil et al., JCP 2016). |
|
Radial basis of the annulus r in [ri, ro] (0 < ri): Chebyshev T_n(t), r = c + h t. |
|
Colatitude part of the spin-weighted spherical harmonics (Vasil et al. 2019), attached to theta of S2Coordinates or SphericalCoordinates, next to a Fourier basis in phi. |
|
Spherical shell ri <= r <= ro (0 < ri): Chebyshev T_n(t), r = c + h t, for every spin component; equations in a declared r-multiplied form (each row times the smallest power of r that makes its coefficients polynomial, as Dedalus's r^-k Jacobi(k-1/2, k-1/2) derivative bases). |
|
Full ball 0 <= r <= R, regular at the centre (Vasil et al. 2019, Lecoanet et al. 2019): the regularity component sigma of degree l is rho^k Q_n^(a, k + 1/2)(2 rho^2 - 1), k = l + sigma, n < size - floor(l/2) (Dedalus's BallBasis truncation), a = derivative level (0 for fields). |
|
Hermite functions on the whole line: f(x) = sum_n c_n psi_n((x - center)/scale), with psi_n(y) = H_n(y) exp(-y^2/2) / sqrt(2^n n! sqrt(pi)) (orthonormal). |
|
Laguerre functions on the half line x >= start: f(x) = sum_n c_n L_n(y) exp(-y/2), y = (x - start)/scale (orthonormal). |
|
Chebyshev T series on consecutive subintervals [x_0, x_1], [x_1, x_2], ..., each with its own size ( |
|
Tensor-product domain: one coordinate system, bases for a subset of its coords. |
|
A named unknown / coefficient field on a domain. |
|
Vector field: a Field with one index in the domain's coordinate system. |
|
Tensor field of the given rank on the domain's coordinate system. |
|
Named scalar parameter (Re, Ra, eigenvalue...). |
|
Contraction of the last index of |
|
a x b for two vectors of the same 3D coordinate system. |
|
Outer (tensor) product; a plain product when one factor is a scalar. |
|
Complex conjugate (the identity on real expressions). |
|
Component |
|
Partial derivative of |
|
Gradient of |
|
Divergence: contracts the derivative with the first index of |
|
Laplacian of |
|
Curl: of a vector in 3D (a vector), of a vector in 2D (a scalar), of a scalar in 2D (a vector). |
|
Time derivative (IVP left-hand side, or sigma in a linearized EVP). |
|
Integral of |
|
Value of |
|
Tau term: |
|
Constant unit vector e_coord of a Cartesian (or the z of a cylindrical) system. |
|
Pointwise exponential (non-polynomial: evaluated on the grid, aliasing reported). |
|
Pointwise natural logarithm (non-polynomial: evaluated on the grid, aliasing reported). |
|
Pointwise sine (non-polynomial: evaluated on the grid, aliasing reported). |
|
Pointwise cosine (non-polynomial: evaluated on the grid, aliasing reported). |
|
Pointwise hyperbolic tangent (non-polynomial: evaluated on the grid, aliasing reported). |
|
Pointwise square root (non-polynomial: evaluated on the grid, aliasing reported). |
|
Pointwise absolute value (non-polynomial: evaluated on the grid, aliasing reported). |
|
Pointwise sign (non-polynomial: evaluated on the grid, aliasing reported). |
|
Common machinery: variables, equations, LHS/RHS checks, counting, explain(). |
|
Initial value problem: M dt(X) + L X = F(X, t). |
|
Linear boundary value problem: L X = F, F independent of X. |
|
Generalized eigenvalue problem L X = -sigma M X written with sigma in the LHS; RHS = 0. |
|
Nonlinear boundary value problem F(X) = 0, F = LHS - RHS; any term may be nonlinear. |
|
The LHS contains a term that is not linear in the problem variables. |
|
IR-level count of a problem: unknown and equation components, gauges and one |
+1 (even / symmetric) or -1 (odd / antisymmetric). |
|
+1 (even / symmetric) or -1 (odd / antisymmetric). |
|
|
Reflection x_c -> 2*about - x_c. |
|
Invariant subspace of a group generated by reflections, with field parities. |
|
Inconsistent symmetry declaration. |
|
A term does not have the parity required by the declared subspace. |
|
Shift-and-reflect of a periodic pipe or cylinder: phi -> -phi composed with the half-period shift z -> z + Lz/2 of the axis, |
|
Rotation phi -> phi + 2 pi / m0 about the axis (disk, annulus, cylinder, sphere, shell, ball). |
|
Equatorial reflection z -> -z (theta -> pi - theta) of S2 or spherical coordinates: the parity (-1)^(l+m) of Y_l^m (spin components: |
|
Chebyshev T_n(xi) with a declared map y = m(xi) onto an (semi-)infinite interval. |
|
Half line y in [origin, inf): y = origin + L (1 + xi)/(1 - xi) (rational Chebyshev TL). |
|
Infinite line y in (-inf, inf): y = origin + L artanh(xi). |
|
Infinite line y in (-inf, inf): y = origin + L tan(pi xi / 2). |
|
Parse |
|
Parse one expression (no '=') into an IR expression (a number stays a Constant). |
conatus.flows¶
Usual base flows and their domains, stated explicitly (no hidden defaults).
|
Wall-normal coordinate |
|
Plane channel in y with base flow |
conatus.units¶
Units and nondimensionalizations.
|
A nondimensionalization: named reference scales within a family, and its Reynolds group. |
|
Express |
|
An energy value tagged with its convention; conversion only by an explicit call. |
|
A channel Reynolds number with its convention stated ( |
conatus.discretize¶
Spectral discretization: Olver–Townsend operators, generalized tau, per-group plans.
|
The expression cannot be discretized as requested (explicit reason given). |
|
Solution of an LBVP ( |
|
Discretized problem: layout, groups, matrices on demand, rank checks, LBVP solve. |
|
The discrete system is under-/over-determined or singular (refused before factorization). |
|
Build the discretization plan of a problem (matrices are assembled lazily per group). |
conatus.reference¶
NumPy reference backend: the oracle of every fast path (C++/CUDA banded solves, NumPy/CuPy transforms and fused kernels).
conatus.solvers¶
Solvers on discretization plans: generalized EVP, Newton for NLBVP; LBVP lives on Plan.solve.
|
Eigenvalues sigma of (L + sigma M) x = 0 for one group, with residuals and a filter log. |
|
All eigenvalues by the QZ algorithm (scipy.linalg.eig), infinite ones counted and removed. |
|
|
|
Eigenvalues sigma of (L + sigma M) x = 0 in one group of |
|
Pencil L(p) + sigma M(p) of one group, assembled once for all values of |
|
Neutral value of |
|
Neutral |
|
Newton for an NLBVP. |
|
|
|
Newton did not reach the declared tolerance within the declared number of iterations. |
|
Newton with a dense coupled Jacobian for an NLBVP on an all-Fourier domain. |
conatus.linearize¶
Linearization of a problem around a base state, and inner products.
|
Perturbation EVP of |
|
Weighted L² inner product on the field unknowns of a plan group. |
conatus.timestep¶
Time integration of IVPs: pseudospectral F, stacked groups, IMEX schemes.
|
dt_cfl = safety / max_x sum_i |u_i(x)| / dx_i(x) on the collocation grid. |
|
Temporal error of one step, from a lower-order companion on the same data. |
|
Max |coefficient| of each tau variable, recorded at every call. |
|
Constant-step IMEX solver of a discretized IVP (see module docstring). |
Built-in immutable sequence. |
|
|
The expression cannot be evaluated by the pseudospectral RHS evaluator. |
conatus.adjoint¶
Discrete tangent and adjoint of the IMEX time steppers (see).
|
Φ(X_0) = X_N for an |
|
The reverse sweep reached its time budget and was written to its journal (not an error of the computation: re-run the same call to resume). |
|
Forward steps recomputed by the reverse sweep of |
conatus.ecs¶
Exact coherent structures: Newton–Krylov–hookstep, equilibria, travelling waves, relative / pre-periodic orbits and their stability. Notes:
|
Translation, generator and reflection on the state of a 1D RealFourier IVP. |
|
Newton–Krylov with hookstep. |
|
v(u) = 0. |
|
|
|
v(u) = 0. |
|
u(x, t) = U(x − c t): v(U) + c ∂x U = 0, unknowns (U, c), phase ⟨∂x U*, δU⟩ = 0. |
|
S τ_ℓ Φ_T(u) = u with unknowns (u, T, ℓ) and phase conditions ⟨v(u*), δu⟩ = 0 (time), ⟨∂x u*, δu⟩ = 0 (translation). |
|
|
|
Stability of a reflection-symmetric equilibrium (R u = u) in each isotypic component of the reflection R: the Jacobian commutes with R, so its spectrum splits into the symmetric block (R v = v, what a subspace computation sees) and the antisymmetric block (R v = −v, invisible there). |
|
|
|
Bisection on one amplitude (e.g. the seed energy E0 of a minimal seed) between a value that relaminarizes and one that transitions: the transition threshold as a bracket ]lo, hi], never as a single guessed number. |
conatus.continuation¶
Pseudo-arclength continuation: generic core and NLBVP adapter.
|
Steps, tolerance and budgets of a pseudo-arclength run; |
|
Pseudo-arclength continuation of |
|
Equilibria of KS continued in L within R u = u; every numerical choice is an argument. |
conatus.floquet¶
Floquet–Hill toolkit (decision D9).
|
Block-banded Hill matrix M(μ) with half-width M = max |m| of the couplings. |
|
Hill operator of an IR eigenvalue problem whose base flow is T-periodic. |
|
Secant on det M(μ)/|det M(start)| (log-scaled, no overflow) from an explicit start. |
|
All Floquet exponents of a μ-linear Hill operator (M(μ) = A + μ B), small sizes only. |
|
Device mirror of a μ-affine |
|
A Floquet exponent with the evidence that it is one. |
|
Result of |
|
Floquet exponents of azimuthal wavenumber m of a linear period- |
conatus.growth¶
|
Floquet exponents of the wave (kx, kz) with the same |
|
Optimal energy gain G(t0, T) of one wave (kx, kz) about a time-periodic base flow. |
|
|
|
F with ‖F x‖² = ½ Σ_comp w_comp ∫|comp|² dy (Fejér quadrature on the Chebyshev grid). |
|
G = max ‖F Φ x‖² / ‖F x‖² over x in range(Z) (SVD), and the optimal structures. |
|
Φ mapping state coefficients at t0 to state coefficients at t0 + T (returned on host). |
conatus.nonmodal¶
Non-modal stability: transient growth and the continuous adjoint.
Symbol class is used to create symbolic variables. |
|
|
Discrete and continuous adjoint of the eigenmode of |
|
(G_max, t_max) over t in |
ω(Ã) = max eig((Ã + Ãᴴ)/2) = d/dt ‖e^{tÃ}‖ at t = 0⁺, of this matrix. |
|
|
Linearized Navier–Stokes around U(y) e_x, mode e^{i(kx x + kz z)}, primitive variables. |
|
Reduce M x' + L x = 0 to q̃' = Ã q̃ in energy-orthonormal coordinates (see module doc). |
conatus.presets¶
Study presets built on the generic unit systems of :mod:conatus.units.
|
Exact Reynolds numbers of laminar Poiseuille flow at centreline Reynolds |
conatus.methods¶
plan.methods(): a “Methods” paragraph generated from the plan.
|
Build the Methods paragraph. |
conatus.errors¶
Public exception hierarchy of Conatus (v0.1).
|
Base class. |
|
An equation (or the whole problem) is inconsistent with the problem type or variables. |
|
A field is used as an unknown (or needs data) but is neither a variable nor given data. |
|
A parameter has no value, or a parameter name is unknown. |
|
Boundary conditions are missing, in excess, or placed where none is possible. |
|
A string equation does not follow the declared grammar ( |
|
The resolution is too small for what is asked (boundary conditions, derivatives...). |
|
Inconsistent coordinates, bases or domain. |
|
An option has an invalid value (scheme, backend, method...); close names are suggested. |
|
An argument has the wrong type (a Parameter, a Field, a number was expected...). |
|
Real/complex (dtype) mismatch; conversions are never implicit. |
|
Tensor signatures do not match (scalar vs vector, different coordinate systems). |
|
An iteration did not reach its declared tolerance within its declared budget. |
|
A computed state is not finite (NaN or inf): a time integration blew up. |
A running simulation is under-resolved: the relative spectral tail of an unknown along a direction exceeds the declared |
|
An implicit term makes the initial-value problem ill-posed: its leading-order growth rate increases without bound with the wavenumber (backward diffusion, a negative viscosity), detected when the model is compiled and named with the term. |
|
Callable initial data are not fully resolved: their relative spectral tail beyond the resolution (sampled on twice the grid) lies between |
|
|
The requested backend (GPU, compiled core) is not available here. |
|
An optional package or the compiled core is missing. |
|
A file to read (an output, a checkpoint) does not exist, or is a directory. |
|
Declared in the IR but not implemented (yet) for this case. |
|
A name means two different things (two modules export it); use one of the explicit names. |
A returned result is under-resolved by a declared measure: the mode an eigenvalue result selects has its energy in the last coefficients, a Floquet-Hill mode in its outermost harmonics. |
|
The returned answer may not be the one the call meant: it is about another base state, another group of modes, or a choice the call did not declare. |
|
A linearization about a base state that is not a steady solution: its steady residual exceeds |
|
An eigenvalue call without a group (no |
|
A choice that decides the answer was left out and the v0.1 default or guess was used: the growth rule of an eigenvalue guessed from its name ( |
|
A feature of the experimental list was used (once per feature and process): it is shipped and tested, but not promised: its API and defaults may change in a minor release without a deprecation cycle, and some of its claims rest on fewer measurements. |
conatus.gpu¶
Is there a usable GPU here? gpu_available() and gpu_report().
True when |
|
One line per requirement of |
conatus.bifurcation¶
Native bifurcation core on the Conatus IR.
|
|
|
IR |
|
Pseudo-arclength branch of equilibria in |
|
Normal form at the equilibrium x0 (a located event: fold, branch point or Hopf). |
|
Mesh in τ = t/T ∈ [0, 1]: |
|
Collocation equations of periodic orbits of |
|
Pseudo-arclength branch of periodic orbits from z0 = (nodes, T, p). |
|
Continue the branch emanating from |
|
Continue a fold ( |
|
Landau equation for the observable amplitude A = observable(x − x0) (linear functional). |
|
Ginzburg–Landau coefficients of the instability at wavenumber k_c. |
|
Linear functional: coefficient of cos(2π x / L_x) of field |
conatus.slices¶
Symmetry reduction by slices: first Fourier mode slice of a translation symmetry, with phase reconstruction and slice-border detection. Notes: §3.
|
Slice of the translation group through a first-Fourier-mode template (see module doc). |
|
Periodic orbit of the reduced flow through the Poincaré |
|
Equilibrium or travelling wave in the slice: border distance, in-slice speed and phase velocity ℓ̇ (−c expected for a TW, 0 for an equilibrium). |
conatus.manifolds¶
Phase-space geometry: trajectories with declared dense output, Poincaré sections and first-return maps, unstable manifolds of equilibria (parametrization method), connections between equilibria (shooting with projection boundary conditions), unstable manifolds of periodic orbits (linear Floquet seeding) and localized-state snaking. Notes:
|
g(x) = 0 crossed in |
|
Pairs (P_k, P_{k+1}) of successive in-section coordinates and return times τ_k. |
|
Integrate every initial point (e.g. |
|
Parametrization of the unstable manifold of the equilibrium |
|
Solve the projection conditions for the unknowns q (see module doc). |
|
Brackets [q_i, q_{i+1}] of a scalar unknown where the (single) projection condition changes sign on the declared grid, both ends having reached the end sphere (if one is declared: a sign change between an orbit that reached it and one that did not is not a root). |
|
DynamicalSystem of the solver's vector field in active coordinates (see module doc). |
conatus.sensitivity¶
Sensitivity of global modes: structural sensitivity, base flow, steady forcing, parameters.
|
Gradient of the eigenvalue nearest |
|
Closed-form eigenpair n of ∂t q = −ν q' + γ q'' + (μ_c + μ₂ x²/2) q on the whole line. |
|
∂t q = −ν ∂x q + γ ∂x² q + μ(x) q on |
|
Structural sensitivity and wavemaker of the mode in |
conatus.datadriven¶
Data-driven decompositions: POD, DMD, SPOD, EDMD/Koopman.
|
|
|
⟨a, b⟩ = aᴴ W b on flattened snapshots of length n (see module doc). |
|
|
|
DMD of the sequence X = [x_0 … x_m] (pairs x_j → x_{j+1}), or of pairs (X, Y). |
|
EDMD of the pairs (X[j], Y[j]) (arrays m × d) on the declared |
|
All monomials x^α, |α| ≤ degree, in d variables (constant first, then by degree). |
|
POD of the snapshot matrix |
|
[1, x_1 … x_d, exp(−ε² ‖x − c_k‖²) for each center] (declared centers and shape ε). |
|
SPOD of the time series |
conatus.chaos¶
Chaos: Lyapunov spectrum on the exact tangent of the step, covariant Lyapunov vectors, Kaplan–Yorke dimension, finite-time exponents, Poincaré sections and first-return maps. Notes:
|
D_KY = j + (λ_1 + … + λ_j) / |λ_{j+1}|, j the largest index with a non-negative partial sum (exponents sorted in decreasing order). |
|
Lyapunov exponents (and optionally CLVs) of |
|
Section points of the trajectories from |
conatus.ensembles¶
Ensembles on one batch: batches of initial conditions and/or parameter values advanced together, basins of attraction, transition probabilities. Notes:
|
B members of one discretized problem advanced together (see module docstring). |
|
Run |
|
(p, low, high): proportion k/m with its Wilson score interval (default 95 %). |
conatus.contour¶
Contour methods in the complex plane.
|
Number of eigenvalues of |
|
Certified eigenvalues of |
|
An |