Traces of P13DElement. More...
#include <P13DElement.h>
Public Member Functions | |
P13DTrace (const P13DElement< NF > &BaseElement, const typename P1nDTrace< NF >::FaceLabel &FaceName, const typename P1nDTrace< NF >::ShapeType &Type) | |
virtual | ~P13DTrace () |
P13DTrace (const P13DTrace< NF > &OldElement_) | |
Copy constructor. | |
virtual P13DTrace< NF > * | clone () const |
Cloning mechanism. | |
Static Protected Attributes | |
static const size_t | FaceNodes [] = { 2, 1, 0, 2, 0, 3, 2, 3, 1, 0, 1, 3 } |
canonical numbering of the nodes. Used to construct face edges | |
Private Member Functions | |
void | checkArgs (const typename P1nDTrace< NF >::FaceLabel &flabel, const typename P1nDTrace< NF >::ShapeType &shType) |
checks if arguments are consistend with 3D element |
Traces of P13DElement.
These trace elements are templated according to the number of linear fields and the Tetrahedron face P13DTrace<NF>::FaceLabel on which the trace is computed.
Traces of P13DElements are somewhat special, since for each side one of the bulk basis functions is identically zero, effectively leaving three dofs per face. To reduce the amount of memory allocated per element is then convenient to consider trace elements with only 3 dofs per field per face, i.e., use the ShapesP13D::Faces ShapesEvaluated objects.
However, ocassionally, it may be necessary to have the boundary elements have the same nummber of dofs as the bulk elements, as it is generally the case for arbitrary bases. Hence during their construction, it is possible to specify what type of shape functions to use. This is accomplished by specifying the type ShapeType.
P13DTrace< NF >::P13DTrace | ( | const P13DElement< NF > & | BaseElement, | |
const typename P1nDTrace< NF >::FaceLabel & | FaceName, | |||
const typename P1nDTrace< NF >::ShapeType & | Type | |||
) | [inline] |
BaseElement | Element whose trace is desired. | |
FaceName | Face on which to take the trace. | |
Type | ShapeType of the face, i.e., with three or four dofs. |
Copy constructor.
void P13DTrace< NF >::checkArgs | ( | const typename P1nDTrace< NF >::FaceLabel & | flabel, | |
const typename P1nDTrace< NF >::ShapeType & | shType | |||
) | [inline, private] |
checks if arguments are consistend with 3D element
flabel | ||
shType |
Cloning mechanism.
Implements Element_.
const size_t P13DTrace< NF >::FaceNodes = { 2, 1, 0, 2, 0, 3, 2, 3, 1, 0, 1, 3 } [inline, static, protected] |
canonical numbering of the nodes. Used to construct face edges