KerMor  0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
models.BaseFirstOrderSystem Class Reference

Base class for all KerMor first-order dynamical systems. More...

Detailed Description

Base class for all KerMor first-order dynamical systems.

To setup custom dynamical systems, inherit from this class.

No system components are set by default, except a scalar dscomponents.LinearOutputConv instance for simple state-space to output forwarding.

Programming convention
Any system-specific properties should be added in the subclass, even though sometimes one might tend to put settings into the core function f (e.g. for space-discretized systems and thus all space-discretization relevant settings). In order to have all settings combined at one class one should rather pass the custom systems instance to the ACoreFun implementing classes constructor and read settings from that instead. For an example see the models.pcd.PCDSystem2D and pcd.CoreFun2D.
Author
Daniel Wirtz
Date
2010-03-17
New in 0.6:
(Daniel Wirtz, 2011-12-06) Added a new component M, an optional system's mass matrix \(M(t,\mu)x'(t) = f\ldots\).
Change in 0.5:
(Daniel Wirtz, 2011-10-17)
  • Removed the ISimConstants interface as the concept is too confusing when reducing models (core function evaluations must be fully self-contained regarding current mu and especially inputs)
  • Renamed the prepareConstants to BaseFirstOrderSystem.setConfig
  • New BaseFirstOrderSystem.getParamInfo method to display formatted information about a given parameter vector.
Change in 0.5:
(Daniel Wirtz, 2011-07-07) New method getParamIndexFromName and fixed setConfig checks.
Change in 0.4:
(Daniel Wirtz, 2011-05-29) Re-changed the \(x0(\mu)\) property back to be a function handle. Higher flexibility during subsequent simulations are to be rated higher than proper setting of the property, which should be assumed is being done (especially) for \(x0(\mu)\)
Change in 0.4:
(Daniel Wirtz, 2011-05-13) Created new transient properties BaseFirstOrderSystem.mu and BaseFirstOrderSystem.u in order to store the current \(\mu\) and \(u(t)\) used for simulations on a higher level. Removed the old getODEFun function and replaced it by a direct implementation ODEFun. This enables to avoid nested function handles with in turn allow for a speedup of reduced simulations by almost a factor of 2.
Change in 0.3:
(Daniel Wirtz, 2011-05-03) Moved the x0 property into an abstract function. This way subclasses must implemement the x0 function and is not only warned by the DPCS that it should be set.
Change in 0.3:
(Daniel Wirtz, 2011-04-6) This class inherits from KerMorObject now in order to enable correct saving/loading
New in 0.3:
(Daniel Wirtz, 2011-04-05) Added a setter for property BaseFirstOrderSystem.f that checks for self references.

This class is part of the framework

KerMor - Model Order Reduction using Kernels

Definition at line 18 of file BaseFirstOrderSystem.m.

Public Member Functions

 BaseFirstOrderSystem (models.BaseFullModel model)
 Creates a new base dynamical system class instance. More...
 
function rsys = getReducedSystemInstance (models.ReducedModel rmodel)
 Creates a reduced system given the current system and the reduced model. More...
 
function  setConfig (mu, inputidx)
 Sets the dynamical system's configuration. More...
 
function  prepareSimulation (colvec< double > mu,integer inputidx)
 
function dx = ODEFun (double t,colvec< double > x)
 Debug variant for single evaluation. Commented in function above. More...
 
function y = computeOutput (matrix< double > x,colvec< double > mu)
 Computes the output \(y(t) = C(t,\mu)Sx(t)\) from a given state result vector \(x(t)\), using the system's time and current mu (if given). More...
 
function  updateSparsityPattern ()
 
function J = getJacobian (double t, xc)
 Computes the global jacobian of the current system. More...
 
function matrix
< double > x0
getX0 (rowvec< double > mu)
 Gets the initial state variable at \(t=0\). More...
 
function MgetMassMatrix ()
 For first order systems, only algebraic constraints need to be catered for. More...
 
function ModelParam p = addParam (char name, default, varargin)
 Adds a parameter with the given values to the parameter collection of the current dynamical system. More...
 
function pidx = getParamIndexFromName (paramname)
 Gets the index within the parameter vector \(\mu\) for a given parameter name. More...
 
