17 #ifndef _FUELCELLSHOP_POLYMER_ELECTROLYTE_MATERIAL_BASE__H
18 #define _FUELCELLSHOP_POLYMER_ELECTROLYTE_MATERIAL_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>
37 namespace FuelCellShop
81 iterator->second->declare_parameters(param);
89 const std::vector<double>& value_dvar,
90 ParameterHandler ¶m)
96 iterator->second->set_parameters(name_dvar,value_dvar, param);
119 std::string polymer_electrolyte_name)
121 boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase > pointer;
127 if (iterator->second)
129 pointer = iterator->second->create_replica();
133 deallog<<
"Pointer not initialized"<<std::endl;
139 deallog<<
"Concrete name in FuelCellShop::Material::PolymerElectrolyteBase::create_PolymerElectrolyte does not exist"<<std::endl;
143 pointer->initialize(param);
159 const std::type_info& info =
typeid(*this);
160 deallog <<
"Pure function " << __FUNCTION__
161 <<
" called in Class "
162 << info.name() << std::endl;
173 const std::type_info& info =
typeid(*this);
174 deallog <<
"Pure function " << __FUNCTION__
175 <<
" called in Class "
176 << info.name() << std::endl;
186 const std::type_info& info =
typeid(*this);
187 deallog <<
"Pure function " << __FUNCTION__
188 <<
" called in Class "
189 << info.name() << std::endl;
198 const std::type_info& info =
typeid(*this);
199 deallog <<
"Pure function " << __FUNCTION__
200 <<
" called in Class "
201 << info.name() << std::endl;
211 const std::type_info& info =
typeid(*this);
212 deallog <<
"Pure function " << __FUNCTION__
213 <<
" called in Class "
214 << info.name() << std::endl;
224 const std::type_info& info =
typeid(*this);
225 deallog <<
"Pure function " << __FUNCTION__
226 <<
" called in Class "
227 << info.name() << std::endl;
236 const std::type_info& info =
typeid(*this);
237 deallog <<
"Pure function " << __FUNCTION__
238 <<
" called in Class "
239 << info.name() << std::endl;
249 const std::type_info& info =
typeid(*this);
250 deallog <<
"Pure function " << __FUNCTION__
251 <<
" called in Class "
252 << info.name() << std::endl;
262 const std::type_info& info =
typeid(*this);
263 deallog <<
"Pure function " << __FUNCTION__
264 <<
" called in Class "
265 << info.name() << std::endl;
275 const std::type_info& info =
typeid(*this);
276 deallog <<
"Pure function " << __FUNCTION__
277 <<
" called in Class "
278 << info.name() << std::endl;
288 const std::type_info& info =
typeid(*this);
289 deallog <<
"Pure function " << __FUNCTION__
290 <<
" called in Class "
291 << info.name() << std::endl;
300 const std::type_info& info =
typeid(*this);
301 deallog <<
"Pure function " << __FUNCTION__
302 <<
" called in Class "
303 << info.name() << std::endl;
313 const std::type_info& info =
typeid(*this);
314 deallog <<
"Pure function " << __FUNCTION__
315 <<
" called in Class "
316 << info.name() << std::endl;
326 const std::type_info& info =
typeid(*this);
327 deallog <<
"Pure function " << __FUNCTION__
328 <<
" called in Class "
329 << info.name() << std::endl;
383 inline void set_T (
const double& Temp)
404 ExcMessage(
"Input solution variable not initialized properly in PolymerElectrolyteBase::set_membrane_water_content method.") );
420 ExcMessage(
"Input solution variable not initialized properly in PolymerElectrolyteBase::set_temperature method.") );
437 ExcMessage(
"Input solution variable not initialized properly in PolymerElectrolyteBase::set_water_molar_fraction method.") );
484 const std::type_info& info =
typeid(*this);
485 deallog <<
"Pure function " << __FUNCTION__
486 <<
" called in Class "
487 << info.name() << std::endl;
500 const std::vector<double>& value_dvar,
501 ParameterHandler& param)
503 const std::type_info& info =
typeid(*this);
504 deallog <<
"Pure function " << __FUNCTION__
505 <<
" called in Class "
506 << info.name() << std::endl;
514 const std::type_info& info =
typeid(*this);
515 deallog <<
"Pure function " << __FUNCTION__
516 <<
" called in Class "
517 << info.name() << std::endl;
526 typedef std::map< std::string, FuelCellShop::Material::PolymerElectrolyteBase* >
_mapFactory;
547 virtual boost::shared_ptr<FuelCellShop::Material::PolymerElectrolyteBase >
create_replica ()
549 const std::type_info& info =
typeid(*this);
550 deallog <<
"Pure function " << __FUNCTION__
551 <<
" called in Class "
552 << info.name() << std::endl;