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.BaseFullModel Class Reference

The base class for any KerMor detailed model. More...

Detailed Description

The base class for any KerMor detailed model.

Implementers of custom models are to inherit from this base class in order for it to work with KerMor. For custom models, the properties of this class (combined with those from BaseModel) can be set to influence the model behaviour and reduction methods. For the implementation of custom dynamical systems, refer to BaseFirstOrderSystem.

Setting default values for properties that are handle classes will have the negative side-effect of having each instance of BaseFullModel initialized with the SAME instance of the Sampler, Approx etc. instances which of course is NOT desireable. See http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_oop/bsdtcz7.html#bsdu1g9-1 for details.

Todo:
build in time-tracking for offline phase etc
Todo:
If enabletrajectorycaching is off, the model complains about no finding file system folders for trajectories etc after re-loading
See Also
models BaseModel BaseFirstOrderSystem
Author
Daniel Wirtz
Date
16.03.2010
New in 0.7:
(Daniel Wirtz, 2013-05-28) Added an AutoSave flag for intermediate saving during offline phases.
New in 0.6:
(Daniel Wirtz, 2012-10-10) Added the SaveTag property on this level. It is automatically set according to the model name whenever it is still empty and the models name is set.
New in 0.6:
(Daniel Wirtz, 2012-10-08) Added a new read-only property models.BaseFullModel.OfflinePhaseTimes that contains the last offline computation times in a row vector.
Change in 0.6:
(Daniel Wirtz, 2012-04-26) Using ProcessIndicator for training data generation now.
Change in 0.6:
(Daniel Wirtz, 2011-12-14) Now listening for changes to T and dt of the model and clearing the model training data if either value changes
New in 0.5:
(Daniel Wirtz, 2011-10-15) Added a new method getTrajApproxError that computes the approximation error of the Approx class against the full trajectory. This method provides generic means to assess the approximation quality of approx.BaseApprox classes for full trajectories.
Change in 0.5:
(Daniel Wirtz, 2011-10-16) Fixed the parallel computation of BaseFullModel.off2_genTrainingData so that it also works with data.FileTrajectoryData (parallel execution did not sync the hashmaps, now running data.FileTrajectoryData.consolidate fixes this)
Change in 0.5:
(Daniel Wirtz, 2011-08-04) Adopted the off2_genTrainingData method to the new data.ATrajectoryData structure. Now all trajectories are stored either in memory or disk, and the data.ATrajectoryData classes take care of storage.
New in 0.4:
(Daniel Wirtz, 2011-05-31) Added the models.BaseFullModel.OfflinePhaseTimes property.
Change in 0.4:
(Syed Ammar, 2011-05-11) Implemented setters for the preApproximationTrainingCallback and postApproximationTrainingCallback
New in 0.4:
(Daniel Wirtz, 2011-05-06) Small improvements to the DPCS, the correct links to the properties defining classes are now used. Further a link to the correct class is created if the property wsa inherited from a superclass.
New in 0.4:
(Daniel Wirtz, 2011-05-04) Added a new property models.BaseFullModel.TrainingInputs. Now one can specifiy which defined inputs are to be used within offline generations.
Change in 0.3:
(Daniel Wirtz, 2011-04-26) The property changed descriptions now contain links to the respective classes containing the property.
New in 0.3:
(Daniel Wirtz, 2011-04-21) Integrated this class to the property default value changed supervision system Property classes and levels. This class now inherits from KerMorObject and has an extended constructor registering any user-relevant properties using KerMorObject.registerProps.
New in 0.3:
(Daniel Wirtz, 2011-04-21) - Implemented the recursive property changed search on a per-BaseFullModel basis as made possible by the changes in KerMorObject.
  • Added a new method models.BaseFullModel.printPropertyChangedReport that gives detailed information about any properties of the model and its subclasses that remained set to their default value since initialization.
  • Overloaded the models.BaseModel.computeTrajectory method in order to previously run the property changed checks

This class is part of the framework

