Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
panzer::FieldManagerBuilder Class Reference

#include <Panzer_FieldManagerBuilder.hpp>

Public Types

typedef std::map< unsigned,
panzer::Workset
BCFaceWorksetMap
 

Public Member Functions

 FieldManagerBuilder (bool disablePhysicsBlockScatter=false, bool disablePhysicsBlockGather=false)
 
void print (std::ostream &os) const
 
bool physicsBlockScatterDisabled () const
 
bool physicsBlockGatherDisabled () const
 
void setWorksetContainer (const Teuchos::RCP< WorksetContainer > &wc)
 
Teuchos::RCP< WorksetContainergetWorksetContainer () const
 
const std::vector
< Teuchos::RCP
< PHX::FieldManager
< panzer::Traits > > > & 
getVolumeFieldManagers () const
 
Teuchos::RCP
< PHX::FieldManager
< panzer::Traits > > 
getVolumeFieldManager (const WorksetDescriptor &wd) const
 Look up field manager by an element block ID. More...
 
const std::vector
< WorksetDescriptor > & 
getVolumeWorksetDescriptors () const
 
const std::map< panzer::BC,
std::map< unsigned,
PHX::FieldManager
< panzer::Traits >
>, panzer::LessBC > & 
getBCFieldManagers () const
 
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)
 
void setupVolumeFieldManagers (const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const std::vector< WorksetDescriptor > &wkstDesc, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_models, const LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data, const GenericEvaluatorFactory &gEvalFact, bool closureModelByEBlock=false)
 
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)
 
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)
 
void writeVolumeGraphvizDependencyFiles (std::string filename_prefix, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks) const
 
void writeBCGraphvizDependencyFiles (std::string filename_prefix) const
 
void writeVolumeTextDependencyFiles (std::string filename_prefix, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks) const
 
void writeBCTextDependencyFiles (std::string filename_prefix) const
 
void clearVolumeFieldManagers (bool clearVolumeWorksets=true)
 Delete all volume field managers, retaining the BC ones. More...
 
void setActiveEvaluationTypes (const std::vector< bool > &aet)
 Set a vector of active evaluation types to allocate. More...
 

Private Member Functions

void setupBCFieldManagers (const std::vector< panzer::BC > &bcs, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const Teuchos::Ptr< 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)
 
void setKokkosExtendedDataTypeDimensions (const std::string &eblock, const panzer::GlobalIndexer &globalIndexer, const Teuchos::ParameterList &user_data, PHX::FieldManager< panzer::Traits > &fm) const
 

Private Attributes

std::vector< Teuchos::RCP
< PHX::FieldManager
< panzer::Traits > > > 
phx_volume_field_managers_
 Phalanx volume field managers for each element block. More...
 
std::vector< WorksetDescriptorvolume_workset_desc_
 Matches volume field managers so you can determine the appropriate set of worksets for each field manager. More...
 
std::map< panzer::BC, std::map
< unsigned, PHX::FieldManager
< panzer::Traits >
>, panzer::LessBC
bc_field_managers_
 Field managers for the boundary conditions. More...
 
Teuchos::RCP< WorksetContainerworksetContainer_
 
bool disablePhysicsBlockScatter_
 
bool disablePhysicsBlockGather_
 
std::vector< bool > active_evaluation_types_
 Entries correspond to evaluation type mpl vector in traits. A value of true means the evaluation type is active. More...
 

Detailed Description

Definition at line 81 of file Panzer_FieldManagerBuilder.hpp.

Member Typedef Documentation

Definition at line 85 of file Panzer_FieldManagerBuilder.hpp.

Constructor & Destructor Documentation

panzer::FieldManagerBuilder::FieldManagerBuilder ( bool  disablePhysicsBlockScatter = false,
bool  disablePhysicsBlockGather = false 
)

Definition at line 81 of file Panzer_FieldManagerBuilder.cpp.

Member Function Documentation

void panzer::FieldManagerBuilder::print ( std::ostream &  os) const

Definition at line 74 of file Panzer_FieldManagerBuilder.cpp.

bool panzer::FieldManagerBuilder::physicsBlockScatterDisabled ( ) const
inline

Definition at line 91 of file Panzer_FieldManagerBuilder.hpp.

bool panzer::FieldManagerBuilder::physicsBlockGatherDisabled ( ) const
inline

Definition at line 94 of file Panzer_FieldManagerBuilder.hpp.

void panzer::FieldManagerBuilder::setWorksetContainer ( const Teuchos::RCP< WorksetContainer > &  wc)
inline

Definition at line 97 of file Panzer_FieldManagerBuilder.hpp.

Teuchos::RCP<WorksetContainer> panzer::FieldManagerBuilder::getWorksetContainer ( ) const
inline

Definition at line 100 of file Panzer_FieldManagerBuilder.hpp.

const std::vector< Teuchos::RCP< PHX::FieldManager<panzer::Traits> > >& panzer::FieldManagerBuilder::getVolumeFieldManagers ( ) const
inline

