Intrepid2
Classes | Functions
Intrepid2_DerivedBasisFamily.hpp File Reference

Stateless class representing a family of basis functions, templated on H(vol) and H(grad) on the line. Only hypercube topologies are supported at the moment, but the intent is ultimately to support all standard topologies. More...

#include "Intrepid2_Basis.hpp"
#include "Intrepid2_DerivedBasis_HGRAD_QUAD.hpp"
#include "Intrepid2_DerivedBasis_HCURL_QUAD.hpp"
#include "Intrepid2_DerivedBasis_HDIV_QUAD.hpp"
#include "Intrepid2_DerivedBasis_HVOL_QUAD.hpp"
#include "Intrepid2_DerivedBasis_HGRAD_HEX.hpp"
#include "Intrepid2_DerivedBasis_HCURL_HEX.hpp"
#include "Intrepid2_DerivedBasis_HDIV_HEX.hpp"
#include "Intrepid2_DerivedBasis_HVOL_HEX.hpp"
#include "Intrepid2_DerivedBasis_HGRAD_WEDGE.hpp"
#include "Intrepid2_DerivedBasis_HCURL_WEDGE.hpp"
#include "Intrepid2_DerivedBasis_HDIV_WEDGE.hpp"
#include "Intrepid2_DerivedBasis_HVOL_WEDGE.hpp"
#include "Intrepid2_SerendipityBasis.hpp"

Go to the source code of this file.

Classes

class  Intrepid2::EmptyBasisFamily
 EmptyBasisFamily allows us to set a default void family for a given topology. More...
 
class  Intrepid2::DerivedBasisFamily< LineBasisHGRAD, LineBasisHVOL, TriangleBasisFamily, TetrahedronBasisFamily, PyramidBasisFamily >
 A family of basis functions, constructed from H(vol) and H(grad) bases on the line. More...
 

Functions

template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getLineBasis (Intrepid2::EFunctionSpace fs, int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for line bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getQuadrilateralBasis (Intrepid2::EFunctionSpace fs, int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic quadrilateral bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getQuadrilateralBasis (Intrepid2::EFunctionSpace fs, int polyOrder_x, int polyOrder_y, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for potentially anisotropic quadrilateral bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getHexahedronBasis (Intrepid2::EFunctionSpace fs, int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic bases on the hexahedron in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getHypercubeBasis_HGRAD (int polyOrder, int spaceDim, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic HGRAD bases on a hypercube for the given family. Note that this will return a Line<2> for its base cell topology. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getHypercubeBasis_HVOL (int polyOrder, int spaceDim, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic HVOL bases on a hypercube for the given family. Note that this will return a Line<2> for its base cell topology. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getHexahedronBasis (Intrepid2::EFunctionSpace fs, int polyOrder_x, int polyOrder_y, int polyOrder_z, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for potentially anisotropic hexahedron bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getSerendipityBasis_HGRAD (int polyOrder, int spaceDim)
 Factory method for isotropic HGRAD Serendipity bases on a hypercube for the given family. Note that this will return a Line<2> for its base cell topology. Note also that the family must use hierarchical bases. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getSerendipityBasis_HVOL (int polyOrder, int spaceDim)
 Factory method for isotropic HGRAD Serendipity bases on a hypercube for the given family. Note that this will return a Line<2> for its base cell topology. Note also that the family must use hierarchical bases. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getTetrahedronBasis (Intrepid2::EFunctionSpace fs, int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic tetrahedron bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getTriangleBasis (Intrepid2::EFunctionSpace fs, int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic triangle bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getWedgeBasis (Intrepid2::EFunctionSpace fs, int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic wedge bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getWedgeBasis (Intrepid2::EFunctionSpace fs, ordinal_type polyOrder_xy, ordinal_type polyOrder_z, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for anisotropic wedge bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getPyramidBasis (Intrepid2::EFunctionSpace fs, ordinal_type polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for pyramid bases in the given family. More...
 
template<class BasisFamily >
static BasisFamily::BasisPtr Intrepid2::getBasis (const shards::CellTopology &cellTopo, Intrepid2::EFunctionSpace fs, int polyOrder, const EPointType pointType=POINTTYPE_DEFAULT)
 Factory method for isotropic bases in the given family on the specified cell topology. More...
 

Detailed Description

Stateless class representing a family of basis functions, templated on H(vol) and H(grad) on the line. Only hypercube topologies are supported at the moment, but the intent is ultimately to support all standard topologies.

Author
Created by N.V. Roberts.

Definition in file Intrepid2_DerivedBasisFamily.hpp.