Public Member Functions | |
StdFwkEvalMediator (const Mesh &mesh, int cellDim) | |
virtual | ~StdFwkEvalMediator () |
void | setCellBatch (const RCP< const Array< int > > &cellLID) |
void | setIntegrationSpec (IntegrationCellSpecifier intCellSpec) |
virtual void | setCellType (const CellType &cellType, const CellType &maxCellType, bool isInternalBdry) |
const CellJacobianBatch & | JVol () const |
const CellJacobianBatch & | JTrans () const |
const Array< int > & | facetIndices () const |
const Array< int > & | maxCellLIDs () const |
int | cellDim () const |
int | maxCellDim () const |
const CellType & | cellType () const |
const CellType & | maxCellType () const |
const RCP< const Array< int > > & | cellLID () const |
const RCP< Array< int > > & | cofacetCellLID () const |
IntegrationCellSpecifier | integrationCellSpec () const |
bool | cofacetCellsAreReady () const |
bool | isInternalBdry () const |
bool | forbidCofacetIntegrations () const |
Protected Member Functions | |
const Mesh & | mesh () const |
Mesh & | mesh () |
bool & | cacheIsValid () const |
void | setupFacetTransformations () const |
Map< const DiscreteFunctionData *, RCP < Array< Array< double > > > > & | fCache () const |
Map< const DiscreteFunctionData *, RCP < Array< Array< double > > > > & | dfCache () const |
Map< const DiscreteFunctionData *, RCP < Array< Array< double > > > > & | localValueCache () const |
Map< const DiscreteFunctionData *, RCP < const MapStructure > > & | mapStructCache () const |
Map< const DiscreteFunctionData *, bool > & | fCacheIsValid () const |
Map< const DiscreteFunctionData *, bool > & | dfCacheIsValid () const |
Map< const DiscreteFunctionData *, bool > & | localValueCacheIsValid () const |
Private Attributes | |
Mesh | mesh_ |
int | cellDim_ |
CellType | cellType_ |
CellType | maxCellType_ |
bool | isInternalBdry_ |
bool | forbidCofacetIntegrations_ |
RCP< const Array< int > > | cellLID_ |
IntegrationCellSpecifier | intCellSpec_ |
RCP< CellJacobianBatch > | JVol_ |
RCP< CellJacobianBatch > | JTrans_ |
RCP< Array< int > > | facetIndices_ |
RCP< Array< int > > | maxCellLIDs_ |
bool | cofacetCellsAreReady_ |
bool | cacheIsValid_ |
bool | jCacheIsValid_ |
Map< const DiscreteFunctionData *, RCP < Array< Array< double > > > > | fCache_ |
Map< const DiscreteFunctionData *, RCP < Array< Array< double > > > > | dfCache_ |
Map< const DiscreteFunctionData *, RCP < Array< Array< double > > > > | localValueCache_ |
Map< const DiscreteFunctionData *, RCP < const MapStructure > > | mapStructCache_ |
Map< const DiscreteFunctionData *, bool > | fCacheIsValid_ |
Map< const DiscreteFunctionData *, bool > | dfCacheIsValid_ |
Map< const DiscreteFunctionData *, bool > | localValueCacheIsValid_ |
Definition at line 53 of file SundanceStdFwkEvalMediator.hpp.
StdFwkEvalMediator::StdFwkEvalMediator | ( | const Mesh & | mesh, | |
int | cellDim | |||
) |
Definition at line 51 of file SundanceStdFwkEvalMediator.cpp.
virtual Sundance::StdFwkEvalMediator::~StdFwkEvalMediator | ( | ) | [inline, virtual] |
Definition at line 61 of file SundanceStdFwkEvalMediator.hpp.
bool& Sundance::StdFwkEvalMediator::cacheIsValid | ( | ) | const [inline, protected] |
Definition at line 131 of file SundanceStdFwkEvalMediator.hpp.
References cacheIsValid_.
Referenced by setCellBatch(), and setCellType().
int Sundance::StdFwkEvalMediator::cellDim | ( | ) | const [inline] |
Definition at line 95 of file SundanceStdFwkEvalMediator.hpp.
References cellDim_.
Referenced by Sundance::CurveEvalMediator::evalCellDiameterExpr(), Sundance::CurveEvalMediator::evalCellVectorExpr(), setCellBatch(), Sundance::CurveEvalMediator::setCellType(), and setupFacetTransformations().
const RCP<const Array<int> >& Sundance::StdFwkEvalMediator::cellLID | ( | ) | const [inline] |
Definition at line 107 of file SundanceStdFwkEvalMediator.hpp.
References cellLID_.
Referenced by Sundance::CurveEvalMediator::evalCellDiameterExpr(), Sundance::CurveEvalMediator::evalCellVectorExpr(), Sundance::CurveEvalMediator::evalCoordExpr(), Sundance::CurveEvalMediator::evalCurveNormExpr(), and setCellBatch().
const CellType& Sundance::StdFwkEvalMediator::cellType | ( | ) | const [inline] |
Definition at line 101 of file SundanceStdFwkEvalMediator.hpp.
References cellType_.
Referenced by Sundance::CurveEvalMediator::evalCellDiameterExpr(), Sundance::CurveEvalMediator::evalCellVectorExpr(), Sundance::CurveEvalMediator::evalCoordExpr(), and Sundance::CurveEvalMediator::evalCurveNormExpr().
const RCP<Array<int> >& Sundance::StdFwkEvalMediator::cofacetCellLID | ( | ) | const [inline] |
bool Sundance::StdFwkEvalMediator::cofacetCellsAreReady | ( | ) | const [inline] |
Map<const DiscreteFunctionData*, RCP<Array<Array<double> > > >& Sundance::StdFwkEvalMediator::dfCache | ( | ) | const [inline, protected] |
Map<const DiscreteFunctionData*, bool>& Sundance::StdFwkEvalMediator::dfCacheIsValid | ( | ) | const [inline, protected] |
const Array<int>& Sundance::StdFwkEvalMediator::facetIndices | ( | ) | const [inline] |
When evaluating derivatives on boundaries, we evaluate basis functions on the maximal cofacets of the boundary cells. This function returns the facet index, relative to the maximal cofacet, of each boundary cell in the batch.
Definition at line 89 of file SundanceStdFwkEvalMediator.hpp.
References facetIndices_.
Map<const DiscreteFunctionData*, RCP<Array<Array<double> > > >& Sundance::StdFwkEvalMediator::fCache | ( | ) | const [inline, protected] |
Map<const DiscreteFunctionData*, bool>& Sundance::StdFwkEvalMediator::fCacheIsValid | ( | ) | const [inline, protected] |
bool Sundance::StdFwkEvalMediator::forbidCofacetIntegrations | ( | ) | const [inline] |
Definition at line 122 of file SundanceStdFwkEvalMediator.hpp.
References forbidCofacetIntegrations_.
Referenced by Sundance::CurveEvalMediator::setCellType().
IntegrationCellSpecifier Sundance::StdFwkEvalMediator::integrationCellSpec | ( | ) | const [inline] |
Definition at line 113 of file SundanceStdFwkEvalMediator.hpp.
References intCellSpec_.
Referenced by Sundance::CurveEvalMediator::setCellType().
bool Sundance::StdFwkEvalMediator::isInternalBdry | ( | ) | const [inline] |
Definition at line 119 of file SundanceStdFwkEvalMediator.hpp.
References isInternalBdry_.
Referenced by Sundance::CurveEvalMediator::setCellType().
const CellJacobianBatch & StdFwkEvalMediator::JTrans | ( | ) | const |
Return the Jacobian to be used in derivative transformations.
Definition at line 164 of file SundanceStdFwkEvalMediator.cpp.
References intCellSpec_, JTrans_, JVol_, and Sundance::NoTermsNeedCofacets.
const CellJacobianBatch& Sundance::StdFwkEvalMediator::JVol | ( | ) | const [inline] |
Return the Jacobian to be used in computing the volume of cells being integrated. This will not necessarily be the same as the Jacobian used for transformations of vectors: when integrating derivatives over boundaries, the volume is the volume of the facet, while the transformations are computed on the maximal cofacets.
Definition at line 80 of file SundanceStdFwkEvalMediator.hpp.
References JVol_.
Map<const DiscreteFunctionData*, RCP<Array<Array<double> > > >& Sundance::StdFwkEvalMediator::localValueCache | ( | ) | const [inline, protected] |
Map<const DiscreteFunctionData*, bool>& Sundance::StdFwkEvalMediator::localValueCacheIsValid | ( | ) | const [inline, protected] |
Map<const DiscreteFunctionData*, RCP<const MapStructure> >& Sundance::StdFwkEvalMediator::mapStructCache | ( | ) | const [inline, protected] |
int Sundance::StdFwkEvalMediator::maxCellDim | ( | ) | const [inline] |
Definition at line 98 of file SundanceStdFwkEvalMediator.hpp.
References mesh_, and Sundance::Mesh::spatialDim().
const Array<int>& Sundance::StdFwkEvalMediator::maxCellLIDs | ( | ) | const [inline] |
const CellType& Sundance::StdFwkEvalMediator::maxCellType | ( | ) | const [inline] |
Mesh& Sundance::StdFwkEvalMediator::mesh | ( | ) | [inline, protected] |
const Mesh& Sundance::StdFwkEvalMediator::mesh | ( | ) | const [inline, protected] |
Definition at line 127 of file SundanceStdFwkEvalMediator.hpp.
References mesh_.
Referenced by Sundance::CurveEvalMediator::evalCellDiameterExpr(), Sundance::CurveEvalMediator::evalCellVectorExpr(), Sundance::CurveEvalMediator::evalCoordExpr(), and Sundance::CurveEvalMediator::evalCurveNormExpr().
void StdFwkEvalMediator::setCellBatch | ( | const RCP< const Array< int > > & | cellLID | ) |
Definition at line 98 of file SundanceStdFwkEvalMediator.cpp.
References cacheIsValid(), cellDim(), cellLID(), cellLID_, cofacetCellsAreReady_, dfCacheIsValid_, fCacheIsValid_, Sundance::Mesh::getJacobians(), intCellSpec_, jCacheIsValid_, JVol_, localValueCacheIsValid_, mesh_, Sundance::NoTermsNeedCofacets, setupFacetTransformations(), SUNDANCE_MSG1, SUNDANCE_MSG2, and Sundance::AbstractEvalMediator::verb().
void StdFwkEvalMediator::setCellType | ( | const CellType & | cellType, | |
const CellType & | maxCellType, | |||
bool | isInternalBdry | |||
) | [virtual] |
Update the cell type
Reimplemented in Sundance::CurveEvalMediator, and Sundance::QuadratureEvalMediator.
Definition at line 76 of file SundanceStdFwkEvalMediator.cpp.
References cacheIsValid(), cellDim_, cellType_, cofacetCellsAreReady_, Sundance::dimension(), forbidCofacetIntegrations_, isInternalBdry_, jCacheIsValid_, and maxCellType_.
void StdFwkEvalMediator::setIntegrationSpec | ( | IntegrationCellSpecifier | intCellSpec | ) |
void StdFwkEvalMediator::setupFacetTransformations | ( | ) | const [protected] |
Definition at line 131 of file SundanceStdFwkEvalMediator.cpp.
References cellDim(), cellLID_, cofacetCellsAreReady_, facetIndices_, Sundance::Mesh::getJacobians(), JTrans_, maxCellLIDs_, Sundance::Mesh::maxCofacetLID(), mesh_, Sundance::Mesh::numCells(), Sundance::Mesh::spatialDim(), SUNDANCE_MSG1, SUNDANCE_MSG2, and Sundance::AbstractEvalMediator::verb().
Referenced by setCellBatch().
bool Sundance::StdFwkEvalMediator::cacheIsValid_ [mutable, private] |
int Sundance::StdFwkEvalMediator::cellDim_ [private] |
Definition at line 157 of file SundanceStdFwkEvalMediator.hpp.
Referenced by cellDim(), and setCellType().
RCP<const Array<int> > Sundance::StdFwkEvalMediator::cellLID_ [private] |
Definition at line 167 of file SundanceStdFwkEvalMediator.hpp.
Referenced by cellLID(), setCellBatch(), and setupFacetTransformations().
Definition at line 159 of file SundanceStdFwkEvalMediator.hpp.
Referenced by cellType(), and setCellType().
bool Sundance::StdFwkEvalMediator::cofacetCellsAreReady_ [mutable, private] |
Definition at line 179 of file SundanceStdFwkEvalMediator.hpp.
Referenced by cofacetCellsAreReady(), setCellBatch(), setCellType(), and setupFacetTransformations().
Map<const DiscreteFunctionData*, RCP<Array<Array<double> > > > Sundance::StdFwkEvalMediator::dfCache_ [mutable, private] |
Map<const DiscreteFunctionData*, bool> Sundance::StdFwkEvalMediator::dfCacheIsValid_ [mutable, private] |
Definition at line 199 of file SundanceStdFwkEvalMediator.hpp.
Referenced by dfCacheIsValid(), and setCellBatch().
RCP<Array<int> > Sundance::StdFwkEvalMediator::facetIndices_ [mutable, private] |
Definition at line 175 of file SundanceStdFwkEvalMediator.hpp.
Referenced by facetIndices(), and setupFacetTransformations().
Map<const DiscreteFunctionData*, RCP<Array<Array<double> > > > Sundance::StdFwkEvalMediator::fCache_ [mutable, private] |
Map<const DiscreteFunctionData*, bool> Sundance::StdFwkEvalMediator::fCacheIsValid_ [mutable, private] |
Definition at line 197 of file SundanceStdFwkEvalMediator.hpp.
Referenced by fCacheIsValid(), and setCellBatch().
bool Sundance::StdFwkEvalMediator::forbidCofacetIntegrations_ [private] |
Definition at line 165 of file SundanceStdFwkEvalMediator.hpp.
Referenced by forbidCofacetIntegrations(), and setCellType().
IntegrationCellSpecifier Sundance::StdFwkEvalMediator::intCellSpec_ [mutable, private] |
Definition at line 169 of file SundanceStdFwkEvalMediator.hpp.
Referenced by integrationCellSpec(), JTrans(), setCellBatch(), and setIntegrationSpec().
bool Sundance::StdFwkEvalMediator::isInternalBdry_ [private] |
Definition at line 163 of file SundanceStdFwkEvalMediator.hpp.
Referenced by isInternalBdry(), and setCellType().
bool Sundance::StdFwkEvalMediator::jCacheIsValid_ [mutable, private] |
Definition at line 183 of file SundanceStdFwkEvalMediator.hpp.
Referenced by setCellBatch(), and setCellType().
RCP<CellJacobianBatch> Sundance::StdFwkEvalMediator::JTrans_ [mutable, private] |
Definition at line 173 of file SundanceStdFwkEvalMediator.hpp.
Referenced by JTrans(), and setupFacetTransformations().
RCP<CellJacobianBatch> Sundance::StdFwkEvalMediator::JVol_ [mutable, private] |
Definition at line 171 of file SundanceStdFwkEvalMediator.hpp.
Referenced by JTrans(), JVol(), and setCellBatch().
Map<const DiscreteFunctionData*, RCP<Array<Array<double> > > > Sundance::StdFwkEvalMediator::localValueCache_ [mutable, private] |
Map<const DiscreteFunctionData*, bool> Sundance::StdFwkEvalMediator::localValueCacheIsValid_ [mutable, private] |
Definition at line 201 of file SundanceStdFwkEvalMediator.hpp.
Referenced by localValueCacheIsValid(), and setCellBatch().
Map<const DiscreteFunctionData*, RCP<const MapStructure> > Sundance::StdFwkEvalMediator::mapStructCache_ [mutable, private] |
RCP<Array<int> > Sundance::StdFwkEvalMediator::maxCellLIDs_ [mutable, private] |
Definition at line 177 of file SundanceStdFwkEvalMediator.hpp.
Referenced by cofacetCellLID(), maxCellLIDs(), and setupFacetTransformations().
Reimplemented in Sundance::CurveEvalMediator.
Definition at line 161 of file SundanceStdFwkEvalMediator.hpp.
Referenced by maxCellType(), and setCellType().
Mesh Sundance::StdFwkEvalMediator::mesh_ [private] |
Definition at line 155 of file SundanceStdFwkEvalMediator.hpp.
Referenced by maxCellDim(), mesh(), setCellBatch(), and setupFacetTransformations().