16 #ifndef _FUELCELLSHOP__LAYER_CATALYST_LAYER_H
17 #define _FUELCELLSHOP__LAYER_CATALYST_LAYER_H
20 #include<base/parameter_handler.h>
21 #include<base/point.h>
22 #include <base/function.h>
23 #include <lac/vector.h>
24 #include <fe/fe_values.h>
44 class AgglomerateCLTest;
46 namespace FuelCellShop
156 friend class ::AgglomerateCLTest;
183 ParameterHandler ¶m)
189 iterator->second->declare_parameters(cl_section_name, param);
197 const std::vector<double>& value_dvar,
198 const std::string& cl_section_name,
199 ParameterHandler ¶m)
224 static boost::shared_ptr<FuelCellShop::Layer::CatalystLayer<dim> >
create_CatalystLayer (
const std::string& cl_section_name,
225 ParameterHandler ¶m)
227 boost::shared_ptr<FuelCellShop::Layer::CatalystLayer<dim> > pointer;
229 std::string concrete_name;
230 param.enter_subsection(
"Fuel cell data");
232 param.enter_subsection(cl_section_name);
234 concrete_name = param.get(
"Catalyst layer type");
237 param.leave_subsection();
239 param.leave_subsection();
245 if (iterator->second)
251 deallog<<
"Pointer not initialized"<<std::endl;
257 deallog<<
"Concrete name in FuelCellShop::Layer::CatalystLayer<dim>::create_CatalystLayer does not exist"<<std::endl;
261 pointer->initialize(param);
306 virtual void set_solution(
const std::vector< SolutionVariable >&);
315 this->
kinetics->set_derivative_flags(flags);
326 this->
kinetics->set_reaction_kinetics(rxn_name);
327 this->
catalyst->set_reaction_kinetics(rxn_name);
369 const std::type_info& info =
typeid(*this);
370 deallog <<
"Pure function " << __FUNCTION__
371 <<
" called in Class "
372 << info.name() << std::endl;
383 const std::type_info& info =
typeid(*this);
384 deallog <<
"Pure function " << __FUNCTION__
385 <<
" called in Class "
386 << info.name() << std::endl;
398 const std::type_info& info =
typeid(*this);
399 deallog <<
"Pure function " << __FUNCTION__
400 <<
" called in Class "
401 << info.name() << std::endl;
409 const std::type_info& info =
typeid(*this);
410 deallog <<
"Pure function " << __FUNCTION__
411 <<
" called in Class "
412 << info.name() << std::endl;
419 const std::type_info& info =
typeid(*this);
420 deallog <<
"Pure function " << __FUNCTION__
421 <<
" called in Class "
422 << info.name() << std::endl;
431 const std::type_info& info =
typeid(*this);
432 deallog <<
"Pure function " << __FUNCTION__
433 <<
" called in Class "
434 << info.name() << std::endl;
443 const std::type_info& info =
typeid(*this);
444 deallog <<
"Pure function " << __FUNCTION__
445 <<
" called in Class "
446 << info.name() << std::endl;
454 const std::type_info& info =
typeid(*this);
455 deallog <<
"Pure function " << __FUNCTION__
456 <<
" called in Class "
457 << info.name() << std::endl;
464 const std::type_info& info =
typeid(*this);
465 deallog <<
"Pure function " << __FUNCTION__
466 <<
" called in Class "
467 << info.name() << std::endl;
476 const std::type_info& info =
typeid(*this);
477 deallog <<
"Pure function " << __FUNCTION__
478 <<
" called in Class "
479 << info.name() << std::endl;
487 const std::type_info& info =
typeid(*this);
488 deallog <<
"Pure function " << __FUNCTION__
489 <<
" called in Class "
490 << info.name() << std::endl;
498 const std::type_info& info =
typeid(*this);
499 deallog <<
"Pure function " << __FUNCTION__
500 <<
" called in Class "
501 << info.name() << std::endl;
511 const std::type_info& info =
typeid(*this);
512 deallog <<
"Pure function " << __FUNCTION__
513 <<
" called in Class "
514 << info.name() << std::endl;
522 const std::type_info& info =
typeid(*this);
523 deallog <<
"Pure function " << __FUNCTION__
524 <<
" called in Class "
525 << info.name() << std::endl;
532 const std::type_info& info =
typeid(*this);
533 deallog <<
"Pure function " << __FUNCTION__
534 <<
" called in Class "
535 << info.name() << std::endl;
544 const std::type_info& info =
typeid(*this);
545 deallog <<
"Pure function " << __FUNCTION__
546 <<
" called in Class "
547 << info.name() << std::endl;
556 const std::type_info& info =
typeid(*this);
557 deallog <<
"Pure function " << __FUNCTION__
558 <<
" called in Class "
559 << info.name() << std::endl;
566 const std::type_info& info =
typeid(*this);
567 deallog <<
"Pure function " << __FUNCTION__
568 <<
" called in Class "
569 << info.name() << std::endl;
576 const std::type_info& info =
typeid(*this);
577 deallog <<
"Pure function " << __FUNCTION__
578 <<
" called in Class "
579 << info.name() << std::endl;
588 const std::type_info& info =
typeid(*this);
589 deallog <<
"Pure function " << __FUNCTION__
590 <<
" called in Class "
591 << info.name() << std::endl;
600 const std::type_info& info =
typeid(*this);
601 deallog <<
"Pure function " << __FUNCTION__
602 <<
" called in Class "
603 << info.name() << std::endl;
615 const std::type_info& info =
typeid(*this);
616 deallog <<
"Pure function " << __FUNCTION__
617 <<
" called in Class "
618 << info.name() << std::endl;
627 const std::type_info& info =
typeid(*this);
628 deallog <<
"Pure function " << __FUNCTION__
629 <<
" called in Class "
630 << info.name() << std::endl;
639 const std::type_info& info =
typeid(*this);
640 deallog <<
"Pure function " << __FUNCTION__
641 <<
" called in Class "
642 << info.name() << std::endl;
648 const std::type_info& info =
typeid(*this);
649 deallog <<
"Pure function " << __FUNCTION__
650 <<
" called in Class "
651 << info.name() << std::endl;
707 virtual void set_parameters (
const std::vector<std::string>& name_dvar,
708 const std::vector<double>& value_dvar,
709 const std::string&
name,
710 ParameterHandler ¶m)
const;
795 virtual boost::shared_ptr<FuelCellShop::Layer::CatalystLayer<dim> >
create_replica (
const std::string &
name)
797 const std::type_info& info =
typeid(*this);
798 deallog <<
"Pure function " << __FUNCTION__
799 <<
" called in Class "
800 << info.name() << std::endl;
831 boost::shared_ptr< FuelCellShop::Material::PolymerElectrolyteBase >
electrolyte;
843 boost::shared_ptr< FuelCellShop::Material::CatalystBase >
catalyst;
846 boost::shared_ptr< FuelCellShop::Kinetics::BaseKinetics >
kinetics;
866 #endif // _FUELCELLSHOP__LAYER__CATALYST_LAYER_H