conatus.expert.Plan

class conatus.expert.Plan(problem, ncc=None, params=None, ncc_cutoff=None, assembly='direct', ncc_tail_tol=1e-08)[source]

Bases: object

Discretized 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 name from 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): data gives 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:

LBVPSolution

resolution_report(state, **kw)[source]

Spectral-tail resolution report of state (conatus.resolution); read-only.

explain()[source]

Bases, groups, equation spaces, NCC reports and the rank report of the first group.

Return type:

str

methods(solver=None, **kw)
Parameters:
  • self (Plan)

  • solver (Any)

Return type:

MethodsText