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.pcdi.PCDIModel Class Reference

Base class inhibitor PCD models. More...

Detailed Description

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.

Author
Daniel Wirtz
Date
2013-10-23
New in 0.8:
(Daniel Wirtz, 2013-11-22) Moved SteadyStates into a function that computes the steady states depending on the current parameter (exponent mu(4))
New in 0.8:
(Daniel Wirtz, 2013-10-23) Added this class.

This class is part of the framework

KerMor - Model Order Reduction using Kernels

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< 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 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)
 

Constructor & Destructor Documentation

models.pcdi.PCDIModel.PCDIModel ( integer  dim,
logical  inhibitors 
)

Creates a new instance of the PCDModel.

Parameters
dimThe dimension to use Default: 2
inhibitorsFlag 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.

Here is the call graph for this function:

Member Function Documentation

function ss = models.pcdi.PCDIModel.getSteadyStates (   n)
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 function res = models.pcdi.PCDIModel.test_PCDIModel_Simulation ( )
static

Definition at line 446 of file PCDIModel.m.

References t.

Member Data Documentation

models.pcdi.PCDIModel.d1 = 1.8e-11
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().

models.pcdi.PCDIModel.d2 = 1.86e-11
static

Typical diffusion rate for Caspase-3 [m^2/s].


Default: 1.86e-11

Definition at line 61 of file PCDIModel.m.

models.pcdi.PCDIModel.d3 = 1.89e-11
static

Typical diffusion rate for Pro-Caspase-8 [m^2/s].


Default: 1.89e-11

Definition at line 70 of file PCDIModel.m.

models.pcdi.PCDIModel.d4 = 2.27e-11
static

Typical diffusion rate for Pro-Caspase-3 [m^2/s].


Default: 2.27e-11

Definition at line 79 of file PCDIModel.m.

models.pcdi.PCDIModel.d5 = 1.8720e-11
static

Typical diffusion rate for IAP [m^2/s].


Default: 1.8720e-11

Definition at line 88 of file PCDIModel.m.

models.pcdi.PCDIModel.d6 = 1.9548e-11
static

Typical diffusion rate for BAR [m^2/s].


Default: 1.9548e-11

Definition at line 97 of file PCDIModel.m.

models.pcdi.PCDIModel.d7 = 1.4850e-11
static

Typical diffusion rate for YAI [m^2/s].


Default: 1.4850e-11

Definition at line 106 of file PCDIModel.m.

models.pcdi.PCDIModel.d8 = 1.4850e-11
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
Note
[readonly]

Definition at line 329 of file PCDIModel.m.

models.pcdi.PCDIModel.K1 = 0.08
static

Procaspase-8 to Caspase-8 reaction rate.


Default: 0.08

Definition at line 124 of file PCDIModel.m.

models.pcdi.PCDIModel.K10 = .0005
static

Caspase-3 degradation rate.


Default: .0005

Definition at line 205 of file PCDIModel.m.

models.pcdi.PCDIModel.K11 = 0.54
static

BAR - Procaspase-8 (de)reaction rate.


Default: 0.54

Definition at line 214 of file PCDIModel.m.

models.pcdi.PCDIModel.K12 = 1.8000e-05
static

BAR degradation rate.


Default: 1.8000e-05

Definition at line 223 of file PCDIModel.m.

models.pcdi.PCDIModel.K13 = 1.8000e-4
static

XAP degradation rate.


Default: 1.8000e-4

Definition at line 232 of file PCDIModel.m.

models.pcdi.PCDIModel.K2 = 0.08
static

Procaspase-3 to Caspase-3 reaction rate.


Default: 0.08

Definition at line 133 of file PCDIModel.m.

models.pcdi.PCDIModel.K3 = 0.054
static

IAP-Caspase 3 (de)reaction rate.


Default: 0.054

Definition at line 142 of file PCDIModel.m.

models.pcdi.PCDIModel.K4 = 0.36
static

IAP-Caspase 3 one-way (de)reaction rate.


Default: 0.36

Definition at line 151 of file PCDIModel.m.

models.pcdi.PCDIModel.K5 = .0005
static

Caspase-8 degradation rate.


Default: .0005

Definition at line 160 of file PCDIModel.m.

models.pcdi.PCDIModel.K6 = .0005
static

Caspase-3 degradation rate.


Default: .0005

Definition at line 169 of file PCDIModel.m.

models.pcdi.PCDIModel.K7 = 3.6000e-4
static

YAI degradation rate.


Default: 3.6000e-4

Definition at line 178 of file PCDIModel.m.

models.pcdi.PCDIModel.K8 = 1.8000e-04
static

IAP degradation rate.


Default: 1.8000e-04

Definition at line 187 of file PCDIModel.m.

models.pcdi.PCDIModel.K9 = .0005
static

Pro-Caspase-8 degradation rate.


Default: .0005

Definition at line 196 of file PCDIModel.m.

models.pcdi.PCDIModel.Km10 = 1e-04
static

Procaspase-3 production rate.


Default: 1e-04

Definition at line 268 of file PCDIModel.m.

models.pcdi.PCDIModel.Km11 = 0.0360
static

XAB degradation rate.


Default: 0.0360

Definition at line 277 of file PCDIModel.m.

models.pcdi.PCDIModel.Km12 = 1.8000e-06
static

BAR production rate.


Default: 1.8000e-06

Definition at line 286 of file PCDIModel.m.

models.pcdi.PCDIModel.Km3 = 0.0360
static

YAI to IAP production rate.


Default: 0.0360

Definition at line 241 of file PCDIModel.m.

models.pcdi.PCDIModel.Km8 = 1e-04
static

IAP production rate.


Default: 1e-04

Definition at line 250 of file PCDIModel.m.

models.pcdi.PCDIModel.Km9 = 1e-04
static

Procaspase-8 production rate.


Default: 1e-04

Definition at line 259 of file PCDIModel.m.

models.pcdi.PCDIModel.L = 1e-5
static

Typical cell length (from 1D) [m].


Default: 1e-5

Definition at line 305 of file PCDIModel.m.

Referenced by PCDIModel().

models.pcdi.PCDIModel.tc = 1e-7
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.

Note
This property has non-standard access specifiers: SetAccess = Private, GetAccess = Public
Matlab documentation of property attributes.
This property has custom functionality when its value is changed.

Definition at line 316 of file PCDIModel.m.

Referenced by PCDIModel().


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