conatus.expert.Plan¶
- class conatus.expert.Plan(problem, ncc=None, params=None, ncc_cutoff=None, assembly='direct', ncc_tail_tol=1e-08)[source]¶
Bases:
objectDiscretized problem: layout, groups, matrices on demand, rank checks, LBVP solve.
- Parameters:
problem (Problem)
ncc (Mapping[E.Field, Any] | None)
params (Mapping[str, Any] | None)
ncc_cutoff (float | None)
assembly (str)
ncc_tail_tol (float)
- ASSEMBLY = ('direct', 'wavenumber_interpolation')¶
- ncc_reports: dict¶
- to_grid(name, coeffs)[source]¶
Grid values (non-dealiased grid) of variable
namefrom its coefficient array.- Parameters:
name (str)
coeffs (ndarray)
- Return type:
ndarray
- var_layouts(group)[source]¶
Where each variable sits in the group vector (columns).
- Return type:
list[ObjLayout]
- eq_layouts(group)[source]¶
Where each equation sits in the group vector (rows).
- Return type:
list[ObjLayout]
- property groups: tuple¶
The mode groups (one Fourier wavenumber per periodic direction).
- matrices(group=None, reduced=None)[source]¶
Public M, L, boundary rows, tau columns of one group (default: the first).
- Parameters:
reduced (bool | None)
- Return type:
GroupMatrices
- embed(x_red, group=None)[source]¶
E: symmetry-subspace group vector -> full group vector (zeros elsewhere).
- Parameters:
x_red (ndarray)
- Return type:
ndarray
- project(x_full, group=None)[source]¶
P: full group vector -> subspace coefficients. P E = I; E P = I on the subspace.
- Parameters:
x_full (ndarray)
- Return type:
ndarray
- rank_report(group=None, reduced=None, operator='L')[source]¶
Rank report of one group (default: the first) for
operator“L” or “M”.- Parameters:
reduced (bool | None)
operator (str)
- Return type:
GroupRank
- check(reduced=None)[source]¶
Rank report of every group; raises RankError on the first failure.
- Parameters:
reduced (bool | None)
- Return type:
list[GroupRank]
- solve(data=None, reduced=None)[source]¶
Solve an LBVP group by group (sparse LU, after the rank check):
datagives the right-hand-side fields (those given at discretization are used too); the residual of every group is returned with the solution.- Parameters:
data (Mapping[Field, Any] | None)
reduced (bool | None)
- Return type:
- resolution_report(state, **kw)[source]¶
Spectral-tail resolution report of
state(conatus.resolution); read-only.