conatus.expert.KSDomainContinuation¶
- class conatus.expert.KSDomainContinuation(*, N, dealias, dp_fd, marginal_tol, eig_count, cache=6)[source]¶
Bases:
objectEquilibria of KS continued in L within R u = u; every numerical choice is an argument.
- Parameters:
N (int)
dealias (float)
dp_fd (float)
marginal_tol (float)
eig_count (int)
cache (int)
- at(L)[source]¶
Solver, vector field and Fourier operators at domain length L (small LRU cache).
- Parameters:
L (float)
- Return type:
_AtL
- full(x, L)[source]¶
Full state from the antisymmetric-subspace unknowns (other entries zero).
- Parameters:
x (ndarray)
L (float)
- Return type:
ndarray
- active(X, L)[source]¶
Unknowns of the antisymmetric subspace (sin components) of a full state.
- Parameters:
X (ndarray)
L (float)
- Return type:
ndarray
- residual(x, L)[source]¶
G(x, L): the KS vector field restricted to the subspace.
- Parameters:
x (ndarray)
L (float)
- Return type:
ndarray
- jacobian(x, L)[source]¶
Dense Jacobian of
residualfrom exact JVPs (one per unknown).- Parameters:
x (ndarray)
L (float)
- Return type:
ndarray
- eigenvalues(x, L)[source]¶
Leading eigenvalues of the full-space Jacobian (mean frozen); |Re| ≤ marginal_tol → 0.
- Parameters:
x (ndarray)
L (float)
- Return type:
ndarray
- energy(x, L)[source]¶
E = (1/L) ∫ u²/2 dx (Cvitanović et al. 2010, eq. 3.6); only sin components here.
- Parameters:
x (ndarray)
L (float)
- Return type:
float
- continuation(settings, *, eigen)[source]¶
The
PseudoArclengthdriver on these callbacks (stability ifeigen).- Parameters:
settings (ContinuationSettings)
eigen (bool)
- Return type:
PseudoArclength
- run(x0, L0, settings, *, direction, L_bounds, eigen=True)[source]¶
Continue the equilibrium x0 (full state at L0, must satisfy R u = u) in L.
- Parameters:
x0 (ndarray)
L0 (float)
settings (ContinuationSettings)
direction (float)
L_bounds (tuple[float, float])
eigen (bool)
- Return type:
Branch