#include <neumannTraceElement3d.hh>
Classes | |
struct | mapPart |
Public Types | |
typedef concepts::ElementAndFacette< hp3D::Element< F > > | UnderlyingElement |
typedef F | type |
enum | intFormType { ZERO , ONE , TWO , THREE } |
Public Member Functions | |
NeumannTraceElement3d (concepts::QuadNd &cell, const ushort *p) | |
virtual const concepts::TMatrix< F > & | T () const |
Returns the T matrix of the element. | |
void | computeShpfctVals (const concepts::Real2d &xP, concepts::Array< Real > &val) const |
void | buildT () |
const concepts::Sequence< UnderlyingElement > & | uelm () const |
void | addElement (const hp3D::Hexahedron &hex, uint k, Real weight=1.0) |
virtual const concepts::ElementGraphics< F > * | graphics () const |
Returns element graphics class. | |
void | recomputeShapefunctions () |
void | recomputeShapefunctions (const uint nq[2]) |
void | edgeP (const uint i, const uint &p) |
Set polynomial degree of edge i to p . | |
const uint | edgeP (const uint i) const |
virtual const concepts::Quad & | support () const |
virtual concepts::Real3d | vertex (uint i) const |
virtual const concepts::QuadNd & | cell () const |
Returns the cell on which the element is built. | |
void | appendT (concepts::TColumn< F > *T) |
Appends the T columns to the T matrix. | |
Real3d | elemMap (const Real coord_local) const |
Real3d | elemMap (const Real2d &coord_local) const |
Real3d | elemMap (const Real3d &coord_local) const |
uint & | tag () |
Returns the tag. | |
concepts::Real2d | chi (const Real x, const Real y) const |
concepts::MapReal2d | jacobian (const Real x, const Real y) const |
Computes the Jacobian. | |
concepts::MapReal2d | jacobianInverse (const Real x, const Real y) const |
Computes the inverse of the Jacobian. | |
concepts::MapReal2d | inverseLaplace (const Real x, const Real y) const |
Real | gramDeterminantRoot (const Real x, const Real y) const |
void | setStrategy (const concepts::Quad2dSubdivision *strategy=0) |
const concepts::Quad2dSubdivision * | getStrategy () const |
virtual bool | quadraturePoint (uint i, intPoint &p, intFormType form=ZERO, bool localCoord=false) const |
const concepts::QuadratureRule2d *const | intRule () const |
const ushort * | p () const |
const concepts::Karniadakis< 1, 0 > * | shpfctX () const |
Returns the shape functions in x direction. | |
const concepts::Karniadakis< 1, 0 > * | shpfctY () const |
Returns the shape functions in y direction. | |
const concepts::Karniadakis< 1, 1 > * | shpfctDX () const |
Returns the derivatives of the shape functions in x direction. | |
const concepts::Karniadakis< 1, 1 > * | shpfctDY () const |
Returns the shape functions in y direction. | |
Static Public Member Functions | |
static std::unique_ptr< concepts::QuadRuleFactoryTensor2d > & | factory () |
static concepts::QuadRuleFactoryTensor2d * | factory_rp () |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
void | computeShapefunctions_ (const concepts::QuadratureRule2d *intRule) |
gets the shapefunctions, used in both constructors | |
Protected Attributes | |
std::unique_ptr< concepts::QuadratureRule2d > | intRule_ |
The integration rules. | |
concepts::QuadNd & | cell_ |
The cell. | |
Static Protected Attributes | |
static std::unique_ptr< concepts::QuadRuleFactoryTensor2d > | factory_ |
Element on an edge representing the normal derivatives of neighbouring elements, especially their mean or jump.
Also a PLUS and MINUS setting is involded, that is a FIRST trace kind, with respect to the K+ and K- introduced elements via the setted Normalvector.
The number of shape functions are the sum of the number of shape functions of the two neighbouring 2D elements.
Definition at line 42 of file neumannTraceElement3d.hh.
|
inherited |
Definition at line 81 of file element.hh.
typedef concepts::ElementAndFacette<hp3D::Element<F> > hp3D::NeumannTraceElement3d< F >::UnderlyingElement |
Definition at line 44 of file neumannTraceElement3d.hh.
|
inherited |
Integration form, which determines terms coming from integration over reference element
Definition at line 29 of file integral.hh.
|
inline |
Constructor
For irregular meshes the underlying elements of a neumanntraceelement is a fine Quad and a neighboured coarse Quad. The coarseCell describes the edgemapping of the coarseedge of which the cell is a subset (part). The coarseCellpart also marks if a neumanntraceElement is build upon regular or irregular mesh
cell | geometric cell of this element |
p | highest Polynomial degree of underlying Elements |
coarseCell | for irregular meshes where cell's underlying |
Definition at line 120 of file neumannTraceElement3d.hh.
void hp3D::NeumannTraceElement3d< F >::addElement | ( | const hp3D::Hexahedron & | hex, |
uint | k, | ||
Real | weight = 1.0 |
||
) |
Adds the contribution to the Neumann trace from the element on one of the (at most two) sides. Basis functions between quads do not have to be continous. In this case the highest polynomial degree along edge is set, i.e. for integration rule
hex | Hexahedron with k-th edge is NeumannTraceElement's topological cell. |
|
inlineinherited |
Appends the T columns to the T matrix.
Definition at line 43 of file element.hh.
void hp3D::NeumannTraceElement3d< F >::buildT | ( | ) |
After adding the Elements this routine builds the TMatrix and polynomial informations on the element.
|
inlinevirtualinherited |
Returns the cell on which the element is built.
Implements hp2D::Element< F >.
|
inlineinherited |
|
protectedinherited |
gets the shapefunctions, used in both constructors
gets the shapefunctions, used in both constructors
void hp3D::NeumannTraceElement3d< F >::computeShpfctVals | ( | const concepts::Real2d & | xP, |
concepts::Array< Real > & | val | ||
) | const |
Evaluation method to get basisfunctions evaluated on requested points this should be used for functions, i.e. hp2D::Value
xP | requested Points to evaluate on |
val | evaluated shpfct, method resizes array. |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 86 of file element.hh.
|
inlineinherited |
Definition at line 90 of file element.hh.
|
inlineinherited |
Definition at line 94 of file element.hh.
|
inlinestaticinherited |
Access to the quadrature rule, which is valid for all elements of this type (hp2D::IntegrableQuad).
Change of the quadrature rule is put into practice for newly created elements and for already created elements by precomputing the integration points and shape functions on them.
|
inlinestaticinherited |
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Returns element graphics class.
Implements hp2D::BaseQuad< F >.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from hp2D::Quad< F >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
virtualinherited |
Delivers a quadrature point.
Quadrature point consists of coordinates (for evaluation of formulas) and intermediate data, consisting of the weight and term coming from mapping.
Returns false
, if the number of quadrature points is overstepped.
i | number of quadrature point |
intPoint | data given back |
form | Integration form |
localCoord | If true, local coordinates are returned. Else physical coordinates. |
Implements concepts::IntegrationCell.
|
inherited |
Recompute shape functions, e.g. for other abscissas redefined through setIntegrationRule
|
inlineinherited |
Sets the subdivision strategy of the underlying cell of this element. It calls Quad2d::setStrategy.
strategy | Pointer to an instance of a subdivision strategy. |
StrategyChange | if the change is not allowed (the change is not allowed if there are children present) |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
Returns the topological support of the element. Possible supports for an element are quadrilaterals and triangles.
Implements hp2D::Element< F >.
|
inlinevirtual |
Returns the T matrix of the element.
Reimplemented from hp2D::Element< F >.
Definition at line 126 of file neumannTraceElement3d.hh.
|
inlineinherited |
Returns the tag.
Definition at line 66 of file element.hh.
|
inline |
Returns the Underlying Element(s)
Definition at line 160 of file neumannTraceElement3d.hh.
|
inlinevirtualinherited |
Returns the coordinates of the ith vertex of this element.
i | Index of the vertex |
Implements hp2D::Element< F >.
|
protectedinherited |
|
staticprotectedinherited |
|
protectedinherited |