17 #ifndef _FUELCELLSHOP__DUAL_PATH_KINETICS_H
18 #define _FUELCELLSHOP__DUAL_PATH_KINETICS_H
24 #include <base/parameter_handler.h>
25 #include <base/point.h>
26 #include <base/function.h>
27 #include <lac/vector.h>
28 #include <fe/fe_values.h>
34 using namespace dealii;
36 namespace FuelCellShop
82 name_reaction_kinetics = name;
86 const std::type_info& info =
typeid(*this);
87 FcstUtilities::log <<
"Only HOR reaction is to be implemented in " << __FUNCTION__ <<
" called in Class " << info.name() << std::endl;
106 virtual void derivative_current (std::map<
VariableNames, std::vector<double> >&);
132 virtual void declare_parameters(ParameterHandler ¶m)
const;
138 virtual void initialize(ParameterHandler ¶m);
149 virtual boost::shared_ptr<FuelCellShop::Kinetics::BaseKinetics >
create_replica ()
167 Assert( !kin_param_initialized, ExcInternalError() );
168 Assert( catalyst != NULL, ExcMessage(
"Catalyst object not initialized in the DualPathKinetics object.") );
169 Assert( catalyst->get_reaction_name() ==
HOR, ExcMessage(
"Catalyst object in the DualPathKinetics not set to HOR reaction name.") );
170 Assert( phi_m.is_initialized() && phi_s.is_initialized() && T.is_initialized(), ExcMessage(
"Either phi_m/phi_s/T is not set in the DualPathKinetics object.") );
171 Assert( reactants_map.find(
hydrogen_concentration) != reactants_map.end(), ExcMessage(
"Hydrogen concentration is not set in the DualPathKinetics object.") );
174 std::map< VariableNames, double > cref_map;
175 catalyst->reference_concentration(names, cref_map);
178 kin_param_initialized =
true;
205 #endif //_FUELCELLSHOP__DUAL_PATH_KINETICS_H
Definition: system_management.h:152
double j_0H
HV exchange current density [A/cm^2].
Definition: dual_path_kinetics.h:188
Definition: system_management.h:87
double ref_potential
Reference potential.
Definition: dual_path_kinetics.h:194
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:62
virtual void set_reaction_kinetics(const ReactionNames &name)
Member function used to set the reaction name in the Dual path kinetics object.
Definition: dual_path_kinetics.h:79
This class will contain the implementation of the dual path kinetic kinetic model as developed by Wan...
Definition: dual_path_kinetics.h:53
virtual boost::shared_ptr< FuelCellShop::Kinetics::BaseKinetics > create_replica()
This member function is used to create an object of type gas diffusion layer.
Definition: dual_path_kinetics.h:149
double potential_constant
Potential range constant.
Definition: dual_path_kinetics.h:191
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: dual_path_kinetics.h:70
FCSTLogStream log
Object used to output data to file and, if file attached recorded to a file as well.
ReactionNames
Definition: system_management.h:148
Definition: system_management.h:79
Virtual class used to provide the interface for all kinetic/reaction children.
Definition: base_kinetics.h:107
virtual void init_kin_param()
Method used to initialize reference concentration of hydrogen for the reaction, and number of quadrat...
Definition: dual_path_kinetics.h:165
double j_0T
TV exchange current density [A/cm^2].
Definition: dual_path_kinetics.h:185
static DualPathKinetics const * PROTOTYPE
Create prototype for the layer.
Definition: dual_path_kinetics.h:156
double ref_conc_H2
Reference concentration for hydrogen, .
Definition: dual_path_kinetics.h:182