KerMor - Model Order Reduction using Kernels
Todo:
put addlistener methods for T,dt change into loadobj!
Todo:
implement callbacks for the ODE solvers that automatically set computed f-values on simulation points if desired

Definition at line 18 of file BaseFullModel.m.

Public Member Functions

 BaseFullModel (char name)
 Creates a new instance of a full model. More...
 
function  delete ()
 
function  off1_createParamSamples ()
 Offline phase 1: Sample generation. More...
 
function  off2_genTrainingData ()
 Offline phase 2: Snapshot generation for subspace computation. More...
 
function  off3_computeReducedSpace ()
 Offline phase 3: Generate state space reduction. More...
 
function  off4_genApproximationTrainData ()
 Generates the training data \(x_i\) for the \(\hat{f}\)-approximation and precomputes \(f(x_i)\) values. More...
 
function  off5_computeApproximation ()
 Offline phase 5: Core function approximation. More...
 
function  off6_prepareErrorEstimator ()
 Prepares offline data for a possible error estimator. More...
 
function  offlineGenerations ()
 Performs all large offline computations for model reduction. More...
 
function [ models.ReducedModel
reduced , double time ] = 
buildReducedModel (varargin)
 Builds a reduced model from a full model. More...
 
function [ t ,
x ,
time ,
cache ] = 
computeTrajectory (colvec< double > mu, inputidx)
 Computes a solution/trajectory for the given mu and inputidx in the SCALED state space. More...
 
function [ double t , matrix< double > y ,
colvec
< double > mu ,
in ,
ct ] = 
getSimCacheTrajectory (nr)
 
function  plotTrajectoryNr (nr)
 
function [ V ,
W ] = 
assembleProjectionMatrices (target_dim)
 
function file = save (char directory,char filename)
 Saves this instance inside the data.ModelData.DataDirectory folder using the model's SaveTag if set or "model.mat". More...
 
- Public Member Functions inherited from models.BaseModel
 BaseModel ()
 
function  delete ()
 
function  initDefaultParameter ()
 Reads the default values of the System's ModelParam list and initializes the BaseModel.DefaultMu with it. More...
 
function [ rowvec< double > t ,
matrix
< double > y , double sec ,
x ] = 
simulate (colvec< double > mu,integer inputidx)
 Simulates the system and produces the system's output. More...
 
function [ handle f , handle ax ] = plot (rowvec< double > t,matrix< double > y, varargin)
 Plots the results of the simulation. Override in subclasses for a more specific plot if desired. More...
 
function [ handle f , handle ax ] = plotState (rowvec t,matrix< double > x, varargin)
 Plots the results of the simulation. Override in subclasses for a more specific plot if desired. More...
 
function [ f ,
ax ] = 
plotSingle (double t,colvec< double > y, varargin)
 Plots a single solution. Override in subclasses for specific plot behaviour. More...
 
function  plotInputs (pm)
 
function [ double t , colvec< double > x ,
double
ctime ] = 
solveStatic (colvec< double > mu,integer inputidx)
 Solves the linear system \(A(t,\mu)*x + f(t,\mu) + B(t,\mu)*u(t) = 0\). Spatial dependence of f is neglected in the current implementation (since this would require solving a nonlinear system). More...
 
function [ rowvec< double > t ,
matrix
< double > x , double ctime ] = 
computeTrajectory (colvec< double > mu,integer inputidx)
 Computes a solution/trajectory for the given mu and inputidx in the SCALED state space. More...
 
function matrix
< double > mu = 
getRandomParam (integer num,integer seed)
 Gets a random parameter sample from the system's parameter domain P. More...
 
- 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 ()
 

Static Public Member Functions

static function  test_BaseModels ()
 
static function res = test_BareModel ()
 
static function  test_LinearModel ()
 
static function  test_LinearModelNoProj ()
 
static function  test_LinearModelNoApprox ()
 
static function  test_LinearModelParams ()
 
static function  test_LinearModelInputs ()
 
