rbmatlab  1.13.10
 All Classes Namespaces Files Functions Variables Groups Pages
DetailedLeafNode.m
1 classdef DetailedLeafNode < Greedy.DataTree.Detailed.ILeafNode
2  % tree node implementation for a detailed data structure holding a reduced
3  % basis and a collateral reduced basis.
4 
5  properties
6  % mapper of type Greedy.DataTree.Detailed.IdMapNode with empirical
7  % interpolation data for all interpolated operators
8  ei;
9 
10  % mapper of type Greedy.DataTree.Detailed.IdMapNode with reduced basis
11  % data for the three unknowns (saturation, velocity, pressure)
12  rb;
13  end
14 
15  methods
16 
17  function rbeiddn = DetailedLeafNode(model_data)
18  % function rbeiddn = DetailedLeafNode(model_data)
19  % constructor initializing the detailed data node
20 
21  rbeiddn = rbeiddn@Greedy.DataTree.Detailed.ILeafNode(model_data);
22  end
23 
24 
25  function siz = get_rb_size(this)
26  siz = create_tree(this.rb, ...
27  DataTree.ScalarGreator(@(X) get_rb_size(X)), ...
28  [], [], []);
29  end
30 
31  function siz = get_ei_size(this)
32  siz = create_tree(this.ei, ...
33  DataTree.ScalarGreator(@(X) get_ei_size(X)), ...
34  [], [], []);
35  end
36 
37  function node = get_active_leaf(this, model, id)
38  % function node = get_active_leaf(this, model, id)
39  % @copybrief DataTree.INode.get_active_leaf()
40  %
41  % @copydetails DataTree.INode.get_active_leaf()
42  %
43  % Return values:
44  % node: of type Greedy.DataTree.Detailed.ILeafNode
45  if nargin == 2
46  id = [];
47  end
48  node = get_active_leaf(this.rb, model, id);
49  end
50 
51  function [ot1, ot2, ot3] = offtime(this, rmodel)
52  [ot3, ot1, ot2] = offtime(this.rb, rmodel);
53  [ot1, ot2, temp] = offtime(this.ei, rmodel);
54  end
55 
56 
57  function delete_rb(this, index)
58  % function delete_rb(this, index)
59  % @copybrief Greedy.DataTree.Detailed.RBLeafNode.delete_rb()
60  %
61  % @copydetails Greedy.DataTree.Detailed.RBLeafNode.delete_rb()
62  delete_rb(this.rb, index);
63  end
64  end
65 
66 end