Intrepid2
|
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 > |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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.
Definition in file Intrepid2_DerivedBasisFamily.hpp.
|
static |
Factory method for isotropic bases in the given family on the specified cell topology.
[in] | cellTopo | - the cell topology on which the basis is defined. |
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
At present, only hypercube topologies are supported. Once basis families support other element types, this method can be updated so that it also supports other element types.
Definition at line 404 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getBasis().
Referenced by Intrepid2::getBasis().
|
static |
Factory method for isotropic bases on the hexahedron in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 200 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getHexahedronBasis().
Referenced by Intrepid2::getHexahedronBasis(), and Intrepid2::getHexahedronBasis().
|
static |
Factory method for potentially anisotropic hexahedron bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder_x | - the polynomial order of the basis in the x dimension. |
[in] | polyOrder_y | - the polynomial order of the basis in the y dimension. |
[in] | polyOrder_z | - the polynomial order of the basis in the z dimension. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 270 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getHexahedronBasis().
|
static |
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.
[in] | polyOrder | - the polynomial order of the basis. |
[in] | spaceDim | - the number of dimensions for the hypercube on which the basis is defined. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 220 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getHypercubeBasis_HGRAD().
Referenced by Intrepid2::getHypercubeBasis_HGRAD().
|
static |
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.
[in] | polyOrder | - the polynomial order of the basis. |
[in] | spaceDim | - the number of dimensions for the hypercube on which the basis is defined. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 244 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getHypercubeBasis_HVOL().
Referenced by Intrepid2::getHypercubeBasis_HVOL().
|
static |
Factory method for line bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 141 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getLineBasis().
Referenced by Intrepid2::getLineBasis().
|
static |
Factory method for isotropic quadrilateral bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 159 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getQuadrilateralBasis().
Referenced by Intrepid2::getQuadrilateralBasis(), and Intrepid2::getQuadrilateralBasis().
|
static |
Factory method for potentially anisotropic quadrilateral bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder_x | - the polynomial order of the basis in the x dimension. |
[in] | polyOrder_y | - the polynomial order of the basis in the y dimension. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 180 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getQuadrilateralBasis().
|
static |
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.
[in] | polyOrder | - the polynomial order of the basis. |
[in] | spaceDim | - the number of dimensions for the hypercube on which the basis is defined. |
Definition at line 289 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getSerendipityBasis_HGRAD().
Referenced by Intrepid2::getSerendipityBasis_HGRAD().
|
static |
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.
[in] | polyOrder | - the polynomial order of the basis. |
[in] | spaceDim | - the number of dimensions for the hypercube on which the basis is defined. |
Definition at line 304 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getSerendipityBasis_HVOL().
Referenced by Intrepid2::getSerendipityBasis_HVOL().
|
static |
Factory method for isotropic tetrahedron bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 320 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getTetrahedronBasis().
Referenced by Intrepid2::getTetrahedronBasis().
|
static |
Factory method for isotropic triangle bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 340 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getTriangleBasis().
Referenced by Intrepid2::getTriangleBasis().
|
static |
Factory method for isotropic wedge bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 360 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getWedgeBasis().
Referenced by Intrepid2::getWedgeBasis(), and Intrepid2::getWedgeBasis().
|
static |
Factory method for anisotropic wedge bases in the given family.
[in] | fs | - the function space for the basis. |
[in] | polyOrder | - the polynomial order of the basis. |
[in] | pointType | - type of lattice used for creating the DoF coordinates. |
Definition at line 380 of file Intrepid2_DerivedBasisFamily.hpp.
References Intrepid2::getWedgeBasis().