11 #ifndef PANZER_DOF_MANAGER_FACTORY_IMPL_HPP
12 #define PANZER_DOF_MANAGER_FACTORY_IMPL_HPP
27 const std::string & fieldOrder)
const
29 PANZER_FUNC_TIME_MONITOR_DIFF(
"panzer::DOFManagerFactory::buildUnqueGlobalIndexer",BUGI);
43 bool orientationsRequired =
false;
45 std::vector<Teuchos::RCP<panzer::PhysicsBlock> >::const_iterator physIter;
46 for(physIter=physicsBlocks.begin();physIter!=physicsBlocks.end();++physIter) {
49 const std::vector<StrPureBasisPair> & blockFields = pb->
getProvidedDOFs();
52 std::set<StrPureBasisPair,StrPureBasisComp> fieldNames;
53 fieldNames.insert(blockFields.begin(),blockFields.end());
56 std::set<StrPureBasisPair,StrPureBasisComp>::const_iterator fieldItr;
57 for (fieldItr=fieldNames.begin();fieldItr!=fieldNames.end();++fieldItr) {
61 orientationsRequired |= fieldItr->second->requiresOrientations();
64 = fieldItr->second->getIntrepid2Basis();
77 std::vector<std::string> fieldOrderV;
83 PANZER_FUNC_TIME_MONITOR_DIFF(
"panzer::DOFManagerFactory::buildUnqueGlobalIndexer:buildGlobalUnknowns",BGU);
103 buildFieldOrder(
const std::string & fieldOrderStr,std::vector<std::string> & fieldOrder)
107 std::stringstream ss;
117 fieldOrder.push_back(token);
void setFieldOrder(const std::vector< std::string > &fieldOrder)
static void buildFieldOrder(const std::string &fieldOrderStr, std::vector< std::string > &fieldOrder)
basic_FancyOStream & setShowProcRank(const bool showProcRank)
void enableTieBreak(bool enable)
void useNeighbors(bool flag)
virtual void buildGlobalUnknowns()
builds the global unknowns array
void setOrientationsRequired(bool ro)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
std::string elementBlockID() const
virtual Teuchos::RCP< panzer::GlobalIndexer > buildGlobalIndexer(const Teuchos::RCP< const Teuchos::OpaqueWrapper< MPI_Comm > > &mpiComm, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const Teuchos::RCP< ConnManager > &connMngr, const std::string &fieldOrder="") const
basic_FancyOStream & setOutputToRootOnly(const int rootRank)
int addField(const std::string &str, const Teuchos::RCP< const FieldPattern > &pattern, const panzer::FieldType &type=panzer::FieldType::CG)
Add a field to the DOF manager.
const std::vector< StrPureBasisPair > & getProvidedDOFs() const