static function  test_LinearModelParamsInput ()
 
static function  test_NonlinearModel ()
 
static function  test_NonlinearModelParams ()
 
static function  test_NonlinearModelInputs ()
 
static function  test_NonlinearModelParamsInput ()
 
static function  test_TimeDependentOutput ()
 
static function res = test_FileSystemTidyness ()
 Plain small model. More...
 

Public Attributes

data.ModelData Data
 The full model's data container. Defaults to an empty container. More...
 
export.JKerMorExport JKerMorExport
 Export instance for possible export of this model to JKerMor. More...
 
sampling.BaseSampler Sampler
 The sampling strategy the Model uses. More...
 
spacereduction.BaseSpaceReducer SpaceReducer
 The reduction algorithm for subspaces. More...
 
approx.BaseApprox Approx = "[]"
 The approximation method for the CoreFunction. More...
 
function_handle preApproximationTrainingCallback
 Advanced property. Must be a function handle taking the current model instance. More...
 
function_handle postApproximationTrainingCallback
 Advanced property. Must be a function handle taking the current model instance. More...
 
logical EnableTrajectoryCaching = false
 Flag that enables caching of computed trajectories in a simulation cache stored in KerMor's TempDirectory folder. More...
 
error.BaseEstimator ErrorEstimator = "[]"
 The associated error estimator for this model. More...
 
logical ComputeTrajectoryFxiData = false
 Flag that determines whether fxi data should be computed along with the trajectories or not. More...
 
logical ProjectApproxTrainingData = false
 Flag to determine if the data collected by the approx.Approx.TrainDataSelector should be projected into the previously computed projection space V (see offline phase 3). If so, the \(f(x_i)\) values are also re-computed for the updated \(x_i\) samples. More...
 
logical AutoSave = false
 Flag to enable automatic saving of the model after each individual offline phase step and at other locations prone to data loss due to lengthy computations. More...
 
char SaveTag = ""
 A custom tag that can be used as a prefix to files for corresponding model identification. More...
 
integer TrainingInputs
 The indices of inputs to use for training data generation. Uses the DefaultInput if not set (and DefaultInput is not empty) More...
 
rowvec< integerTrainingParams
 The indices of the model parameters to use for training data generation. More...
 
integer TrainingInputCount
 Gets the number of inputs used for training. More...
 
rowvec< doubleOfflinePhaseTimes = "[]"
 The computation times for all phases of the last offline generation. More...
 
 TrajectoriesCompleted = "[]"
 Contains a flag for each input/parameter combination which has been successfully computed completely during the offline phase. More...
 
- Public Attributes inherited from models.BaseModel
models.BaseFirstOrderSystem System = "[]"
 The actual dynamical system used in the model. More...
 
char Name = ""
 The name of the Model. More...
 
matrix< doubleG = 1
 The custom scalar product matrix \(\vG\). More...
 
double RealTimePlottingMinPause = .1
 Minimum pause between successive steps when RealTimePlotting is enabled. More...
 
logical isStatic = false
 Determines if the model is time dependent or static. More...
 
integer DefaultInput = "[]"
 The default input to use if none is given. More...
 
 Times
 Evaluation points \(\{0=t_0,\ldots,t_n=T\}\) of the model. More...
 
rowvec< doublescaledTimes
 The time steps Times in scaled time units \(\tilde{t_i} = \frac{t_i}{\tau}\). More...
 
double Tscaled
 The scaled end time \(\tilde{T} = \frac{T}{\tau}\). More...
 
double tau
 Time scaling factor \(\tau\). More...
 
double T
 The final timestep \(T\) up to which to simulate. More...
 
double dt
 The desired time-stepsize \(\Delta t\) for simulations. More...
 
solvers.BaseSolver ODESolver
 The solver to use for the ODE. Must be an instance of any solvers.BaseSolver subclass. More...
 
logical RealTimePlotting
 Determines if the simulation should plot intermediate steps during computation. More...
 
