Public Member Functions | |
DOFMapBuilder (int setupVerb) | |
DOFMapBuilder (const Mesh &mesh, const RCP< FunctionSupportResolver > &fsr, bool findBCCols, int setupVerb) | |
const Array< RCP< DOFMapBase > > & | rowMap () const |
const Array< RCP< DOFMapBase > > & | colMap () const |
const Array< RCP< Array< int > > > & | isBCRow () const |
const Array< RCP< Array< int > > > & | isBCCol () const |
const Array< RCP< std::set < int > > > & | remoteBCCols () const |
Array< Array< RCP < BasisDOFTopologyBase > > > | testBasisTopologyArray () const |
Array< Array< RCP < BasisDOFTopologyBase > > > | unkBasisTopologyArray () const |
Array< Array< Set< CellFilter > > > | testCellFilters () const |
Array< Array< Set< CellFilter > > > | unkCellFilters () const |
const Mesh & | mesh () const |
RCP< DOFMapBase > | makeMap (const Mesh &mesh, const Array< RCP< BasisDOFTopologyBase > > &basis, const Array< Set< CellFilter > > &filters) |
bool | hasOmnipresentNodalMap (const Array< RCP< BasisDOFTopologyBase > > &basis, const Mesh &mesh, const Array< Set< CellFilter > > &filters) const |
bool | hasCommonDomain (const Array< Set< CellFilter > > &filters) const |
bool | hasNodalBasis (const Array< RCP< BasisDOFTopologyBase > > &basis) const |
bool | hasEdgeLocalizedBasis (const Array< RCP< BasisDOFTopologyBase > > &basis) const |
bool | hasCellBasis (const Array< RCP< BasisDOFTopologyBase > > &basis) const |
bool | filtersAreZeroDimensional (const Mesh &mesh, const Array< Set< CellFilter > > &filters) const |
bool | allFuncsAreOmnipresent (const Mesh &mesh, const Array< Set< CellFilter > > &filters) const |
bool | isWholeDomain (const Mesh &mesh, int maxFilterDim, const Set< CellFilter > &filters) const |
CellFilter | getMaxCellFilter (const Array< Set< CellFilter > > &filters) const |
void | extractUnkSetsFromFSR (const FunctionSupportResolver &fsr, Array< Set< int > > &funcSets, Array< CellFilter > ®ions) const |
void | extractVarSetsFromFSR (const FunctionSupportResolver &fsr, Array< Set< int > > &funcSets, Array< CellFilter > ®ions) const |
const RCP < FunctionSupportResolver > & | fsr () const |
Sundance::Map< Set< int >, Set < CellFilter > > | buildFuncSetToCFSetMap (const Array< Set< int > > &funcSets, const Array< CellFilter > ®ions, const Mesh &mesh) const |
void | getSubdomainUnkFuncMatches (const FunctionSupportResolver &fsr, Array< Sundance::Map< CellFilter, Set< int > > > &fmap) const |
void | getSubdomainVarFuncMatches (const FunctionSupportResolver &fsr, Array< Sundance::Map< CellFilter, Set< int > > > &fmap) const |
Array< Sundance::Map< Set< int > , CellFilter > > | funcDomains (const Mesh &mesh, const Sundance::Map< CellFilter, Set< int > > &fmap, Sundance::Map< CellFilter, Sundance::Map< Set< int >, CellSet > > &inputToChildrenMap) const |
Sundance::Map< CellFilter, Set < int > > | domainToFuncSetMap (const Array< Set< CellFilter > > &filters) const |
Static Public Member Functions | |
static bool & | allowNodalMap () |
Private Member Functions | |
Set< CellFilter > | reduceCellFilters (const Mesh &mesh, const Set< CellFilter > &inputSet) const |
bool | hasUnks () const |
bool | unksAreOmnipresent () const |
bool | testsAreOmnipresent () const |
bool | regionIsMaximal (int r) const |
bool | isSymmetric (int block) const |
void | markBCRows (int block) |
void | markBCCols (int block) |
const MPIComm & | comm () const |
void | init (bool findBCCols) |
Private Attributes | |
int | verb_ |
Mesh | mesh_ |
RCP< FunctionSupportResolver > | fsr_ |
Array< RCP< DOFMapBase > > | rowMap_ |
Array< RCP< DOFMapBase > > | colMap_ |
Array< RCP< Array< int > > > | isBCRow_ |
Array< RCP< Array< int > > > | isBCCol_ |
Array< RCP< std::set< int > > > | remoteBCCols_ |
Related Functions | |
(Note that these are not member functions.) | |
Array< Array< BasisFamily > > | testBasisArray (const RCP< FunctionSupportResolver > &fsr) |
Array< Array< BasisFamily > > | unkBasisArray (const RCP< FunctionSupportResolver > &fsr) |
Definition at line 50 of file SundanceDOFMapBuilder.hpp.
DOFMapBuilder::DOFMapBuilder | ( | int | setupVerb | ) |
Definition at line 97 of file SundanceDOFMapBuilder.cpp.
DOFMapBuilder::DOFMapBuilder | ( | const Mesh & | mesh, | |
const RCP< FunctionSupportResolver > & | fsr, | |||
bool | findBCCols, | |||
int | setupVerb | |||
) |
bool DOFMapBuilder::allFuncsAreOmnipresent | ( | const Mesh & | mesh, | |
const Array< Set< CellFilter > > & | filters | |||
) | const |
Definition at line 531 of file SundanceDOFMapBuilder.cpp.
References Playa::MPIComm::allReduce(), Sundance::Set< Key, Compare >::begin(), Sundance::Mesh::comm(), Sundance::Set< Key, Compare >::end(), Playa::MPIDataType::intType(), isWholeDomain(), Sundance::Set< Key, Compare >::put(), and Playa::MPIOp::sumOp().
Referenced by hasOmnipresentNodalMap(), and makeMap().
static bool& Sundance::DOFMapBuilder::allowNodalMap | ( | ) | [inline, static] |
Sundance::Map< Set< int >, Set< CellFilter > > DOFMapBuilder::buildFuncSetToCFSetMap | ( | const Array< Set< int > > & | funcSets, | |
const Array< CellFilter > & | regions, | |||
const Mesh & | mesh | |||
) | const |
Definition at line 436 of file SundanceDOFMapBuilder.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), and Sundance::Map< Key, Value, Compare >::put().
const Array<RCP<DOFMapBase> >& Sundance::DOFMapBuilder::colMap | ( | ) | const [inline] |
Definition at line 63 of file SundanceDOFMapBuilder.hpp.
References colMap_.
Referenced by Sundance::DiscreteSpace::DiscreteSpace(), and markBCCols().
const MPIComm& Sundance::DOFMapBuilder::comm | ( | ) | const [inline, private] |
Definition at line 169 of file SundanceDOFMapBuilder.hpp.
References Sundance::Mesh::comm(), and mesh().
Sundance::Map< CellFilter, Set< int > > DOFMapBuilder::domainToFuncSetMap | ( | const Array< Set< CellFilter > > & | filters | ) | const |
Definition at line 208 of file SundanceDOFMapBuilder.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::Set< Key, Compare >::end(), Sundance::Map< Key, Value, Compare >::put(), SUNDANCE_MSG2, and verb_.
Referenced by makeMap().
void DOFMapBuilder::extractUnkSetsFromFSR | ( | const FunctionSupportResolver & | fsr, | |
Array< Set< int > > & | funcSets, | |||
Array< CellFilter > & | regions | |||
) | const |
Definition at line 409 of file SundanceDOFMapBuilder.cpp.
References Sundance::FunctionSupportResolver::bcUnksOnRegion(), Sundance::FunctionSupportResolver::numRegions(), Sundance::FunctionSupportResolver::region(), Sundance::Set< Key, Compare >::setUnion(), and Sundance::FunctionSupportResolver::unksOnRegion().
void DOFMapBuilder::extractVarSetsFromFSR | ( | const FunctionSupportResolver & | fsr, | |
Array< Set< int > > & | funcSets, | |||
Array< CellFilter > & | regions | |||
) | const |
Definition at line 422 of file SundanceDOFMapBuilder.cpp.
References Sundance::FunctionSupportResolver::bcVarsOnRegion(), Sundance::FunctionSupportResolver::numRegions(), Sundance::FunctionSupportResolver::region(), Sundance::Set< Key, Compare >::setUnion(), and Sundance::FunctionSupportResolver::varsOnRegion().
bool DOFMapBuilder::filtersAreZeroDimensional | ( | const Mesh & | mesh, | |
const Array< Set< CellFilter > > & | filters | |||
) | const |
const RCP<FunctionSupportResolver>& Sundance::DOFMapBuilder::fsr | ( | ) | const [inline] |
Array< Sundance::Map< Set< int >, CellFilter > > DOFMapBuilder::funcDomains | ( | const Mesh & | mesh, | |
const Sundance::Map< CellFilter, Set< int > > & | fmap, | |||
Sundance::Map< CellFilter, Sundance::Map< Set< int >, CellSet > > & | inputToChildrenMap | |||
) | const |
Definition at line 290 of file SundanceDOFMapBuilder.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::findDisjointFilters(), findFuncDomainTimer(), Sundance::Map< Key, Value, Compare >::put(), and Sundance::Mesh::spatialDim().
Referenced by makeMap().
CellFilter DOFMapBuilder::getMaxCellFilter | ( | const Array< Set< CellFilter > > & | filters | ) | const |
Definition at line 608 of file SundanceDOFMapBuilder.cpp.
References Sundance::Set< Key, Compare >::begin(), Playa::Handle< PointerType >::ptr(), and Sundance::Set< Key, Compare >::size().
Referenced by makeMap().
void DOFMapBuilder::getSubdomainUnkFuncMatches | ( | const FunctionSupportResolver & | fsr, | |
Array< Sundance::Map< CellFilter, Set< int > > > & | fmap | |||
) | const |
Definition at line 240 of file SundanceDOFMapBuilder.cpp.
References Sundance::FunctionSupportResolver::bcUnksOnRegion(), Sundance::Set< Key, Compare >::begin(), Sundance::FunctionSupportResolver::blockForUnkID(), Sundance::Set< Key, Compare >::end(), Sundance::FunctionSupportResolver::numRegions(), Sundance::FunctionSupportResolver::numUnkBlocks(), Sundance::FunctionSupportResolver::region(), Sundance::Set< Key, Compare >::setUnion(), and Sundance::FunctionSupportResolver::unksOnRegion().
void DOFMapBuilder::getSubdomainVarFuncMatches | ( | const FunctionSupportResolver & | fsr, | |
Array< Sundance::Map< CellFilter, Set< int > > > & | fmap | |||
) | const |
Definition at line 265 of file SundanceDOFMapBuilder.cpp.
References Sundance::FunctionSupportResolver::bcVarsOnRegion(), Sundance::Set< Key, Compare >::begin(), Sundance::FunctionSupportResolver::blockForVarID(), Sundance::Set< Key, Compare >::end(), Sundance::FunctionSupportResolver::numRegions(), Sundance::FunctionSupportResolver::numVarBlocks(), Sundance::FunctionSupportResolver::region(), Sundance::Set< Key, Compare >::setUnion(), and Sundance::FunctionSupportResolver::varsOnRegion().
bool DOFMapBuilder::hasCellBasis | ( | const Array< RCP< BasisDOFTopologyBase > > & | basis | ) | const |
Definition at line 505 of file SundanceDOFMapBuilder.cpp.
References Sundance::Lagrange::order().
Referenced by makeMap().
bool DOFMapBuilder::hasCommonDomain | ( | const Array< Set< CellFilter > > & | filters | ) | const |
bool DOFMapBuilder::hasEdgeLocalizedBasis | ( | const Array< RCP< BasisDOFTopologyBase > > & | basis | ) | const |
bool DOFMapBuilder::hasNodalBasis | ( | const Array< RCP< BasisDOFTopologyBase > > & | basis | ) | const |
Definition at line 484 of file SundanceDOFMapBuilder.cpp.
References Sundance::Lagrange::order().
Referenced by hasOmnipresentNodalMap(), and makeMap().
bool DOFMapBuilder::hasOmnipresentNodalMap | ( | const Array< RCP< BasisDOFTopologyBase > > & | basis, | |
const Mesh & | mesh, | |||
const Array< Set< CellFilter > > & | filters | |||
) | const |
Definition at line 465 of file SundanceDOFMapBuilder.cpp.
References allFuncsAreOmnipresent(), and hasNodalBasis().
Referenced by makeMap().
bool Sundance::DOFMapBuilder::hasUnks | ( | ) | const [private] |
void DOFMapBuilder::init | ( | bool | findBCCols | ) | [private] |
Definition at line 367 of file SundanceDOFMapBuilder.cpp.
References colMap_, fsr_, isBCCol_, isBCRow_, isSymmetric(), makeMap(), markBCCols(), markBCRows(), mesh_, rowMap_, SUNDANCE_MSG1, SUNDANCE_MSG2, testBasisTopologyArray(), testCellFilters(), unkBasisTopologyArray(), unkCellFilters(), and verb_.
Referenced by DOFMapBuilder().
const Array<RCP<Array<int> > >& Sundance::DOFMapBuilder::isBCCol | ( | ) | const [inline] |
const Array<RCP<Array<int> > >& Sundance::DOFMapBuilder::isBCRow | ( | ) | const [inline] |
bool DOFMapBuilder::isSymmetric | ( | int | block | ) | const [private] |
Definition at line 776 of file SundanceDOFMapBuilder.cpp.
References fsr_, and Sundance::BasisFamily::getBasis().
Referenced by init().
bool DOFMapBuilder::isWholeDomain | ( | const Mesh & | mesh, | |
int | maxFilterDim, | |||
const Set< CellFilter > & | filters | |||
) | const |
Definition at line 564 of file SundanceDOFMapBuilder.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::CellFilter::dimension(), Sundance::DimensionalCellFilter::dimension(), Sundance::Set< Key, Compare >::end(), Sundance::CellFilter::getCells(), Sundance::CellSet::numCells(), Playa::Handle< PointerType >::ptr(), Sundance::CellSet::setDifference(), Sundance::Mesh::spatialDim(), SUNDANCE_MSG2, and verb_.
Referenced by allFuncsAreOmnipresent().
RCP< DOFMapBase > DOFMapBuilder::makeMap | ( | const Mesh & | mesh, | |
const Array< RCP< BasisDOFTopologyBase > > & | basis, | |||
const Array< Set< CellFilter > > & | filters | |||
) |
Definition at line 108 of file SundanceDOFMapBuilder.cpp.
References allFuncsAreOmnipresent(), allowNodalMap(), Sundance::Mesh::allowsHangingHodes(), DOFBuilderCtorTimer(), domainToFuncSetMap(), filtersAreZeroDimensional(), funcDomains(), getMaxCellFilter(), hasCellBasis(), hasCommonDomain(), hasEdgeLocalizedBasis(), hasNodalBasis(), hasOmnipresentNodalMap(), Playa::Out::os(), SUNDANCE_MSG1, SUNDANCE_MSG2, and verb_.
Referenced by init(), and Sundance::DiscreteSpace::init().
void DOFMapBuilder::markBCCols | ( | int | block | ) | [private] |
Definition at line 871 of file SundanceDOFMapBuilder.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::CellSet::begin(), colMap(), colMap_, Sundance::CellFilter::dimension(), Sundance::Set< Key, Compare >::elements(), Sundance::Set< Key, Compare >::end(), Sundance::CellSet::end(), fsr_, Sundance::CellFilter::getCells(), isBCCol_, mesh_, Sundance::Set< Key, Compare >::put(), remoteBCCols_, and Sundance::Set< Key, Compare >::size().
Referenced by init().
void DOFMapBuilder::markBCRows | ( | int | block | ) | [private] |
Definition at line 797 of file SundanceDOFMapBuilder.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::CellSet::begin(), Sundance::CellFilter::dimension(), Sundance::Set< Key, Compare >::elements(), Sundance::Set< Key, Compare >::end(), Sundance::CellSet::end(), fsr_, Sundance::CellFilter::getCells(), isBCRow_, mesh_, Sundance::Set< Key, Compare >::put(), rowMap(), rowMap_, and Sundance::Set< Key, Compare >::size().
Referenced by init().
const Mesh& Sundance::DOFMapBuilder::mesh | ( | ) | const [inline] |
Set< CellFilter > DOFMapBuilder::reduceCellFilters | ( | const Mesh & | mesh, | |
const Set< CellFilter > & | inputSet | |||
) | const [private] |
Definition at line 710 of file SundanceDOFMapBuilder.cpp.
References Sundance::CellSet::areFacetsOf(), Sundance::CellSet::begin(), Sundance::Set< Key, Compare >::begin(), cellFilterReductionTimer(), Sundance::Set< Key, Compare >::contains(), Sundance::CellFilter::dimension(), Sundance::CellSet::end(), Sundance::Set< Key, Compare >::end(), Sundance::CellFilter::getCells(), Sundance::Set< Key, Compare >::put(), Sundance::CellSet::setDifference(), and Sundance::Mesh::spatialDim().
bool DOFMapBuilder::regionIsMaximal | ( | int | r | ) | const [private] |
const Array<RCP<std::set<int> > >& Sundance::DOFMapBuilder::remoteBCCols | ( | ) | const [inline] |
const Array<RCP<DOFMapBase> >& Sundance::DOFMapBuilder::rowMap | ( | ) | const [inline] |
Definition at line 60 of file SundanceDOFMapBuilder.hpp.
References rowMap_.
Referenced by markBCRows().
Array< Array< RCP< BasisDOFTopologyBase > > > DOFMapBuilder::testBasisTopologyArray | ( | ) | const |
Definition at line 682 of file SundanceDOFMapBuilder.cpp.
References fsr_, and Sundance::BasisFamily::getBasisTopology().
Referenced by init().
Array< Array< Set< CellFilter > > > DOFMapBuilder::testCellFilters | ( | ) | const |
Definition at line 624 of file SundanceDOFMapBuilder.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), fsr_, and Sundance::Set< Key, Compare >::put().
Referenced by init().
bool Sundance::DOFMapBuilder::testsAreOmnipresent | ( | ) | const [private] |
Array< Array< RCP< BasisDOFTopologyBase > > > DOFMapBuilder::unkBasisTopologyArray | ( | ) | const |
Definition at line 695 of file SundanceDOFMapBuilder.cpp.
References fsr_, and Sundance::BasisFamily::getBasisTopology().
Referenced by init().
Array< Array< Set< CellFilter > > > DOFMapBuilder::unkCellFilters | ( | ) | const |
Definition at line 653 of file SundanceDOFMapBuilder.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), fsr_, and Sundance::Set< Key, Compare >::put().
Referenced by Sundance::DiscreteSpace::DiscreteSpace(), and init().
bool Sundance::DOFMapBuilder::unksAreOmnipresent | ( | ) | const [private] |
Array< Array< BasisFamily > > testBasisArray | ( | const RCP< FunctionSupportResolver > & | fsr | ) | [related] |
Definition at line 954 of file SundanceDOFMapBuilder.cpp.
Array< Array< BasisFamily > > unkBasisArray | ( | const RCP< FunctionSupportResolver > & | fsr | ) | [related] |
Definition at line 968 of file SundanceDOFMapBuilder.cpp.
Array<RCP<DOFMapBase> > Sundance::DOFMapBuilder::colMap_ [private] |
Definition at line 181 of file SundanceDOFMapBuilder.hpp.
Referenced by colMap(), init(), and markBCCols().
RCP<FunctionSupportResolver> Sundance::DOFMapBuilder::fsr_ [private] |
Definition at line 177 of file SundanceDOFMapBuilder.hpp.
Referenced by fsr(), init(), isSymmetric(), markBCCols(), markBCRows(), regionIsMaximal(), testBasisTopologyArray(), testCellFilters(), unkBasisTopologyArray(), and unkCellFilters().
Array<RCP<Array<int> > > Sundance::DOFMapBuilder::isBCCol_ [private] |
Definition at line 185 of file SundanceDOFMapBuilder.hpp.
Referenced by init(), isBCCol(), and markBCCols().
Array<RCP<Array<int> > > Sundance::DOFMapBuilder::isBCRow_ [private] |
Definition at line 183 of file SundanceDOFMapBuilder.hpp.
Referenced by init(), isBCRow(), and markBCRows().
Mesh Sundance::DOFMapBuilder::mesh_ [private] |
Definition at line 175 of file SundanceDOFMapBuilder.hpp.
Referenced by init(), markBCCols(), markBCRows(), and mesh().
Array<RCP<std::set<int> > > Sundance::DOFMapBuilder::remoteBCCols_ [private] |
Definition at line 187 of file SundanceDOFMapBuilder.hpp.
Referenced by markBCCols(), and remoteBCCols().
Array<RCP<DOFMapBase> > Sundance::DOFMapBuilder::rowMap_ [private] |
Definition at line 179 of file SundanceDOFMapBuilder.hpp.
Referenced by init(), markBCRows(), and rowMap().
int Sundance::DOFMapBuilder::verb_ [private] |
Definition at line 173 of file SundanceDOFMapBuilder.hpp.
Referenced by domainToFuncSetMap(), init(), isWholeDomain(), and makeMap().