Intrepid2
Intrepid2_DerivedBasis_HCURL_WEDGE.hpp File Reference

Implementation of H(curl) basis on the wedge that is templated on H(grad,tri), H(curl,tri), H(grad,line), and H(vol,line). More...

#include <Kokkos_DynRankView.hpp>
#include "Intrepid2_Polynomials.hpp"
#include "Intrepid2_Sacado.hpp"
#include "Intrepid2_DirectSumBasis.hpp"
#include "Intrepid2_TensorBasis.hpp"

Go to the source code of this file.

Classes

class  Intrepid2::Basis_Derived_HCURL_Family1_WEDGE< HCURL_TRI, HGRAD_LINE >
class  Intrepid2::Basis_Derived_HCURL_Family2_WEDGE< HGRAD_TRI, HVOL_LINE >
class  Intrepid2::Basis_Derived_HCURL_WEDGE< HGRAD_TRI, HCURL_TRI, HGRAD_LINE, HVOL_LINE >

Detailed Description

Implementation of H(curl) basis on the wedge that is templated on H(grad,tri), H(curl,tri), H(grad,line), and H(vol,line).

Author
Created by N.V. Roberts.

This class constructs the H(curl) space as the direct sum of two families of tensor-product bases on the triangle and line:

  • family 1: H(curl,tri) x H(grad,line), placed in the x and y components of vector output
  • family 2: H(grad,tri) x H(vol,line), placed in the z component of vector output

The way that each family decomposes into operators on the component bases cannot be expressed simply with scalar weights and EOperators on component bases; instead, a 90-degree rotation is required for the curl evaluations. This motivated the addition of a boolean flag indicating such a rotation in OperatorTensorDecomposition.

Our Family 1 corresponds to the following ESEAS entities:

  • mixed edges
  • triangle faces, Family I and II
  • quadrilateral faces, Family II
  • Interior Family I
  • Interior Family II.

Our Family 2 corresponds to:

  • quadrilateral edges
  • quadrilateral faces, Family I
  • Interior Family III.

See p. 449 in Fuentes et al. (https://doi.org/10.1016/j.camwa.2015.04.027).

Definition in file Intrepid2_DerivedBasis_HCURL_WEDGE.hpp.