Public Member Functions | |
CubicHermite () | |
bool | supportsCellTypePair (const CellType &maximalCellType, const CellType &cellType) const |
Inform caller as to whether a given cell type is supported. | |
void | print (std::ostream &os) const |
int | order () const |
int | nReferenceDOFsWithoutFacets (const CellType &maximalCellType, const CellType &cellType) const |
void | getReferenceDOFs (const CellType &maximalCellType, const CellType &cellType, Array< Array< Array< int > > > &dofs) const |
void | refEval (const CellType &cellType, const Array< Point > &pts, const SpatialDerivSpecifier &deriv, Array< Array< Array< double > > > &result, int verbosity=0) const |
virtual bool | requiresBasisTransformation () const |
Indicates whether mapping the basis requires an additional correction. | |
void | preApplyTransformation (const CellType &maxCellType, const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const |
Default transformation does nothing. | |
void | postApplyTransformation (const CellType &maxCellType, const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const |
Default transformation does nothing. | |
void | preApplyTransformationTranspose (const CellType &maxCellType, const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, Array< double > &A) const |
Default transformation does nothing. | |
Handleable interface | |
static Array< int > | makeRange (int low, int high) |
void | evalOnLine (const Point &pt, const MultiIndex &deriv, Array< double > &result) const |
void | evalOnTriangle (const Point &pt, const MultiIndex &deriv, Array< double > &result) const |
void | evalOnTet (const Point &pt, const MultiIndex &deriv, Array< double > &result) const |
void | preApplyTransformationTriangle (const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const |
void | postApplyTransformationTriangle (const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, RCP< Array< double > > &A) const |
void | preApplyTransformationTransposeTriangle (const Mesh &mesh, const Array< int > &cellLIDs, const CellJacobianBatch &JVol, Array< double > &A) const |
void | getVertexH (const Mesh &mesh, const Array< int > &cellLIDs, Array< double > &cellVertexH) const |
Definition at line 43 of file SundanceCubicHermite.hpp.
Sundance::CubicHermite::CubicHermite | ( | ) | [inline] |
Definition at line 47 of file SundanceCubicHermite.hpp.
void CubicHermite::evalOnLine | ( | const Point & | pt, | |
const MultiIndex & | deriv, | |||
Array< double > & | result | |||
) | const [private] |
evaluate on a line cell
Definition at line 248 of file SundanceCubicHermite.cpp.
References Sundance::MultiIndex::order(), and Sundance::ADReal::value().
Referenced by refEval().
void CubicHermite::evalOnTet | ( | const Point & | pt, | |
const MultiIndex & | deriv, | |||
Array< double > & | result | |||
) | const [private] |
evaluate on a tet cell
Definition at line 309 of file SundanceCubicHermite.cpp.
void CubicHermite::evalOnTriangle | ( | const Point & | pt, | |
const MultiIndex & | deriv, | |||
Array< double > & | result | |||
) | const [private] |
evaluate on a triangle cell
Definition at line 275 of file SundanceCubicHermite.cpp.
References Sundance::MultiIndex::firstOrderDirection(), Sundance::MultiIndex::order(), SUNDANCE_OUT, Sundance::value, Sundance::ADReal::value(), and Playa::ObjectWithVerbosity::verb().
Referenced by refEval().
void CubicHermite::getReferenceDOFs | ( | const CellType & | maximalCellType, | |
const CellType & | cellType, | |||
Array< Array< Array< int > > > & | dofs | |||
) | const [virtual] |
Implements Sundance::BasisDOFTopologyBase.
Definition at line 131 of file SundanceCubicHermite.cpp.
References Sundance::LineCell, Sundance::PointCell, and Sundance::TriangleCell.
void CubicHermite::getVertexH | ( | const Mesh & | mesh, | |
const Array< int > & | cellLIDs, | |||
Array< double > & | cellVertexH | |||
) | const [private] |
Definition at line 508 of file SundanceCubicHermite.cpp.
References Sundance::Mesh::numCells().
Referenced by postApplyTransformationTriangle(), preApplyTransformationTransposeTriangle(), and preApplyTransformationTriangle().
static Array<int> Sundance::CubicHermite::makeRange | ( | int | low, | |
int | high | |||
) | [static, private] |
int CubicHermite::nReferenceDOFsWithoutFacets | ( | const CellType & | maximalCellType, | |
const CellType & | cellType | |||
) | const [virtual] |
return the number of nodes for this basis on the given cell type
Implements Sundance::BasisDOFTopologyBase.
Definition at line 91 of file SundanceCubicHermite.cpp.
References Sundance::LineCell, Sundance::PointCell, and Sundance::TriangleCell.
int Sundance::CubicHermite::order | ( | ) | const [inline, virtual] |
void CubicHermite::postApplyTransformation | ( | const CellType & | maxCellType, | |
const Mesh & | mesh, | |||
const Array< int > & | cellLIDs, | |||
const CellJacobianBatch & | JVol, | |||
RCP< Array< double > > & | A | |||
) | const [virtual] |
Default transformation does nothing.
Reimplemented from Sundance::BasisFamilyBase.
Definition at line 339 of file SundanceCubicHermite.cpp.
References postApplyTransformationTriangle(), and Sundance::TriangleCell.
void CubicHermite::postApplyTransformationTriangle | ( | const Mesh & | mesh, | |
const Array< int > & | cellLIDs, | |||
const CellJacobianBatch & | JVol, | |||
RCP< Array< double > > & | A | |||
) | const [private] |
Definition at line 417 of file SundanceCubicHermite.cpp.
References getVertexH(), Sundance::CellJacobianBatch::jVals(), and Sundance::CellJacobianBatch::numCells().
Referenced by postApplyTransformation().
void CubicHermite::preApplyTransformation | ( | const CellType & | maxCellType, | |
const Mesh & | mesh, | |||
const Array< int > & | cellLIDs, | |||
const CellJacobianBatch & | JVol, | |||
RCP< Array< double > > & | A | |||
) | const [virtual] |
Default transformation does nothing.
Reimplemented from Sundance::BasisFamilyBase.
Definition at line 321 of file SundanceCubicHermite.cpp.
References preApplyTransformationTriangle(), and Sundance::TriangleCell.
void CubicHermite::preApplyTransformationTranspose | ( | const CellType & | maxCellType, | |
const Mesh & | mesh, | |||
const Array< int > & | cellLIDs, | |||
const CellJacobianBatch & | JVol, | |||
Array< double > & | A | |||
) | const [virtual] |
Default transformation does nothing.
Reimplemented from Sundance::BasisFamilyBase.
Definition at line 357 of file SundanceCubicHermite.cpp.
References preApplyTransformationTransposeTriangle(), and Sundance::TriangleCell.
void CubicHermite::preApplyTransformationTransposeTriangle | ( | const Mesh & | mesh, | |
const Array< int > & | cellLIDs, | |||
const CellJacobianBatch & | JVol, | |||
Array< double > & | A | |||
) | const [private] |
Definition at line 467 of file SundanceCubicHermite.cpp.
References getVertexH(), Sundance::CellJacobianBatch::jVals(), and Sundance::CellJacobianBatch::numCells().
Referenced by preApplyTransformationTranspose().
void CubicHermite::preApplyTransformationTriangle | ( | const Mesh & | mesh, | |
const Array< int > & | cellLIDs, | |||
const CellJacobianBatch & | JVol, | |||
RCP< Array< double > > & | A | |||
) | const [private] |
Definition at line 376 of file SundanceCubicHermite.cpp.
References getVertexH(), Sundance::CellJacobianBatch::jVals(), and Sundance::CellJacobianBatch::numCells().
Referenced by preApplyTransformation().
void CubicHermite::print | ( | std::ostream & | os | ) | const [virtual] |
void CubicHermite::refEval | ( | const CellType & | cellType, | |
const Array< Point > & | pts, | |||
const SpatialDerivSpecifier & | deriv, | |||
Array< Array< Array< double > > > & | result, | |||
int | verbosity = 0 | |||
) | const [virtual] |
Implements Sundance::BasisReferenceEvaluationBase.
Definition at line 206 of file SundanceCubicHermite.cpp.
References evalOnLine(), evalOnTriangle(), Sundance::SpatialDerivSpecifier::isIdentity(), Sundance::SpatialDerivSpecifier::isPartial(), Sundance::LineCell, Sundance::SpatialDerivSpecifier::mi(), Sundance::PointCell, and Sundance::TriangleCell.
virtual bool Sundance::CubicHermite::requiresBasisTransformation | ( | ) | const [inline, virtual] |
Indicates whether mapping the basis requires an additional correction.
Reimplemented from Sundance::BasisFamilyBase.
Definition at line 83 of file SundanceCubicHermite.hpp.
bool CubicHermite::supportsCellTypePair | ( | const CellType & | maximalCellType, | |
const CellType & | cellType | |||
) | const [virtual] |
Inform caller as to whether a given cell type is supported.
Implements Sundance::BasisDOFTopologyBase.
Definition at line 44 of file SundanceCubicHermite.cpp.
References Sundance::LineCell, Sundance::PointCell, and Sundance::TriangleCell.