P12DTrace< NF > Class Template Reference

P12DTrace: traces of P12DElements. More...

#include <P12DElement.h>

Inheritance diagram for P12DTrace< NF >:
P1nDTrace< NF > P1nDElement< NF > Element_ Element

List of all members.

Public Member Functions

 P12DTrace (const P12DElement< NF > &BaseElement, const typename P1nDTrace< NF >::FaceLabel &FaceName, const typename P1nDTrace< NF >::ShapeType &Type)
virtual ~P12DTrace ()
 P12DTrace (const P12DTrace< NF > &that)
virtual P12DTrace< NF > * clone () const

Private Member Functions

void checkArgs (const typename P1nDTrace< NF >::FaceLabel &faceLabel, const typename P1nDTrace< NF >::ShapeType &shapeType)
 check if the faceLabel and shapeType are consistent with 2D element trace

Detailed Description

template<size_t NF>
class P12DTrace< NF >

P12DTrace: traces of P12DElements.

These trace elements are templated according to the number of Linear fields and the Triangle face P12DTrace<NF>::FaceLabel on which the trace is computed.

Traces of P12D elements are somewhat special, since for each side one of the bulk basis functions is identically zero, effectively leaving only two degrees of freedom per face. To reduce the amount of memory allocated per element is then convenient to consider Trace elements with only two degrees of freedom per field per face, i.e., use the ShapesP12D::Faces ShapesEvaluated objects.

However, ocassionally it may be necessary to have the boundary elements have the same number of degrees of freedom as the bulk elements, as it is generally the case for arbitrary bases. Hence, during the construction of these elements it is possible to decide which type of shape functions to use. This is accomplished by specifying the type ShapeType.


Constructor & Destructor Documentation

template<size_t NF>
P12DTrace< NF >::P12DTrace ( const P12DElement< NF > &  BaseElement,
const typename P1nDTrace< NF >::FaceLabel FaceName,
const typename P1nDTrace< NF >::ShapeType Type 
) [inline]
Parameters:
BaseElement Element whose trace is desired
FaceName Face on which to take the trace
Type ShapeType of face, i.e., with two or three dof
template<size_t NF>
virtual P12DTrace< NF >::~P12DTrace (  )  [inline, virtual]
template<size_t NF>
P12DTrace< NF >::P12DTrace ( const P12DTrace< NF > &  that  )  [inline]

Member Function Documentation

template<size_t NF>
void P12DTrace< NF >::checkArgs ( const typename P1nDTrace< NF >::FaceLabel faceLabel,
const typename P1nDTrace< NF >::ShapeType shapeType 
) [inline, private]

check if the faceLabel and shapeType are consistent with 2D element trace

Parameters:
faceLabel 
shapeType 
template<size_t NF>
virtual P12DTrace<NF>* P12DTrace< NF >::clone (  )  const [inline, virtual]

Implements Element_.


The documentation for this class was generated from the following file:
Generated on Tue Aug 2 11:51:28 2011 for Galois by  doxygen 1.6.3