ASL  0.1.7
Advanced Simulation Library
Public Types | Public Member Functions | List of all members
asl::FDBVKinetics Class Reference

Numerical method which computes electrode reactions. More...

#include <aslFDElChemKinetics.h>

Inheritance diagram for asl::FDBVKinetics:
Inheritance graph
[legend]
Collaboration diagram for asl::FDBVKinetics:
Collaboration graph
[legend]

Public Types

typedef SPDataWithGhostNodesACLData Data
 
typedef SPAbstractDataWithGhostNodes Field
 
typedef acl::VectorOfElements Param
 
- Public Types inherited from asl::SingleKernelMapNM
typedef SPAbstractDataWithGhostNodes Field
 

Public Member Functions

 FDBVKinetics (Data a0, double n0, Data aI, double nI, Data phiS, Field phi, const Param &j0, const Param &beta, double n)
 
void setElectricFieldSource (Field phi)
 
Field getElectricFieldSource () const
 
DatagetAI (unsigned int i=0)
 
void addAI (Data ai, double ni)
 
void executeJ ()
 
- Public Member Functions inherited from asl::SingleKernelMapNM
void setMap (Field map)
 
 ~SingleKernelMapNM ()
 
- Public Member Functions inherited from asl::SingleKernelNM
virtual void execute ()
 Executes the numerical procedure. More...
 
virtual void init ()
 Builds the necesery internal data and kernels. More...
 
virtual ~SingleKernelNM ()
 
- Public Member Functions inherited from asl::NumMethod
virtual ~NumMethod ()
 

Additional Inherited Members

- Protected Member Functions inherited from asl::SingleKernelMapNM
 SingleKernelMapNM (const acl::KernelConfiguration &kernelCongig)
 
 SingleKernelMapNM (Field map, const acl::KernelConfiguration &kernelCongig)
 
void initMapInfrastructure (acl::ExpressionContainer &k)
 
- Protected Member Functions inherited from asl::SingleKernelNM
virtual void preProcessing ()
 the function executed before kernel->compute() More...
 
virtual void postProcessing ()
 the function executed after kernel->compute() More...
 
 SingleKernelNM (const acl::KernelConfiguration &kernelCongig)
 
- Protected Attributes inherited from asl::SingleKernelNM
acl::SPKernel kernel
 

Detailed Description

Numerical method which computes electrode reactions.

!!!!!!!!!!!!need corrections

Description of an electrochemical kinetic reaction on an electrode:

\[ \ce{A <-> A^{n+} + n e-} \]

The reaction kinetics is described by the Butler-Volmer equation:

\[ j = j_0 c_A \cdot \left( e^{\frac { \alpha_a nF \eta} {RT}} - e^{ - { \frac { \alpha_c nF \eta} {RT}} } \right), \]

where

The equation describes chemical reaction namely it can be used together with an appropriate transport equations and equation for the elecrostatic potential:

\[ c_A^R = c_A - j \]

\[ c_{A^{n+}}^R = c_{A^{n+}} + j \]

\[ \vec\nabla \kappa \vec\nabla\phi + S_\phi = 0 \]

class parameters are related to the quation ones as follows

Parameters
a0molar concentration of the component before reaction
aImolar concentration of the ionized component
efSPhisource term in the equation for electrostatic potential
phielectrostatic potential, \( \phi \)
j0corresponds to \( j_0 \), note it should have the same units as concentrations
phi0corresponds to \( \phi_{eq} \)
alphaAcorresponds to \( \frac { \alpha_a F} {RT} \)
alphaCcorresponds to \( \frac { \alpha_c F} {RT} \)
ncorresponds to \( n \)

Definition at line 88 of file aslFDElChemKinetics.h.

Member Typedef Documentation

◆ Data

Definition at line 91 of file aslFDElChemKinetics.h.

◆ Field

Definition at line 92 of file aslFDElChemKinetics.h.

◆ Param

Definition at line 93 of file aslFDElChemKinetics.h.

Constructor & Destructor Documentation

◆ FDBVKinetics()

asl::FDBVKinetics::FDBVKinetics ( Data  a0,
double  n0,
Data  aI,
double  nI,
Data  phiS,
Field  phi,
const Param j0,
const Param beta,
double  n 
)

Member Function Documentation

◆ addAI()

void asl::FDBVKinetics::addAI ( Data  ai,
double  ni 
)

◆ executeJ()

void asl::FDBVKinetics::executeJ ( )

◆ getAI()

FDBVKinetics::Data & asl::FDBVKinetics::getAI ( unsigned int  i = 0)
inline

Definition at line 141 of file aslFDElChemKinetics.h.

◆ getElectricFieldSource()

Field asl::FDBVKinetics::getElectricFieldSource ( ) const

◆ setElectricFieldSource()

void asl::FDBVKinetics::setElectricFieldSource ( Field  phi)

The documentation for this class was generated from the following file: