QuasiParticleConfigurationInteraction¶
- class QuasiParticleConfigurationInteraction(configuration, eigensolutions, number_of_particles=None, basis_state_indices=None, dielectric_constant=None, excitation_order=None, two_particle_integral_method=None)¶
A class to set up and solve a many-body body hamiltonian using a Configuration Interaction (CI) method on selected confined quasi-particle levels of a bulk (e.g., electron or hole states in a quantum dot).
- Parameters:
configuration (
BulkConfiguration
) – The configuration for which the CI eigensolution should be calculated.eigensolutions (
Eigensolutions
.) – The single-particle eigensolutions to be used as a basis for the Configuration Interaction method.number_of_particles (int) – The number of particles to be included in the many-body problem. Note that for amounts larger than 2 the complexity explodes and the calculation might become too heavy. Default:
2
basis_state_indices (list of int) – A list of single particle state indices be used as basis for the CI method. The indices are referred to the lowest unoccupied state:
0
is theLUMO
,+1
is theLUMO+1
,-1
is theHOMO
etc. Default:[0, 1]
dielectric_constant (float) – The dielectric constant of the material, used to include a screening in the two-particle Coulomb interaction. It should be equal to the high frequency dielectric constant of the material where the quasi-particle basis states are confined. Default:
1
excitation_order (float) – The maximum allowed excitation order in the CI expansion.
1
corresponds to single excitations (CIS),2
to double excitations (CISD), and so on. If left unspecified, full-CI is performed. Default: Full-CI is performed.two_particle_integral_method (
TwoParticleCoulombInteractionFFTMethod
|TwoParticleCoulombInteractionPointChargeMethod
) – Select the method used to evaluate two particle Coulomb integrals. Default:TwoParticleCoulombInteractionFFTMethod
.
- basisStateIndices()¶
- Returns:
the indices identifying the states used as quasi-particle basis, with the
LUMO
as reference for the index0
.- Return type:
list of int
- dielectricConstant()¶
- Returns:
the dielectric constant used to screen the two-particle Coulomb interaction.
- Return type:
float
- eigenvalues()¶
- Returns:
the many-body eigenvalues, as absolute energies.
- Return type:
PhysicalQuantity of type energy.
- excitationOrder()¶
- Returns:
the excitation order used in the CI expansion.
- Return type:
int.
- manyBodyProbabilityDensity(state_index, eigensolutions, density_mesh_cutoff=None)¶
Calculate the real space probability density associated to a many body state.
- Parameters:
state_index (int) – The many-body eigenstate for which the probability density is calculated. The index follow the eigenvalue ordering, from lowest to highest.
eigensolutions (
Eigensolutions
) – The single-particle eigensolutions to be used as a basis for the Configuration Interaction method. Note that these must be consistent with the eigensolutions provided as input parameter in the object constructor.density_mesh_cutoff (PhysicalQuantity of type energy |
GridSampling
|OptimizedFFTGridSampling
) – The mesh cutoff to be used to determine the density grid sampling. The mesh cutoff must be a positive energy or aGridSampling
object. Default: The density mesh cutoff set on the calculator.
- metatext()¶
- Returns:
The metatext of the object or None if no metatext is present.
- Return type:
str | None
- nlinfo()¶
- Returns:
Structured information about the object.
- Return type:
dict
- nlprint(stream=None)¶
Print a string containing an ASCII table useful for plotting the AnalysisSpin object.
- Parameters:
stream (python stream) – The stream the table should be written to. Default:
NLPrintLogger()
- numberOfParticles()¶
- Returns:
the number of particles in the many-body system.
- Return type:
float
- setMetatext(metatext)¶
Set a given metatext string on the object.
- Parameters:
metatext (str | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.
- singleParticleEigenvalues()¶
- Returns:
the single-particle eigenvalues of the selected basis states, as absolute energies.
- Return type:
PhysicalQuantity of type energy.
- twoParticleIntegrals()¶
Get the two-particle Coulomb interaction integrals that are required to set up the many-body Hamiltonian.
The return value is a map between four single particle state indices (a, b, c, d) and the two-particle spatial integrals:
\[(a,b|c,d) = \int \phi_a^{*}(\mathbf{r}_1) \phi_b(\mathbf{r}_1) V(\mathbf{r}_1 - \mathbf{r}_2) \phi_c^{*}(\mathbf{r}_2) \phi_d(\mathbf{r}_2) d\mathbf{r}_1 d\mathbf{r}_2\]The indices go from 0 to N-1, where N is the number of single particle basis states utilized.
- Returns:
A map between indices and the corresponding two-particle interaction integral value.
- Return type:
dict
- uniqueString()¶
Return a unique string representing the state of the object.