11#ifndef __Panzer_FieldLibrary_hpp__
12#define __Panzer_FieldLibrary_hpp__
14#include "PanzerDiscFE_config.hpp"
16#include "Teuchos_RCP.hpp"
31 virtual Teuchos::RCP<const panzer::PureBasis>
lookupBasis(
const std::string & fieldName)
const = 0;
34 virtual void uniqueBases(std::vector<Teuchos::RCP<const panzer::PureBasis> > & bases)
const = 0;
37 virtual void basisPairs(std::vector<std::pair<std::string,Teuchos::RCP<const panzer::PureBasis> > > & bases)
const = 0;
42 virtual void print(std::ostream & os)
const = 0;
54 const Teuchos::RCP<panzer::BasisIRLayout> & basis);
57 void uniqueBases(std::vector<Teuchos::RCP<const panzer::PureBasis> > & bases)
const;
60 virtual Teuchos::RCP<const panzer::PureBasis>
lookupBasis(
const std::string & fieldName)
const;
63 Teuchos::RCP<panzer::BasisIRLayout>
lookupLayout(
const std::string & fieldName)
const;
68 virtual void print(std::ostream & os)
const;
71 virtual void basisPairs(std::vector<std::pair<std::string,Teuchos::RCP<const panzer::PureBasis> > > & bases)
const;
92 virtual Teuchos::RCP<const panzer::PureBasis>
lookupBasis(
const std::string & fieldName)
const;
95 void uniqueBases(std::vector<Teuchos::RCP<const panzer::PureBasis> > & bases)
const;
100 const Teuchos::RCP<panzer::PureBasis> & basis);
111 virtual void print(std::ostream & os)
const;
114 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)