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:
ab_initio (AbInitio)
data_file (Checkpoint)
scale_factor (dict[int, Tensor])
detailed_balance (str)
checkpoint_in (CheckpointPath)
- __init__(*, ab_initio, data_file, scale_factor=1.0, detailed_balance='single', checkpoint_in=(None, ''))
Initialize ab initio Lindbladian scattering.
- Parameters:
scale_factor (float) – [Input file] Overall scale factor for scattering rate.
ab_initio (AbInitio)
data_file (Checkpoint)
detailed_balance (str)
checkpoint_in (CheckpointPath)
- Return type:
None
Methods
Initialize ab initio Lindbladian scattering.
add_childConstruct child object self.`attr_name` of type cls.
add_child_one_ofInvoke add_child on one of several child options in args.
find mu based on occupations f, Does not work for k-point parralelization
initialize_fieldsdrho/dt due to scattering in Schrodinger picture.
save_checkpointSave self and all children in hierarchy to cp_path.
Attributes
ab_initioP and Pbar operators stacked together
rho_dot(rho0) for detailed balance correction
constant values of parameters
scale factors per patch
detailed_balancechild_namesNames of attributes with child objects.
variant_nameVersion 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