43#ifndef __Panzer_FieldLibrary_hpp__
44#define __Panzer_FieldLibrary_hpp__
46#include "PanzerDiscFE_config.hpp"
48#include "Teuchos_RCP.hpp"
63 virtual Teuchos::RCP<const panzer::PureBasis>
lookupBasis(
const std::string & fieldName)
const = 0;
66 virtual void uniqueBases(std::vector<Teuchos::RCP<const panzer::PureBasis> > & bases)
const = 0;
69 virtual void basisPairs(std::vector<std::pair<std::string,Teuchos::RCP<const panzer::PureBasis> > > & bases)
const = 0;
74 virtual void print(std::ostream & os)
const = 0;
86 const Teuchos::RCP<panzer::BasisIRLayout> & basis);
89 void uniqueBases(std::vector<Teuchos::RCP<const panzer::PureBasis> > & bases)
const;
92 virtual Teuchos::RCP<const panzer::PureBasis>
lookupBasis(
const std::string & fieldName)
const;
95 Teuchos::RCP<panzer::BasisIRLayout>
lookupLayout(
const std::string & fieldName)
const;
100 virtual void print(std::ostream & os)
const;
103 virtual void basisPairs(std::vector<std::pair<std::string,Teuchos::RCP<const panzer::PureBasis> > > & bases)
const;
124 virtual Teuchos::RCP<const panzer::PureBasis>
lookupBasis(
const std::string & fieldName)
const;
127 void uniqueBases(std::vector<Teuchos::RCP<const panzer::PureBasis> > & bases)
const;
132 const Teuchos::RCP<panzer::PureBasis> & basis);
143 virtual void print(std::ostream & os)
const;
146 virtual void basisPairs(std::vector<std::pair<std::string,Teuchos::RCP<const panzer::PureBasis> > > & bases)
const;
Teuchos::RCP< panzer::BasisIRLayout > lookupLayout(const std::string &fieldName) const
Get the basis associated with a particular field.
virtual Teuchos::RCP< const panzer::PureBasis > lookupBasis(const std::string &fieldName) const
Get the basis associated with a particular field.
virtual void print(std::ostream &os) const
void addFieldAndLayout(const std::string &fieldName, const Teuchos::RCP< panzer::BasisIRLayout > &basis)
void uniqueBases(std::vector< Teuchos::RCP< const panzer::PureBasis > > &bases) const
Get vector of unique bases contained in this field library.
virtual void basisPairs(std::vector< std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > > &bases) const
Get vector of unique bases contained in this field library.
std::map< std::string, Teuchos::RCP< panzer::BasisIRLayout > > fieldToLayout_
Basic mapped storage.
std::map< std::string, Teuchos::RCP< const panzer::PureBasis > > basisNameToPointer_
virtual Teuchos::RCP< const panzer::PureBasis > lookupBasis(const std::string &fieldName) const =0
Get the basis associated with a particular field.
virtual void uniqueBases(std::vector< Teuchos::RCP< const panzer::PureBasis > > &bases) const =0
Get vector of unique bases contained in this field library.
virtual ~FieldLibraryBase()=0
virtual void basisPairs(std::vector< std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > > &bases) const =0
Get vector of unique bases contained in this field library.
virtual void print(std::ostream &os) const =0
std::map< std::string, Teuchos::RCP< panzer::PureBasis > > fieldToBasis_
Basic mapped storage.
std::map< std::string, Teuchos::RCP< const panzer::PureBasis > > basisNameToPointer_
virtual Teuchos::RCP< const panzer::PureBasis > lookupBasis(const std::string &fieldName) const
Get the basis associated with a particular field.
virtual void basisPairs(std::vector< std::pair< std::string, Teuchos::RCP< const panzer::PureBasis > > > &bases) const
Get vector of unique bases contained in this field library.
virtual void print(std::ostream &os) const
void addFieldAndBasis(const std::string &fieldName, const Teuchos::RCP< panzer::PureBasis > &basis)
Teuchos::RCP< const FieldLayoutLibrary > buildFieldLayoutLibrary(panzer::PointRule &ir) const
void uniqueBases(std::vector< Teuchos::RCP< const panzer::PureBasis > > &bases) const
Get vector of unique bases contained in this field library.
std::ostream & operator<<(std::ostream &os, const AssemblyEngineInArgs &in)