colvec< doubleDefaultMu = "[]"
 The default parameter value if none is given. More...
 
 dtscaled = .1
 The scaled timestep \(\tilde{\Delta t} = \frac{\Delta t}{\tau}\). More...
 
char gitRefOnSave = ""
 Contains the GIT revision of this model when it was last saved. 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...
 
- Public Attributes inherited from IParallelizable
 ComputeParallel = false
 Flag whether the code should be run in parallel or not. More...
 

Static Protected Member Functions

static function this = loadobj (this, sobj)
 
- Static Protected Member Functions inherited from models.BaseModel
static function this = loadobj (this, s)
 
- 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)
 

Additional Inherited Members

- Protected Member Functions inherited from models.BaseModel
function this = saveobj ()
 Store the current GIT branch in the object. More...
 
function  plotstep (src, ed)
 Callback for the ODE solvers StepPerformed event that enables during-simulation-plotting. 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)
 

Constructor & Destructor Documentation

models.BaseFullModel.BaseFullModel ( char  name)

Creates a new instance of a full model.

Parameters
nameThe name of the model. Default: '

Definition at line 489 of file BaseFullModel.m.

References handle.addlistener, models.BaseFirstOrderSystem.BaseFirstOrderSystem(), Data, data.ModelData.ModelData(), models.BaseModel.Name, DPCMObject.registerProps(), Sampler, SpaceReducer, and models.BaseModel.System.

Here is the call graph for this function:

Member Function Documentation

function [V , W ] = models.BaseFullModel.assembleProjectionMatrices (   target_dim)

Definition at line 1014 of file BaseFullModel.m.

References Data, models.BaseFirstOrderSystem.NumTotalDofs, and models.BaseModel.System.

Referenced by data.selection.EpsSelector.select().

Here is the caller graph for this function:

function [ models.ReducedModel reduced , double time ] = models.BaseFullModel.buildReducedModel (   varargin)

Builds a reduced model from a full model.

Before calling this method ensure that offlineGenerations was called at least once to provide the model's necessary data for the reduction process.

See Also
offlineGenerations
Parameters
varargincode buildReducedModel ( target_dim ) Required Parameters for varargin:
  • target_dim The target dimensions \(d\) of the reduced model. If more than one subspace is set to be computed, target_dim may be a vector determining the desired size of each subspace. The overall dimension will then be the sum over all single ones. If algebraic DoFs are present, the reduced space will always have all of those added to it's dimensions
Return values
reducedThe reduced model created from this full model.
timeThe time needed to build the reduced model.

Definition at line 892 of file BaseFullModel.m.

Referenced by models.synth.AffParamKernelTest.runTest(), models.synth.KernelTest.runTest(), and EstimatorAnalyzer.setModel().

Here is the caller graph for this function:

function [ t , x , time , cache ] = models.BaseFullModel.computeTrajectory ( colvec< double mu,
  inputidx 
)

Computes a solution/trajectory for the given mu and inputidx in the SCALED state space.

Parameters
muThe parameter \(\mu\) for the simulation
inputidxThe integer index of the input function to use. If more than one inputs are specified this is a necessary argument.
Return values
tThe times at which the model was evaluated. Will equal the property Times
xThe state variables at the corresponding times t.
cachedFlag that indicates that this trajectory is loaded from cache. Possible values are 0: Found in no cache, 1: found in ModelData.TrajectoryData, 2: Found in ModelData.SimCache

Definition at line 926 of file BaseFullModel.m.

References KerMor.App(), Approx, DPCM.criticalsCheck(), Data, models.BaseModel.dt, EnableTrajectoryCaching, models.BaseFirstOrderSystem.f, dscomponents.ACoreFun.fDim, data.ATrajectoryData.getTrajectory(), models.BaseModel.isStatic, dscomponents.ACoreFun.prepareSimulation(), models.BaseModel.scaledTimes, models.BaseFirstOrderSystem.setConfig(), data.ModelData.SimCache, models.BaseModel.solveStatic(), models.BaseModel.System, t, models.BaseModel.T, models.BaseModel.Times, data.ModelData.TrajectoryData, and dscomponents.ACoreFun.xDim.

