asl::FDBVKinetics Class Reference
Physics » Chemical Reactions | Numerics » Numerical Methods

Numerical method which computes electrode reactions. More...

`#include <aslFDElChemKinetics.h>`

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

## Public Types

typedef SPDataWithGhostNodesACLData | Data
typedef SPAbstractDataWithGhostNodes | Field
typedef acl::VectorOfElements | Param
typedef SPDataWithGhostNodesACLData | Data
typedef SPAbstractDataWithGhostNodes | Field
typedef acl::VectorOfElements | Param
Public Types inherited from asl::SingleKernelMapNM
typedef SPAbstractDataWithGhostNodes | Field
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
Data & | getAI (unsigned int i=0)
void | addAI (Data ai, double ni)
void | executeJ ()
| 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
Data & | getAI (unsigned int i=0)
void | addAI (Data ai, double ni)
void | executeJ ()
Public Member Functions inherited from asl::SingleKernelMapNM
void | setMap (Field map)
| ~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 ()
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 ()
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)
| 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)
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

- \( j_0 \) is an exchange current density, \( A/m^2 \), note the algorithm assumes \( mol/m^2/s \)
- \( T \) is absolute temperature, \(K\)
- \( n \) is number of electrons involved in the electrode reaction
- \( F \) is the Faraday constant, \( 9.64853399 \cdot 10^4 C mol^{-1} \)
- \( R \) is universal gas constant, \( 8.3144621 J K^{-1} mol^{-1} \)
- \(\alpha_c\) is so-called cathodic charge transfer coefficient
- \(\alpha_a\) is so-called anodic charge transfer coefficient, dimensionless
- \(\eta\) is activation overpotential defined as: \(\eta = \phi - \phi_{eq}\)
- \(E\) is electrode potential, \( V \)
- \(E_{eq}\) equilibrium potential, \( V \)
- \(c_A\) concentration of the component \(\ce{A}\)

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

  a0 | molar concentration of the component before reaction
  aI | molar concentration of the ionized component
  efSPhi | source term in the equation for electrostatic potential
  phi | electrostatic potential, \( \phi \)
  j0 | corresponds to \( j_0 \), note it should have the same units as concentrations
  phi0 | corresponds to \( \phi_{eq} \)
  alphaA | corresponds to \( \frac { \alpha_a F} {RT} \)
  alphaC | corresponds to \( \frac { \alpha_c F} {RT} \)
  n | corresponds to \( n \)

Definition at line 88 of file aslFDElChemKinetics.h.

## Member Typedef Documentation

## Data [1/2]

typedef SPDataWithGhostNodesACLData asl::FDBVKinetics::Data

Definition at line 91 of file aslFDElChemKinetics.h.

## Data [2/2]

typedef SPDataWithGhostNodesACLData asl::FDBVKinetics::Data

Definition at line 91 of file aslFDElChemKinetics.h.

## Field [1/2]

typedef SPAbstractDataWithGhostNodes asl::FDBVKinetics::Field

Definition at line 92 of file aslFDElChemKinetics.h.

## Field [2/2]

typedef SPAbstractDataWithGhostNodes asl::FDBVKinetics::Field

Definition at line 92 of file aslFDElChemKinetics.h.

## Param [1/2]

typedef acl::VectorOfElements asl::FDBVKinetics::Param

Definition at line 93 of file aslFDElChemKinetics.h.

## Param [2/2]

typedef acl::VectorOfElements asl::FDBVKinetics::Param

Definition at line 93 of file aslFDElChemKinetics.h.

## Constructor & Destructor Documentation

## FDBVKinetics() [1/2]

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

## FDBVKinetics() [2/2]

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() [1/2]

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

## addAI() [2/2]

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

## executeJ() [1/2]

void asl::FDBVKinetics::executeJ | ( |  | ) |

## executeJ() [2/2]

void asl::FDBVKinetics::executeJ | ( |  | ) |

## getAI() [1/2]

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

inline

Definition at line 141 of file aslFDElChemKinetics.h.

## getAI() [2/2]

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

inline

## getElectricFieldSource() [1/2]

Field asl::FDBVKinetics::getElectricFieldSource | ( |  | ) | const

## getElectricFieldSource() [2/2]

Field asl::FDBVKinetics::getElectricFieldSource | ( |  | ) | const

## setElectricFieldSource() [1/2]

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

## setElectricFieldSource() [2/2]

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

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

- /build/asl-1Fw6fH/asl-0.1.7/debian/tmp/usr/include/ASL/num/aslFDElChemKinetics.h