rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
List of all members | Public Member Functions | Public Attributes | Static Public Attributes
Greedy.Plugin.POD Class Reference

Detailed Description

extension class implementing the POD-greedy algorithm extension routines

Definition at line 19 of file POD.m.

Inheritance diagram for Greedy.Plugin.POD:
Inheritance graph
[legend]
Collaboration diagram for Greedy.Plugin.POD:
Collaboration graph
[legend]

Public Member Functions

 POD (SnapshotsGenerator.Trajectories generator, id)
 constructor for the POD-greedy extension algorithms. More...
 
function Greedy.DataTree.Detailed.RBLeafNode
detailed_data = 
init_basis (Greedy.User.IReducedModel rmodel,ModelData model_data, M_train)
 creates an initial detailed data node storing an initial reduced basis More...
 
function  prepare_reduced_data (Greedy.User.IReducedModel rmodel,Greedy.DataTree.DetailedRBLeafNode detailed_data)
 prepares reduced data that is necessary for the execution of other methods if indicated by needs_preparation. More...
 
function
Uapprox = 
generate_reduced (Greedy.User.IReducedModel rmodel,Greedy.User.IReducedData reduced_data,Greedy.User.IDetailedData detailed_data, U)
 generates a reduced function \(v_{\text{red}}(\mu)\). More...
 
function [
max_errs ,
max_err_sequence
,
max_mu_index ] = 
error_estimators (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data, M_train)
 computes a posteriori error estimators for the reduced simulations for every parameter vector from a given parameter set \({\cal M}_{\text{train}}\). More...
 
function [
breakloop , reason ] = 
pre_check_for_end (Greedy.User.IReducedModel rmodel,Greedy.DataTree.Detailed.RBLeafNode detailed_data)
 checks whether the basis generation process has come to an end. More...
 
function
ret_detailed_data = 
basis_extension (Greedy.User.IReducedModel rmodel,Greedy.DataTree.Detailed.RBLeafNode detailed_data, max_err_seq, mu)
 extends the reduced basis space from a given function \(v_{h}(\mu)\). More...
 
- Public Member Functions inherited from Greedy.Plugin.PODCommon
 PODCommon (SnapshotsGenerator.Trajectories generator)
 constructor for an PODCommon instance More...
 
function Greedy.DataTree.Detailed.RBLeafNode
detailed_data = 
finalize (IReducedModel rmodel,Greedy.DataTree.Detailed.RBLeafNode detailed_data)
 function called after the last extension process More...
 
- Public Member Functions inherited from Greedy.Plugin.Default
 Default (SnapshotsGenerator.Cached generator)
 constructor for a greedy extension object More...
 
function [
max_errs ,
max_err_sequence
,
max_mu_index ] = 
error_indicators (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data,ParameterSampling.Interface parameter_set, reuse_reduced_data)
 computes error indicators for the reduced simulations for every parameter vector from a given parameter set \({\cal M}_{\text{train}}\). More...
 
function errs = compute_error (Greedy.User.IReducedModel rmodel,Greedy.User.ReducedData reduced_data,Greedy.User.IDetailedData detailed_data)
 computes the "true" error between a reduced and a detailed function \(\| v_h(t^k;\mu) - v_{\text{red}}(t^k;\mu) \|\). More...
 
- Public Member Functions inherited from Greedy.Plugin.Interface
 Interface (SnapshotsGenerator.Cached generator)
 constructor for a greedy extension object More...
 
virtual function Greedy.DataTree.Detailed.INode
detailed_data = 
init_basis (Greedy.User.IReducedModel rmodel,ModelData model_data,ParameterSampling.Interface M_train)
 creates an initial detailed data node storing an initial reduced basis More...
 
virtual function  prepare_reduced_data (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data)
 prepares reduced data that is necessary for the execution of other methods if indicated by needs_preparation. More...
 
virtual function [

max_errs ,
max_err_sequence
,
max_mu_index ] = 
error_indicators (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data, parameter_set, reuse_reduced_data)
 computes error indicators for the reduced simulations for every parameter vector from a given parameter set \({\cal M}_{\text{train}}\). More...
 
virtual function
Uapprox = 
generate_reduced (Greedy.User.IReducedModel rmodel,Greedy.User.ReducedData reduced_data,Greedy.User.IDetailedData detailed_data, U)
 generates a reduced function \(v_{\text{red}}(\mu)\). More...
 
virtual function [

breakloop , reason ] = 
pre_check_for_end (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data)
 checks whether the basis generation process has come to an end. More...
 
virtual function Greedy.User.IDetailedData
detailed_data = 
basis_extension (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data, max_err_seq, mu)
 extends the reduced basis space from a given function \(v_{h}(\mu)\). More...
 
virtual function Greedy.User.IDetailedData
detailed_data = 
finalize (Greedy.User.IReducedModel rmodel,Greedy.User.IDetailedData detailed_data)
 function called after the last extension process More...
 

