Code covered by the BSD License

Highlights fromFELICITY

from FELICITY by Shawn Walker
Finite ELement Implementation and Computational Interface Tool for You

Elem2_3D_Test()
```function Elem = Elem2_3D_Test()
%Elem2_3D_Test
%
%   This defines a finite element for testing the DoF allocation code.

% Copyright (c) 12-01-2010,  Shawn W. Walker

% name it!
Elem.Name = 'Elem2_Test';

% continuous galerkin space
Elem.Type = 'CG';

% intrinsic dimension and domain
Elem.Dim    = 3;
Elem.Domain = 'tetrahedron';

% basis function definitions
% note: there can be more than one set of basis functions if this is a
% vectorized element (i.e. velocity and pressure).
Elem.Basis.Func =...
{{'1 - x - y - z'};
{'x'};
{'y'};
{'x'};
{'y'};
{'z'};
{'1 - x - y - z'};
{'x'};
{'y'};
{'x'};
{'y'};
{'z'}};
%

% nodal variables (dual basis)
% note: there can be more than one set of nodal variables (see above)
% barycentric coordinates (point evaluation)
Elem.Nodal_Var.Type  = 'point evaluation';
Elem.Nodal_Var.Basis =...
{{'phi'}, [1,0,0,0];
{'phi'}, [0,1,0,0];
{'phi'}, [0,0,1,0];
{'phi'}, [0,1,0,0];
{'phi'}, [0,0,1,0];
{'phi'}, [0,0,0,1];
{'phi'}, [1,0,0,0];
{'phi'}, [0,1,0,0];
{'phi'}, [0,0,1,0];
{'phi'}, [0,1,0,0];
{'phi'}, [0,0,1,0];
{'phi'}, [0,0,0,1]};
%

%%%%% nodal (topological) arrangement
% note: there can be more than one set of nodal variables (see above)

% nodes attached to vertices
Elem.Nodal_Top.V = {[]};

% nodes attached to (directed) edges
Elem.Nodal_Top.E = {[ 1  2;
3  4;
5  6;
7  8;
9 10;
11 12]};
%

% nodes attached to (triangles) faces
Elem.Nodal_Top.F = {[]}; %
%F = {[{[1 2]}, {[3 4]}, {[5 6]}]; [{[1 2]}, {[3 4]}, {[5 6]}]; [{[1 2]}, {[3 4]}, {[5 6]}]; [{[1 2]}, {[3 4]}, {[5 6]}]};

% nodes attached to tetrahedra
Elem.Nodal_Top.T = {[]}; %

end```