rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
ICreator.m
1 classdef ICreator < handle
2  % interface for a class used to create a new (sub-)tree from an old one with the
4  %
5  % @section data_tree_creator_restriction Sub-tree definition
6  %
7  % The copied tree can be defined as a sub-tree of the original by restricting it to certain
8  % - IDs,
9  % - parameters,
10  % - or time instants.
11  %
12  % This can be useful if you want to reorder your tree. For the computation of
13  % a single trajectory of an instationary problem for example, you are
14  % interested in the reduced basis spaces for all time instants, but a
15  % specific parameter only.
16  %
17  % All three restrictions can be optionally added as arguments to the
18  % DataTreeINodecreate_tree() method.
19  % - The IDs are restricted by a cell array of allowed ID strings. (c.f.
21  % - The parameters are restricted by a cell array of two parameter vectors
22  % describing two points of a cube in the parameter space. All DataTree
23  % nodes for parameters in this cube are allowed. (c.f.
25  % - The time instants are restricted by a '1x2' vector of time instants
26  % defining a time interval. All time instants lying in this interval are
27  % allowed. (c.f. ::DataTreeTpartNode)
28 
29 
30  methods (Abstract)
31  % function node = create_tpart_node(this, t_part_map, initvalues);
32  % is called on @ref DataTree.PpartNode elements of a DataTree and
33  % returns a new p-part node out of it.
34  %
35  % Parameters:
36  % t_part_map: the DataTreeTpartNodetpart_map of the original
37  % t-part node. Optionally this map can be restricted by a
38  % time interval as described in
39  % @ref data_tree_creator_restriction.
40  % initvalues: the @ref DataTreeTpartNodevalues "children vector" of the original
41  % t-part node. Optionally this map can be restricted by a
42  % time interval as described in
43  % @ref data_tree_creator_restriction.
44  %
45  % Return values:
46  % node: the freshly generated p-part element of type ::DataTreePpartNode
47  node = create_tpart_node(this, t_part_map, initvalues);
48 
49  % function node = create_idmap_node(this, id_map, initvalues);
50  % is called on @ref DataTree.IdMapNode elements of a DataTree and
51  % returns a new ID mapped node out of it.
52  %
53  % Parameters:
54  % id_map: the @ref DataTreeIdMapNodeidmap "ID map" of the
55  % original node. Optionally this map can be restricted by a
56  % cell array of restricted IDs as described in
57  % @ref data_tree_creator_restriction.
58  % initvalues: the @ref DataTreeIdMapNodevalues "children vector" of the original
59  % node. Optionally this map can be restricted by a
60  % cell array of restricted IDs as described in
61  % @ref data_tree_creator_restriction.
62  %
63  % Return values:
64  % node: the freshly generated p-part element of type ::DataTreeIdMapNode
65  node = create_idmap_node(this, id_map, initvalues);
66 
67  % function node = create_ppart_node(this, p_part_map, initvalues);
68  % is called on @ref DataTree.PpartNode elements of a DataTree and
69  % returns a new p-part node out of it.
70  %
71  % Parameters:
72  % p_part_map: the DataTreePpartNodeppart_map of the original
73  % p-part node. Optionally this map can be restricted by a
74  % parameter cube as described in
75  % @ref data_tree_creator_restriction.
76  % initvalues: the @ref DataTreePpartNodevalues "children vector" of the original
77  % p-part node. Optionally this map can be restricted by a
78  % parameter cube as described in
79  % @ref data_tree_creator_restriction.
80  %
81  % Return values:
82  % node: the freshly generated p-part element of type ::DataTreePpartNode
83  node = create_ppart_node(this, p_part_map, initvalues);
84 
85  % function node = create_leaf_node(this, arg_node, basepath, mu_cube, tslice);
86  % is called on @ref ::DataTreeILeafNode "leaf elements" of a DataTree and
87  % returns a new leaf out of it.
88  %
89  % Parameters:
90  % arg_node: original leaf of type DataTreeILeafNode which shall be used
91  % as basis for the creation of a new one.
92  % basepath: path from the root element to the current leaf.
93  % mu_cube: restriction of the parameter as described in
94  % @ref data_tree_creator_restriction
95  % tslice: restriction of the time domain as described in
96  % @ref data_tree_creator_restriction
97  %
98  % Return values:
99  % node: the freshly generated leaf element of type ::DataTreeILeafNode.
100  node = create_leaf_node(this, arg_node, basepath, mu_cube, tslice);
101  end
102 end
Data Tree element which can be filtered by ids
Definition: IdMapNode.m:18
Interface for a leaf node of a data tree.
Definition: ILeafNode.m:18
Interface for a node in a DataTree.
Definition: INode.m:18
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.
Definition: leaf.m:17
Data Tree element which can be filtered by time instants.
Definition: TpartNode.m:18