Intrepid2
|
Defines cubature (integration) rules over Neumann boundaries for control volume method. More...
#include <Intrepid2_CubatureControlVolumeBoundary.hpp>
Classes | |
struct | Functor |
Public Types | |
typedef Cubature < ExecSpaceType, pointValueType, weightValueType > ::pointViewType | pointViewType |
typedef Cubature < ExecSpaceType, pointValueType, weightValueType > ::weightViewType | weightViewType |
Public Types inherited from Intrepid2::Cubature< ExecSpaceType, pointValueType, weightValueType > | |
typedef Kokkos::DynRankView < pointValueType, Kokkos::LayoutStride, ExecSpaceType > | pointViewType |
typedef Kokkos::DynRankView < weightValueType, Kokkos::LayoutStride, ExecSpaceType > | weightViewType |
Public Member Functions | |
virtual void | getCubature (pointViewType cubPoints, weightViewType cubWeights, pointViewType cellCoords) const |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). More... | |
virtual ordinal_type | getNumPoints () const |
Returns the number of cubature points. | |
virtual ordinal_type | getDimension () const |
Returns dimension of integration domain. | |
virtual const char * | getName () const |
Returns cubature name. | |
CubatureControlVolumeBoundary (const shards::CellTopology cellTopology, const ordinal_type sideIndex) | |
Public Member Functions inherited from Intrepid2::Cubature< ExecSpaceType, pointValueType, weightValueType > | |
virtual void | getCubature (pointViewType, weightViewType) const |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). More... | |
virtual ordinal_type | getAccuracy () const |
Returns dimension of the integration domain. | |
Protected Attributes | |
shards::CellTopology | primaryCellTopo_ |
The topology of the primary cell side. | |
shards::CellTopology | subcvCellTopo_ |
The topology of the sub-control volume. | |
ordinal_type | degree_ |
The degree of the polynomials that are integrated exactly. | |
ordinal_type | sideIndex_ |
Index of cell side. | |
Kokkos::View< ordinal_type **, Kokkos::HostSpace > | boundarySidesHost_ |
Kokkos::View< ordinal_type **, Kokkos::LayoutRight, ExecSpaceType > | sideNodeMap_ |
Kokkos::DynRankView < pointValueType, ExecSpaceType > | sidePoints_ |
Defines cubature (integration) rules over Neumann boundaries for control volume method.
Integration on Neumann boundaries for the control volume method requires integration points defined on primary cell sides. These points are not equivalent to control volume points on lower dimensional topologies and therefore require a separate class to define them.
Definition at line 72 of file Intrepid2_CubatureControlVolumeBoundary.hpp.
Intrepid2::CubatureControlVolumeBoundary< SpT, PT, WT >::CubatureControlVolumeBoundary | ( | const shards::CellTopology | cellTopology, |
const ordinal_type | sideIndex | ||
) |
brief Constructor.
cellTopology | [in] - The topology of the primary cell. |
cellSide | [in] - The index of the boundary side of the primary cell |
Definition at line 57 of file Intrepid2_CubatureControlVolumeBoundaryDef.hpp.
References Intrepid2::CellTools< ExecSpaceType >::mapToReferenceSubcell().
|
virtual |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
cubPoints | [out] - Array containing the cubature points. |
cubWeights | [out] - Array of corresponding cubature weights. |
cellCoords | [in] - Array of cell coordinates |
Reimplemented from Intrepid2::Cubature< ExecSpaceType, pointValueType, weightValueType >.
Definition at line 179 of file Intrepid2_CubatureControlVolumeBoundaryDef.hpp.
References Intrepid2::FunctionSpaceTools< ExecSpaceType >::computeEdgeMeasure(), Intrepid2::FunctionSpaceTools< ExecSpaceType >::computeFaceMeasure(), Intrepid2::CellTools< ExecSpaceType >::getSubcvCoords(), Intrepid2::CellTools< ExecSpaceType >::setJacobian(), and Intrepid2::CellTools< ExecSpaceType >::setJacobianDet().