qimpy.transport.material.ab_initio.RelaxationTime

class RelaxationTime(*, ab_initio, tau_e=inf, tau_h=inf, tau_s_e=inf, tau_s_h=inf, tau_eh=inf, max_dmu=0.001, tau_recomb=inf, nv=0, eps=1e-12, dmu_eps=1e-08, only_diagonal=True, checkpoint_in=(None, ''))

Bases: TreeNode

Parameters:
  • ab_initio (AbInitio)

  • tau_e (dict[int, Tensor])

  • tau_h (dict[int, Tensor])

  • tau_s_e (dict[int, Tensor])

  • tau_s_h (dict[int, Tensor])

  • tau_eh (dict[int, Tensor])

  • max_dmu (float)

  • tau_recomb (dict[int, Tensor])

  • nv (int)

  • eps (float)

  • dmu_eps (float)

  • only_diagonal (bool)

  • checkpoint_in (CheckpointPath)

__init__(*, ab_initio, tau_e=inf, tau_h=inf, tau_s_e=inf, tau_s_h=inf, tau_eh=inf, max_dmu=0.001, tau_recomb=inf, nv=0, eps=1e-12, dmu_eps=1e-08, only_diagonal=True, checkpoint_in=(None, ''))

Initialize relaxation time approximation for scattering.

Parameters:
  • tau_e (float) – [Input file] Conduction bands relaxation time.

  • tau_h (float) – [Input file] Valance bands relaxation time.

  • tau_eh (float) – [Input file] Relaxation time of conduction-valance off diagonal terms.

  • tau_s_e (float | Sequence[float]) – [Input file] Electron spin relaxation time. Note that tau_e must also be set to use this. Can be a single number, or three components for each spin direction.

  • tau_s_h (float | Sequence[float]) – [Input file] Hole spin relaxation time. Note that tau_h must also be set to use this. Can be a single number, or three components for each spin direction.

  • max_dmu (float) – [Input file] Maximum mu change in Newton-Rhapson method.

  • tau_recomb (float) – [Input file] Recombination time.

  • nv (int) – [Input file] Number of valance bands.

  • eps (float) – [Input file] Precision in the determination of mu_e and mu_h.

  • only_diagonal (bool) – [Input file] Whether only diagonal terms change.

  • ab_initio (AbInitio)

  • dmu_eps (float)

  • checkpoint_in (CheckpointPath)

Return type:

None

Methods

__init__

Initialize relaxation time approximation for scattering.

add_child

Construct child object self.`attr_name` of type cls.

add_child_one_of

Invoke add_child on one of several child options in args.

find_mu

initialize_fields

replicate_betamu

rho_dot

save_checkpoint

Save self and all children in hierarchy to cp_path.

Attributes

ab_initio

tau_e

electron relaxation time

tau_h

hole relaxation time

tau_s_e

electron spin relaxation time

tau_s_h

hole spin relaxation time

tau_eh

electron-hole off-diagonal relaxation

tau_recomb

recombination time

max_dmu

maximum change of mu in find_mu

nv

number of valance bands

eps

dmu_eps

only_diagonal

constant_params

constant values of parameters

exp_betaEe

document

betamue0

document

exp_betaEh

document

betamuh0

document

exp_betaE

document

betamuk0

document

proj_S_e

spin projectors for electrons

proj_S_h

spin projectors for holes

child_names

Names of attributes with child objects.

variant_name

Version of children having variants (if any)

betamue0: dict[int, Tensor]

document

Type:

TODO

betamuh0: dict[int, Tensor]

document

Type:

TODO

betamuk0: dict[int, Tensor]

document

Type:

TODO

constant_params: dict[str, Tensor]

constant values of parameters

exp_betaE: dict[int, Tensor]

document

Type:

TODO

exp_betaEe: dict[int, Tensor]

document

Type:

TODO

exp_betaEh: dict[int, Tensor]

document

Type:

TODO

max_dmu: float

maximum change of mu in find_mu

nv: int

number of valance bands

proj_S_e: Tensor

spin projectors for electrons

proj_S_h: Tensor

spin projectors for holes

tau_e: dict[int, Tensor]

electron relaxation time

tau_eh: dict[int, Tensor]

electron-hole off-diagonal relaxation

tau_h: dict[int, Tensor]

hole relaxation time

tau_recomb: dict[int, Tensor]

recombination time

tau_s_e: dict[int, Tensor]

electron spin relaxation time

tau_s_h: dict[int, Tensor]

hole spin relaxation time