Defines a face between two finite elements in two-dimensions (i.e., an interval). More...
#include <ptems/finiteelement.hpp>
Public Types | |
typedef LegacyRandomAccessIterator< const std::size_t > | iterator |
Type for an iterator over the list of vertex indices for the face. More... | |
typedef iterator | const_iterator |
Type for a const iterator over the list of vertex indices for the face. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Type for an iterator over the list of vertex indices for the face, iterating in reverse. More... | |
typedef std::reverse_iterator< reverse_iterator > | const_reverse_iterator |
Type for a const iterator over the list of vertex indices for the face, iterating in reverse. More... | |
Public Member Functions | |
std::shared_ptr< FiniteElement< 2 > > | Left () const |
Pointer to "left" neighbour of the face. More... | |
std::shared_ptr< FiniteElement< 2 > > | Right () const |
Pointer to "right" neighbour of the face; or null if the face is on the boundary. More... | |
bool | IsInterior () const |
Gets if the face represents an interior face (has right neighbour) More... | |
bool | IsBoundary () const |
Gets if the face represents a boundary face (no right neighbour) More... | |
void | Right (const std::shared_ptr< FiniteElement< 2 > > &right) |
Sets the right neighbour of the face. More... | |
const std::size_t & | operator[] (std::size_t i) const |
Returns the global index of the ith vertex of the face. More... | |
const std::size_t & | VertexIndex (std::size_t i) const |
Returns the global index of the ith vertex of the face. More... | |
std::size_t | VertexCount () const |
Gets the number of vertices in the face. More... | |
iterator | begin () const |
Gets the begin iterator for iterating over the vertex indices of the face. More... | |
iterator | end () const |
Gets the end iterator for iterating over the vertex indices of the face. More... | |
const_iterator | cbegin () const |
Gets the const begin iterator for iterating over the vertex indices of the face. More... | |
const_iterator | cend () const |
Gets the const end iterator for iterating over the vertex indices of the face. More... | |
reverse_iterator | rbegin () const |
Gets the begin iterator for iterating over the vertex indices of the face in reverse. More... | |
reverse_iterator | rend () const |
Gets the end iterator for iterating over the vertex indices of the face in reverse. More... | |
const_reverse_iterator | crbegin () const |
Gets the const begin iterator for iterating over the vertex indices of the face in reverse. More... | |
const_reverse_iterator | crend () const |
Gets the const end iterator for iterating over the vertex indices of the face in reverse. More... | |
double | Diameter () const |
Gets the diameter of the face. More... | |
double | Volume () const |
Gets the volume of the face. More... | |
Vector< 2 > | Normal () const |
Gets the normal to the face. More... | |
bool | IsEqual (const std::shared_ptr< FEFace< 2 >> &rhs) const |
Checks if the specified face is equal to this face (has same vertices), even if vertices are in different order (e.g., Normal() may be different). More... | |
bool | IsEqual (const FEFace< 2 > &rhs) const |
Checks if the specified face is equal to this face (has same vertices), even if vertices are in different order (e.g., Normal() may be different). More... | |
Vector< 2 > | Barycentre () const |
Gets the barycentre of the face. More... | |
const std::array< ReferenceMapping< 1, 2 >, 1 > & | ReferenceMappings () const |
Gets the mapping between the local coordinates for the left element and the reference interval for the face. More... | |
Vector< 2 > | LocalToGlobal (const Vector< 1 > &pt) |
Converts a local point on the element (value in interval \([0,1]\)) into a global point. More... | |
template<typename ALGO > | |
QuadraturePoints< 1 > | ComputeQuadraturePoints (ALGO algorithm, std::size_t order) |
Computes the quadrature points for the face. More... | |
T | shared_from_this (T... args) |
T | weak_from_this (T... args) |
Friends | |
class | FiniteElement< 2 > |
class | FEMesh< 2 > |
Defines a face between two finite elements in two-dimensions (i.e., an interval).
typedef iterator ptems::FEFace< 2 >::const_iterator |
Type for a const iterator over the list of vertex indices for the face.
typedef std::reverse_iterator<reverse_iterator> ptems::FEFace< 2 >::const_reverse_iterator |
Type for a const iterator over the list of vertex indices for the face, iterating in reverse.
typedef LegacyRandomAccessIterator< const std::size_t > ptems::FEFace< 2 >::iterator |
Type for an iterator over the list of vertex indices for the face.
typedef std::reverse_iterator<iterator> ptems::FEFace< 2 >::reverse_iterator |
Type for an iterator over the list of vertex indices for the face, iterating in reverse.
|
inline |
Gets the barycentre of the face.
|
inline |
Gets the begin iterator for iterating over the vertex indices of the face.
|
inline |
Gets the const begin iterator for iterating over the vertex indices of the face.
|
inline |
Gets the const end iterator for iterating over the vertex indices of the face.
QuadraturePoints< 1 > ptems::FEFace< 2 >::ComputeQuadraturePoints | ( | ALGO | algorithm, |
std::size_t | order | ||
) |
Computes the quadrature points for the face.
The points are in local face coordinates, and weights are for the global integration.
ALGO | Type of an algorithm for generating quadrature points on a reference element |
algorithm | An algorithm for generating quadrature points on a reference element |
order | The order of the quadrature |
|
inline |
Gets the const begin iterator for iterating over the vertex indices of the face in reverse.
|
inline |
Gets the const end iterator for iterating over the vertex indices of the face in reverse.
|
inline |
Gets the diameter of the face.
|
inline |
Gets the end iterator for iterating over the vertex indices of the face.
|
inline |
Gets if the face represents a boundary face (no right neighbour)
|
inline |
Checks if the specified face is equal to this face (has same vertices), even if vertices are in different order (e.g., Normal() may be different).
rhs | The face to check if equal to this |
|
inline |
Checks if the specified face is equal to this face (has same vertices), even if vertices are in different order (e.g., Normal() may be different).
rhs | The face to check if equal to this |
|
inline |
Gets if the face represents an interior face (has right neighbour)
|
inline |
Pointer to "left" neighbour of the face.
|
inline |
Converts a local point on the element (value in interval \([0,1]\)) into a global point.
pt | The local point to map |
|
inline |
Gets the normal to the face.
The normal is the outward normal w.r.t. the left neighbour, and the inward normal w.r.t the right neighbour.
|
inline |
Returns the global index of the ith vertex of the face.
i | The index of the vertex to get. |
std::out_of_range | If i is not less than VertexCount() |
|
inline |
Gets the begin iterator for iterating over the vertex indices of the face in reverse.
|
inline |
Gets the mapping between the local coordinates for the left element and the reference interval for the face.
|
inline |
Gets the end iterator for iterating over the vertex indices of the face in reverse.
|
inline |
Pointer to "right" neighbour of the face; or null if the face is on the boundary.
|
inline |
Sets the right neighbour of the face.
right | The right hand neighbour, or null for no neighbour. |
|
inline |
Gets the number of vertices in the face.
|
inline |
Returns the global index of the ith vertex of the face.
i | The index of the vertex to get. |
std::out_of_range | If i is not less than VertexCount() |
|
inline |
Gets the volume of the face.