Reduced data implementation for non-linear evolution problems with finite volume discretizations.
See [DHO11] Reduced Basis Approximation for Nonlinear Parametrized Evolution Equations based on Empirical Operator Interpolation for details on the implementations of the reduced matrices and vectors.
Definition at line 18 of file ReducedData.m.
Public Member Functions | |
ReducedData (TwoPhaseFlow.ReducedModel rmodel,IDetailedData detailed_data) | |
Constructor for the generation of the reduced matrices and vectors. More... | |
function conds = | get_conds () |
function index = | get_index (id, mu, nt) |
Obtains the leaf index vector that best fits the child description given by the three arguments. More... | |
function node = | get (index) |
Access to a child of the current node. More... | |
function yesno = | needs_subset_copy (TwoPhaseFlow.ReducedModel rmodel) |
function node = | create_leaf_node (arg_node, basepath, mu_cube, tslice) |
specialization method for leaf elements as described in DataTree.ICreator.create_leaf_node(). More... | |
Public Member Functions inherited from Greedy.User.IReducedDataNode | |
function
subset_reduced_data = | extract_reduced_data_subset (Greedy.User.IReducedModel rmodel) |
Changes the size of the offline data matrices. More... | |
Public Member Functions inherited from DataTree.ILeafNode | |
function
children = | length () |
Returns the number of children of the node. More... | |
function index = | get_index (dummy2, dummy3, dummy) |
Obtains the leaf index vector that best fits the child description given by the three arguments. More... | |
function this = | set (dummy2,DataTree.INode value) |
Sets a child at the given path in the tree hierarchy. More... | |
function data = | get (index) |
Access to a child of the current node. More... | |
function DataTree.ILeafNode node = | get_active_leaf (DataTree.IModel model, id) |
retuns the leaf element for the current IDetailedModel configuration. More... | |
function tree = | create_tree (creator, ids, mu_cube, tslice, basepath) |
Creates a new tree from a subtree specified by ids, parameter and time index regions. More... | |
Public Member Functions inherited from DataTree.INode | |
virtual function DataTree.INode tree = | create_tree (DataTree.ICreator creator, ids, mu_cube, tslice, basepath) |
Creates a new tree from a subtree specified by ids, parameter and time index regions. More... | |
virtual function this = | set (index, value) |
Sets a child at the given path in the tree hierarchy. More... | |
function | leaf_func (funcptr, ids, mu_cube, tslice) |
applies a function to all leafs of a DataTree More... | |
function tree = | create_scalar_tree (funcptr, ids, mu_cube, tslice) |
copies the current trees with different leafs. These leafs are computes by a function returning scalar values. More... | |
function
start_index = | traverse_start () |
Start iterator for a full traverse of the DataTree. More... | |
function
next_index = | traverse_next (this_index) |
iterator for a full traverse of the DataTree. More... | |
function
description = | get_active_leaf_description (IModel model, ids) |
returns an enumeration of all leaves' basepath index vectors with a description of their parents. More... | |
function
description = | get_leaf_description (ids, mu_cube, tslice) |
returns an enumeration of all leaves' basepath index vectors with a description of their parents. More... | |
function tstop = | index_valid_till (index) |
Returns the last valid time step index of a time slice. More... | |
function INode data = | get_by_description (id, mu, nt) |
A combination of get_index() and get() More... | |
function
active_leaf_index = | get_active_leaf_index (IModel model, id) |
retuns the leaf element index for the current IDetailedModel configuration. More... | |
function
DataTree.LeafNode active_leaf = | get_active_leaf (IModel model, id) |
retuns the leaf element for the current IDetailedModel configuration. More... | |
function | display (fn, basepath, name) |
overwrites the standard display method for DataTree objects More... | |
function lines = | disp_node (basepath, fn) |
returns a cell array of strings with information on the node. More... | |
Public Member Functions inherited from IReducedData | |
virtual function
IReducedData subset_reduced_data = | extract_reduced_data_subset (rmodel) |
Changes the size of the offline data matrices. More... | |
Public Member Functions inherited from DataTree.CreatorDefault | |
function node = | create_tpart_node (t_part_map, initvalues) |
is called on DataTree.PpartNode elements of a DataTree and returns a new p-part node out of it. More... | |
function node = | create_idmap_node (id_map, initvalues) |
is called on DataTree.IdMapNode elements of a DataTree and returns a new ID mapped node out of it. More... | |
function node = | create_ppart_node (p_part_map, initvalues) |
is called on DataTree.PpartNode elements of a DataTree and returns a new p-part node out of it. More... | |
Public Member Functions inherited from DataTree.ICreator | |
virtual function DataTree.ILeafNode node = | create_leaf_node (DataTree.ILeafNode arg_node, basepath, mu_cube, tslice) |
is called on leaf elements of a DataTree and returns a new leaf out of it. More... | |
Public Attributes | |
::TwoPhaseFlow.RbReducedDataNode | rb_rd |
reduced data depending on the reduced basis space only | |
::TwoPhaseFlow.EiReducedDataNode | ei_rd |
reduced data depending on the collateral reduced basis space only | |
::TwoPhaseFlow.EiRbReducedDataNode | ei_rb_rd |
reduced data depending on both the collateral reduced basis space and the reduced basis space | |
detailed_ei_tree | |
reduced_ei_tree | |
detailed_rb_tree | |
detailed_rb_leaf | |
reduced_rb_leaf | |
rb_idsearch | |
separable_op | |
id_ind | |
mode | |
rmodel | |
N | |
number of reduced basis vectors stored in this data node. More... | |
M | |
number of collateral reduced basis vectors stored in this data node. More... | |
Mstrich | |
number of collateral reduced basis vectors used for error estimation. More... | |
Public Attributes inherited from Greedy.User.IReducedDataNode | |
methods *function | rdn |
TwoPhaseFlow.ReducedData.ReducedData | ( | TwoPhaseFlow.ReducedModel | rmodel, |
IDetailedData | detailed_data | ||
) |
Constructor for the generation of the reduced matrices and vectors.
rmodel | |
detailed_data | object 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. |
Definition at line 126 of file ReducedData.m.
function node = TwoPhaseFlow.ReducedData.create_leaf_node | ( | arg_node, | |
basepath, | |||
mu_cube, | |||
tslice | |||
) |
specialization method for leaf elements as described in DataTree.ICreator.create_leaf_node().
arg_node | original leaf which shall be used as basis for the creation of a new one. |
basepath | path from the root element to the current leaf. |
mu_cube | restriction of the parameter as described in Sub-tree definition |
tslice | restriction of the time domain as described in Sub-tree definition |
node | the freshly generated leaf element |
ei
creates a new TwoPhaseFlow.EiReducedDataNode out of a Greedy.DataTree.Detailed.EILeafNoderb
creates a new TwoPhaseFlow.RbReducedDataNode out of a Greedy.DataTree.Detailed.RBLeafNodeei_rb_2
creates a "mixed" leaf node TwoPhaseFlow.EiRbReducedDataNode out of a Greedy.DataTree.Detailed.RBLeafNode and a Greedy.DataTree.Detailed.EILeafNode object.ei_rb_1
At this stage, the "mixed" leaf node tree should be of the same state as the pure reduced basis tree. If this differs from the collateral space, the "mixed" tree needs to be refined by attaching tree levels from the EI tree. This is initiated by this mode.ce_ei
copies the TwoPhaseFlow.EiReducedDataNode and (optionally) extracts smaller reduced matrices and vectors.ce_rb
copies the TwoPhaseFlow.RbReducedDataNode and (optionally) extracts smaller reduced matrices and vectors.ce_ei_rb
copies the TwoPhaseFlow.EiRbReducedDataNode and (optionally) extracts smaller reduced matrices and vectors. Definition at line 310 of file ReducedData.m.
|
virtual |
Access to a child of the current node.
Access a children node by an index which is usually retrieved by a call to get_index()
index | vector describing the father-child relation |
data | the children node |
Implements DataTree.INode.
Definition at line 170 of file ReducedData.m.
|
virtual |
Obtains the leaf index vector that best fits the child description given by the three arguments.
The leaf child description consists of an
id | a string id filtered through an DataTree.IdMapNode in the tree hierarchy. |
mu | a parameter vector filtered through a DataTree.PpartNode instance in the tree hierarchy. |
nt | an integer corresponding to a time step index filtered through a DataTree.TpartNode instance in the tree hierarchy. |
index | the most-specific (longest possible) index vector leading to a DataTree.ILeafNode element matching the child description. |
Implements DataTree.INode.
Definition at line 165 of file ReducedData.m.
function yesno = TwoPhaseFlow.ReducedData.needs_subset_copy | ( | TwoPhaseFlow.ReducedModel | rmodel | ) |
This method always returns true, because it is only a container element with no data and can be copied very cheaply! A traversal over leafs in order to check whether referencing is possible, is too slow.
Definition at line 181 of file ReducedData.m.
TwoPhaseFlow.ReducedData.M |
number of collateral reduced basis vectors stored in this data node.
Dependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 99 of file ReducedData.m.
TwoPhaseFlow.ReducedData.Mstrich |
number of collateral reduced basis vectors used for error estimation.
Dependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 111 of file ReducedData.m.
TwoPhaseFlow.ReducedData.N |
number of reduced basis vectors stored in this data node.
Dependent
set to true. SetAccess = Private, GetAccess = Public
Definition at line 87 of file ReducedData.m.