|
Intrepid2
|
Functor for computing values for the HierarchicalBasis_HDIV_PYR class. More...
#include <Intrepid2_HierarchicalBasis_HDIV_PYR.hpp>
Public Types | |
| using | ExecutionSpace = typename DeviceType::execution_space |
| using | ScratchSpace = typename ExecutionSpace::scratch_memory_space |
| using | OutputScratchView = Kokkos::View< OutputScalar *, ScratchSpace, Kokkos::MemoryTraits< Kokkos::Unmanaged > > |
| using | OutputScratchView2D = Kokkos::View< OutputScalar **, ScratchSpace, Kokkos::MemoryTraits< Kokkos::Unmanaged > > |
| using | PointScratchView = Kokkos::View< PointScalar *, ScratchSpace, Kokkos::MemoryTraits< Kokkos::Unmanaged > > |
| using | TeamPolicy = Kokkos::TeamPolicy< ExecutionSpace > |
| using | TeamMember = typename TeamPolicy::member_type |
Public Member Functions | |
| Hierarchical_HDIV_PYR_Functor (EOperator opType, OutputFieldType output, InputPointsType inputPoints, int polyOrder) | |
| KOKKOS_INLINE_FUNCTION void | cross (Kokkos::Array< OutputScalar, 3 > &c, const Kokkos::Array< OutputScalar, 3 > &a, const Kokkos::Array< OutputScalar, 3 > &b) const |
| cross product: c = a x b | |
| KOKKOS_INLINE_FUNCTION void | dot (OutputScalar &c, const Kokkos::Array< OutputScalar, 3 > &a, const Kokkos::Array< OutputScalar, 3 > &b) const |
| dot product: c = a \cdot b | |
| KOKKOS_INLINE_FUNCTION OutputScalar | dot (const Kokkos::Array< OutputScalar, 3 > &a, const Kokkos::Array< OutputScalar, 3 > &b) const |
| KOKKOS_INLINE_FUNCTION void | E_E (Kokkos::Array< OutputScalar, 3 > &EE, const ordinal_type &i, const OutputScratchView &PHom, const PointScalar &s0, const PointScalar &s1, const Kokkos::Array< PointScalar, 3 > &s0_grad, const Kokkos::Array< PointScalar, 3 > &s1_grad) const |
| KOKKOS_INLINE_FUNCTION void | E_E_CURL (Kokkos::Array< OutputScalar, 3 > &curl_EE, const ordinal_type &i, const OutputScratchView &PHom, const PointScalar &s0, const PointScalar &s1, const Kokkos::Array< PointScalar, 3 > &s0_grad, const Kokkos::Array< PointScalar, 3 > &s1_grad) const |
| KOKKOS_INLINE_FUNCTION void | V_QUAD (Kokkos::Array< OutputScalar, 3 > &VQUAD, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &PHom_s, const PointScalar &s0, const PointScalar &s1, const Kokkos::Array< PointScalar, 3 > &s0_grad, const Kokkos::Array< PointScalar, 3 > &s1_grad, const OutputScratchView &PHom_t, const PointScalar &t0, const PointScalar &t1, const Kokkos::Array< PointScalar, 3 > &t0_grad, const Kokkos::Array< PointScalar, 3 > &t1_grad) const |
| KOKKOS_INLINE_FUNCTION void | E_QUAD (Kokkos::Array< OutputScalar, 3 > &EQUAD, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &HomPi_s01, const PointScalar &s0, const PointScalar &s1, const Kokkos::Array< PointScalar, 3 > &s0_grad, const Kokkos::Array< PointScalar, 3 > &s1_grad, const OutputScratchView &HomLi_t01) const |
| KOKKOS_INLINE_FUNCTION void | E_QUAD_CURL (Kokkos::Array< OutputScalar, 3 > &EQUAD_CURL, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &HomPi_s01, const PointScalar &s0, const PointScalar &s1, const Kokkos::Array< PointScalar, 3 > &s0_grad, const Kokkos::Array< PointScalar, 3 > &s1_grad, const OutputScratchView &HomPj_t01, const OutputScratchView &HomLj_t01, const OutputScratchView &HomLj_dt_t01, const Kokkos::Array< PointScalar, 3 > &t0_grad, const Kokkos::Array< PointScalar, 3 > &t1_grad) const |
| KOKKOS_INLINE_FUNCTION void | V_LEFT_TRI (Kokkos::Array< OutputScalar, 3 > &VLEFTTRI, const OutputScalar &phi_i, const Kokkos::Array< OutputScalar, 3 > &phi_i_grad, const OutputScalar &phi_j, const Kokkos::Array< OutputScalar, 3 > &phi_j_grad, const OutputScalar &t0, const Kokkos::Array< OutputScalar, 3 > &t0_grad) const |
| See Fuentes et al. (p. 455), definition of V_{ij}^{\trianglelefteq}. | |
| KOKKOS_INLINE_FUNCTION void | V_RIGHT_TRI (Kokkos::Array< OutputScalar, 3 > &VRIGHTTRI, const OutputScalar &mu1, const Kokkos::Array< OutputScalar, 3 > &mu1_grad, const OutputScalar &phi_i, const Kokkos::Array< OutputScalar, 3 > &phi_i_grad, const OutputScalar &t0, const Kokkos::Array< OutputScalar, 3 > &t0_grad) const |
| See Fuentes et al. (p. 455), definition of V_{ij}^{\trianglerighteq}. | |
| KOKKOS_INLINE_FUNCTION void | V_TRI (Kokkos::Array< OutputScalar, 3 > &VTRI, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &P, const OutputScratchView &P_2ip1, const Kokkos::Array< PointScalar, 3 > &vectorWeight) const |
| KOKKOS_INLINE_FUNCTION void | V_TRI_DIV (OutputScalar &VTRI_DIV, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &P, const OutputScratchView &P_2ip1, const OutputScalar &divWeight) const |
| KOKKOS_INLINE_FUNCTION void | V_TRI_B42 (Kokkos::Array< OutputScalar, 3 > &VTRI_mus0_mus1_s2_over_mu, const Kokkos::Array< OutputScalar, 3 > &VTRI_00_s0_s1_s2, const Kokkos::Array< OutputScalar, 3 > &EE_0_s0_s1, const OutputScalar &s2, const OutputScalar &mu, const Kokkos::Array< OutputScalar, 3 > &mu_grad, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &P_mus0_mus1, const OutputScratchView &P_2ip1_mus0pmus1_s2) const |
| See Equation (B.42) in Fuentes et al. Computes 1/mu V^{tri}_ij(mu s0, mu s1, s2). | |
| KOKKOS_INLINE_FUNCTION void | V_TRI_B42_DIV (OutputScalar &div_VTRI_mus0_mus1_s2_over_mu, const Kokkos::Array< OutputScalar, 3 > &VTRI_00_s0_s1_s2, const Kokkos::Array< OutputScalar, 3 > &EE_0_s0_s1, const OutputScalar &s2, const Kokkos::Array< OutputScalar, 3 > &s2_grad, const OutputScalar &mu, const Kokkos::Array< OutputScalar, 3 > &mu_grad, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &P_mus0_mus1, const OutputScratchView &P_2ip1_mus0pmus1_s2) const |
| See Equation (B.42) in Fuentes et al. Computes 1/mu V^{tri}_ij(mu s0, mu s1, s2). | |
| KOKKOS_INLINE_FUNCTION void | computeFaceVectorWeight (Kokkos::Array< OutputScalar, 3 > &vectorWeight, const PointScalar &s0, const Kokkos::Array< PointScalar, 3 > &s0Grad, const PointScalar &s1, const Kokkos::Array< PointScalar, 3 > &s1Grad, const PointScalar &s2, const Kokkos::Array< PointScalar, 3 > &s2Grad) const |
| KOKKOS_INLINE_FUNCTION void | computeFaceDivWeight (OutputScalar &divWeight, const Kokkos::Array< PointScalar, 3 > &s0Grad, const Kokkos::Array< PointScalar, 3 > &s1Grad, const Kokkos::Array< PointScalar, 3 > &s2Grad) const |
| KOKKOS_INLINE_FUNCTION void | computeGradHomLi (Kokkos::Array< OutputScalar, 3 > &HomLi_grad, const ordinal_type i, const OutputScratchView &HomPi_s0s1, const OutputScratchView &HomLi_dt_s0s1, const Kokkos::Array< PointScalar, 3 > &s0Grad, const Kokkos::Array< PointScalar, 3 > &s1Grad) const |
| KOKKOS_INLINE_FUNCTION void | operator() (const TeamMember &teamMember) const |
| size_t | team_shmem_size (int team_size) const |
Public Attributes | |
| EOperator | opType_ |
| OutputFieldType | output_ |
| InputPointsType | inputPoints_ |
| int | polyOrder_ |
| bool | useCGBasis_ |
| int | numFields_ |
| int | numPoints_ |
| size_t | fad_size_output_ |
| const int | edge_start_ [numEdges] = {0,1,2,3,0,1,2,3} |
| const int | edge_end_ [numEdges] = {1,2,3,0,4,4,4,4} |
| const int | tri_face_vertex_0 [numTriFaces] = {0,1,3,0} |
| const int | tri_face_vertex_1 [numTriFaces] = {1,2,2,3} |
| const int | tri_face_vertex_2 [numTriFaces] = {4,4,4,4} |
Static Public Attributes | |
| static const int | numVertices = 5 |
| static const int | numMixedEdges = 4 |
| static const int | numTriEdges = 4 |
| static const int | numEdges = 8 |
| static const int | numQuadFaces = 1 |
| static const int | numTriFaces = 4 |
Functor for computing values for the HierarchicalBasis_HDIV_PYR class.
This functor is not intended for use outside of HierarchicalBasis_HDIV_PYR.
Definition at line 47 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| using Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::ExecutionSpace = typename DeviceType::execution_space |
Definition at line 49 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| using Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::OutputScratchView = Kokkos::View<OutputScalar*,ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged> > |
Definition at line 51 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| using Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::OutputScratchView2D = Kokkos::View<OutputScalar**,ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged> > |
Definition at line 52 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| using Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::PointScratchView = Kokkos::View<PointScalar*, ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged> > |
Definition at line 53 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| using Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::ScratchSpace = typename ExecutionSpace::scratch_memory_space |
Definition at line 50 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| using Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::TeamMember = typename TeamPolicy::member_type |
Definition at line 56 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| using Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::TeamPolicy = Kokkos::TeamPolicy<ExecutionSpace> |
Definition at line 55 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 88 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 425 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 398 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 439 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
cross product: c = a x b
Definition at line 105 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
Referenced by Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::V_LEFT_TRI(), Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::V_QUAD(), Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::V_RIGHT_TRI(), Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::V_TRI_B42(), and Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::V_TRI_B42_DIV().
|
inline |
Definition at line 128 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
dot product: c = a \cdot b
Definition at line 116 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
Referenced by Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::V_TRI_B42_DIV().
|
inline |
Definition at line 140 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 155 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
The "quadrilateral face" H(curl) functions defined by Fuentes et al., Appendix E.2., p. 432 Here, HomPi_s01, HomLi_t01 are the homogenized Legendre polynomials [P](s0,s1) and homogenized integrated Legendre polynomials [L](t0,t1), given in Appendix E.1, p. 430
Definition at line 197 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 217 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 456 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 1226 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
See Fuentes et al. (p. 455), definition of V_{ij}^{\trianglelefteq}.
Definition at line 249 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
The "quadrilateral face" H(div) functions defined by Fuentes et al., Appendix E.2., p. 433 Here, PHom are the homogenized Legendre polynomials [P](s0,s1) and [P](t0,t1), given in Appendix E.1, p. 430
Definition at line 174 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
See Fuentes et al. (p. 455), definition of V_{ij}^{\trianglerighteq}.
Definition at line 277 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
Definition at line 293 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
See Equation (B.42) in Fuentes et al. Computes 1/mu V^{tri}_ij(mu s0, mu s1, s2).
Definition at line 326 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
inline |
See Equation (B.42) in Fuentes et al. Computes 1/mu V^{tri}_ij(mu s0, mu s1, s2).
Definition at line 362 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
References Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::cross(), and Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::dot().
|
inline |
Definition at line 311 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| const int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::edge_end_[numEdges] = {1,2,3,0,4,4,4,4} |
Definition at line 77 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| const int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::edge_start_[numEdges] = {0,1,2,3,0,1,2,3} |
Definition at line 76 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| size_t Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::fad_size_output_ |
Definition at line 67 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| InputPointsType Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::inputPoints_ |
Definition at line 61 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
static |
Definition at line 72 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFields_ |
Definition at line 65 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
static |
Definition at line 70 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numPoints_ |
Definition at line 65 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
static |
Definition at line 80 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
static |
Definition at line 71 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
static |
Definition at line 81 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
|
static |
Definition at line 69 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| EOperator Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::opType_ |
Definition at line 58 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| OutputFieldType Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::output_ |
Definition at line 60 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::polyOrder_ |
Definition at line 63 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| const int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::tri_face_vertex_0[numTriFaces] = {0,1,3,0} |
Definition at line 84 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| const int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::tri_face_vertex_1[numTriFaces] = {1,2,2,3} |
Definition at line 85 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| const int Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::tri_face_vertex_2[numTriFaces] = {4,4,4,4} |
Definition at line 86 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.
| bool Intrepid2::Hierarchical_HDIV_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::useCGBasis_ |
Definition at line 64 of file Intrepid2_HierarchicalBasis_HDIV_PYR.hpp.