17 #ifndef _FUELCELLSHOP_CATALYST_BASE__H
18 #define _FUELCELLSHOP_CATALYST_BASE__H
21 #include <base/parameter_handler.h>
22 #include <base/point.h>
23 #include <base/function.h>
24 #include <lac/vector.h>
25 #include <fe/fe_values.h>
36 namespace FuelCellShop
88 iterator->second->declare_parameters(param);
95 const std::vector<double>& value_dvar,
96 ParameterHandler ¶m)
102 iterator->second->set_parameters(name_dvar,value_dvar, param);
123 static boost::shared_ptr<FuelCellShop::Material::CatalystBase >
create_Catalyst (ParameterHandler ¶m,
124 std::string catalyst_name)
126 boost::shared_ptr<FuelCellShop::Material::CatalystBase > pointer;
132 if (iterator->second)
134 pointer = iterator->second->create_replica();
138 deallog<<
"Pointer not initialized"<<std::endl;
144 deallog<<
"Concrete name in FuelCellShop::Material::CatalystBase::create_Catalyst does not exist"<<std::endl;
148 pointer->initialize(param);
161 const std::type_info& info =
typeid(*this);
162 deallog <<
"Pure function " << __FUNCTION__
163 <<
" called in Class "
164 << info.name() << std::endl;
175 const std::type_info& info =
typeid(*this);
176 deallog <<
"Pure function " << __FUNCTION__
177 <<
" called in Class "
178 << info.name() << std::endl;
188 const std::type_info& info =
typeid(*this);
189 deallog <<
"Pure function " << __FUNCTION__
190 <<
" called in Class "
191 << info.name() << std::endl;
200 const std::type_info& info =
typeid(*this);
201 deallog <<
"Pure function " << __FUNCTION__
202 <<
" called in Class "
203 << info.name() << std::endl;
213 const std::type_info& info =
typeid(*this);
214 deallog <<
"Pure function " << __FUNCTION__
215 <<
" called in Class "
216 << info.name() << std::endl;
226 const std::type_info& info =
typeid(*this);
227 deallog <<
"Pure function " << __FUNCTION__
228 <<
" called in Class "
229 << info.name() << std::endl;
238 const std::type_info& info =
typeid(*this);
239 deallog <<
"Pure function " << __FUNCTION__
240 <<
" called in Class "
241 << info.name() << std::endl;
252 std::map<VariableNames, double>& )
const
254 const std::type_info& info =
typeid(*this);
255 deallog <<
"Pure function " << __FUNCTION__
256 <<
" called in Class "
257 << info.name() << std::endl;
266 const std::type_info& info =
typeid(*this);
267 deallog <<
"Pure function " << __FUNCTION__
268 <<
" called in Class "
269 << info.name() << std::endl;
278 const std::type_info& info =
typeid(*this);
279 deallog <<
"Pure function " << __FUNCTION__
280 <<
" called in Class "
281 << info.name() << std::endl;
292 std::map<VariableNames, double>&)
const
294 const std::type_info& info =
typeid(*this);
295 deallog <<
"Pure function " << __FUNCTION__
296 <<
" called in Class "
297 << info.name() << std::endl;
305 Assert(
name_reaction_kinetics.size() != 0, ExcMessage(
"Reaction name not yet set in the CatalystBase object."));
347 const std::type_info& info =
typeid(*this);
348 deallog <<
"Pure function " << __FUNCTION__
349 <<
" called in Class "
350 << info.name() << std::endl;
362 const std::vector<double>& value_dvar,
363 ParameterHandler& param)
365 const std::type_info& info =
typeid(*this);
366 deallog <<
"Pure function " << __FUNCTION__
367 <<
" called in Class "
368 << info.name() << std::endl;
376 const std::type_info& info =
typeid(*this);
377 deallog <<
"Pure function " << __FUNCTION__
378 <<
" called in Class "
379 << info.name() << std::endl;
388 typedef std::map< std::string, FuelCellShop::Material::CatalystBase* >
_mapFactory;
410 virtual boost::shared_ptr<FuelCellShop::Material::CatalystBase >
create_replica ()
412 const std::type_info& info =
typeid(*this);
413 deallog <<
"Pure function " << __FUNCTION__
414 <<
" called in Class "
415 << info.name() << std::endl;
429 const std::type_info& info =
typeid(*this);
430 deallog <<
"Pure function " << __FUNCTION__
431 <<
" called in Class "
432 << info.name() << std::endl;