Referenced by EstimatorAnalyzer.getRelativeErrorEstimates(), and off2_genTrainingData().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFullModel.delete ( )

Definition at line 531 of file BaseFullModel.m.

References Approx, Data, Sampler, SpaceReducer, and models.BaseModel.System.

function [doublet , matrix<double>y , colvec<double>mu , in , ct ] = models.BaseFullModel.getSimCacheTrajectory (   nr)
static function this = models.BaseFullModel.loadobj (   this,
  sobj 
)
staticprotected
function models.BaseFullModel.off1_createParamSamples ( )

Offline phase 1: Sample generation.

Definition at line 544 of file BaseFullModel.m.

References Data, sampling.BaseSampler.generateSamples(), OfflinePhaseTimes, models.BaseFirstOrderSystem.ParamCount, data.ModelData.ParamSamples, Sampler, and models.BaseModel.System.

Referenced by offlineGenerations().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFullModel.off3_computeReducedSpace ( )

Offline phase 3: Generate state space reduction.

Definition at line 756 of file BaseFullModel.m.

References data.ModelData.addProjectionSpace(), Data, handle.disp, k, models.BaseFirstOrderSystem.NumAlgebraicDofs, models.BaseFirstOrderSystem.NumTotalDofs, OfflinePhaseTimes, data.ModelData.ProjectionSpaces, SpaceReducer, models.BaseModel.System, and spacereduction.BaseSpaceReducer.TargetDimensions.

Referenced by offlineGenerations().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFullModel.off4_genApproximationTrainData ( )

Generates the training data \(x_i\) for the \(\hat{f}\)-approximation and precomputes \(f(x_i)\) values.

The main functionality of this phase is located at the ApproxTrainData class as it is used more than once and not exclusively at this location

Definition at line 793 of file BaseFullModel.m.

References Approx, data.ModelData.ApproxTrainData, data.ApproxTrainData.ApproxTrainData(), Data, models.BaseFirstOrderSystem.f, OfflinePhaseTimes, models.BaseModel.System, and t.

Referenced by offlineGenerations().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFullModel.off5_computeApproximation ( )

Offline phase 5: Core function approximation.

Todo:
proper subset selection algorithm/method

Definition at line 813 of file BaseFullModel.m.

References KerMor.App(), Approx, approx.BaseApprox.approximateSystemFunction(), data.ModelData.ApproxTrainData, Data, data.ApproxTrainData.fxi, OfflinePhaseTimes, postApproximationTrainingCallback, preApproximationTrainingCallback, and data.ApproxTrainData.xi.

Referenced by offlineGenerations().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFullModel.off6_prepareErrorEstimator ( )

Prepares offline data for a possible error estimator.

Definition at line 851 of file BaseFullModel.m.

References KerMor.App(), ErrorEstimator, OfflinePhaseTimes, and t.

Referenced by offlineGenerations().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFullModel.offlineGenerations ( )

Performs all large offline computations for model reduction.

This method is mainly used to compile all large data for the reduction process. Its separation from the buildReducedModel method is only for separation reasons. It calls all of the offX_ - methods in their order.

See Also
buildReducedModel

Definition at line 869 of file BaseFullModel.m.

References off1_createParamSamples(), off2_genTrainingData(), off3_computeReducedSpace(), off4_genApproximationTrainData(), off5_computeApproximation(), off6_prepareErrorEstimator(), and OfflinePhaseTimes.

Referenced by models.synth.AffParamKernelTest.runTest(), models.synth.KernelTest.runTest(), and EstimatorAnalyzer.setModel().

Here is the call graph for this function:

Here is the caller graph for this function:

function models.BaseFullModel.plotTrajectoryNr (   nr)
function file = models.BaseFullModel.save ( char  directory,
char  filename 
)

