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.Interface Class Referenceabstract

Detailed Description

Interface class for extension algorithms which define the basis extension routines used by the abstract Greedy algorithm class Greedy.Algorithm

Here, we usually assume, that we have

By enriching the subspace \({\cal W}_{\text{red}}\), we can improve the reduced algorithms.

Most prominent examples of Interface implementations are the classes Greedy.Plugin.EI and Greedy.Plugin.POD

Definition at line 19 of file Interface.m.

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

Public Member Functions

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

 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  generated_basis_type
 string specifying the detailed data produced by this basis generation algorithm object. More...
 

Constructor & Destructor Documentation

Greedy.Plugin.Interface.Interface ( SnapshotsGenerator.Cached  generator)

constructor for a greedy extension object

Parameters
generatorobject generating the (high dimensional) basis functions

Definition at line 131 of file Interface.m.

Member Function Documentation

function Greedy.User.IDetailedData detailed_data = Greedy.Plugin.Interface.basis_extension ( Greedy.User.IReducedModel  rmodel,
Greedy.User.IDetailedData  detailed_data,
  max_err_seq,
  mu 
)
pure virtual

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 .
function errs = Greedy.Plugin.Interface.compute_error ( Greedy.User.IReducedModel  rmodel,
Greedy.User.ReducedData  reduced_data,
Greedy.User.IDetailedData  detailed_data 
)
pure virtual

computes the "true" error between a reduced and a detailed function \(\| v_h(t^k;\mu) - v_{\text{red}}(t^k;\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 constructing and 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.
Return values
errsa sequence of errors at every time step \(k=0,\ldots,K\).

Implemented in Greedy.Plugin.Default.

function [ max_errs , max_err_sequence , max_mu_index ] = Greedy.Plugin.Interface.error_indicators ( Greedy.User.IReducedModel  rmodel,
Greedy.User.IDetailedData  detailed_data,
  parameter_set,
  reuse_reduced_data 
)
pure virtual

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

An error indicator 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)\]

.

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.
parameter_seta set of parameter vectors \({\cal M}_{\text{train}}\) as returned by ParameterSampling.Interface.space .
reuse_reduced_dataoptional flag indicating whether the reduced data needed for reduced simulations or computation of error estimators is still valid since its last generation. (default = false)
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 matrix.
function Greedy.User.IDetailedData detailed_data = Greedy.Plugin.Interface.finalize ( Greedy.User.IReducedModel  rmodel,
Greedy.User.IDetailedData  detailed_data 
)
pure virtual

function called after the last extension process

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.
Return values
detailed_dataupdated data tree node .
function Uapprox = Greedy.Plugin.Interface.generate_reduced ( Greedy.User.IReducedModel  rmodel,
Greedy.User.ReducedData  reduced_data,
Greedy.User.IDetailedData  detailed_data,
  U 
)
pure virtual

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

Here is the caller graph for this function:

function Greedy.DataTree.Detailed.INode detailed_data = Greedy.Plugin.Interface.init_basis ( Greedy.User.IReducedModel  rmodel,
ModelData  model_data,
ParameterSampling.Interface  M_train 
)
pure virtual

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.
function [ breakloop , reason ] = Greedy.Plugin.Interface.pre_check_for_end ( Greedy.User.IReducedModel  rmodel,
Greedy.User.IDetailedData  detailed_data 
)
pure virtual

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.
function Greedy.Plugin.Interface.prepare_reduced_data ( Greedy.User.IReducedModel  rmodel,
Greedy.User.IDetailedData  detailed_data 
)
pure virtual

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.

Here is the caller graph for this function:

Member Data Documentation

Greedy.Plugin.Interface.generated_basis_type
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.
This property is an abstract property without implementation.
Matlab documentation of property attributes.

Definition at line 104 of file Interface.m.

Greedy.Plugin.Interface.id

a string identifying the basis extension algorithm, should be unique over all instances of Interface implementations.

Note
This property has the MATLAB attribute Dependent set to true.
This property has non-standard access specifiers: SetAccess = Private, GetAccess = Public
Matlab documentation of property attributes.
[readonly]

Definition at line 43 of file Interface.m.

Greedy.Plugin.Interface.indicator_mode

string specifying which indicators shall be used by the error_indicators() method.

Possible values are
error for an error between the detailed and the reduced computation. estimator for an a posteriori error estimator
Note
This property is an abstract property without implementation.
Matlab documentation of property attributes.

Definition at line 70 of file Interface.m.

Greedy.Plugin.Interface.needs_preparation

boolean indicating whether the prepare_reduced_data() method needs to be computed before error_indicators can be computed.

Note
This property has the MATLAB attribute Dependent set to true.
This property is an abstract property without implementation.
Matlab documentation of property attributes.

Definition at line 89 of file Interface.m.

Greedy.Plugin.Interface.relative_error

boolean flag specifying whether we want to use the relative error for error_indicators() and compute_error() methods.

Note
This property is an abstract property without implementation.
Matlab documentation of property attributes.

Definition at line 58 of file Interface.m.


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