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.
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() | |
IDetailedModel.IDetailedModel | ( | descr | ) |
constructor
descr | The underlying description of the analytical problem and its discretization. |
Definition at line 129 of file IDetailedModel.m.
|
pure virtual |
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.
other | The object to compare with |
isequal | boolean value indiciating whether this == other |
descr —
descr Definition at line 204 of file IDetailedModel.m.
|
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.
model_data | Matlab 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.
|
staticpure virtual |
extracts the \(H\) dimensional Dof vector from the sim_data
structure
sim_data | matlab struct with simulation data generated e.g. by detailed_simulation() or rb_reconstruction() methods. |
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.
|
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
.
mu | The parameter vector \(\boldsymbol\mu\) |
Implements IModel.
Reimplemented in ThermalBlock.DetailedModel.
Definition at line 264 of file IDetailedModel.m.
|
pure virtual |
plots the simulation data as returned by detailed_simulation()
sim_data | simulation data structure as returned by detailed_simulation() |
plot_params | structure which controls the plot output |
model_data | model data |
p | GUI handle to the created MATLAB figure |
|
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.
mu | The parameter vector \(\boldsymbol\mu\). |
this | handle to the changed DetailedModel |
Implements IModel.
Reimplemented in ThermalBlock.DetailedModel.
Definition at line 239 of file IDetailedModel.m.
|
static |
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
Dependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 113 of file IDetailedModel.m.
IDetailedModel.descr |
The description structure holding information about the analytical parametrized problem and its discretization.
SetAccess = Protected, GetAccess = Public
Definition at line 37 of file IDetailedModel.m.
IDetailedModel.mu_names |
cell array of strings describing the parameters of the model
Dependent
set to true. SetAccess = Private, GetAccess = Public
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
Dependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 87 of file IDetailedModel.m.
IDetailedModel.verbose |
an integer defining the verbosity level of information output during basis generation
Dependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 100 of file IDetailedModel.m.