rbmatlab  1.13.10
 All Classes Namespaces Files Functions Variables Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes
IDetailedModel Class Referenceabstract

Detailed Description

This is the interface for a detailed model providing methods to compute high dimensional simulation snapshots.

An IDetailedModel implementation can be combined used as a basis for reduced basis generation routines and a reduced model as described in the section on the main interfaces.

Some basis generation algorithms, however, depend on models with a specialized interface. For example the Greedy.Algorithm class comes with a derived interface class Greedy.User.IDetailedModel.

Definition at line 17 of file IDetailedModel.m.

Inheritance diagram for IDetailedModel:
Inheritance graph
[legend]
Collaboration diagram for IDetailedModel:
Collaboration graph
[legend]

Public Member Functions

 IDetailedModel (descr)
 constructor
 
function
isequal = 
eq (IDetailedModel other)
 overloaded equality (==) operator, by default comparing the descr variables
 
function IDetailedModel this = set_mu (mu)
 sets the active parameter vector \(\mu \in {\cal M}\)
 
function mu = get_mu ()
 returns the active parameter vector \(\boldsymbol\mu \in {\cal M}\)
 
virtual function ModelData model_data = gen_model_data ()
 generates large model data.
 
virtual function
sim_data = 
detailed_simulation (model_data)
 executes a detailed simulation for a given parameter
 
virtual function p = plot_sim_data (model_data, sim_data, plot_params)
 plots the simulation data as returned by detailed_simulation()
 

Static Public Member Functions

static function U = get_dofs_from_sim_data (sim_data)
 extracts the \(H\) dimensional Dof vector from the sim_data structure
 
- Static Public Member Functions inherited from IModel
static function ok = struct_check (descr, checks)
 executes checks on the fields of a structure object
 

Public Attributes

 descr
 The description structure holding information about the analytical parametrized problem and its discretization.
 
 decomp_mode
 
 mu_names
 cell array of strings describing the parameters of the model
 
 mu_ranges
 cell array of vectors of size two defining the allowed interval range for the parameter components
 
 verbose
 an integer defining the verbosity level of information output during basis generation
 
 debug
 an integer defining the debugging level controlling error output and extra tests during basis generation
 
- Public Attributes inherited from IModel
 num_cpus = 4
 The number of CPUs used for parallel sessions.
 
 decomp_mode
 Decomposition operation mode.
 
 mu_names
 cell array of strings describing the parameters of the model
 
 mu_ranges
 cell array of vectors of size two defining the allowed interval range for the parameter components
 
 verbose
 an integer defining the verbosity level of information output during basis generation
 
 debug
 an integer defining the debugging level controlling error output and extra tests during basis generation
 

Static Public Attributes

static const  base_checks
 this structure holds variable names that need to be defined by the descr structure.
 
- Static Public Attributes inherited from IModel
static const  time_checks
 This constant can be used for a consistency check of time evolution members in the ModelDescr with help of IModel.struct_check()
 

Constructor & Destructor Documentation

IDetailedModel.IDetailedModel (   descr)

constructor

Parameters
descrThe underlying description of the analytical problem and its discretization.

Definition at line 129 of file IDetailedModel.m.

Member Function Documentation

function sim_data = IDetailedModel.detailed_simulation (   model_data)
pure virtual

executes a detailed simulation for a given parameter

This function computes a numerical scheme defined by the descr for the parameter set via the set_mu() method.

Parameters
model_datamodel data
Return values
sim_datastructure holding the \(H\)-dimensional simulation data.

Implements IModel.

function isequal = IDetailedModel.eq ( IDetailedModel  other)

overloaded equality (==) operator, by default comparing the descr variables

This can be used as this == other and returns whether the two DetailedModels are identical.

Parameters
otherThe object to compare with
Return values
isequalboolean value indiciating whether this == other
Required fields of other:
  • descr —  descr

Definition at line 204 of file IDetailedModel.m.

function ModelData model_data = IDetailedModel.gen_model_data ( )
pure virtual

generates large model data.

This function generates e.g. a grid, which is not to be stored in the model, but required for numerics.

Return values
model_dataMatlab structure storing high dimensional data needed by detailed_simulation().

Implements IModel.

Implemented in NonlinEvol.DetailedModel, LinEvolDune.DetailedModel, TwoPhaseFlow.DetailedModel, LinStatDune.DetailedModel, LinEvol.DetailedModel, LinStat.DetailedModel, and Test.DetailedModel.

function U = IDetailedModel.get_dofs_from_sim_data (   sim_data)
staticpure virtual

extracts the \(H\) dimensional Dof vector from the sim_data structure

Parameters
sim_datamatlab struct with simulation data generated e.g. by detailed_simulation() or rb_reconstruction() methods.
Return values
U\(H\) dimensional Dof vector

Implemented in NonlinEvol.DetailedModel, LinEvolDune.DetailedModel, Greedy.User.IDetailedModel, LinStatDune.DetailedModel, TwoPhaseFlow.DetailedModel, Test.DetailedModel, LinEvol.DetailedModel, and LinStat.DetailedModel.

function mu = IDetailedModel.get_mu ( )
virtual

returns the active parameter vector \(\boldsymbol\mu \in {\cal M}\)

The default implementation returns a vector of the values of the fields of the descr structure with names descr.mu_names.

Return values
muThe parameter vector \(\boldsymbol\mu\)

Implements IModel.

Reimplemented in ThermalBlock.DetailedModel.

Definition at line 264 of file IDetailedModel.m.

function p = IDetailedModel.plot_sim_data (   model_data,
  sim_data,
  plot_params 
)
pure virtual

plots the simulation data as returned by detailed_simulation()

Parameters
sim_datasimulation data structure as returned by detailed_simulation()
plot_paramsstructure which controls the plot output
model_datamodel data
Return values
pGUI handle to the created MATLAB figure
function IDetailedModel this = IDetailedModel.set_mu (   mu)
virtual

sets the active parameter vector \(\mu \in {\cal M}\)

The parameter set here, is used by the detailed_simulation() function.

The default implementation sets all fieldnames descr.mu_names in the descr struct.

Parameters
muThe parameter vector \(\boldsymbol\mu\).
Return values
thishandle to the changed DetailedModel

Implements IModel.

Reimplemented in ThermalBlock.DetailedModel.

Definition at line 239 of file IDetailedModel.m.

Member Data Documentation

IDetailedModel.base_checks
static
Initial value:
= struct("'mu_names', {{\@iscell}}, \
'mu_ranges', {{\@iscell}}, \
'debug', {{\@isscalar}}, \
'verbose', {{\@isscalar}} ")

this structure holds variable names that need to be defined by the descr structure.


Default: struct("'mu_names', {{@iscell}}, \ 'mu_ranges', {{@iscell}}, \ 'debug', {{@isscalar}}, \ 'verbose', {{@isscalar}} ")

Definition at line 57 of file IDetailedModel.m.

IDetailedModel.debug

an integer defining the debugging level controlling error output and extra tests during basis generation

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 113 of file IDetailedModel.m.

IDetailedModel.descr

The description structure holding information about the analytical parametrized problem and its discretization.

Note
This property has non-standard access specifiers: SetAccess = Protected, GetAccess = Public
Matlab documentation of property attributes.

Definition at line 37 of file IDetailedModel.m.

IDetailedModel.mu_names

cell array of strings describing the parameters of the model

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 75 of file IDetailedModel.m.

IDetailedModel.mu_ranges

cell array of vectors of size two defining the allowed interval range for the parameter components

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 87 of file IDetailedModel.m.

IDetailedModel.verbose

an integer defining the verbosity level of information output during basis generation

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 100 of file IDetailedModel.m.


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