rbmatlab 0.10.01
Public Member Functions | Static Public Member Functions | Public Attributes
IDetailedModel Class Reference

Detailed Description

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

An IDetailedModel implementation can be used as a basis for reduced basis generation routines, i.e. as a member of a reduced model as described in the section on the main interfaces.

Note:
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 1 of file IDetailedModel.m.

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

List of all members.

Public Member Functions

 IDetailedModel ()
 constructor
function  fill_fields ( descr)
 helper function usually called in constructor in order to overwrite property values from a descr structure
function
isequal
eq ( IDetailedModel other)
 overloaded equality (==) operator, by default comparing the properties of the model.
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

Public Attributes

 is_stationary = true
 flag describing whether the implemented problem is stationary or time-dependent.
 name
 descriptive string for the implemented model.

Constructor & Destructor Documentation

IDetailedModel.IDetailedModel ( )

constructor

An implementation should at least provide a constructor with the synopsis

     DetailedModel(descr)

where the argument descr is the underlying description of the analytical problem and its discretization.

Reimplemented in Greedy.User.IDetailedModel.

Definition at line 44 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 properties 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 properties of the model.

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

Definition at line 97 of file IDetailedModel.m.

function IDetailedModel.fill_fields (   descr)

helper function usually called in constructor in order to overwrite property values from a descr structure

  • Field names prepended by the string RB_ are ignored, as the are expected to describe the IReducedModel.
  • If a field name does not correspond to an existing property, the property is dynamically added to the IDetailedModel implementation via the addprop method.
Parameters:
descrAn structure describing the analytical problem and its discretization.

Definition at line 64 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 LinEvol.DetailedModel, LinEvolDune.DetailedModel, LinStat.DetailedModel, NonlinEvol.DetailedModel, TwoPhaseFlow.DetailedModel, Test.DetailedModel, and LebesgueTest.DetailedModel.

function U = IDetailedModel.get_dofs_from_sim_data (   sim_data) [static, pure 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 LinEvol.DetailedModel, LinEvolDune.DetailedModel, LinStat.DetailedModel, NonlinEvol.DetailedModel, TwoPhaseFlow.DetailedModel, Greedy.User.IDetailedModel, and Test.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 properties of with names in the cell array mu_names.

Return values:
muThe parameter vector $\boldsymbol\mu$

Implements IModel.

Reimplemented in LinEvolDune.DetailedModel, ThermalBlock.DetailedModel, and LebesgueTest.DetailedModel.

Definition at line 153 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 specified by the cell array mu_names.

Parameters:
muThe parameter vector $\boldsymbol\mu$.
Return values:
thishandle to the changed DetailedModel

Implements IModel.

Reimplemented in LinEvolDune.DetailedModel, ThermalBlock.DetailedModel, and LebesgueTest.DetailedModel.

Definition at line 129 of file IDetailedModel.m.


Member Data Documentation

flag describing whether the implemented problem is stationary or time-dependent.


Default: true

Definition at line 21 of file IDetailedModel.m.

descriptive string for the implemented model.

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

Reimplemented in LinEvol.DetailedModel, LinStat.DetailedModel, NonlinEvol.DetailedModel, TwoPhaseFlow.DetailedModel, and Test.DetailedModel.

Definition at line 32 of file IDetailedModel.m.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables