rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
IFemInfo.m
1 classdef IFemInfo < DataTree.INode
2  % Abstract class for implementing finite elements.
3  % Fem info classes implementing this interface are compatible with
4  % Fem.DiscFunc
5 
6  % IM 29.11.2012
7 
8  properties (Abstract, SetAccess = private)
9 
10  % polynomial degree
11  pdeg;
12 
13  % dimension of range space
14  dimrange;
15 
16  % number of DOFs
17  ndofs;
18 
19  % number of DOFs per grid element
20  ndofs_per_element;
21 
22  % a (dimrange x number of scalar basis functions) matrix
23  dof_ids_local;
24 
25  % grid of type .gridbase
26  grid;
27 
28  % determinant of reference mapping
29  detDF;
30  end
31 
32  methods (Abstract)
33 
34  % evaluation of all basis functions in local coordinate
35  evaluate_basis(obj, lcoord);
36 
37  % evaluation of the gradient of a scalar basis in local coordinate
38  evaluate_scalar_basis_derivative(obj, lcoord, ncomp);
39 
40  % evaluation of i-th basis function in local coordinate
41  evaluate_basis_function(obj, lcoord, i);
42 
43  % evaluation of the gradient of i-th basis function in local
44  % coordinate
45  evaluate_basis_function_derivative(obj, lcoord, i);
46 
47  % returns entries of global-dof-map for several elements and several
48  % local dof ids
49  get_global_dof_index(obj, einds, gids);
50 
51  % returns global dof ids belonging to one component (indices into
52  % DOF-vector)
53  get_dof_ids_global(obj, ncomp);
54 
55  % returns an instance of Fem.DiscFunc which interpolates the given
56  % analytical function, that can be evaluated at
57  % (grid,elinds,lcoord,params)
58  interpol_local(this, func, params)
59  end
60 
61  methods
62 
63  function df = interpol_global(this, func, params)
64  % interpolates a given analytical function that can be
65  % evaluated at (glob, params)
66 
67  if nargin<3
68  params = [];
69  end
70 
71  df = this.interpol_local(@(grid, einds, lcoord, params) ...
72  func(local2global(grid, einds, lcoord), params), params);
73  end
74  end
75 
76 end
77 
Interface for a node in a DataTree.
Definition: INode.m:18
represents a continous piecewise polynomial function of arbitrary dimension. Can be used for all fini...
Definition: DiscFunc.m:18