kdotpy
Loading...
Searching...
No Matches
kdotpy.models.ModelLL Class Reference
Inheritance diagram for kdotpy.models.ModelLL:
Collaboration diagram for kdotpy.models.ModelLL:

Public Member Functions

 update_ham (self, ddp)
 
- Public Member Functions inherited from kdotpy.models.ModelBase
 __init__ (self, model_opts)
 
 step_grouping_wrapper (self, ddp)
 
 enqueue_task (self, ddp, queue, progress_monitor=None)
 
 load_ddp (self, ddp)
 
 resume_ddp (self, ddp)
 
 construct_ham (self, ddp)
 
 solve_ham (self, ddp)
 
 post_solve (self, ddp)
 
 update_ddp (self, ddp)
 

Protected Member Functions

 _construct_ham (self, ddp, ll_max=None, h_sym=None, params=None, pot=None, ll_mode='full', split=0.0, lattice_reg=False, ignorestrain=False, axial=True, solver=None, h_sym_opts=None, **ignored_opts)
 
 _solve_ham (self, ddp, solver=None, params=None, ll_mode='full', ll_max=None, **ignored_opts)
 
 _post_solve (self, ddp=None, ll_max=None, h_sym=None, params=None, obs=None, obs_prop=None, return_eivec=False, overlap_eivec=None, berry=False, transitions=False, transitions_range=None, wflocations=None, ll_mode='full', **ignored_opts)
 
- Protected Member Functions inherited from kdotpy.models.ModelBase
 _step_grouping_wrapper (self, ddp)
 
 _load_ddp (self, ddp)
 

Additional Inherited Members

- Public Attributes inherited from kdotpy.models.ModelBase
 model_opts = model_opts
 
list steps = [self.load_ddp, self.construct_ham, self.solve_ham, self.post_solve]
 
list callbacks = [self.resume_ddp, self.update_ham, self.update_ddp, self.update_ddp]
 
list step_policy = ['process', 'process', 'process', 'process']
 
list step_prio = [3, 2, 1, 0]
 
list threads = [1] * len(self.steps)
 
list gpu_workers = [0] * len(self.steps)
 
 solve_step_idx = i
 
 resume_path = None
 
 resume_step = resume_from()
 
 group_steps = get_config_bool('tasks_grouped')
 
bool run_post_solve = True
 
- Protected Attributes inherited from kdotpy.models.ModelBase
 _step_grouping_wrapper
 
 _load_ddp
 

Detailed Description

Model for LL dispersion mode - Symbolic Hamiltonian version.

Member Function Documentation

◆ _construct_ham()

kdotpy.models.ModelLL._construct_ham ( self,
ddp,
ll_max = None,
h_sym = None,
params = None,
pot = None,
ll_mode = 'full',
split = 0.0,
lattice_reg = False,
ignorestrain = False,
axial = True,
solver = None,
h_sym_opts = None,
** ignored_opts )
protected
Actual (private) step implementation for Hamiltonian construction.
Runs on worker process/thread.

Arguments:
ddp            DiagDataPoint instance with specific parameters.
ll_max         Integer. Maximum LL index.
h_sym          SymbolicHamiltonian instance. The Hamiltonian.
params         PhysParams instance.
pot            Array. Potential V(z) in meV as function of position.
ll_mode        LL calculation mode: legacy, sym or full

Following arguments apply only to ll_mode 'legacy':
split          Float. Amount of degeneracy lifting at zero magnetic
               field.
lattice_reg    True or False. Whether to apply lattice regularization
               (x -> sin x). Default set to False to match symbolic
               modes.
ignorestrain   True or False. If True, do not include strain terms in
                       the Hamiltonian.
axial          True or False. If True, apply axial approximation. If
                       False, include non-axial terms in the Hamiltonian.
solver         DiagSolver instance. Set hllsplit magnitude from solver
               precision.
h_sym_opts     Modelopts dict for per-DDP construction of symbolic
               Hamiltonian. Only required in ll_mode 'full' or 'sym' if
               no constant h_sym can be given.

Returns:
Tuple with either
- 'full' mode: Hamiltonian and zero-field split Hamiltonian
- 'sym' or 'legacy' mode: List of single LL Hamiltonians and None (no
  splitting correction!)
The last element of the tuple is the symbolic Hamiltonian for this DDP,
if a new construction was necessary.

Reimplemented from kdotpy.models.ModelBase.

◆ _post_solve()

kdotpy.models.ModelLL._post_solve ( self,
ddp = None,
ll_max = None,
h_sym = None,
params = None,
obs = None,
obs_prop = None,
return_eivec = False,
overlap_eivec = None,
berry = False,
transitions = False,
transitions_range = None,
wflocations = None,
ll_mode = 'full',
** ignored_opts )
protected
Actual (private) step implementation for DiagDataPoint post solve processing.
Runs on worker process/thread.

Arguments:
ddp            DiagDataPoint instance with specific parameters.
params         PhysParams instance.
obs            List of strings or None. Observable ids of the
               observables that will be calculated. If None or empty
               list, do not do anything.
obs_prop       ObservableList instance containing all observable
               properties.
return_eivec   True, False or None. If True, keep eigenvector data in
               the return value (DiagDataPoint instance). If False,
               discard them. If None, discard them only if observables
               have been calculated.
overlap_eivec  A dict, whose keys are the band labels (characters) and
               values are the eigenvectors for which overlaps can be
               calculated with the eigenvectors of this Hamiltonian.
berry          2-tuple, True or False. If a 2-tuple of integers,
               calculate Berry curvature for bands with indices in this
               range. If True, calculate Berry curvature for all states.
               If False, do not calculate Berry curvature.
transitions    True or False, or float. If True or a float, calculate
               optical transitions, where a float indicates the minimum
               transition amplitude, below which the transitions are
               discarded. If False, do not calculate transitions.
transitions_range  2-tuple or None. If set, calculate optical
                   transitions only for states in that energy range. If
                   None, do not restrict to an energy range.
wflocations    List, array, or VectorGrid instance. Contains the
               magnetic field values where wave functions should be
               saved (plot and table). None if no wave functions should
               be saved.
ll_mode        LL calculation mode.

Returns:
A DiagDataPoint instance (not connected to a DiagData instance).

Reimplemented from kdotpy.models.ModelBase.

◆ _solve_ham()

kdotpy.models.ModelLL._solve_ham ( self,
ddp,
solver = None,
params = None,
ll_mode = 'full',
ll_max = None,
** ignored_opts )
protected
Actual (private) step implementation for Hamiltonian diagonalization.
Runs on worker process/thread.

Arguments:
ddp            DiagDataPoint instance with specific parameters.
solver         DiagSolver instance.
params         PhysParams instance.
ll_mode        LL calculation mode.
ll_max         Maximum LL in ll_mode 'full'

Returns:
A DiagDataPoint instance (not connected to a DiagData instance).

Reimplemented from kdotpy.models.ModelBase.

◆ update_ham()

kdotpy.models.ModelLL.update_ham ( self,
ddp )
Public function handle generator for a callback function.
Callback after construction of Hamiltonian.
Overwritten parent function, as this model has an additional Hamiltonian part.

Reimplemented from kdotpy.models.ModelBase.


The documentation for this class was generated from the following file: