Public Member Functions | |
CurveEvalMediator (const Mesh &mesh, const ParametrizedCurve ¶mcurve, int cellDim, const QuadratureFamily &quad) | |
virtual | ~CurveEvalMediator () |
virtual void | evalCoordExpr (const CoordExpr *expr, RCP< EvalVector > &vec) const |
virtual void | evalDiscreteFuncElement (const DiscreteFuncElement *expr, const Array< MultiIndex > &mi, Array< RCP< EvalVector > > &vec) const |
virtual void | evalCellDiameterExpr (const CellDiameterExpr *expr, RCP< EvalVector > &vec) const |
virtual void | evalCurveNormExpr (const CurveNormExpr *expr, RCP< EvalVector > &vec) const |
virtual void | evalCellVectorExpr (const CellVectorExpr *expr, RCP< EvalVector > &vec) const |
virtual void | setCellType (const CellType &cellType, const CellType &maxCellType, bool isInternalBdry) |
virtual void | print (std::ostream &os) const |
RCP< Array< Array< Array < double > > > > | getFacetRefBasisVals (const BasisFamily &basis, int diffOrder) const |
int | numQuadPts (const CellType &cellType) const |
int | numEvaluationCases () const |
Static Public Member Functions | |
static double & | totalFlops () |
static void | addFlops (const double &flops) |
static Time & | coordEvaluationTimer () |
Private Attributes | |
int | numEvaluationCases_ |
QuadratureFamily | quad_ |
int | numQuadPtsForMaxCell_ |
CellType | maxCellType_ |
CellType | curveCellType_ |
ParametrizedCurve | paramcurve_ |
Definition at line 49 of file SundanceCurveEvalMediator.hpp.
Sundance::CurveEvalMediator::CurveEvalMediator | ( | const Mesh & | mesh, | |
const ParametrizedCurve & | paramcurve, | |||
int | cellDim, | |||
const QuadratureFamily & | quad | |||
) |
virtual Sundance::CurveEvalMediator::~CurveEvalMediator | ( | ) | [inline, virtual] |
Definition at line 62 of file SundanceCurveEvalMediator.hpp.
static void Sundance::CurveEvalMediator::addFlops | ( | const double & | flops | ) | [inline, static] |
Time & CurveEvalMediator::coordEvaluationTimer | ( | ) | [static] |
Definition at line 74 of file SundanceCurveEvalMediator.cpp.
void CurveEvalMediator::evalCellDiameterExpr | ( | const CellDiameterExpr * | expr, | |
RCP< EvalVector > & | vec | |||
) | const [virtual] |
Evaluate the given cell diameter expression, putting its numerical values in the given EvalVector.
Implements Sundance::AbstractEvalMediator.
Definition at line 125 of file SundanceCurveEvalMediator.cpp.
References Sundance::StdFwkEvalMediator::cellDim(), Sundance::StdFwkEvalMediator::cellLID(), Sundance::StdFwkEvalMediator::cellType(), Sundance::Mesh::getCellDiameters(), Sundance::StdFwkEvalMediator::mesh(), numQuadPts(), SUNDANCE_MSG2, SUNDANCE_MSG3, Sundance::ExprBase::toString(), and Sundance::AbstractEvalMediator::verb().
void CurveEvalMediator::evalCellVectorExpr | ( | const CellVectorExpr * | expr, | |
RCP< EvalVector > & | vec | |||
) | const [virtual] |
Evaluate the given cell vector expression, putting its numerical values in the given EvalVector.
Implements Sundance::AbstractEvalMediator.
Definition at line 154 of file SundanceCurveEvalMediator.cpp.
References Sundance::StdFwkEvalMediator::cellDim(), Sundance::StdFwkEvalMediator::cellLID(), Sundance::StdFwkEvalMediator::cellType(), Sundance::CellVectorExpr::componentIndex(), Sundance::CellVectorExpr::isNormal(), Sundance::StdFwkEvalMediator::mesh(), numQuadPts(), Sundance::Mesh::outwardNormals(), SUNDANCE_MSG2, SUNDANCE_MSG3, Sundance::Mesh::tangentsToEdges(), Sundance::ExprBase::toString(), and Sundance::AbstractEvalMediator::verb().
void CurveEvalMediator::evalCoordExpr | ( | const CoordExpr * | expr, | |
RCP< EvalVector > & | vec | |||
) | const [virtual] |
Evaluate the given coordinate expression, putting its numerical values in the given EvalVector.
Implements Sundance::AbstractEvalMediator.
Definition at line 194 of file SundanceCurveEvalMediator.cpp.
References Sundance::StdFwkEvalMediator::cellLID(), Sundance::StdFwkEvalMediator::cellType(), Sundance::CoordExpr::dir(), Sundance::Mesh::getCurvePoints(), Sundance::CurveIntegralCalc::getCurveQuadPoints(), Sundance::Mesh::hasCurvePoints(), maxCellType_, Sundance::StdFwkEvalMediator::mesh(), numQuadPts(), paramcurve_, Sundance::Mesh::pushForward(), quad_, Sundance::Mesh::setCurvePoints(), Sundance::Mesh::spatialDim(), SUNDANCE_MSG2, SUNDANCE_MSG3, Sundance::ExprBase::toString(), and Sundance::AbstractEvalMediator::verb().
void CurveEvalMediator::evalCurveNormExpr | ( | const CurveNormExpr * | expr, | |
RCP< EvalVector > & | vec | |||
) | const [virtual] |
Evaluates one component of the normal vector to a given parameterized curve i.e. x,y or z component of that vector in 3D
, this method is only in the CurveEvalMediator class implemented
Reimplemented from Sundance::AbstractEvalMediator.
Definition at line 252 of file SundanceCurveEvalMediator.cpp.
References Sundance::StdFwkEvalMediator::cellLID(), Sundance::StdFwkEvalMediator::cellType(), Sundance::CurveNormExpr::dir(), Sundance::Mesh::getCurvePoints(), Sundance::CurveIntegralCalc::getCurveQuadPoints(), Sundance::Mesh::hasCurvePoints(), maxCellType_, Sundance::StdFwkEvalMediator::mesh(), numQuadPts(), paramcurve_, quad_, Sundance::Mesh::setCurvePoints(), SUNDANCE_MSG2, SUNDANCE_MSG3, Sundance::ExprBase::toString(), and Sundance::AbstractEvalMediator::verb().
void CurveEvalMediator::evalDiscreteFuncElement | ( | const DiscreteFuncElement * | expr, | |
const Array< MultiIndex > & | mi, | |||
Array< RCP< EvalVector > > & | vec | |||
) | const [virtual] |
Evaluate the given discrete function, putting its numerical values in the given EvalVector.
Implements Sundance::AbstractEvalMediator.
Definition at line 306 of file SundanceCurveEvalMediator.cpp.
References Sundance::CellJacobianBatch::cellDim(), Sundance::BasisFamily::dim(), Sundance::CurveIntegralCalc::getCurveQuadPoints(), Sundance::DiscreteFunctionData::getData(), Sundance::CellJacobianBatch::getInvJ(), Sundance::DiscreteFuncElement::myIndex(), Sundance::BasisFamily::nReferenceDOFsWithFacets(), Sundance::CellJacobianBatch::numCells(), Sundance::MultiIndex::order(), Sundance::BasisFamily::refEval(), Sundance::CellJacobianBatch::spatialDim(), SUNDANCE_MSG2, Sundance::ExprBase::toString(), and vecPtr().
RCP<Array<Array<Array<double> > > > Sundance::CurveEvalMediator::getFacetRefBasisVals | ( | const BasisFamily & | basis, | |
int | diffOrder | |||
) | const |
int Sundance::CurveEvalMediator::numEvaluationCases | ( | ) | const [inline] |
Return the number of different cases for which reference basis functions must be evaluated. If we're on maximal cells, this will be one. If we're on lower-dimensional cells, this will be equal to the number of cellDim-dimensional facets of the maximal cells.
Definition at line 119 of file SundanceCurveEvalMediator.hpp.
References numEvaluationCases_.
int CurveEvalMediator::numQuadPts | ( | const CellType & | cellType | ) | const |
Definition at line 116 of file SundanceCurveEvalMediator.cpp.
References maxCellType_, and numQuadPtsForMaxCell_.
Referenced by evalCellDiameterExpr(), evalCellVectorExpr(), evalCoordExpr(), and evalCurveNormExpr().
void CurveEvalMediator::print | ( | std::ostream & | os | ) | const [virtual] |
void CurveEvalMediator::setCellType | ( | const CellType & | cellType, | |
const CellType & | maxCellType, | |||
bool | isInternalBdry | |||
) | [virtual] |
Reimplemented from Sundance::StdFwkEvalMediator.
Definition at line 79 of file SundanceCurveEvalMediator.cpp.
References Sundance::StdFwkEvalMediator::cellDim(), Sundance::StdFwkEvalMediator::forbidCofacetIntegrations(), Sundance::StdFwkEvalMediator::integrationCellSpec(), Sundance::StdFwkEvalMediator::isInternalBdry(), maxCellType_, numEvaluationCases_, SUNDANCE_MSG2, and Sundance::AbstractEvalMediator::verb().
static double& Sundance::CurveEvalMediator::totalFlops | ( | ) | [inline, static] |
Definition at line 140 of file SundanceCurveEvalMediator.hpp.
Reimplemented from Sundance::StdFwkEvalMediator.
Definition at line 137 of file SundanceCurveEvalMediator.hpp.
Referenced by evalCoordExpr(), evalCurveNormExpr(), numQuadPts(), and setCellType().
int Sundance::CurveEvalMediator::numEvaluationCases_ [private] |
Definition at line 128 of file SundanceCurveEvalMediator.hpp.
Referenced by numEvaluationCases(), and setCellType().
int Sundance::CurveEvalMediator::numQuadPtsForMaxCell_ [private] |
ParametrizedCurve Sundance::CurveEvalMediator::paramcurve_ [private] |
Definition at line 143 of file SundanceCurveEvalMediator.hpp.
Referenced by evalCoordExpr(), and evalCurveNormExpr().
Definition at line 131 of file SundanceCurveEvalMediator.hpp.
Referenced by evalCoordExpr(), and evalCurveNormExpr().