function pt = getParamInfo (colvec< double > mu)
 
function  plotInputs (pm)
 
- Public Member Functions inherited from KerMorObject
 KerMorObject ()
 Constructs a new KerMor object. More...
 
function  display ()
 disp(object2str(this)); More...
 
function bool = eq (B)
 Checks equality of two KerMor objects. More...
 
function bool = ne (B)
 Checks if two KerMorObjects are different. More...
 
function cn = getClassName ()
 Returns the simple class name of this object without packages. More...
 
- Public Member Functions inherited from DPCMObject
 DPCMObject ()
 Creates a new DPCM object. More...
 
 DPCMObject ()
 

Public Attributes

dscomponents.ACoreFun f
 The core f function from the dynamical system. More...
 
dscomponents.LinearCoreFun A = "[]"
 Represents a linear or affine-linear component of the dynamical system. More...
 
dscomponents.AInputConv B = "[]"
 The input conversion. More...
 
dscomponents.LinearOutputConv C
 The output conversion Defaults to an LinearOutputConv instance using a 1-matrix, which just forwards the state variables and supports projection. More...
 
dscomponents.AInitialValue x0 = "[]"
 Function handle to initial state evaluation. More...
 
dscomponents.AMassMatrix M = "[]"
 The system's mass matrix. More...
 
dscomponents.ACoreFun g = "[]"
 The system's algebraic constraints function. More...
 
 Inputs = {""}
 The system's possible input functions. A cell array of function handles, each taking a time argument t. More...
 
 Params = data.ModelParam.empty
 The parameters usable for the dynamical system. More...
 
integer DependentParamIndices = -1
 Indices of the parameter vector that are effectively used in the system's core function. More...
 
double MaxTimestep = "[]"
 The maximum timestep allowed for any ODE solvers. More...
 
colvec StateScaling = 1
 The scaling for the state vectors. More...
 
 SparsityPattern
 The global sparsity pattern for the entire RHS. More...
 
 mu = "[]"
 The current parameter \(\mu\) for simulations, [] is none used. More...
 
 u = "[]"
 The current input function \(u(t)\) as function handle, [] if none used. More...
 
 inputidx = "[]"
 The current inputindex of the function \(u(t)\). More...
 
 NumStateDofs = "[]"
 
 NumAlgebraicDofs = 0
 
 NumTotalDofs = "[]"
 
 InputCount
 The number of inputs available. More...
 
 ParamCount
 The number of the system's parameters. More...
 
 Model
 The Model this System is attached to. More...
 
- Public Attributes inherited from DPCMObject
 WorkspaceVariableName = ""
 The workspace variable name of this class. Optional. More...
 
 ID = "[]"
 An ID that allows to uniquely identify this DPCMObject (at least within the current MatLab session/context). More...
 
 PropertiesChanged = "[]"
 The Dictionary containing all the property settings as key/value pairs. More...
 
- Public Attributes inherited from handle
 addlistener
 Creates a listener for the specified event and assigns a callback function to execute when the event occurs. More...
 
 notify
 Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects. More...
 
 delete
 Handle object destructor method that is called when the object's lifecycle ends. More...
 
 disp
 Handle object disp method which is called by the display method. See the MATLAB disp function. More...
 
 display
 Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function. More...
 
 findobj
 Finds objects matching the specified conditions from the input array of handle objects. More...
 
 findprop
 Returns a meta.property objects associated with the specified property name. More...
 
 fields
 Returns a cell array of string containing the names of public properties. More...
 
 fieldnames
 Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function. More...
 
 isvalid
 Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass. More...
 
 eq
 Relational functions example. See details for more information. More...
 
 transpose
 Transposes the elements of the handle object array. More...
 
 permute
 Rearranges the dimensions of the handle object array. See the MATLAB permute function. More...
 
 reshape
 hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function. More...
 
 sort
 ort the handle objects in any array in ascending or descending order. More...
 

Protected Member Functions

function  updateDimensions ()
 
function ad_ic = getAlgebraicDofsInitialConditions ()
 The default is to return all zeros. More...
 
function  validateModel (models.BaseFullModel model)
 Validates if the model to be set is a valid BaseModel at least. Extracting this function out of the setter enables subclasses to further restrict the objects that may be passed, as is being done in models.ReducedSystem, for example. More...
 
