ParametrisationMethod
Core types for the parametrisation method: Parametrisation (the manifold map W) and ReducedDynamics (the reduced vector field f).
MORFE.ParametrisationMethod.Parametrisation — Type
Parametrisation{ORD, NVAR, T}A dense polynomial with a contiguous (FOM, ORD, L) coefficient array. Represents a parametrisation mapping from reduced coordinates and forcing variables to the full state.
ORD: native order of the full ODE (1 for first‑order, 2 for second‑order).NVAR: total number of variables = reduced coordinates + forcing variables.T: numeric element type (e.g.,ComplexF64).
Layout: coefficients[:, ord, l] is the full‑state vector (length FOM) for the ord-th time derivative of the l-th monomial coefficient.
MORFE.ParametrisationMethod.ReducedDynamics — Type
ReducedDynamics{ROM, NVAR, T}A dense polynomial whose coefficients are SVector{ROM, T}. Represents the reduced dynamics on a manifold of dimension ROM.
ROM: dimension of the reduced state (first‑order system).NVAR: total number of variables = ROM + externalsystemsize.T: numeric type.
The polynomial is stored in poly, and external_system_size gives the number of forcing variables. The dynamics are: ż = R(z, r), where r are the forcing variables.
MORFE.ParametrisationMethod.compute_higher_derivative_coefficients! — Method
compute_higher_derivative_coefficients!(
param_coeff, red_coeff, external_dynamics, superharmonic, global_index,
generalised_eigenmodes, lower_order_couplings
) -> nothingCompute the higher time‑derivative coefficients W^(j+1)[α] for j = 1 … ORD-1 using the superharmonic recurrence
W^(j+1)[α] = s · W^(j)[α] + Φ_master · R[α] + Φ_ext · e_dyn + ξ[j]where:
s = superharmonicis the frequency⟨λ, α⟩,Φ = generalised_eigenmodes(FOM × NVAR) collects the right eigenmodes,R[α] = red_coeff[:, global_index](ROM‑vector) contains the master‑mode reduced‑dynamics coefficients at the current monomial (already solved),e_dyn = external_dynamics(N_EXT‑vector) contains the known external dynamics at the current monomial,ξ[j] = lower_order_couplings[j](FOM‑vector) contains the coupling from lower‑order monomials at derivative orderj.
Modifies param_coeff in‑place. Does nothing when ORD = 1 (no higher derivatives exist for a first‑order ODE).
Arguments
param_coeff :: AbstractArray{T, 3}— shapeFOM × ORD × L; the coefficient tensor of the parametrisation polynomial.red_coeff :: AbstractMatrix{T}— shapeROM × L; master‑mode reduced‑dynamics coefficients.external_dynamics :: AbstractVector{T}— lengthN_EXT; known external dynamics at the current monomial.superharmonic :: T— scalars = ⟨λ, α⟩.global_index :: Int— monomial index into the last axis ofparam_coeffand the last axis ofred_coeff.generalised_eigenmodes :: AbstractMatrix{T}— shapeFOM × NVAR; right generalised eigenvectors (master modes in columns1:ROM, external modes inROM+1:NVAR).lower_order_couplings :: AbstractVector{<:AbstractVector{T}}— lengthORD; elementjis a length‑FOMvectorξ[j]produced byLowerOrderCouplings.compute_lower_order_couplings.
MORFE.ParametrisationMethod.create_parametrisation_method_objects — Method
create_parametrisation_method_objects(mset::MultiindexSet{NVAR}, ORD::Int, FOM::Int, ROM::Int, external_system_size::Int, ::Type{T}=Complex)Create a consistent pair of polynomials:
W: aParametrisation{ORD, NVAR, T}with zero coefficients,R: aReducedDynamics{ROM, NVAR, T}with zero coefficients.
Both polynomials share the same multiindex set mset and element type T. The total number of variables NVAR must satisfy NVAR == ROM + external_system_size. FOM is the full‑order dimension (size of the state vector). It is not stored but used to initialise the coefficient vectors correctly.
Arguments
mset: multiindex set forNVARvariables.ORD: native order of the full ODE (1 or 2).FOM: dimension of the full‑order state in its native order.ROM: dimension of the reduced state.external_system_size: number of forcing variables (default 0).T: element type.