Manifold class
Contents
classdef Manifold < matlab.mixin.SetGetExactNames
The Manifold
class is used to compute invariant
manifolds for dynamical systems which are set up using the
DynamicalSystem
class. Its core property are the
System
attribute, which holds the dynamical system
object, and the spectral subspace E
, which indicates
tangent to which spectral subspace the invariant manifolds should be
constructed.
properties System % dynamical system object dimSystem % Phase space dimensionality E = [] % invariant subspace of the linearized system (data structure) N = [] % Invariant torus of the linearized system resonance % (near) resonances data structure dimManifold % manifold dimensionality Options = ManifoldOptions() end properties (SetAccess = private) solInfo = struct('memoryEstimate', [], 'timeEstimate', []) solInfoNonAut = struct('timeEstimate',[]) % This data structure stores the solution information: % memory consumption estimate in MB at each order % computational time estimate in seconds at each order end methods
% Constructor function obj = Manifold(Sys) %MANIFOLD Construct an instance of this class % Detailed explanation goes here obj.System = Sys; end
GET methods
function N = get.dimSystem(obj) N = obj.System.N; end function M = get.dimManifold(obj) M = 0; if ~isempty(obj.E) M = M + size(obj.E.basis,2); end if ~isempty(obj.N) M = M + numel(obj.N.Omega); end end
General Methods
The master spectral subspace is chosen with the function
choose_E
. Its input indicates which modes should be
included in said subspace.
choose_E(obj,modes)
An autonomous approximation to the invariant manifold can be computed with the following method.
[W_0, R_0] = compute_whisker(obj, order)
This routine crucially relies on the following function, which
solves the autonomous invariance equation at order i
.
[W_0j, R_0j, multi_input] = cohomological_solution(obj, i, W_0, R_0, multi_input)
After an autonomous approximation has been computed, the non-autonomous manifold may be computed with the following function.
[W, f] = compute_perturbed_whisker(obj, order,W0,R0,varargin)
The domain of analyticity of the autonomous reduced dynamics Taylor approximation can be computed using
[rho] = compute_analyticity_domain(obj,appr_order)
An estimate for the invariance error is provided in
err = compute_auto_invariance_error(obj,W,R,rhosamp,orders,ntheta,varargin);
The invariance residual can be computed with
res = compute_invariance_residual(obj,W0,R0,p,type,varargin)
end
end