49 Teuchos::RCP<panzer::BasisIRLayout> layout =
lookupLayout(fieldName);
51 if(layout==Teuchos::null) {
54 TEUCHOS_TEST_FOR_EXCEPTION(layout==Teuchos::null,std::logic_error,
55 "panzer::FieldLayoutLibrary::lookupBasis: cannot find field with name \"" + fieldName +
"\"!\n"+ss.str());
58 return layout->getBasis();
66 std::map<std::string,Teuchos::RCP<const panzer::PureBasis> >::const_iterator itr;
68 bases.push_back(itr->second);
72 const Teuchos::RCP<panzer::BasisIRLayout> & layout)
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;
94 Teuchos::RCP<BasisIRLayout> basis = itr->second;
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;
110 Teuchos::RCP<const PureBasis> basis = itr->second->getBasis();
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);
139 const Teuchos::RCP<panzer::PureBasis> & basis)
147 typedef std::map<std::string,Teuchos::RCP<panzer::PureBasis> > Map;
149 Teuchos::RCP<FieldLayoutLibrary> layoutLibrary = Teuchos::rcp(
new FieldLayoutLibrary);
153 Teuchos::RCP<BasisIRLayout> layout = Teuchos::rcp(
new BasisIRLayout(itr->second,ir));
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;
166 Teuchos::RCP<PureBasis> basis = itr->second;
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;
182 Teuchos::RCP<PureBasis> basis = itr->second;
184 bases.push_back(std::make_pair(fieldName,basis.getConst()));
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_
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.