Data Structure: Lowest Order BDM Element
We explain degree of freedoms for the lowest order BDM element on tetrahedrons. The required data structure can be constructured by
[elem2dof,dofSign,face] = dof3BDM1(elem)
Created by Ming Wang, at Dec 31, 2010.
TODO: Modify dof3BDM1docscript1 and dof3BDM1docscript2 to suit for BDM1 element.
Copyright (C) Long Chen. See COPYRIGHT.txt for details.
Contents
Local Labeling of DOFs
dof3BDM1docscript1
There are 3 dofs on each face, hence 12 dofs on the tetrahedral. Here [1 2 3 4] are local indices of vertices.
For a triangulation consisting of several tetrahedrons, all local faces are collected and the duplication is eliminated to form faces of the triangulation. Therefore the global indices of faces is different with the local one. elem2dof(:,1:12) records the mapping from local to global indices.
display(elem2dof)
elem2dof = 1 12 5 20 11 4
Orientation of Edges
dof3BDM1docscript2
The face [i,j,k] is orientated in the direction such that i<j<k, where i,j,k are global indices. The faces formed by local indices may not be consistent with this orientation. Therefore dofSign is used to indicate the consistency.
The nodal indices in the left figure is local while that in the right is the global one. The local direction and global direction of edges is also indicated by different edge vectors.
display(elem2dof) display(dofSign)
elem2dof = 1 2 3 4 5 6 dofSign = 1 1 -1 -1 -1 -1
An Example
node = [-1,-1,-1; 1,-1,-1; 1,1,-1; -1,1,-1; -1,-1,1; 1,-1,1; 1,1,1; -1,1,1];
elem = [1,2,3,7; 1,6,2,7; 1,5,6,7; 1,8,5,7; 1,4,8,7; 1,3,4,7];
[elem2dof,dofSign,face] = dof3BDM1(elem);
figure(1); clf;
showmesh3(node,elem,[],'FaceAlpha',0.25);
view(-30,10);
findedge3(node,edge);
findelem3(node,elem,[1 3]');
display(elem2dof);
display(dofSign);
elem2dof = Columns 1 through 9 13 5 3 1 31 41 21 37 49 32 3 11 2 14 39 29 20 50 17 11 9 8 35 47 27 44 53 54 9 12 10 18 45 48 28 36 16 12 6 7 52 30 24 43 34 15 6 5 4 33 42 23 40 51 Columns 10 through 12 23 39 19 21 47 38 29 45 26 27 30 46 48 42 25 24 41 22 dofSign = 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1