ecx__api Module

API


Uses

  • module~~ecx__api~~UsesGraph module~ecx__api ecx__api module~ecx__common ecx__common module~ecx__api->module~ecx__common module~ecx__core ecx__core module~ecx__api->module~ecx__core module~ecx__eis ecx__eis module~ecx__api->module~ecx__eis module~ecx__version ecx__version module~ecx__api->module~ecx__version ieee_arithmetic ieee_arithmetic module~ecx__common->ieee_arithmetic iso_c_binding iso_c_binding module~ecx__common->iso_c_binding stdlib_codata stdlib_codata module~ecx__common->stdlib_codata stdlib_constants stdlib_constants module~ecx__common->stdlib_constants stdlib_kinds stdlib_kinds module~ecx__common->stdlib_kinds stdlib_math stdlib_math module~ecx__common->stdlib_math stdlib_optval stdlib_optval module~ecx__common->stdlib_optval module~ecx__core->module~ecx__common module~ecx__eis->module~ecx__common module~ecx__eis->module~ecx__core

Used by

  • module~~ecx__api~~UsedByGraph module~ecx__api ecx__api module~ecx ecx module~ecx->module~ecx__api module~ecx__capi ecx__capi module~ecx->module~ecx__capi module~ecx__capi->module~ecx__api program~ecxcli ecxcli program~ecxcli->module~ecx

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 function get_version() result(fptr)

Get the version.

Arguments

None

Return Value character(len=:), pointer

Version of the library.

public pure elemental function kTe(T) result(r)

Compute the thermal voltage.

Arguments

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

Temperature in °C.

Return Value real(kind=dp)

Thermal voltage in V.

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)


Subroutines

public subroutine mm(p, w, zout, n)

Compute the measurement model.

Arguments

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

Parameters.

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

Angular frequencies in rad.s-1

complex(kind=dp), intent(out) :: zout(:)

Complex impedance in Ohms.

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

Number of voigt elements.

public subroutine z(p, w, zout, e, errstat, errmsg)

Arguments

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

Angular frequencies in rad.s-1

complex(kind=dp), intent(out) :: zout(:)

Complex impedance in Ohms.

character(len=1), intent(in) :: e

Electrochemical element: R, C, L, Q, O, T, G

integer(kind=int32), intent(out) :: errstat

Error status

character(len=:), intent(out), pointer :: errmsg

Error message