qrunch.chemistry.problem_builders.tools.projectors
Module projectors for projective embedding.
Classes
Manby level shift projector. |
|
Orbital assigner creator. |
- class ManbysLevelShiftProjectorBuilder
Bases:
objectManby level shift projector.
The projector is defined as \(P = \mu S D_{env} S\), where \(\mu\) is the level shift parameter, \(S\) is the overlap matrix, and \(D_{env}\) is the density matrix for the environment.
References: [MSGM12].
- __init__(level_shift_parameter: float = 100000.0) None
Initialize the Manbys level shift projector.
- Parameters:
level_shift_parameter (float) – Level shift parameter used to create the projector. Defaults to 1e5.
- Return type:
None
- build_matrix(environment_density_matrix: ndarray[tuple[Any, ...], dtype[float64]], overlap_matrix: ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]]
Get the matrix for the projector.
- Parameters:
environment_density_matrix (ndarray[tuple[Any, ...], dtype[float64]]) – Density matrix of the environment.
overlap_matrix (ndarray[tuple[Any, ...], dtype[float64]]) – Overlap matrix.
- Return type:
ndarray[tuple[Any, …], dtype[float64]]
- class ProjectorBuilderCreator
Bases:
Generic[T]Orbital assigner creator.
- __init__(parent: T, field_name: str) None
Initialize an orbital assigner creator.
- Parameters:
parent (T) – Parent object to which the molecular orbital calculator will be assigned.
field_name (str) – Name of the field in the parent object where the molecular orbital calculator will be assigned.
- Return type:
None
- manby(level_shift_parameter: float = 100000.0) T
Set the projector_builder to a ManbysLevelShiftProjectorBuilder.
The projector is defined as \(P = \mu S D_{env} S\), where \(\mu\) is the level shift parameter, \(S\) is the overlap matrix, and \(D_{env}\) is the density matrix for the environment.
Refererences: [MSGM12]
- Parameters:
level_shift_parameter (float)
- Return type:
T