- Protected Member Functions inherited from KerMorObject
function  checkType (obj, type)
 Object typechecker. More...
 
- Protected Member Functions inherited from DPCMObject
function  registerProps (varargin)
 Call this method at any class that defines DPCM observed properties. More...
 
function  registerProps (varargin)
 

Additional Inherited Members

- Static Protected Member Functions inherited from DPCMObject
static function obj = loadobj (obj, from)
 Re-register any registered change listeners! More...
 
static function obj = loadobj (obj, from)
 

Constructor & Destructor Documentation

models.BaseFirstOrderSystem.BaseFirstOrderSystem ( models.BaseFullModel  model)

Creates a new base dynamical system class instance.

Uses default output mapping: state variables are output.

Parameters
modelA KerMor full model

Definition at line 415 of file BaseFirstOrderSystem.m.

References C, dscomponents.LinearOutputConv.LinearOutputConv(), Model, DPCMObject.registerProps(), and validateModel().

Referenced by models.BaseFullModel.BaseFullModel().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Function Documentation

function ModelParam p = models.BaseFirstOrderSystem.addParam ( char  name,
  default,
  varargin 
)

Adds a parameter with the given values to the parameter collection of the current dynamical system.

Use in subclass constructors to easily define desired default parameters for a specific dynamical system.

See Also
ModelParam setParam
Parameters
nameThe name of the Parameter
varargincode addParam ( ..., range, desired, spacing ) Required Parameters for varargin:
  • range The range of the Parameter. Can be either a scalar or a 1x2 double vector.
  • desired The desired number of samples for that parameter. Default: 1
  • spacing The intended sample spacing over the range Default: lin
Return values
pThe new ModelParam instance.

Definition at line 687 of file BaseFirstOrderSystem.m.

References Params.