Public Attributes

 stop_Nmax = inf
 maximum number of generated reduced basis vectors. More...
 
 noof_pca_modes = 1
 number of most significant POD modes to be added to the reduced basis in each extension step. More...
 
- Public Attributes inherited from Greedy.Plugin.Default
Greedy.User.ReducedData reduced_data = "[]"
 temporary handle to the last object computed by prepare_reduced_data(). More...
 
 needs_preparation
 boolean indicating whether the prepare_reduced_data() method needs to be computed before error_indicators can be computed. More...
 
 indicator_mode = "error"
 string specifying which indicators shall be used by the error_indicators() method. More...
 
 use_l2_error = true
 boolean flag indicating whether the \(L^2(\Omega)\)-norm is used by compute_error(). More...
 
 relative_error = false
 boolean flag specifying whether we want to use the relative error for error_indicators() and compute_error() methods. More...
 
- Public Attributes inherited from Greedy.Plugin.Interface
 id
 a string identifying the basis extension algorithm, should be unique over all instances of Interface implementations. More...
 
 relative_error
 boolean flag specifying whether we want to use the relative error for error_indicators() and compute_error() methods. More...
 
 indicator_mode
 string specifying which indicators shall be used by the error_indicators() method. More...
 
 needs_preparation
 boolean indicating whether the prepare_reduced_data() method needs to be computed before error_indicators can be computed. More...
 
::SnapshotsGenerator.Cached generator
 an object generating possible (high dimension) basis functions
 

Static Public Attributes

static const  info_fields = {"'stop_Nmax', 'noof_pca_modes'"}
 cell array of field names which shall be copied to the detailed data node structure on creation in init_basis() method. More...
 
static const  generated_basis_type = "rb"
 string specifying the detailed data produced by this basis generation algorithm object. More...
 
- Static Public Attributes inherited from Greedy.Plugin.Interface
static const  generated_basis_type
 string specifying the detailed data produced by this basis generation algorithm object. More...
 

Constructor & Destructor Documentation

Greedy.Plugin.POD.POD ( SnapshotsGenerator.Trajectories  generator,
  id 
)

constructor for the POD-greedy extension algorithms.

Parameters
generatorobject generating the (high dimensional) basis functions, i.e. solutions of the numerical scheme for the parametrized partial differential equation.
idid

Definition at line 80 of file POD.m.

Member Function Documentation

function ret_detailed_data = Greedy.Plugin.POD.basis_extension ( Greedy.User.IReducedModel  rmodel,
Greedy.DataTree.Detailed.RBLeafNode  detailed_data,
  max_err_seq,
  mu 
)

extends the reduced basis space from a given function \(v_{h}(\mu)\).

This generates a new basis function \(\varphi_{n+1} \in {\cal W}_h\) from the sequence of detailed functions \(v_h(t^k,\mu)\) for \(k=0,\ldots,K\) as returned by the SnapshotsGenerator.Cached generator.

Parameters
rmodelan object specifying the basis generation process.
detailed_dataobject defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations.
max_err_seqsequence of error indicators as returned as second return argument of error_indicators()
muparamter vector \(\mu\).
Return values
detailed_dataupdated data tree node .
Implementation details
  • This method computes first POD modes of this sequence of discrete functions and adds them to the reduced basis space.
  • The number of POD modes used can be specified by the noof_pca_modes property.
  • The POD is computed by the PCA_fixspace() function.

Definition at line 329 of file POD.m.

function [ max_errs , max_err_sequence , max_mu_index ] = Greedy.Plugin.POD.error_estimators ( Greedy.User.IReducedModel  rmodel,
Greedy.User.IDetailedData  detailed_data,
  M_train 
)
virtual

computes a posteriori error estimators for the reduced simulations for every parameter vector from a given parameter set \({\cal M}_{\text{train}}\).

An a posteriori error estimator estimates an error

\[\eta^k(\mu) \geq \| v_h(t^k;\mu) - v_{\text{red}}(t^k;\mu) \|\]

for every time step \(0\leq t^0, \ldots, t^K = T\) and every parameter \(\mu \in {\cal M}\). The norm is a problem specific norm determined by the options in rmodel.

This function's main use is to find a parameter vector

\[\mu_{\max} = \arg \sup_{\mu \in {\cal M}_{\text{train}} } \max_{k=0,\ldots,K} \eta^k(\mu).\]

Note
The estimator must only depend on low dimensional data as computed by the prepare_reduced_data() method such that it is efficiently computable.
Parameters
rmodelan object specifying the basis generation process.
detailed_dataobject defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations.
M_traina set of parameter vectors \({\cal M}_{\text{train}}\) as returned by ParameterSampling.Interface.space .
Return values
max_errsa matrix of size n_parameters x model.nt+1 storing the error indicator \(\eta^k(\mu)\) for every \(k=0,\ldots,K\) and \(\mu \in {\cal M}_{\text{train}}\).
max_err_sequencea sequence of error indicators \(\eta^k(\mu_{\max})\) for every \(k=0,\ldots,K\).
max_mu_indexthe index of the parameter vector \(\mu_{\max}\) in the parameter_set.set matrix.