Definition at line 104 of file Panzer_FieldManagerBuilder.hpp.

Teuchos::RCP< PHX::FieldManager<panzer::Traits> > panzer::FieldManagerBuilder::getVolumeFieldManager ( const WorksetDescriptor wd) const
inline

Look up field manager by an element block ID.

Definition at line 108 of file Panzer_FieldManagerBuilder.hpp.

const std::vector<WorksetDescriptor>& panzer::FieldManagerBuilder::getVolumeWorksetDescriptors ( ) const
inline

Definition at line 120 of file Panzer_FieldManagerBuilder.hpp.

const std::map<panzer::BC, std::map<unsigned,PHX::FieldManager<panzer::Traits> >, panzer::LessBC>& panzer::FieldManagerBuilder::getBCFieldManagers ( ) const
inline

Definition at line 125 of file Panzer_FieldManagerBuilder.hpp.

void panzer::FieldManagerBuilder::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 
)

Setup the volume field managers. This uses the passed in dofManager and sets it for permenant use.

Definition at line 210 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::setupVolumeFieldManagers ( const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const std::vector< WorksetDescriptor > &  wkstDesc,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList closure_models,
const LinearObjFactory< panzer::Traits > &  lo_factory,
const Teuchos::ParameterList user_data,
const GenericEvaluatorFactory gEvalFact,
bool  closureModelByEBlock = false 
)

Definition at line 111 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::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 
)
inline

Build the BC field managers.

Definition at line 153 of file Panzer_FieldManagerBuilder.hpp.

void panzer::FieldManagerBuilder::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 
)
inline

Definition at line 163 of file Panzer_FieldManagerBuilder.hpp.

void panzer::FieldManagerBuilder::writeVolumeGraphvizDependencyFiles ( std::string  filename_prefix,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks 
) const

Definition at line 412 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::writeBCGraphvizDependencyFiles ( std::string  filename_prefix) const

Definition at line 432 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::writeVolumeTextDependencyFiles ( std::string  filename_prefix,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks 
) const

Definition at line 463 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::writeBCTextDependencyFiles ( std::string  filename_prefix) const

Definition at line 491 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::clearVolumeFieldManagers ( bool  clearVolumeWorksets = true)

Delete all volume field managers, retaining the BC ones.

Definition at line 566 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::setActiveEvaluationTypes ( const std::vector< bool > &  aet)

Set a vector of active evaluation types to allocate.

Definition at line 561 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::setupBCFieldManagers ( const std::vector< panzer::BC > &  bcs,
const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const Teuchos::Ptr< 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 
)
private

Build the BC field managers. This is the real deal, it correclty handles not having an equation set factory.

Definition at line 228 of file Panzer_FieldManagerBuilder.cpp.

void panzer::FieldManagerBuilder::setKokkosExtendedDataTypeDimensions ( const std::string &  eblock,
const panzer::GlobalIndexer globalIndexer,
const Teuchos::ParameterList user_data,
PHX::FieldManager< panzer::Traits > &  fm 
) const
private

Definition at line 529 of file Panzer_FieldManagerBuilder.cpp.

Member Data Documentation

std::vector< Teuchos::RCP< PHX::FieldManager<panzer::Traits> > > panzer::FieldManagerBuilder::phx_volume_field_managers_
private

Phalanx volume field managers for each element block.

Definition at line 207 of file Panzer_FieldManagerBuilder.hpp.

std::vector<WorksetDescriptor> panzer::FieldManagerBuilder::volume_workset_desc_
private

Matches volume field managers so you can determine the appropriate set of worksets for each field manager.

Definition at line 212 of file Panzer_FieldManagerBuilder.hpp.

std::map<panzer::BC, std::map<unsigned,PHX::FieldManager<panzer::Traits> >, panzer::LessBC> panzer::FieldManagerBuilder::bc_field_managers_
private

Field managers for the boundary conditions.

key is a panzer::BC object. value is a map of field managers where the key is the local side index used by intrepid

Definition at line 222 of file Panzer_FieldManagerBuilder.hpp.

Teuchos::RCP<WorksetContainer> panzer::FieldManagerBuilder::worksetContainer_
private

Definition at line 224 of file Panzer_FieldManagerBuilder.hpp.

bool panzer::FieldManagerBuilder::disablePhysicsBlockScatter_
private

Set to false by default, enables/disables physics block scattering in newly created field managers.

Definition at line 229 of file Panzer_FieldManagerBuilder.hpp.

bool panzer::FieldManagerBuilder::disablePhysicsBlockGather_
private

Set to false by default, enables/disables physics block scattering in newly created field managers.

Definition at line 234 of file Panzer_FieldManagerBuilder.hpp.

std::vector<bool> panzer::FieldManagerBuilder::active_evaluation_types_
private

Entries correspond to evaluation type mpl vector in traits. A value of true means the evaluation type is active.

Definition at line 237 of file Panzer_FieldManagerBuilder.hpp.


The documentation for this class was generated from the following files: