43 #ifndef PANZER_FIELD_MANAGER_BUILDER_HPP 
   44 #define PANZER_FIELD_MANAGER_BUILDER_HPP 
   59   struct EquationSetFactory;
 
   60   struct BCStrategyFactory;
 
   65   template<
typename T> 
class FieldManager;
 
   91     void print(std::ostream& os) 
const;
 
  106       std::vector< Teuchos::RCP< PHX::FieldManager<panzer::Traits> > >&
 
  114        std::vector<WorksetDescriptor>::const_iterator itr = std::find(wkstDesc.begin(),wkstDesc.end(),wd);
 
  118        int index = itr - wkstDesc.begin();
 
  122     const std::vector<WorksetDescriptor> &
 
  126        std::map<unsigned,PHX::FieldManager<panzer::Traits> >,
 
  146                                   const std::vector<WorksetDescriptor> & wkstDesc,
 
  152                                   bool closureModelByEBlock=
false);
 
  164     { 
setupBCFieldManagers(bcs,physicsBlocks,Teuchos::ptrFromRef(eqset_factory),cm_factory,bc_factory,closure_models,lo_factory,user_data); }
 
  173     { 
setupBCFieldManagers(bcs,physicsBlocks,Teuchos::null,cm_factory,bc_factory,closure_models,lo_factory,user_data); }
 
  203     std::vector< Teuchos::RCP< PHX::FieldManager<panzer::Traits> > >
 
  218       std::map<unsigned,PHX::FieldManager<panzer::Traits> >,
 
Interface for constructing a BCStrategy_TemplateManager. 
void setupVolumeFieldManagers(const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_models, const LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data)
Allocates and initializes an equation set template manager. 
bool physicsBlockScatterDisabled() const 
const std::map< panzer::BC, std::map< unsigned, PHX::FieldManager< panzer::Traits > >, panzer::LessBC > & getBCFieldManagers() const 
Object that contains information on the physics and discretization of a block of elements with the SA...
void writeVolumeGraphvizDependencyFiles(std::string filename_prefix, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks) const 
void writeBCGraphvizDependencyFiles(std::string filename_prefix) const 
void setKokkosExtendedDataTypeDimensions(const std::string &eblock, const panzer::UniqueGlobalIndexerBase &globalIndexer, const Teuchos::ParameterList &user_data, PHX::FieldManager< panzer::Traits > &fm) const 
void writeBCTextDependencyFiles(std::string filename_prefix) const 
void setWorksetContainer(const Teuchos::RCP< WorksetContainer > &wc)
Teuchos::RCP< WorksetContainer > getWorksetContainer() const 
bool physicsBlockGatherDisabled() const 
bool registerEvaluators(PHX::FieldManager< panzer::Traits > &, const WorksetDescriptor &, const PhysicsBlock &) const 
void print(std::ostream &os) const 
bool disablePhysicsBlockGather_
bool disablePhysicsBlockScatter_
void writeVolumeTextDependencyFiles(std::string filename_prefix, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks) const 
const std::vector< Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > & getVolumeFieldManagers() const 
Teuchos::RCP< WorksetContainer > worksetContainer_
std::vector< WorksetDescriptor > volume_workset_desc_
Matches volume field managers so you can determine the appropriate set of worksets for each field man...
std::vector< Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > phx_volume_field_managers_
Phalanx volume field managers for each element block. 
void setupBCFieldManagers(const std::vector< panzer::BC > &bcs, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const panzer::BCStrategyFactory &bc_factory, const Teuchos::ParameterList &closure_models, const LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data)
virtual bool registerEvaluators(PHX::FieldManager< panzer::Traits > &fm, const WorksetDescriptor &wd, const PhysicsBlock &pb) const =0
std::ostream & operator<<(std::ostream &os, const AssemblyEngineInArgs &in)
FieldManagerBuilder(bool disablePhysicsBlockScatter=false, bool disablePhysicsBlockGather=false)
std::map< panzer::BC, std::map< unsigned, PHX::FieldManager< panzer::Traits > >, panzer::LessBC > bc_field_managers_
Field managers for the boundary conditions. 
Teuchos::RCP< PHX::FieldManager< panzer::Traits > > getVolumeFieldManager(const WorksetDescriptor &wd) const 
Look up field manager by an element block ID. 
Stores input information for a boundary condition. 
void setupBCFieldManagers(const std::vector< panzer::BC > &bcs, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::EquationSetFactory &eqset_factory, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const panzer::BCStrategyFactory &bc_factory, const Teuchos::ParameterList &closure_models, const LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data)
std::map< unsigned, panzer::Workset > BCFaceWorksetMap
#define TEUCHOS_ASSERT(assertion_test)
const std::vector< WorksetDescriptor > & getVolumeWorksetDescriptors() const