17 #ifndef _FUELCELLSHOP__BV_KINETICS_H 
   18 #define _FUELCELLSHOP__BV_KINETICS_H 
   25 #include <deal.II/base/parameter_handler.h> 
   26 #include <deal.II/base/point.h> 
   27 #include <deal.II/base/function.h> 
   28 #include <deal.II/lac/vector.h> 
   29 #include <deal.II/fe/fe_values.h> 
   35 using namespace dealii;
 
   37 namespace FuelCellShop
 
  129             virtual void derivative_current (std::map< 
VariableNames, std::vector<double> > &);
 
  140             virtual boost::shared_ptr<FuelCellShop::Kinetics::BaseKinetics > 
create_replica ()
 
  158                 Assert( !kin_param_initialized, ExcInternalError() );
 
  159                 Assert( catalyst != NULL, ExcMessage(
"Catalyst object not initialized in the ButlerVolmerKinetics object.") );
 
  160                 Assert( phi_m.is_initialized() && phi_s.is_initialized() && T.is_initialized(), ExcMessage(
"Either phi_m/phi_s/T is not set in the ButlerVolmerKinetics object.") );
 
  161                 Assert( reactants_map.size()>0, ExcMessage(
"Atleast one reactant should be set in the ButlerVolmerKinetics object, using set_reactant_concentrations method.") );
 
  163                 std::vector<VariableNames> names;
 
  164                 for ( std::map< VariableNames, SolutionVariable >::const_iterator iter=reactants_map.begin(); iter!=reactants_map.end(); ++iter )
 
  165                     names.push_back(iter->first);
 
  167                 catalyst->reference_concentration(names, ref_conc);
 
  168                 catalyst->reaction_order(names, gamma);
 
  169                 catalyst->alpha_cathodic(alpha_c);
 
  170                 catalyst->alpha_anodic(alpha_a);
 
  172                 kin_param_initialized = 
true;
 
  193             std::map< VariableNames, double > 
gamma;
 
  199 #endif //_FUELCELLSHOP__BV_KINETICS_H 
virtual void declare_parameters(ParameterHandler &) const 
Declare parameters for a parameter file. 
Definition: bv_kinetics.h:107
 
virtual void initialize(ParameterHandler &)
Member function used to read in data and initialize the necessary data to compute the coefficients...
Definition: bv_kinetics.h:114
 
static const std::string concrete_name
Concrete name used for objects of this class. 
Definition: bv_kinetics.h:84
 
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
 
std::map< VariableNames, double > ref_conc
Map of reference concentrations. 
Definition: bv_kinetics.h:188
 
static ButlerVolmerKinetics const * PROTOTYPE
Create prototype for the layer. 
Definition: bv_kinetics.h:147
 
virtual boost::shared_ptr< FuelCellShop::Kinetics::BaseKinetics > create_replica()
This member function is used to create an object of type gas diffusion layer. 
Definition: bv_kinetics.h:140
 
Definition: system_management.h:80
 
Virtual class used to provide the interface for all kinetic/reaction children. 
Definition: base_kinetics.h:102
 
double alpha_a
Anodic transfer coefficient. 
Definition: bv_kinetics.h:183
 
virtual void init_kin_param()
Method used to initialize reference concentrations, reactions orders and cathodic/anodic transfer coe...
Definition: bv_kinetics.h:156
 
This class implements a Butler-Volmer kinetic model. 
Definition: bv_kinetics.h:66
 
double alpha_c
Cathodic transfer coefficient. 
Definition: bv_kinetics.h:178
 
std::map< VariableNames, double > gamma
Map of reaction orders. 
Definition: bv_kinetics.h:193