KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
Base class inhibitor PCD models. More...
Base class inhibitor PCD models.
The package models.pcdi contains a copy of the models.pcd model files, extended by an optional "inhibitor" extended governing equation. The constructor can be called passing a flag (default=true) if the extension should be used. As this mainly affects the system's nonlinearity, a separate class file has been created to cater for that case. Different behaviour in model and system classes is realized using the flag WithInhibitors.
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 PCDIModel.m.
Public Member Functions | |
PCDIModel (integer dim,logical inhibitors) | |
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 () | |
Static Public Member Functions | |
static function res = | test_PCDIModel_Simulation () |
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... | |
Public Attributes | |
WithInhibitors | |
Flag that detemines if this model uses inhibitors. More... | |
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 |
% System Coefficient values 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 | d5 = 1.8720e-11 |
Typical diffusion rate for IAP [m^2/s]. More... | |
static const | d6 = 1.9548e-11 |
Typical diffusion rate for BAR [m^2/s]. More... | |
static const | d7 = 1.4850e-11 |
Typical diffusion rate for YAI [m^2/s]. More... | |
static const | d8 = 1.4850e-11 |
Typical diffusion rate for XAB [m^2/s]. More... | |
static const | K1 = 0.08 |
Procaspase-8 to Caspase-8 reaction rate. More... | |
static const | K2 = 0.08 |
Procaspase-3 to Caspase-3 reaction rate. More... | |
static const | K3 = 0.054 |
IAP-Caspase 3 (de)reaction rate. More... | |
static const | K4 = 0.36 |
IAP-Caspase 3 one-way (de)reaction rate. More... | |
static const | K5 = .0005 |
Caspase-8 degradation rate. More... | |
static const | K6 = .0005 |
Caspase-3 degradation rate. More... | |
static const | K7 = 3.6000e-4 |
YAI degradation rate. More... | |
static const | K8 = 1.8000e-04 |
IAP degradation rate. More... | |
static const | K9 = .0005 |
Pro-Caspase-8 degradation rate. More... | |
static const | K10 = .0005 |
Caspase-3 degradation rate. More... | |
static const | K11 = 0.54 |
BAR - Procaspase-8 (de)reaction rate. More... | |
static const | K12 = 1.8000e-05 |
BAR degradation rate. More... | |
static const | K13 = 1.8000e-4 |
XAP degradation rate. More... | |
static const | Km3 = 0.0360 |
YAI to IAP production rate. More... | |
static const | Km8 = 1e-04 |
IAP production rate. More... | |
static const | Km9 = 1e-04 |
Procaspase-8 production rate. More... | |
static const | Km10 = 1e-04 |
Procaspase-3 production rate. More... | |
static const | Km11 = 0.0360 |
XAB degradation rate. More... | |
static const | Km12 = 1.8000e-06 |
BAR production rate. More... | |
static const | tc = 1e-7 |
% System Rescaling settings Typical concentration [Mol] More... | |
static const | L = 1e-5 |
Typical cell length (from 1D) [m]. More... | |
Protected Member Functions | |
function ss = | getSteadyStates (n) |
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) |
Additional Inherited Members | |
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) |
Creates a new instance of the PCDModel.
dim | The dimension to use Default: 2 |
inhibitors | Flag to indicate if the inhibitor extensions should be used in this model. Default: true |
Definition at line 334 of file PCDIModel.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, data.ModelData.useFileTrajectoryData(), and WithInhibitors.
|
protected |
Definition at line 20 of file getSteadyStates.m.
function models.pcdi.PCDIModel.plot | ( | varargin | ) |
Overrides standard method and forwards to the system's plot function. (they are 1D and 2D)
Definition at line 397 of file PCDIModel.m.
References models.BaseModel.System.
function models.pcdi.PCDIModel.plotState | ( | varargin | ) |
Overrides standard method and forwards to the system's plot function. (they are 1D and 2D)
Definition at line 408 of file PCDIModel.m.
References models.BaseModel.System.
|
static |
Definition at line 446 of file PCDIModel.m.
References t.
|
static |
% System Coefficient values Typical diffusion rate for Caspase-8 [m^2/s]
Default: 1.8e-11
Definition at line 51 of file PCDIModel.m.
Referenced by PCDIModel().
|
static |
Typical diffusion rate for Caspase-3 [m^2/s].
Default: 1.86e-11
Definition at line 61 of file PCDIModel.m.
|
static |
Typical diffusion rate for Pro-Caspase-8 [m^2/s].
Default: 1.89e-11
Definition at line 70 of file PCDIModel.m.
|
static |
Typical diffusion rate for Pro-Caspase-3 [m^2/s].
Default: 2.27e-11
Definition at line 79 of file PCDIModel.m.
|
static |
Typical diffusion rate for IAP [m^2/s].
Default: 1.8720e-11
Definition at line 88 of file PCDIModel.m.
|
static |
Typical diffusion rate for BAR [m^2/s].
Default: 1.9548e-11
Definition at line 97 of file PCDIModel.m.
|
static |
Typical diffusion rate for YAI [m^2/s].
Default: 1.4850e-11
Definition at line 106 of file PCDIModel.m.
|
static |
Typical diffusion rate for XAB [m^2/s].
Default: 1.4850e-11
Definition at line 115 of file PCDIModel.m.
models.pcdi.PCDIModel.Dimension |
Definition at line 329 of file PCDIModel.m.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Typical cell length (from 1D) [m].
Default: 1e-5
Definition at line 305 of file PCDIModel.m.
Referenced by PCDIModel().
|
static |
% System Rescaling settings Typical concentration [Mol]
Default: 1e-7
Definition at line 295 of file PCDIModel.m.
models.pcdi.PCDIModel.WithInhibitors |
Flag that detemines if this model uses inhibitors.
SetAccess = Private, GetAccess = Public
Definition at line 316 of file PCDIModel.m.
Referenced by PCDIModel().