43 #ifndef PANZER_DOF_MANAGER_FACTORY_IMPL_HPP 
   44 #define PANZER_DOF_MANAGER_FACTORY_IMPL_HPP 
   54 template <
typename LO,
typename GO>
 
   59                             const std::string & fieldOrder)
 const 
   61   return buildUniqueGlobalIndexer<panzer::DOFManager<LO,GO> >(mpiComm,physicsBlocks,connMngr,fieldOrder);
 
   64 template <
typename LO,
typename GO>
 
   65 template <
typename DOFManagerT>
 
   70                             const std::string & fieldOrder)
 const 
   72   PANZER_FUNC_TIME_MONITOR_DIFF(
"panzer::DOFManagerFactory::buildUnqueGlobalIndexer",BUGI);
 
   88      if (nativeDofMngr!=Teuchos::null) {
 
   89        nativeDofMngr->enableTieBreak(useTieBreak_);
 
   90        nativeDofMngr->useNeighbors(useNeighbors_);
 
   93                                 "The non-native DOF manager does not support the necessary ghosting.");
 
   97    bool orientationsRequired = 
false;
 
   99    std::vector<Teuchos::RCP<panzer::PhysicsBlock> >::const_iterator physIter;
 
  100    for(physIter=physicsBlocks.begin();physIter!=physicsBlocks.end();++physIter) {
 
  103       const std::vector<StrPureBasisPair> & blockFields = pb->
getProvidedDOFs();
 
  106       std::set<StrPureBasisPair,StrPureBasisComp> fieldNames;
 
  107       fieldNames.insert(blockFields.begin(),blockFields.end()); 
 
  110       std::set<StrPureBasisPair,StrPureBasisComp>::const_iterator fieldItr; 
 
  111       for (fieldItr=fieldNames.begin();fieldItr!=fieldNames.end();++fieldItr) {
 
  115          orientationsRequired |= fieldItr->second->requiresOrientations();
 
  118                = fieldItr->second->getIntrepid2Basis();
 
  128    dofManager->setOrientationsRequired(orientationsRequired);
 
  131       std::vector<std::string> fieldOrderV;
 
  133       buildFieldOrder(fieldOrder,fieldOrderV);
 
  135       dofManager->setFieldOrder(fieldOrderV);
 
  139      PANZER_FUNC_TIME_MONITOR_DIFF(
"panzer::DOFManagerFactory::buildUnqueGlobalIndexer:buildGlobalUnknowns",BGU);
 
  140      dofManager->buildGlobalUnknowns();
 
  157 template <
typename LO,
typename GO>
 
  160 buildFieldOrder(
const std::string & fieldOrderStr,std::vector<std::string> & fieldOrder)
 
  164   std::stringstream ss;
 
  174         fieldOrder.push_back(token);
 
basic_FancyOStream & setShowProcRank(const bool showProcRank)
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
 
virtual Teuchos::RCP< panzer::UniqueGlobalIndexer< LO, GO > > buildUniqueGlobalIndexer(const Teuchos::RCP< const Teuchos::OpaqueWrapper< MPI_Comm > > &mpiComm, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const Teuchos::RCP< ConnManager< LO, GO > > &connMngr, const std::string &fieldOrder="") const 
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
std::string elementBlockID() const 
 
static void buildFieldOrder(const std::string &fieldOrderStr, std::vector< std::string > &fieldOrder)
 
basic_FancyOStream & setOutputToRootOnly(const int rootRank)
 
const std::vector< StrPureBasisPair > & getProvidedDOFs() const