The estimator \(\eta_{N,M,M'}\) used here is described in [DHO11], Chapter 5.

Implements Greedy.Plugin.Default.

Definition at line 176 of file POD.m.

function Uapprox = Greedy.Plugin.POD.generate_reduced ( Greedy.User.IReducedModel  rmodel,
Greedy.User.IReducedData  reduced_data,
Greedy.User.IDetailedData  detailed_data,
  U 
)

generates a reduced function \(v_{\text{red}}(\mu)\).

Note
This function might depend on a previous execution of prepare_reduced_data().
Parameters
rmodelan object specifying the basis generation process. The parameter \(\mu\) for which the error shall be computed must be set by set_mu(rmodel, mu) before.
reduced_dataan object storing all (low-dimensional) reduced matrices and vectors needed for reduced simulations.
detailed_dataobject defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations.
Uoptional DOF vector, for example operator evaluations.
Return values
UapproxA sequence of Dof vectors of the functions \(v_{\text{red}}(\cdot;t^k,\mu)\).

Definition at line 156 of file POD.m.

Here is the call graph for this function:

function Greedy.DataTree.Detailed.RBLeafNode detailed_data = Greedy.Plugin.POD.init_basis ( Greedy.User.IReducedModel  rmodel,
ModelData  model_data,
  M_train 
)

creates an initial detailed data node storing an initial reduced basis

Parameters
rmodelan object specifying the basis generation process.
M_trainan object specifying the parameter vector set \({\cal M}_{\text{train}}\) from which the basis functions are obtained.
model_dataMatlab structure storing (possibly) high dimensional data needed by IDetailedModel.detailed_simulation().
Return values
detailed_dataan object storing the initial reduced basis vectors.

Computes the initial data functions for all parameters from the training set M_train and initializes the reduced basis with an orthonormalization of these DOF vectors. The result is stored in a detailed data tree leaf node object.

Definition at line 97 of file POD.m.

function [ breakloop , reason ] = Greedy.Plugin.POD.pre_check_for_end ( Greedy.User.IReducedModel  rmodel,
Greedy.DataTree.Detailed.RBLeafNode  detailed_data 
)

checks whether the basis generation process has come to an end.

Global break conditions (error_tolerance, timeout and validation ratio) are handled by Greedy.Algorithm .

Parameters
rmodelobject specifying how the reduced simulations can be computed.
detailed_dataobject defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations.
Return values
breakloopboolean flag indicating whether the basis generation process is finished for this reduced basis space.
reasondescriptive text telling about the reasons why, the extension process needs to break.

Definition at line 303 of file POD.m.

function Greedy.Plugin.POD.prepare_reduced_data ( Greedy.User.IReducedModel  rmodel,
Greedy.DataTree.DetailedRBLeafNode  detailed_data 
)

prepares reduced data that is necessary for the execution of other methods if indicated by needs_preparation.

Methods that might depend on the execution of this method are
Parameters
rmodelan object specifying the basis generation process.
detailed_dataobject defining the basis generation algorithm and storage for storing high dimensional data, i.e. dependent on dimension \(H\). This data is necessary for detailed simulations, construction of online matrices, reduced_data and reconstruction of reduced simulations.

Definition at line 138 of file POD.m.

Member Data Documentation

Greedy.Plugin.POD.generated_basis_type = "rb"
static

string specifying the detailed data produced by this basis generation algorithm object.

This should be one of

  • ei : for empirical interpolation basis
  • rb : for reduced basis
  • eirb : for combination fo empirical interpolation and reduced basis
Note
This property has the MATLAB attribute Dependent set to true.
This property is an abstract property without implementation.
This property has non-standard access specifiers: SetAccess = Private, GetAccess = Public
Matlab documentation of property attributes.


Default: "rb"

Definition at line 65 of file POD.m.

Greedy.Plugin.POD.info_fields = {"'stop_Nmax', 'noof_pca_modes'"}
static

cell array of field names which shall be copied to the detailed data node structure on creation in init_basis() method.


Default: {"'stop_Nmax', 'noof_pca_modes'"}

Definition at line 30 of file POD.m.

Greedy.Plugin.POD.noof_pca_modes = 1

number of most significant POD modes to be added to the reduced basis in each extension step.

See also
basis_extension() for more information.


Default: 1

Definition at line 51 of file POD.m.

Greedy.Plugin.POD.stop_Nmax = inf

maximum number of generated reduced basis vectors.


Default: inf

Definition at line 42 of file POD.m.


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