Saves this instance inside the data.ModelData.DataDirectory folder using the model's SaveTag if set or "model.mat".

New in 0.7:
(Daniel Wirtz, 2013-05-28) Added this method
Parameters
directoryThe directory to save to.
Default:
data.ModelData.DataDirectory
Parameters
filenameThe filename to use. Will derive from models.BaseFullModel.SaveTag if not specified, and if the SaveTag is not set, model.mat will be used. Default: models.BaseFullModel.SaveTag

Definition at line 1094 of file BaseFullModel.m.

References Data, data.FileData.DataDirectory, and SaveTag.

Referenced by models.beam.DynLinTimoshenkoModel.experiment1().

Here is the caller graph for this function:

static function res = models.BaseFullModel.test_BareModel ( )
static

Definition at line 1401 of file BaseFullModel.m.

References t.

static function models.BaseFullModel.test_BaseModels ( )
static

Definition at line 1378 of file BaseFullModel.m.

References t.

function res = models.BaseFullModel.test_FileSystemTidyness ( )
static

Plain small model.

Definition at line 1617 of file BaseFullModel.m.

static function models.BaseFullModel.test_LinearModel ( )
static

Definition at line 1426 of file BaseFullModel.m.

static function models.BaseFullModel.test_LinearModelInputs ( )
static

Definition at line 1491 of file BaseFullModel.m.

static function models.BaseFullModel.test_LinearModelNoApprox ( )
static

Definition at line 1457 of file BaseFullModel.m.

static function models.BaseFullModel.test_LinearModelNoProj ( )
static

Definition at line 1441 of file BaseFullModel.m.

static function models.BaseFullModel.test_LinearModelParams ( )
static

Definition at line 1472 of file BaseFullModel.m.

static function models.BaseFullModel.test_LinearModelParamsInput ( )
static

Definition at line 1509 of file BaseFullModel.m.

static function models.BaseFullModel.test_NonlinearModel ( )
static

Definition at line 1530 of file BaseFullModel.m.

static function models.BaseFullModel.test_NonlinearModelInputs ( )
static

Definition at line 1563 of file BaseFullModel.m.

static function models.BaseFullModel.test_NonlinearModelParams ( )
static

Definition at line 1545 of file BaseFullModel.m.

static function models.BaseFullModel.test_NonlinearModelParamsInput ( )
static

Definition at line 1580 of file BaseFullModel.m.

static function models.BaseFullModel.test_TimeDependentOutput ( )
static

Definition at line 1601 of file BaseFullModel.m.

References t.

Member Data Documentation

models.BaseFullModel.AutoSave = false

Flag to enable automatic saving of the model after each individual offline phase step and at other locations prone to data loss due to lengthy computations.

Note that once a model has been saved, any file system folders created with that model will persist until manually deleted.

Property class optional:
This setting just decreases the chance of data loss due to intermediate saves.

Default: false

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 345 of file BaseFullModel.m.

Referenced by loadobj().

models.BaseFullModel.ComputeTrajectoryFxiData = false

Flag that determines whether fxi data should be computed along with the trajectories or not.

Todo:
write setter

Default: false

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

Definition at line 303 of file BaseFullModel.m.

Referenced by loadobj(), and off2_genTrainingData().

models.BaseFullModel.Data

The full model's data container. Defaults to an empty container.

Property class data:
The model's data container

Default: data.ModelData

See Also
data.ModelData
Note
This property has custom functionality when its value is changed.

Definition at line 119 of file BaseFullModel.m.

Referenced by approx.DEIM.approximateSystemFunction(), approx.KernelApprox.approximateSystemFunction(), approx.KernelEI.approximateSystemFunction(), approx.TPWLApprox.approximateSystemFunction(), assembleProjectionMatrices(), BaseFullModel(), models.ReducedModel.build(), testing.DEIM.compareDEIM_Full_Jacobian(), testing.LogNorm.compareSimTransDEIMJac_FullJac(), testing.LogNorm.compareSimTransJac_FullJac(), data.ApproxTrainData.computeFrom(), computeTrajectory(), data.FileTrajectoryData.consolidate(), delete(), models.beam.DynLinTimoshenkoModel.DynLinTimoshenkoModel(), spacereduction.PODGreedy.generateReducedSpaceImpl(), testing.DEIM.getDEIMErrorsAtXForParams(), getSimCacheTrajectory(), models.motoneuron.Model.Model(), models.muscle.Model.Model(), off1_createParamSamples(), off2_genTrainingData(), off3_computeReducedSpace(), off4_genApproximationTrainData(), off5_computeApproximation(), models.pcdi.PCDIModel.PCDIModel(), models.pcd.PCDModel.PCDModel(), plotTrajectoryNr(), models.circ.RCLadder.RCLadder(), save(), models.ReducedModel.saveFinal(), data.selection.DefaultSelector.select(), data.selection.LinspaceSelector.select(), data.selection.TimeSelector.select(), data.selection.EpsSelector.select(), and models.motorunit.Shorten.Shorten().

models.BaseFullModel.EnableTrajectoryCaching = false

Flag that enables caching of computed trajectories in a simulation cache stored in KerMor's TempDirectory folder.

This flag can speedup re-done simulations significantly. However, thus far the cache only looks up the total simulation time, timestep, parameter and input index (if given). Thus, not in all situations a correct recognition of changes is guaranteed (e.g. changing the input function handle will cause the same old trajectory to be loaded). Consequently, this setting is 'disabled' by default.

Property class optional:
Caching can speedup computations but may require extra disk space.

Default: false

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 258 of file BaseFullModel.m.

Referenced by computeTrajectory(), loadobj(), off2_genTrainingData(), and models.motorunit.Shorten.Shorten().

models.BaseFullModel.ErrorEstimator = "[]"

The associated error estimator for this model.

It is computed automatically, using the order/selection as in error.BaseEstimator.getEstimator

Property class optional:
Using error estimators with reduced models can facilitate reduction quality measurement and can also be needed by some adaptive algorithms.

Default: []

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

Definition at line 283 of file BaseFullModel.m.

