KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
Base class for both 1D and 2D pcd models. More...
Base class for both 1D and 2D pcd models.
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 conditions Definition at line 19 of file PCDModel.m.
Public Member Functions | |
PCDModel (dim) | |
Creates a new instance of the PCDModel. More... | |
function | plot (varargin) |
Overrides standard method and forwards to the system's plot function. (they are 1D and 2D) More... | |
function | plotState (varargin) |
Overrides standard method and forwards to the system's plot function. (they are 1D and 2D) More... | |
Public Member Functions inherited from models.BaseFullModel | |
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 () | |
Public Attributes | |
Dimension | |
Public Attributes inherited from models.BaseFullModel | |
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 Public Attributes | |
static const | d1 = 1.8e-11 |
Typical diffusion rate for Caspase-8 [m^2/s]. More... | |
static const | d2 = 1.86e-11 |
Typical diffusion rate for Caspase-3 [m^2/s]. More... | |
static const | d3 = 1.89e-11 |
Typical diffusion rate for Pro-Caspase-8 [m^2/s]. More... | |
static const | d4 = 2.27e-11 |
Typical diffusion rate for Pro-Caspase-3 [m^2/s]. More... | |
static const | L = 1e-5 |
Typical cell length (from 1D) [m]. More... | |
static const | n = 2 |
Exponent in ya,yi term (necessary casp-3 for casp-8 activation) More... | |
static const | Kc1_real = 0.08 |
% Coefficient values Procaspase-8 to Caspase-8 reaction rate Empiric value from [1] in daub's milestone More... | |
static const | Kc2_real = 0.08 |
Procaspase-3 to Caspase-3 reaction rate Empiric value from [1] in daub's milestone. More... | |
static const | Kd1_real = .0005 |
Caspase-8 degradation rate Empiric value from [1] in daub's milestone. More... | |
static const | Kd2_real = .0005 |
Caspase-3 degradation rate Empiric value from [1] in daub's milestone. More... | |
static const | Kd3_real = .0005 |
Pro-Caspase-8 degradation rate Empiric value from [1] in daub's milestone. More... | |
static const | Kd4_real = .0005 |
Caspase-3 degradation rate Empiric value from [1] in daub's milestone. More... | |
static const | Kp1_real = 0.0001 |
Procaspase-8 production rate Empiric value from [1] in daub's milestone. More... | |
static const | Kp2_real = 0.0001 |
Procaspase-3 production rate Empiric value from [1] in daub's milestone. More... | |
static const | xa0 = 1e-7 |
% System Rescaling settings Typical Caspase-8 concentration [M] More... | |
static const | ya0 = 1e-7 |
Typical Caspase-3 concentration [M]. More... | |
static const | xi0 = 1e-7 |
Typical Procaspase-8 concentration [M]. More... | |
static const | yi0 = 1e-7 |
Typical Procaspase-3 concentration [M]. More... | |
static const | SteadyStates |
Steady state configurations First row: life state Second row: unstable state Third row: death state (as of ya > 0.01 its considered death) More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from models.BaseFullModel | |
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... | |
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) |
Static Protected Member Functions inherited from models.BaseFullModel | |
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) |
models.pcd.PCDModel.PCDModel | ( | dim | ) |
Creates a new instance of the PCDModel.
dim | The dimension to use Default: 1 |
Definition at line 246 of file PCDModel.m.
References models.BaseFullModel.Approx, d1, models.BaseFullModel.Data, models.BaseModel.dt, L, models.BaseModel.Name, models.BaseModel.ODESolver, models.BaseFullModel.Sampler, models.BaseFullModel.SpaceReducer, models.BaseModel.System, models.BaseModel.T, models.BaseModel.tau, and data.ModelData.useFileTrajectoryData().
function models.pcd.PCDModel.plot | ( | varargin | ) |
Overrides standard method and forwards to the system's plot function. (they are 1D and 2D)
Definition at line 307 of file PCDModel.m.
References models.BaseModel.System.
function models.pcd.PCDModel.plotState | ( | varargin | ) |
Overrides standard method and forwards to the system's plot function. (they are 1D and 2D)
Definition at line 318 of file PCDModel.m.
References models.BaseModel.System.
|
static |
Typical diffusion rate for Caspase-8 [m^2/s].
Default: 1.8e-11
Definition at line 46 of file PCDModel.m.
Referenced by PCDModel().
|
static |
Typical diffusion rate for Caspase-3 [m^2/s].
Default: 1.86e-11
Definition at line 55 of file PCDModel.m.
|
static |
Typical diffusion rate for Pro-Caspase-8 [m^2/s].
Default: 1.89e-11
Definition at line 64 of file PCDModel.m.
|
static |
Typical diffusion rate for Pro-Caspase-3 [m^2/s].
Default: 2.27e-11
Definition at line 73 of file PCDModel.m.
models.pcd.PCDModel.Dimension |
Definition at line 241 of file PCDModel.m.
|
static |
% Coefficient values Procaspase-8 to Caspase-8 reaction rate Empiric value from [1] in daub's milestone
Default: 0.08
Definition at line 103 of file PCDModel.m.
|
static |
Procaspase-3 to Caspase-3 reaction rate Empiric value from [1] in daub's milestone.
Default: 0.08
Definition at line 114 of file PCDModel.m.
|
static |
Caspase-8 degradation rate Empiric value from [1] in daub's milestone.
Default: .0005
Definition at line 124 of file PCDModel.m.
|
static |
Caspase-3 degradation rate Empiric value from [1] in daub's milestone.
Default: .0005
Definition at line 134 of file PCDModel.m.
|
static |
Pro-Caspase-8 degradation rate Empiric value from [1] in daub's milestone.
Default: .0005
Definition at line 144 of file PCDModel.m.
|
static |
Caspase-3 degradation rate Empiric value from [1] in daub's milestone.
Default: .0005
Definition at line 154 of file PCDModel.m.
|
static |
Procaspase-8 production rate Empiric value from [1] in daub's milestone.
Default: 0.0001
Definition at line 164 of file PCDModel.m.
|
static |
Procaspase-3 production rate Empiric value from [1] in daub's milestone.
Default: 0.0001
Definition at line 174 of file PCDModel.m.
|
static |
Typical cell length (from 1D) [m].
Default: 1e-5
Definition at line 82 of file PCDModel.m.
Referenced by PCDModel().
|
static |
Exponent in ya,yi term (necessary casp-3 for casp-8 activation)
Default: 2
Definition at line 91 of file PCDModel.m.
|
static |
Steady state configurations First row: life state Second row: unstable state Third row: death state (as of ya > 0.01 its considered death)
Default: "[[0, 9.8153e-4, 0.1930]*models.pcd.PCDModel.xa0 \ [0, 3.0824e-5, 0.1713]*models.pcd.PCDModel.ya0 \ [.2, 0.1990, 0.0070]*models.pcd.PCDModel.xi0 \ [.2, 0.2, 0.0287]*models.pcd.PCDModel.yi0]"
Definition at line 221 of file PCDModel.m.
|
static |
% System Rescaling settings Typical Caspase-8 concentration [M]
Default: 1e-7
Definition at line 184 of file PCDModel.m.
|
static |
|
static |
|
static |