51 if(layout==Teuchos::null) {
55 "panzer::FieldLayoutLibrary::lookupBasis: cannot find field with name \"" + fieldName +
"\"!\n"+ss.str());
66 std::map<std::string,Teuchos::RCP<const panzer::PureBasis> >::const_iterator itr;
68 bases.push_back(itr->second);
80 typedef std::map<std::string,Teuchos::RCP<panzer::BasisIRLayout> > Map;
90 typedef std::map<std::string,Teuchos::RCP<panzer::BasisIRLayout> > Map;
93 std::string fieldName = itr->first;
96 os <<
"\"" << fieldName <<
"\"" <<
" {" << basis->name()
97 <<
"(dim=" << basis->dimension()
98 <<
",cells=" << basis->numCells()
99 <<
",points=" << basis->numPoints() <<
")} ";
105 typedef std::map<std::string,Teuchos::RCP<panzer::BasisIRLayout> > Map;
109 std::string fieldName = itr->first;
112 bases.push_back(std::make_pair(fieldName,basis));
120 typedef std::map<std::string,Teuchos::RCP<panzer::PureBasis> > Map;
125 return Teuchos::null;
133 std::map<std::string,Teuchos::RCP<const panzer::PureBasis> >::const_iterator itr;
135 bases.push_back(itr->second);
147 typedef std::map<std::string,Teuchos::RCP<panzer::PureBasis> > Map;
154 layoutLibrary->addFieldAndLayout(itr->first,layout);
157 return layoutLibrary;
162 typedef std::map<std::string,Teuchos::RCP<panzer::PureBasis> > Map;
165 std::string fieldName = itr->first;
168 os <<
"\"" << fieldName <<
"\"" <<
" {" << basis->name()
169 <<
"(dim=" << basis->dimension()
170 <<
",cells=" << basis->numCells() <<
") ";
177 typedef std::map<std::string,Teuchos::RCP<panzer::PureBasis> > Map;
181 std::string fieldName = itr->first;
184 bases.push_back(std::make_pair(fieldName,basis.
getConst()));
std::string name() const
A unique key that is the combination of the basis type and basis order.
Teuchos::RCP< panzer::BasisIRLayout > lookupLayout(const std::string &fieldName) const
Get the basis associated with a particular field.
RCP< const T > getConst() const
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.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Teuchos::RCP< const PureBasis > getBasis() const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
void uniqueBases(std::vector< Teuchos::RCP< const panzer::PureBasis > > &bases) const
Get vector of unique bases contained in this field library.
void uniqueBases(std::vector< Teuchos::RCP< const panzer::PureBasis > > &bases) const
Get vector of unique bases contained in this field library.
virtual void print(std::ostream &os) const
std::map< std::string, Teuchos::RCP< panzer::PureBasis > > fieldToBasis_
Basic mapped storage.
Teuchos::RCP< const FieldLayoutLibrary > buildFieldLayoutLibrary(panzer::PointRule &ir) const
virtual Teuchos::RCP< const panzer::PureBasis > lookupBasis(const std::string &fieldName) const
Get the basis associated with a particular field.
void addFieldAndLayout(const std::string &fieldName, const Teuchos::RCP< panzer::BasisIRLayout > &basis)
std::map< std::string, Teuchos::RCP< const panzer::PureBasis > > basisNameToPointer_
std::map< std::string, Teuchos::RCP< panzer::BasisIRLayout > > fieldToLayout_
Basic mapped storage.
virtual Teuchos::RCP< const panzer::PureBasis > lookupBasis(const std::string &fieldName) const
Get the basis associated with a particular field.
std::map< std::string, Teuchos::RCP< const panzer::PureBasis > > basisNameToPointer_
void addFieldAndBasis(const std::string &fieldName, const Teuchos::RCP< panzer::PureBasis > &basis)
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