ecx__kinetics Module

Module for computing kinetics using the Butler-Volmer equations.


Uses

  • module~~ecx__kinetics~~UsesGraph module~ecx__kinetics ecx__kinetics module~ecx__core ecx__core module~ecx__kinetics->module~ecx__core stdlib_kinds stdlib_kinds module~ecx__kinetics->stdlib_kinds module~ecx__core->stdlib_kinds codata codata module~ecx__core->codata ieee_arithmetic ieee_arithmetic module~ecx__core->ieee_arithmetic iso_c_binding iso_c_binding module~ecx__core->iso_c_binding stdlib_math stdlib_math module~ecx__core->stdlib_math

Used by

  • module~~ecx__kinetics~~UsedByGraph module~ecx__kinetics ecx__kinetics module~capi__kinetics capi__kinetics module~capi__kinetics->module~ecx__kinetics module~ecx ecx module~ecx->module~ecx__kinetics module~capi capi module~ecx->module~capi module~capi->module~capi__kinetics

Functions

public pure elemental function bv(U, OCV, j0, jdla, jdlc, aa, ac, za, zc, A, T) result(I)

Compute Butler Volmer equation with mass transport.

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: U

Electrochemical potential in V.

real(kind=dp), intent(in) :: OCV

Open Circuit Voltage in V.

real(kind=dp), intent(in) :: j0

Exchange current density in A.cm-2.

real(kind=dp), intent(in) :: jdla

Anodic diffusion limiting current density in A.cm-2.

real(kind=dp), intent(in) :: jdlc

Cathodic diffusion limiting current density in A.cm-2.

real(kind=dp), intent(in) :: aa

Anodic transfer coefficient.

real(kind=dp), intent(in) :: ac

Cathodic transfer coefficient.

real(kind=dp), intent(in) :: za

Number of exchnaged electrons in the anodic branch.

real(kind=dp), intent(in) :: zc

Number of exchnaged electrons in the cathodic branch.

real(kind=dp), intent(in) :: A

Area in cm2.

real(kind=dp), intent(in) :: T

Temperature in °C.

Return Value real(kind=dp)

public pure function nernst(E0, z, aox, vox, ared, vred, T) result(E)

Compute the Nernst electrochemical potential in V.

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: E0

Standard electrochemical potential in V.

integer(kind=int32), intent(in) :: z

Number of exchanged electrons.

real(kind=dp), intent(in) :: aox(:)

Activities of the oxidants.

real(kind=dp), intent(in) :: vox(:)

Coefficients for the oxidants.

real(kind=dp), intent(in) :: ared(:)

Activities of the reductants

real(kind=dp), intent(in) :: vred(:)

Coefficients for the reductants.

real(kind=dp), intent(in) :: T

Temperature in °C.

Return Value real(kind=dp)

public pure elemental function sbv(U, OCV, j0, aa, ac, za, zc, A, T) result(I)

Compute Butler Volmer equation without mass transport.

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: U

Electrochemical potential in V.

real(kind=dp), intent(in) :: OCV

Open Circuit Voltage in V.

real(kind=dp), intent(in) :: j0

Exchange current density in A.cm-2.

real(kind=dp), intent(in) :: aa

Anodic transfer coefficient.

real(kind=dp), intent(in) :: ac

Cathodic transfer coefficient.

real(kind=dp), intent(in) :: za

Number of exchnaged electrons in the anodic branch.

real(kind=dp), intent(in) :: zc

Number of exchnaged electrons in the cathodic branch.

real(kind=dp), intent(in) :: A

Area in cm2.

real(kind=dp), intent(in) :: T

Temperature in °C.

Return Value real(kind=dp)