mobility

Handle mobility properties.

class mobility.Mobility(params, comps, TK)[source]

Bases: object

Methods to compute mobility-related quantities.

Variables:
  • params (dict of dicts) –

    Mobility parameters arranged as follows:

    {i: subdict for i in comps}

    subdict: {j: val for j in subsystems}.

  • comps (list of str) – Atom components.

DT_funx(x) :

Tracer diffusion coefficients, see get_DT_funx().

L_fun(x):

Onsager coefficients, see thermo_functions.make_Lfun().

DVa_fun(y, x)

Vacancy diffusion coefficient, see thermo_functions.make_DVa_fun().

__init__(params, comps, TK)[source]

Class constructor.

Parameters:
  • params (dict of dicts) –

    Mobility parameters arranged as follows:

    {i: subdict for i in comps}

    subdict: {j: val for j in subsystems}.

  • comps (list of str) – Atom components.

  • TK (float) – Temperature in Kelvin.

DT_fun(x)[source]

Calculate tracer diffusion coefficients of atom components.

Parameters:

x (np.array (shape (n_inds, nz))) – Atom fractions.

Returns:

Tracer diffusion coefficients, shape (nz) {k: DT_k for k in components}.

Return type:

dict

mobility.get_DT_funx(comps, pdict, TK)[source]

Generate DT function based on thermo_functions.lnDT_model().

This uses a Redlich-Kister polynomial with binary and ternary interactions of order 0.

Parameters:
  • comps (list of str) – System constituents.

  • pdict (dict of floats) – Mobility parameters.

  • TK (float) – Temperature in Kelvin.

Returns:

fun – Function that takes ayom fraction array (shape (n_inds, nz)) as argument, and returns tracer diffusion coefficients evaluated on this composition grid (shape (n_comps, nz)).

Return type:

function