Referenced by models.synth.AffParamKernelTestSys.AffParamKernelTestSys(), models.pcdi.BasePCDISystem.BasePCDISystem(), models.pcd.BasePCDSystem.BasePCDSystem(), models.burgers.BurgersSys.BurgersSys(), models.burgers.BurgersSys_A.BurgersSys_A(), models.beam.DynLinTimoshenkoSystem.DynLinTimoshenkoSystem(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.synth.KernelTestSys.KernelTestSys(), models.mathmod2012.MathMODSystem.MathMODSystem(), models.pcd.PCDSystem1D.PCDSystem1D(), models.pcd.PCDSystem3D.PCDSystem3D(), models.rbmatlab.RiemBurgSys.RiemBurgSys(), models.synth.RotationDynSys.RotationDynSys(), models.motorunit.SHSystem.SHSystem(), models.golf.System.System(), models.motoneuron.System.System(), and models.muscle.System.System().

Here is the caller graph for this function:

function y = models.BaseFirstOrderSystem.computeOutput ( matrix< double x,
colvec< double mu 
)

Computes the output \(y(t) = C(t,\mu)Sx(t)\) from a given state result vector \(x(t)\), using the system's time and current mu (if given).

The matrix \(S\) represents possibly set state space scaling, and \(C(t,\mu)\) is an output conversion. Identity values are assumed if the corresponding components are not set/given.

NOTE: This is also called for reduced simulations within ReducedModel.simulate. However, reduced models do not employ state scaling anymore as it has been included in the x0, C components at build-time for the reduced model, respectively. Consequently, the StateScaling property of ReducedSystems is 1.

See models.ReducedSystem.setReducedModel

Parameters
xThe state variable vector at each time step per column
muThe parameter to use. If not specified, the currently set \(\mu\) value of this system is used. Default: this.mu
Return values
yThe output according to \(y(t) = C(t,\mu)Sx(t)\)

Definition at line 536 of file BaseFirstOrderSystem.m.

References C, dscomponents.LinearOutputConv.evaluate(), Model, mu, StateScaling, t, and dscomponents.AOutputConv.TimeDependent.

Referenced by models.BaseModel.plotstep(), error.DefaultEstimator.postProcess(), and models.BaseModel.simulate().

Here is the call graph for this function:

Here is the caller graph for this function:

function ad_ic = models.BaseFirstOrderSystem.getAlgebraicDofsInitialConditions ( )
protected

The default is to return all zeros.

Definition at line 776 of file BaseFirstOrderSystem.m.

References NumAlgebraicDofs.

Referenced by getX0().

Here is the caller graph for this function:

function J = models.BaseFirstOrderSystem.getJacobian ( double  t,
  xc 
)

Computes the global jacobian of the current system.

Parameters
tThe current time(s) \(t \in [0, T]\)

Definition at line 611 of file BaseFirstOrderSystem.m.

References A, f, g, dscomponents.LinearCoreFun.getStateJacobian(), dscomponents.ACoreFun.getStateJacobian(), NumStateDofs, and NumTotalDofs.

Here is the call graph for this function:

function M = models.BaseFirstOrderSystem.getMassMatrix ( )

For first order systems, only algebraic constraints need to be catered for.

Definition at line 669 of file BaseFirstOrderSystem.m.

References M, NumAlgebraicDofs, and NumStateDofs.

function pidx = models.BaseFirstOrderSystem.getParamIndexFromName (   paramname)

Gets the index within the parameter vector \(\mu\) for a given parameter name.

Return values
pidxThe parameter index for the given name, [] if none found.

Definition at line 719 of file BaseFirstOrderSystem.m.

References Params.

function pt = models.BaseFirstOrderSystem.getParamInfo ( colvec< double mu)

Definition at line 734 of file BaseFirstOrderSystem.m.

References PrintTable.HasRowHeader, Model, mu, ParamCount, and Params.

function rsys = models.BaseFirstOrderSystem.getReducedSystemInstance ( models.ReducedModel  rmodel)

Creates a reduced system given the current system and the reduced model.

Parameters
rmodelA KerMor reduced model

Definition at line 433 of file BaseFirstOrderSystem.m.

Referenced by models.ReducedModel.build().

Here is the caller graph for this function:

function matrix< double > x0 = models.BaseFirstOrderSystem.getX0 ( rowvec< double mu)

Gets the initial state variable at \(t=0\).

This is exported into an extra function as it gets overridden in the ReducedModel subclass, where ErrorEstimators possibly change the x0 dimension.

Parameters
muThe parameter \(\mu\) to evaluate \(x_0(\mu)\). Use [] for none. Default: []
Return values
x0the initial state for the parameter \(\mu\)

Definition at line 641 of file BaseFirstOrderSystem.m.

References dscomponents.AInitialValue.evaluate(), getAlgebraicDofsInitialConditions(), NumAlgebraicDofs, StateScaling, and x0.

Here is the call graph for this function:

function dx = models.BaseFirstOrderSystem.ODEFun ( double  t,
colvec< double x 
)

Debug variant for single evaluation. Commented in function above.

Parameters
tThe current time(s) \(t \in [0, T]\)
xThe state variable vector \(\vx(t)\)

Definition at line 510 of file BaseFirstOrderSystem.m.

References A, B, dscomponents.AInputConv.evaluate(), dscomponents.LinearCoreFun.evaluate(), dscomponents.ACoreFun.evaluate(), f, g, inputidx, mu, NumTotalDofs, and u.

Here is the call graph for this function:

function models.BaseFirstOrderSystem.plotInputs (   pm)

Definition at line 753 of file BaseFirstOrderSystem.m.

References InputCount, Inputs, PlotManager.LeaveOpen, and Model.

function models.BaseFirstOrderSystem.prepareSimulation ( colvec< double mu,
integer  inputidx 
)

Definition at line 484 of file BaseFirstOrderSystem.m.

References A, B, dscomponents.AInitialValue.evaluate(), f, NumStateDofs, dscomponents.AInputConv.prepareSimulation(), dscomponents.ACoreFun.prepareSimulation(), setConfig(), updateDimensions(), and x0.

Referenced by models.BaseModel.computeTrajectory(), and models.BaseModel.solveStatic().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFirstOrderSystem.setConfig (   mu,
  inputidx 
)

Sets the dynamical system's configuration.

With configuration are meant the parameter \(\mu\) and input \(u(t)\) that effectively results in a different dynamical system.

See Also
Inputs Params setParam addParam
Parameters
muThe current parameter \(\mu\in\P\). Must be a column vector of the same length as configured parameters. Leave empty if none are used.
inputidxThe index of the input function \(u(t)\) to use. Must be a valid index for one of the cell elements of the Inputs property. Leave empty of none are used.

Definition at line 446 of file BaseFirstOrderSystem.m.

References cprintf(), inputidx, Inputs, mu, ParamCount, Params, t, and u.

Referenced by approx.TPWLApprox.approximateSystemFunction(), models.BaseFullModel.computeTrajectory(), models.muscle.ExperimentRunner.getCachedExperimentConfig(), models.BaseFullModel.getSimCacheTrajectory(), models.BaseFullModel.plotTrajectoryNr(), and prepareSimulation().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFirstOrderSystem.updateSparsityPattern ( )
function models.BaseFirstOrderSystem.validateModel ( models.BaseFullModel  model)
protected

Validates if the model to be set is a valid BaseModel at least. Extracting this function out of the setter enables subclasses to further restrict the objects that may be passed, as is being done in models.ReducedSystem, for example.

Parameters
modelA KerMor full model

Definition at line 786 of file BaseFirstOrderSystem.m.

Referenced by BaseFirstOrderSystem().

Here is the caller graph for this function:

Member Data Documentation

models.BaseFirstOrderSystem.DependentParamIndices = -1

Indices of the parameter vector that are effectively used in the system's core function.

Set this property to the list of indices whose values are actually used at the evaluation of the \(f\) function. Leaving it empty means none are used, and -1 means all values are used (default).

When building kernel expansion approximations this setting will be used to configure the parameter kernel of the kernels.ParamTimeKernelExpansion.

Property class critical:
Using more \(\mu\) parameter vector elements in the kernel approximations than actually required in the core function \(f\) introduces an additional dependency of the nonlinearity on extra parameters which is not given in the full model's core function.

Default: -1

See Also
kernels.ParamTimeKernelExpansion
Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.

Definition at line 238 of file BaseFirstOrderSystem.m.

Referenced by models.mathmod2012.MathMODSystem.MathMODSystem().

models.BaseFirstOrderSystem.f

The core f function from the dynamical system.

Property class important:

Default: []

Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.
This property has custom functionality when its value is changed.

Definition at line 86 of file BaseFirstOrderSystem.m.

Referenced by models.synth.AffParamKernelTestSys.AffParamKernelTestSys(), approx.DEIM.approximateSystemFunction(), approx.KernelEI.approximateSystemFunction(), approx.TPWLApprox.approximateSystemFunction(), error.alpha.Base.Base(), models.ReducedSystem.build(), models.beam.DynLinTimoshenkoSystem.buildElementDependentComponents(), models.burgers.BurgersSys.BurgersSys(), models.burgers.BurgersSys_A.BurgersSys_A(), testing.DEIM.compareDEIM_Full_Jacobian(), testing.LogNorm.compareSimTransJac_FullJac(), approx.KernelEI.computeEmpiricalSparsityPattern(), models.muscle.Model.computeTrajectory(), models.BaseFullModel.computeTrajectory(), models.muscle.System.configUpdated(), error.BaseCompLemmaEstimator.evalODEPart(), error.TPWLLocalLipEstimator.evalODEPart(), spacereduction.Krylov.generateReducedSpaceImpl(), error.BaseCompLemmaEstimator.getAlpha(), error.DEIMEstimator.getAlpha(), error.IterationCompLemmaEstimator.getBeta(), error.DEIMEstimator.getBeta(), models.muscle.Model.getConfigTable(), testing.DEIM.getDEIMErrorsAtXForParams(), testing.DEIM.getDEIMReducedModelErrors(), models.ReducedSecondOrderSystem.getJacobian(), models.BaseSecondOrderSystem.getJacobian(), getJacobian(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.iciam2011.ICIAMSystem.ICIAMSystem(), models.synth.KernelTestSys.KernelTestSys(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), models.mathmod2012.MathMODSystem.MathMODSystem(), demos.RandomModelEstimatorAnalyzer.newCoeffs(), models.BaseSecondOrderSystem.ODEFun(), ODEFun(), models.BaseFullModel.off2_genTrainingData(), models.BaseFullModel.off4_genApproximationTrainData(), error.IterationCompLemmaEstimator.offlineComputations(), models.pcdi.PCDISystem2D.PCDISystem2D(), models.pcd.PCDSystem1D.PCDSystem1D(), models.pcd.PCDSystem2D.PCDSystem2D(), models.pcd.PCDSystem3D.PCDSystem3D(), models.muscle.Model.plotActivation(), models.muscle.Model.plotAnisotropicPressure(), models.muscle.Model.plotForceLengthCurve(), models.motorunit.Shorten.plotMotoSacroLinkFactorCurve(), error.TPWLLocalLipEstimator.prepareForReducedModel(), error.IterationCompLemmaEstimator.prepareForReducedModel(), error.DEIMEstimator.prepareForReducedModel(), prepareSimulation(), models.circ.RCLadderSys.RCLadderSys(), models.rbmatlab.RiemBurgSys.RiemBurgSys(), models.synth.RotationDynSys.RotationDynSys(), demos.RandomModelEstimatorAnalyzer.setup(), models.motorunit.SHSystem.SHSystem(), models.motorunit.SHSystem.singlePeakModeOutputFcn(), models.golf.System.System(), models.motoneuron.System.System(), models.muscle.System.System(), models.burgers.BurgersSys.updateDimensions(), models.burgers.BurgersSys_A.updateDimensions(), models.pcd.BasePCDSystem.updateDimensions(), models.pcdi.BasePCDISystem.updateDimensions(), models.BaseSecondOrderSystem.updateSparsityPattern(), updateSparsityPattern(), error.GLEstimator.validModelForEstimator(), error.IterationCompLemmaEstimator.validModelForEstimator(), and models.wh10.WH10System.WH10System().

models.BaseFirstOrderSystem.InputCount

The number of inputs available.

Note
This property has the MATLAB attribute Dependent set to true.
This property has non-standard access specifiers: SetAccess = Private, GetAccess = Public
Matlab documentation of property attributes.
[readonly]

Definition at line 376 of file BaseFirstOrderSystem.m.

Referenced by models.beam.DynLinTimoshenkoModel.DynLinTimoshenkoModel(), models.BaseModel.plotInputs(), and plotInputs().

models.BaseFirstOrderSystem.inputidx = "[]"

The current inputindex of the function \(u(t)\).

Note
This property has the MATLAB attribute Transient set to true.
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.
Default: "[]"

Definition at line 352 of file BaseFirstOrderSystem.m.

Referenced by models.BaseSecondOrderSystem.ODEFun(), ODEFun(), and setConfig().

models.BaseFirstOrderSystem.Inputs = {""}

The system's possible input functions. A cell array of function handles, each taking a time argument t.

Note
Adding an input to a system does not mean that any associated full model uses them in the offline phase. In order to use an input during offline phase add the corresponding index to the models.BaseFullModel.TrainingInputs property.
Property class optional:
Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.
Default: {""}
This property has custom functionality when its value is changed.

Definition at line 204 of file BaseFirstOrderSystem.m.

Referenced by models.synth.AffParamKernelTestSys.AffParamKernelTestSys(), models.ReducedSystem.build(), models.muscle.System.configUpdated(), models.beam.DynLinTimoshenkoSystem.DynLinTimoshenkoSystem(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), models.BaseModel.plotInputs(), plotInputs(), models.circ.RCLadderSys.RCLadderSys(), models.rbmatlab.RiemBurgSys.RiemBurgSys(), setConfig(), models.motorunit.SHSystem.SHSystem(), and models.motoneuron.System.System().

models.BaseFirstOrderSystem.M = "[]"
models.BaseFirstOrderSystem.MaxTimestep = "[]"

The maximum timestep allowed for any ODE solvers.

This might be necessary if the Core function encapsulates a spatial discretization and thus CFL conditions apply, for example.

Attention
'IMPORTANT!' If any time scaling is used within the model, this value must correspond to the 'scaled' maximum timestep.
Property class critical:
Too large time-steps might violate e.g. CFL conditions and render the solution false and useless.
See Also
BaseModel BaseModel.tau BaseModel.dtscaled
Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.
Default: "[]"
This property has custom functionality when its value is changed.

Definition at line 266 of file BaseFirstOrderSystem.m.

Referenced by models.synth.AffParamKernelTestSys.AffParamKernelTestSys(), models.ReducedSystem.build(), models.burgers.Burgers.Burgers(), models.BaseModel.computeTrajectory(), models.beam.DynLinTimoshenkoSystem.DynLinTimoshenkoSystem(), models.iciam2011.ICIAMSystem.ICIAMSystem(), models.synth.KernelTest.KernelTest(), models.synth.KernelTestSys.KernelTestSys(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), models.mathmod2012.MathMODSystem.MathMODSystem(), models.muscle.Model.Model(), models.golf.System.prepareSimulation(), models.circ.RCLadderSys.RCLadderSys(), models.motoneuron.System.setConfig(), models.motorunit.SHSystem.setConfig(), models.wh10.WH10Experiment.WH10Experiment(), and models.wh10.WH10System.WH10System().

models.BaseFirstOrderSystem.Model

The Model this System is attached to.

Note
This property has non-standard access specifiers: SetAccess = Private, GetAccess = Public
Matlab documentation of property attributes.

Definition at line 402 of file BaseFirstOrderSystem.m.

Referenced by models.pcd.BaseCoreFun.activationFun(), models.synth.AffParamKernelTestSys.AffParamKernelTestSys(), BaseFirstOrderSystem(), models.pcdi.BasePCDISystem.BasePCDISystem(), models.pcd.BasePCDSystem.BasePCDSystem(), models.ReducedSecondOrderSystem.build(), models.ReducedSystem.build(), models.beam.DynLinTimoshenkoSystem.buildElementDependentComponents(), approx.KernelEI.computeEmpiricalSparsityPattern(), computeOutput(), models.beam.DLTNonlinearCoreFun.DLTNonlinearCoreFun(), models.golf.Force.evaluate(), models.pcd.CoreFun1D.evaluate(), models.pcd.CoreFun1D.evaluateComponentsMulti(), models.pcd.CoreFun1D.evaluateMulti(), models.ReducedSystem.getJacobian(), getParamInfo(), models.rbmatlab.RiemBurgSys.getx0(), models.ReducedSecondOrderSystem.getX0(), models.ReducedSystem.getX0(), models.synth.KernelTestSys.KernelTestSys(), models.burgers.BurgersF_NoA.newDim(), models.burgers.BurgersF.newDim(), models.pcdi.PCDISystem2D.newSysDimension(), models.ReducedSecondOrderSystem.ODEFun(), models.ReducedSystem.ODEFun(), models.pcdi.PCDISystem2D.PCDISystem2D(), models.pcd.PCDSystem1D.PCDSystem1D(), models.pcd.PCDSystem2D.PCDSystem2D(), models.pcd.PCDSystem3D.PCDSystem3D(), models.pcd.PCDSystem1D.plot(), models.pcd.BaseCoreFun.plotActivationFun(), models.pcdi.BaseCoreFun.plotActivationFun(), models.pcdi.PCDISystem2D.plotDiffusionCoeff(), plotInputs(), models.motoneuron.Dynamics.prepareSimulation(), models.golf.System.prepareSimulation(), models.circ.RCLadderSys.RCLadderSys(), models.motorunit.SHSystem.setConfig(), models.pcd.BasePCDSystem.setConfig(), models.synth.KernelTestFun.showBaseFun(), models.muscle.Dynamics.test_Jacobian(), models.burgers.BurgersSys.updateDimensions(), models.burgers.BurgersSys_A.updateDimensions(), and models.ReducedSystem.updateDimensions().

models.BaseFirstOrderSystem.ParamCount

The number of the system's parameters.

Note
This property has the MATLAB attribute Dependent set to true.
This property has non-standard access specifiers: SetAccess = Private, GetAccess = Public
Matlab documentation of property attributes.
[readonly]

Definition at line 388 of file BaseFirstOrderSystem.m.

Referenced by sampling.BaseSampler.generateSamples(), getParamInfo(), models.BaseModel.initDefaultParameter(), models.mathmod2012.MathMODSystem.MathMODSystem(), models.BaseFullModel.off1_createParamSamples(), and setConfig().

models.BaseFirstOrderSystem.Params = data.ModelParam.empty

The parameters usable for the dynamical system.

Property class optional:
Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.
Default: data.ModelParam.empty
This property has custom functionality when its value is changed.

Definition at line 224 of file BaseFirstOrderSystem.m.

Referenced by addParam(), models.ReducedSystem.build(), testing.LogNorm.getApproxLogNormsAtPos(), getParamIndexFromName(), getParamInfo(), models.BaseModel.initDefaultParameter(), models.pcd.PCDSystem1D.PCDSystem1D(), and setConfig().

models.BaseFirstOrderSystem.SparsityPattern

The global sparsity pattern for the entire RHS.

Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.

Definition at line 313 of file BaseFirstOrderSystem.m.

Referenced by models.BaseSecondOrderSystem.updateSparsityPattern(), models.ReducedSystem.updateSparsityPattern(), and updateSparsityPattern().

models.BaseFirstOrderSystem.StateScaling = 1

The scaling for the state vectors.

Can either be a scalar that will be used for every \(f\)-dimension, or a vector of the same dimension as the system's core function \(f\) which will then be applied component-wise

See the Scaling of KerMor models documentation for more details.

Property class scaling:
Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.
Default: 1
This property has custom functionality when its value is changed.

Definition at line 292 of file BaseFirstOrderSystem.m.

Referenced by models.pcdi.BasePCDISystem.BasePCDISystem(), models.ReducedSystem.build(), computeOutput(), EstimatorAnalyzer.getRelativeErrorEstimates(), getX0(), models.circ.RCLadderSys.RCLadderSys(), and models.pcd.BasePCDSystem.updateDimensions().

models.BaseFirstOrderSystem.u = "[]"

The current input function \(u(t)\) as function handle, [] if none used.

Note
This property has the MATLAB attribute Transient set to true.
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.
Default: "[]"

Definition at line 339 of file BaseFirstOrderSystem.m.

Referenced by models.beam.DynLinTimoshenkoSystem.buildElementDependentComponents(), models.muscle.System.inita0(), models.ReducedSecondOrderSystem.ODEFun(), models.BaseSecondOrderSystem.ODEFun(), models.ReducedSystem.ODEFun(), ODEFun(), and setConfig().

models.BaseFirstOrderSystem.x0 = "[]"

Function handle to initial state evaluation.

The handle returns the initial value \(x(0) = x_0\) for the ODE solver to start simulations from.

Function parameter is the current parameter \(\mu\) and return value is initial system state \(x_0\).

Property class critical:
The initial value greatly influences the simulation results.

Default: []

Note
This property has the MATLAB attribute SetObservable set to true.
Matlab documentation of property attributes.
This property has custom functionality when its value is changed.

Definition at line 155 of file BaseFirstOrderSystem.m.

Referenced by models.synth.AffParamKernelTestSys.AffParamKernelTestSys(), models.muscle.System.assembleX0(), models.ReducedSystem.build(), models.beam.DynLinTimoshenkoSystem.buildElementDependentComponents(), models.muscle.System.configUpdated(), spacereduction.Krylov.generateReducedSpaceImpl(), models.rbmatlab.RiemBurgSys.getx0(), models.ReducedSystem.getX0(), getX0(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.synth.KernelTestSys.KernelTestSys(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), models.pcd.PCDSystem2D.newSysDimension(), models.pcd.PCDSystem1D.newSysDimension(), models.pcd.PCDSystem3D.newSysDimension(), models.pcdi.PCDISystem2D.newSysDimension(), error.BaseEstimator.offlineComputations(), models.muscle.System.plotDiff(), error.initial.Constant.prepareForReducedModel(), error.initial.AffineParametric.prepareForReducedModel(), prepareSimulation(), models.circ.RCLadderSys.RCLadderSys(), models.rbmatlab.RiemBurgSys.RiemBurgSys(), models.synth.RotationDynSys.RotationDynSys(), demos.RandomModelEstimatorAnalyzer.setup(), models.motorunit.SHSystem.SHSystem(), models.golf.System.System(), models.motoneuron.System.System(), models.burgers.BurgersSys.updateDimensions(), and models.burgers.BurgersSys_A.updateDimensions().


The documentation for this class was generated from the following file: