KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
The base class for any KerMor detailed model. More...
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.
This class is part of the framework
Homepage
http://www.morepas.org/software/index.htmlDocumentation
http://www.morepas.org/software/kermor/index.htmlLicense
KerMor license conditionsDefinition 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< integer > | TrainingParams |
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< double > | OfflinePhaseTimes = "[]" |
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< double > | G = 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< double > | scaledTimes |
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< double > | DefaultMu = "[]" |
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) |
models.BaseFullModel.BaseFullModel | ( | char | name | ) |
Creates a new instance of a full model.
name | The 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.
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().
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.
varargin | code buildReducedModel ( target_dim ) Required Parameters for varargin:
|
reduced | The reduced model created from this full model. |
time | The 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().
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.
mu | The parameter \(\mu\) for the simulation |
inputidx | The integer index of the input function to use. If more than one inputs are specified this is a necessary argument. |
t | The times at which the model was evaluated. Will equal the property Times |
x | The state variables at the corresponding times t. |
cached | Flag 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().
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 | ) |
Definition at line 997 of file BaseFullModel.m.
References Data, models.BaseModel.dt, models.BaseFirstOrderSystem.setConfig(), data.ModelData.SimCache, models.BaseModel.System, t, models.BaseModel.T, and models.BaseModel.Times.
|
staticprotected |
Definition at line 1335 of file BaseFullModel.m.
References handle.addlistener, Approx, AutoSave, ComputeTrajectoryFxiData, EnableTrajectoryCaching, ErrorEstimator, JKerMorExport.JKerMorExport(), OfflinePhaseTimes, postApproximationTrainingCallback, preApproximationTrainingCallback, Sampler, SaveTag, SpaceReducer, and TrajectoriesCompleted.
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().
function models.BaseFullModel.off2_genTrainingData | ( | ) |
Offline phase 2: Snapshot generation for subspace computation.
Definition at line 562 of file BaseFullModel.m.
References data.ATrajectoryData.addTrajectory(), KerMor.App(), models.BaseFirstOrderSystem.B, data.ATrajectoryData.clearTrajectories(), IParallelizable.ComputeParallel, computeTrajectory(), ComputeTrajectoryFxiData, Utils.createCombinations(), Data, models.BaseModel.DefaultInput, EnableTrajectoryCaching, dscomponents.ACoreFun.evaluateMulti(), models.BaseFirstOrderSystem.f, data.ModelData.getParams(), data.ModelData.InputSpaceSpan, k, OfflinePhaseTimes, data.ModelData.ParamSamples, models.BaseModel.RealTimePlotting, data.ModelData.SampleCount, SpaceReducer, models.BaseModel.System, t, models.BaseModel.Times, TrainingInputCount, TrainingInputs, TrajectoriesCompleted, data.ModelData.TrajectoryData, data.ModelData.TrajectoryFxiData, data.ModelData.TrajectoryIncompleteData, data.ATrajectoryData.transferFrom(), and data.ModelData.useFileTrajectoryData().
Referenced by offlineGenerations().
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().
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().
function models.BaseFullModel.off5_computeApproximation | ( | ) |
Offline phase 5: Core function approximation.
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().
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().
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.
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().
function models.BaseFullModel.plotTrajectoryNr | ( | nr | ) |
Definition at line 1007 of file BaseFullModel.m.
References Data, data.ATrajectoryData.getTrajectoryNr(), models.BaseModel.plot(), models.BaseFirstOrderSystem.setConfig(), models.BaseModel.System, models.BaseModel.Times, and data.ModelData.TrajectoryData.
Saves this instance inside the data.ModelData.DataDirectory folder using the model's SaveTag if set or "model.mat".
directory | The directory to save to. |
filename | The 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().
|
static |
Definition at line 1401 of file BaseFullModel.m.
References t.
|
static |
Definition at line 1378 of file BaseFullModel.m.
References t.
|
static |
Plain small model.
Definition at line 1617 of file BaseFullModel.m.
|
static |
Definition at line 1426 of file BaseFullModel.m.
|
static |
Definition at line 1491 of file BaseFullModel.m.
|
static |
Definition at line 1457 of file BaseFullModel.m.
|
static |
Definition at line 1441 of file BaseFullModel.m.
|
static |
Definition at line 1472 of file BaseFullModel.m.
|
static |
Definition at line 1509 of file BaseFullModel.m.
|
static |
Definition at line 1530 of file BaseFullModel.m.
|
static |
Definition at line 1563 of file BaseFullModel.m.
|
static |
Definition at line 1545 of file BaseFullModel.m.
|
static |
Definition at line 1580 of file BaseFullModel.m.
|
static |
Definition at line 1601 of file BaseFullModel.m.
References t.
models.BaseFullModel.Approx = "[]" |
The approximation method for the CoreFunction.
Default: []
SetObservable
set to true. Definition at line 187 of file BaseFullModel.m.
Referenced by models.synth.AffParamKernelTest.AffParamKernelTest(), error.alpha.Base.Base(), models.burgers.Burgers.Burgers(), computeTrajectory(), delete(), models.beam.DynLinTimoshenkoModel.DynLinTimoshenkoModel(), testing.DEIM.getDEIMErrorsAtXForParams(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.synth.KernelTest.KernelTest(), loadobj(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), off4_genApproximationTrainData(), off5_computeApproximation(), error.IterationCompLemmaEstimator.offlineComputations(), models.pcdi.PCDIModel.PCDIModel(), models.pcd.PCDModel.PCDModel(), error.IterationCompLemmaEstimator.prepareForReducedModel(), models.circ.RCLadder.RCLadder(), models.rbmatlab.RiemannBurgers.RiemannBurgers(), models.synth.Rotation.Rotation(), models.ReducedModel.saveFinal(), error.TPWLLocalLipEstimator.validModelForEstimator(), error.IterationCompLemmaEstimator.validModelForEstimator(), error.DEIMEstimator.validModelForEstimator(), and models.wh10.WH10Experiment.WH10Experiment().
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.
Default: false
SetObservable
set to true. 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.
Default: false
SetObservable
set to true. 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.
Default: data.ModelData
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.
Default: false
SetObservable
set to true. 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
Default: []
SetObservable
set to true. 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.
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: []
SetAccess = Private, GetAccess = Public
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.
Default: []
SetObservable
set to true. 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.
Default: []
SetObservable
set to true. 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.
Default: false
SetObservable
set to true. Definition at line 319 of file BaseFullModel.m.
Referenced by data.ApproxTrainData.computeFrom().
models.BaseFullModel.Sampler |
The sampling strategy the Model uses.
Default: sampling.RandomSampler
SetObservable
set to true. Definition at line 150 of file BaseFullModel.m.
Referenced by models.synth.AffParamKernelTest.AffParamKernelTest(), BaseFullModel(), delete(), models.beam.DynLinTimoshenkoModel.DynLinTimoshenkoModel(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.synth.KernelTest.KernelTest(), loadobj(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), off1_createParamSamples(), models.pcdi.PCDIModel.PCDIModel(), models.pcd.PCDModel.PCDModel(), models.circ.RCLadder.RCLadder(), models.rbmatlab.RiemannBurgers.RiemannBurgers(), models.synth.Rotation.Rotation(), models.motorunit.Shorten.Shorten(), and models.wh10.WH10Experiment.WH10Experiment().
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.
Default: '
SetObservable
set to true. 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.SpaceReducer |
The reduction algorithm for subspaces.
Default: spacereduction.PODGreedy
SetObservable
set to true. Definition at line 168 of file BaseFullModel.m.
Referenced by models.synth.AffParamKernelTest.AffParamKernelTest(), BaseFullModel(), models.burgers.Burgers.Burgers(), delete(), models.beam.DynLinTimoshenkoModel.DynLinTimoshenkoModel(), models.iciam2011.ICIAMExperiment.ICIAMExperiment(), models.synth.KernelTest.KernelTest(), loadobj(), models.mathmod2012.MathMODExperiment.MathMODExperiment(), models.muscle.Model.Model(), off2_genTrainingData(), off3_computeReducedSpace(), models.pcdi.PCDIModel.PCDIModel(), models.pcd.PCDModel.PCDModel(), models.circ.RCLadder.RCLadder(), models.rbmatlab.RiemannBurgers.RiemannBurgers(), models.synth.Rotation.Rotation(), data.selection.EpsSelector.select(), and demos.RandomModelEstimatorAnalyzer.setup().
models.BaseFullModel.TrainingInputCount |
Gets the number of inputs used for training.
Dependent
set to true. SetAccess = Private, GetAccess = Public
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)
Default: DefaultInput
Dependent
set to true. SetObservable
set to true. 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.
Default: 1:ParamCount
Dependent
set to true. SetObservable
set to true. 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.
SetAccess = Private, GetAccess = Public
Definition at line 460 of file BaseFullModel.m.
Referenced by loadobj(), and off2_genTrainingData().