1 classdef ICreator < handle
2 %
interface for a class used to create a new (sub-)tree from an old one with the
5 % @section data_tree_creator_restriction Sub-tree definition
7 % The copied tree can be defined as a sub-tree of the original by restricting it to certain
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.
17 % All three restrictions can be optionally added as arguments to the
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
31 % function node = create_tpart_node(this, t_part_map, initvalues);
33 % returns a new p-part node out of it.
37 % t-part node. Optionally this map can be restricted by a
38 % time interval as described in
39 % @ref data_tree_creator_restriction.
41 % t-part node. Optionally this map can be restricted by a
42 % time interval as described in
43 % @ref data_tree_creator_restriction.
47 node = create_tpart_node(this, t_part_map, initvalues);
49 % function node = create_idmap_node(this, id_map, initvalues);
51 % returns a new ID mapped node out of it.
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.
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.
65 node = create_idmap_node(this, id_map, initvalues);
67 % function node = create_ppart_node(this, p_part_map, initvalues);
69 % returns a new p-part node out of it.
73 % p-part node. Optionally this map can be restricted by a
74 % parameter cube as described in
75 % @ref data_tree_creator_restriction.
77 % p-part node. Optionally this map can be restricted by a
78 % parameter cube as described in
79 % @ref data_tree_creator_restriction.
83 node = create_ppart_node(this, p_part_map, initvalues);
85 % function node = create_leaf_node(this, arg_node, basepath, mu_cube, tslice);
87 % returns a new
leaf out of it.
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
100 node = create_leaf_node(this, arg_node, basepath, mu_cube, tslice);
Data Tree element which can be filtered by ids
Interface for a leaf node of a data tree.
Interface for a node in a DataTree.
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.
Data Tree element which can be filtered by time instants.