This is the common interface for all models, detailed and reduced ones.
Public Member Functions | |
virtual function ModelData model_data = | gen_model_data () |
generates large model data. More... | |
virtual function
sim_data = | detailed_simulation (model_data) |
executes a detailed simulation for a given parameter More... | |
virtual function IDetailedModel this = | set_mu (mu) |
sets the active parameter vector \(\mu \in {\cal M}\) More... | |
virtual function mu = | get_mu () |
returns the active parameter vector \(\boldsymbol\mu \in {\cal M}\) More... | |
Static Public Member Functions | |
static function ok = | struct_check (descr, checks) |
executes checks on the fields of a structure object More... | |
Public Attributes | |
num_cpus = 4 | |
The number of CPUs used for parallel sessions. More... | |
decomp_mode | |
Decomposition operation mode. More... | |
mu_names | |
cell array of strings describing the parameters of the model More... | |
mu_ranges | |
cell array of vectors of size two defining the allowed interval range for the parameter components More... | |
verbose | |
an integer defining the verbosity level of information output during basis generation More... | |
debug | |
an integer defining the debugging level controlling error output and extra tests during basis generation More... | |
Static Public Attributes | |
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() More... | |
|
pure virtual |
executes a detailed simulation for a given parameter
This function computes a numerical scheme defined by a ModelDescr for the parameter set via the set_mu() method.
model_data | model data |
sim_data | structure holding the \(H\)-dimensional simulation data. |
Implemented in IReducedModel, and IDetailedModel.
|
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(). |
Implemented in IReducedModel, IDetailedModel, NonlinEvol.DetailedModel, LinEvolDune.DetailedModel, TwoPhaseFlow.DetailedModel, LinStatDune.DetailedModel, LinEvol.DetailedModel, LinStat.DetailedModel, and Test.DetailedModel.
|
pure virtual |
returns the active parameter vector \(\boldsymbol\mu \in {\cal M}\)
mu | The parameter vector \(\boldsymbol\mu\) |
Implemented in IReducedModel, IDetailedModel, LinStatDune.ReducedModel, LinEvolDune.DetailedModel, LinEvolDune.ReducedModel, LinStatDune.DetailedModel, and ThermalBlock.DetailedModel.
|
pure virtual |
sets the active parameter vector \(\mu \in {\cal M}\)
The parameter set here, is used by the detailed_simulation() function.
mu | The parameter vector \(\boldsymbol\mu\). |
this | handle to the changed DetailedModel |
Implemented in IReducedModel, IDetailedModel, LinStatDune.ReducedModel, LinEvolDune.DetailedModel, LinEvolDune.ReducedModel, LinStatDune.DetailedModel, and ThermalBlock.DetailedModel.
|
static |
executes checks on the fields of a structure object
This function can be used to check whether the structure descr
fulfills some constraints defined by the second argument checks
def(fn)
: Checks whether a field fn
exists and is set to a non-empty value.type(fn, typecheck)
: Checks whether the field fn
fullfils a typecheck defined by a function isokay = typecheck(X)
Useful choices for typecheck
are e.g. @isscalar, @iscell, @isstruct
values(fn, candidates)
: Checks whether the field fn
is set to one of the values given by the cell array of strings candidates
minmax(fn, range)
: Checks whether the field fn
is set to a value in a given range range
, which is a 2-dimensional vector.own(fn, usr_check, msg)
: Checks whether the field fn
is set to a value that fulfills a user-defined check isokay = usr_check(descr)
. If it fails, a message msg
is printed for explanation.descr | The structure to be checked. |
checks | A structure defining which of the above described checks shall be executed.
|
ok | boolean flag indicating whether all checks passed. |
Hidden
set to true. Definition at line 210 of file IModel.m.
IModel.debug |
an integer defining the debugging level controlling error output and extra tests during basis generation
Dependent
set to true. SetAccess = Private, GetAccess = Public
IModel.decomp_mode |
Decomposition operation mode.
mu_names
.mu_names
.This flag is only needed if the detailed model makes use of affinely parameter dependent functions.
Dependent
set to true. IModel.mu_names |
cell array of strings describing the parameters of the model
Dependent
set to true. SetAccess = Private, GetAccess = Public
IModel.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
IModel.num_cpus = 4 |
|
static |
This constant can be used for a consistency check of time evolution members in the ModelDescr with help of IModel.struct_check()
Default: struct("'t', {{@isscalar}}, \ 'tstep', {{@isscalar}}, \ 'nt', {{@isscalar}}, \ 'dt', {{@isscalar, \ 'own', @(model) model.dt == model.T/model.nt, \ 'model.dt ~= model.T/model.nt'}} \ ")
IModel.verbose |
an integer defining the verbosity level of information output during basis generation
Dependent
set to true. SetAccess = Private, GetAccess = Public