43 #ifndef __Panzer_WorksetContainer_hpp__
44 #define __Panzer_WorksetContainer_hpp__
48 #include "Intrepid2_Orientation.hpp"
59 class UniqueGlobalIndexerBase;
86 const std::map<std::string,WorksetNeeds> & needs);
144 void addBasis(
const std::string & type,
int order,
const std::string & rep_field);
162 const std::string & eBlock,
163 std::vector<Workset> & worksets)
const;
169 std::map<unsigned,Workset> & worksets)
const;
171 typedef std::unordered_map<WorksetDescriptor,Teuchos::RCP<std::vector<Workset> > >
WorksetMap;
172 typedef std::unordered_map<WorksetDescriptor,Teuchos::RCP<std::map<unsigned,Workset> > >
SideMap;
177 void applyOrientations(
const std::string & eBlock,std::vector<Workset> & worksets)
const;
220 const std::vector<std::string> & elementBlockNames,
221 std::map<std::string,
Teuchos::RCP<std::vector<Workset> > > & volumeWksts);
233 const std::vector<BC> & bcs,
std::size_t getWorksetSize() const
get the workset size
Teuchos::RCP< std::vector< Intrepid2::Orientation > > orientations_
void setGlobalIndexer(const Teuchos::RCP< const panzer::UniqueGlobalIndexerBase > &ugi)
WorksetContainer()
Default contructor, starts with no workset factory objects.
Teuchos::RCP< const WorksetFactoryBase > wkstFactory_
Teuchos::RCP< const std::vector< Intrepid2::Orientation > > getOrientations() const
void setWorksetSize(std::size_t worksetSize)
set the workset size
std::unordered_map< WorksetDescriptor, Teuchos::RCP< std::map< unsigned, Workset > > > SideMap
Class that provides access to worksets on each element block and side set.
Teuchos::RCP< const WorksetFactoryBase > getFactory() const
Access the workset factory pointer.
WorksetMap worksets_
Maps element blocks to input physics block objects.
Teuchos::RCP< std::map< unsigned, Workset > > getSideWorksets(const WorksetDescriptor &desc)
Access, and construction of side worksets.
void applyOrientations(const Teuchos::RCP< const panzer::UniqueGlobalIndexerBase > &ugi)
Teuchos::RCP< std::vector< Workset > > getWorksets(const WorksetDescriptor &wd)
Access to volume worksets.
std::unordered_map< WorksetDescriptor, Teuchos::RCP< std::vector< Workset > > > WorksetMap
void setIdentifiers(const WorksetDescriptor &wd, std::vector< Workset > &worksets)
Teuchos::RCP< const panzer::UniqueGlobalIndexerBase > globalIndexer_
const WorksetNeeds & lookupNeeds(const std::string &eBlock) const
Look up an input physics block, throws an exception if it can not be found.
void setFactory(const Teuchos::RCP< const WorksetFactoryBase > &factory)
void addBasis(const std::string &type, int order, const std::string &rep_field)
void getSideWorksetsFromContainer(WorksetContainer &wc, const std::vector< BC > &bcs, std::map< BC, Teuchos::RCP< std::map< unsigned, Workset > >, LessBC > &sideWksts)
Stores input information for a boundary condition.
void setNeeds(const std::string &eBlock, const WorksetNeeds &needs)
std::map< std::string, WorksetNeeds > ebToNeeds_
How to construct worksets.
void getVolumeWorksetsFromContainer(WorksetContainer &wc, const std::vector< std::string > &elementBlockNames, std::map< std::string, Teuchos::RCP< std::vector< Workset > > > &volumeWksts)