Referenced by models.synth.AffParamKernelTest.AffParamKernelTest(), models.burgers.Burgers.Burgers(), testing.DEIM.compareDEIM_Full_Jacobian(), testing.LogNorm.compareSimTransDEIMJac_FullJac(), testing.LogNorm.compareSimTransJac_FullJac(), testing.LogNorm.getApproxLogNormsAtPos(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.synth.KernelTest.KernelTest(), loadobj(), off6_prepareErrorEstimator(), and models.circ.RCLadder.RCLadder().

models.BaseFullModel.JKerMorExport

Export instance for possible export of this model to JKerMor.

Leave empty if no export is possible.

Property class data:
Only used if model can be exported to JaRMoS

Default: []

Definition at line 134 of file BaseFullModel.m.

Referenced by models.beam.DynLinTimoshenkoModel.DynLinTimoshenkoModel().

models.BaseFullModel.OfflinePhaseTimes = "[]"

The computation times for all phases of the last offline generation.

Contains a \(1\times 6\) row vector with the corresponding times for the off1_ to off_6 phases.

Default: []

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

Definition at line 444 of file BaseFullModel.m.

Referenced by loadobj(), off1_createParamSamples(), off2_genTrainingData(), off3_computeReducedSpace(), off4_genApproximationTrainData(), off5_computeApproximation(), off6_prepareErrorEstimator(), and offlineGenerations().

models.BaseFullModel.postApproximationTrainingCallback

Advanced property. Must be a function handle taking the current model instance.

The handle is invoked at the end of the off4_computeApproximation method.

Property class optional:
A callback that can be set to execute user defined code after training the approximation.

Default: []

See Also
preApproximationTrainingCallback
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 235 of file BaseFullModel.m.

Referenced by loadobj(), off5_computeApproximation(), and models.rbmatlab.RiemannBurgers.RiemannBurgers().

models.BaseFullModel.preApproximationTrainingCallback

Advanced property. Must be a function handle taking the current model instance.

The handle is invoked before the ApproxfValues and approximation data is computed within off4_computeApproximation.

This property allows to manually influence the approximation training data, for example if the training data has repeating entries if the problem at hand is homogeneous over a specific dimension. An example is the models.rbmatlab.RiemannBurgers model, which is in fact homogeneous in y-direction. Thus, only distinct x-direction points have to be trained for.

Property class optional:
A callback that can be set to execute user defined code before training the approximation.

Default: []

Todo:
(optional) create class events from this
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 205 of file BaseFullModel.m.

Referenced by loadobj(), off5_computeApproximation(), and models.rbmatlab.RiemannBurgers.RiemannBurgers().

models.BaseFullModel.ProjectApproxTrainingData = false

Flag to determine if the data collected by the approx.Approx.TrainDataSelector should be projected into the previously computed projection space V (see offline phase 3). If so, the \(f(x_i)\) values are also re-computed for the updated \(x_i\) samples.

This feature might be of importance when kernel methods are used for nonlinearity approximation, and the projection requires the centers to reside in the projection space V.

As the more common choice in KerMor so far is DEIM, the default is false as \(x_i\) data is not needed for DEIM.

See Also
data.ApproxTrainData approx.DEIM

Default: false

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 319 of file BaseFullModel.m.

Referenced by data.ApproxTrainData.computeFrom().

models.BaseFullModel.SaveTag = ""

A custom tag that can be used as a prefix to files for corresponding model identification.

If the property models.BaseModel.Name is set and the SaveTag is still empty, a lowercase, trimmed and spaces-replaced-by-underscore SaveTag will be automatically set.

Property class optional:

Default: '

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

Definition at line 365 of file BaseFullModel.m.

Referenced by models.burgers.Burgers.Burgers(), loadobj(), models.motoneuron.Model.Model(), models.muscle.Model.Model(), models.pcd.PCDSystem2D.plot(), models.pcdi.PCDISystem2D.plot(), models.circ.RCLadder.RCLadder(), save(), and models.motorunit.Shorten.Shorten().

models.BaseFullModel.TrainingInputCount

Gets the number of inputs used for training.

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 428 of file BaseFullModel.m.

Referenced by data.FileTrajectoryData.consolidate(), and off2_genTrainingData().

models.BaseFullModel.TrainingInputs

The indices of inputs to use for training data generation. Uses the DefaultInput if not set (and DefaultInput is not empty)

Property class optional:
Set subindices to restrict offline generation phase to a subset of inputs.

Default: DefaultInput

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

Definition at line 387 of file BaseFullModel.m.

Referenced by models.synth.AffParamKernelTest.AffParamKernelTest(), models.beam.DynLinTimoshenkoModel.DynLinTimoshenkoModel(), models.wh10.WH10Experiment.Experiment3(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), models.motoneuron.Model.Model(), off2_genTrainingData(), models.circ.RCLadder.RCLadder(), and models.motorunit.Shorten.Shorten().

models.BaseFullModel.TrainingParams

The indices of the model parameters to use for training data generation.

The model's DefaultMu will be used as "base" parameter, within which the TrainingParams will be changed accordingly.

Property class optional:
Set subindices to restrict offline generation phase to a subset of parameters.

Default: 1:ParamCount

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

Definition at line 405 of file BaseFullModel.m.

Referenced by sampling.BaseSampler.generateSamples(), and models.muscle.Model.Model().

models.BaseFullModel.TrajectoriesCompleted = "[]"

Contains a flag for each input/parameter combination which has been successfully computed completely during the offline phase.

This output will depend on the UniformTrajectories setting of the ModelData.TrajectoryData instances; if set to true, offline phase 2 will not run through anyways.

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

Definition at line 460 of file BaseFullModel.m.

Referenced by loadobj(), and off2_genTrainingData().


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