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

#include <Panzer_BlockedDOFManagerFactory.hpp>

Inheritance diagram for panzer::BlockedDOFManagerFactory:
Inheritance graph
[legend]

Public Member Functions

 BlockedDOFManagerFactory ()
 
virtual ~BlockedDOFManagerFactory ()
 
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
 
void setUseDOFManagerFEI (bool flag)
 
bool getUseDOFManagerFEI () const
 
void setUseTieBreak (bool flag)
 
bool getUseTieBreak ()
 
- Public Member Functions inherited from panzer::GlobalIndexerFactory
virtual ~GlobalIndexerFactory ()
 

Static Public Member Functions

static bool requiresBlocking (const std::string &fieldorder)
 
static void buildBlocking (const std::string &fieldorder, std::vector< std::vector< std::string > > &blocks)
 

Private Attributes

bool useDOFManagerFEI_
 
bool useTieBreak_
 

Detailed Description

Definition at line 18 of file Panzer_BlockedDOFManagerFactory.hpp.

Constructor & Destructor Documentation

panzer::BlockedDOFManagerFactory::BlockedDOFManagerFactory ( )
inline

Definition at line 20 of file Panzer_BlockedDOFManagerFactory.hpp.

virtual panzer::BlockedDOFManagerFactory::~BlockedDOFManagerFactory ( )
inlinevirtual

Definition at line 21 of file Panzer_BlockedDOFManagerFactory.hpp.

Member Function Documentation

bool panzer::BlockedDOFManagerFactory::requiresBlocking ( const std::string &  fieldorder)
static

Does a fieldOrder string require blocking? A field order is basically stetup like this blocked: <field 0> <field 1> where two blocks will be created. To merge fields between blocks use a hyphen, i.e. blocked: <field 0> <field 1> - <field 2> - <field 3> This will create 2 blocks, the first contains only <field 0> and the second combines <field 1>, <field 2> and <field 3>. Note the spaces before and after the hyphen, these are important!

Definition at line 24 of file Panzer_BlockedDOFManagerFactory.cpp.

void panzer::BlockedDOFManagerFactory::buildBlocking ( const std::string &  fieldorder,
std::vector< std::vector< std::string > > &  blocks 
)
static

Does a fieldOrder string require blocking? A field order is basically stetup like this blocked: <field 0> <field 1> where two blocks will be created. To merge fields between blocks use a hyphen, i.e. blocked: <field 0> <field 1> - <field 2> - <field 3> This will create 2 blocks, the first contains only <field 0> and the second combines <field 1>, <field 2> and <field 3>. Note the spaces before and after the hyphen, these are important!

Definition at line 58 of file Panzer_BlockedDOFManagerFactory.cpp.

Teuchos::RCP< panzer::GlobalIndexer > panzer::BlockedDOFManagerFactory::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
virtual

Use the physics block to construct a unique global indexer object.

Parameters
[in]mpiCommMPI communicator to use in the construction
[in]physicsBlocksA vector of physics block objects that contain unknown field information.
[in]connMngrConnection manager that contains the mesh topology
[in]fieldOrderSpecifies the local ordering of the degrees of freedom. This is relevant when degrees of freedom are shared on the same geometric entity. The default is an alphabetical ordering.
[in]buildGlobalUnknownsBuild the global unknowns before returning. The default value gives backwards-compatible behavior. Set this to false if the caller will initialize the DOF manager in additional ways before issuing the call to build the global unknowns itself.
Returns
A GlobalIndexer object. If buildGlobalUnknowns is true, the object is fully constructed. If it is false, the caller must finalize it.

Implements panzer::GlobalIndexerFactory.

Definition at line 88 of file Panzer_BlockedDOFManagerFactory.cpp.

void panzer::BlockedDOFManagerFactory::setUseDOFManagerFEI ( bool  flag)
inline

Definition at line 73 of file Panzer_BlockedDOFManagerFactory.hpp.

bool panzer::BlockedDOFManagerFactory::getUseDOFManagerFEI ( ) const
inline

Definition at line 76 of file Panzer_BlockedDOFManagerFactory.hpp.

void panzer::BlockedDOFManagerFactory::setUseTieBreak ( bool  flag)
inline

Definition at line 79 of file Panzer_BlockedDOFManagerFactory.hpp.

bool panzer::BlockedDOFManagerFactory::getUseTieBreak ( )
inline

Definition at line 82 of file Panzer_BlockedDOFManagerFactory.hpp.

Member Data Documentation

bool panzer::BlockedDOFManagerFactory::useDOFManagerFEI_
private

Definition at line 86 of file Panzer_BlockedDOFManagerFactory.hpp.

bool panzer::BlockedDOFManagerFactory::useTieBreak_
private

Definition at line 87 of file Panzer_BlockedDOFManagerFactory.hpp.


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