qimpy.transport.material.ab_initio.Lindblad

class Lindblad(*, ab_initio, data_file, scale_factor=1.0, detailed_balance='single', checkpoint_in=(None, ''))

Bases: TreeNode

Parameters:
__init__(*, ab_initio, data_file, scale_factor=1.0, detailed_balance='single', checkpoint_in=(None, ''))

Initialize ab initio Lindbladian scattering.

Parameters:
Return type:

None

Methods

__init__

Initialize ab initio Lindbladian 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

find mu based on occupations f, Does not work for k-point parralelization

initialize_fields

rho_dot

drho/dt due to scattering in Schrodinger picture.

save_checkpoint

Save self and all children in hierarchy to cp_path.

Attributes

ab_initio

P

P and Pbar operators stacked together

rho_dot0

rho_dot(rho0) for detailed balance correction

constant_params

constant values of parameters

scale_factor

scale factors per patch

detailed_balance

child_names

Names of attributes with child objects.

variant_name

Version of children having variants (if any)

find_mu(f, mu0)

find mu based on occupations f, Does not work for k-point parralelization

Parameters:
  • f (Tensor)

  • mu0 (Tensor)

Return type:

Tensor

rho_dot(rho, t, patch_id)

drho/dt due to scattering in Schrodinger picture. Input and output rho are in unpacked (complex Hermitian) form.

Parameters:
  • rho (Tensor)

  • t (float)

  • patch_id (int)

Return type:

Tensor

P: Tensor

P and Pbar operators stacked together

constant_params: dict[str, Tensor]

constant values of parameters

rho_dot0: Tensor

rho_dot(rho0) for detailed balance correction

scale_factor: dict[int, Tensor]

scale factors per patch