Built-in Models¶
(TD)DFT with Turbomole¶
Implementations of the interface between turbomole and mudslide.
- turbomole_is_installed()¶
Check if turbomole is installed by checking for environment variable TURBODIR and checking that the scripts and bin directories are available.
- Returns:
True if turbomole is installed, False otherwise
- class TurboControl(control_file='control', workdir=None)¶
Bases:
objectA class to handle the control file for turbomole
- pcgrad_file = 'pcgrad'¶
- __init__(control_file='control', workdir=None)¶
- control_file = 'control'¶
- check_turbomole_is_installed()¶
Check that turbomole is installed, raise exception if not
- where_is_dg(dg, absolute_path=False)¶
Find which file a data group is in
- sdg(dg, file=None, show_keyword=False, show_body=False, show_filename_only=False, discard_comments=True, quiet=False)¶
Convenience function to run show data group (sdg) on a control
- adg(dg, data, newline=False)¶
Convenience function to run add data group (adg) on a control
- cpc(dest)¶
Copy the control file and other files to a new directory
- use_weight_derivatives(use=True)¶
Check if weight derivatives are used in the control file
- run_single(module, stdout=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)¶
Run a single turbomole module
- read_coords()¶
Read the coordinates from the control file
- Returns:
(symbols, X) where symbols is a list of element symbols and X is a numpy array of shape (n_atoms, 3)
- get_masses(symbols)¶
Get the masses of the atoms in the system
- read_hessian()¶
Projected Hessian has a structure of $hessian (projected) 1 1 0.000 0.000 0.000 0.000 0.000 1 2 0.000 0.000 0.000 0.000 0.000 2 1 0.000 0.000 0.000 0.000 0.000 …
- add_point_charges(coords: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], charges: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])¶
Add point charges to the control file
point_charges data group has the structure: $point_charges nocheck list pcgrad <x> <y> <z> <q> …
- read_point_charge_gradients()¶
Read point charges and gradients from the control file
point charges in dg $point_charges gradients in dg $point_charge_gradients
- Returns: (coords, charges, gradients) where coords is a numpy
array of shape (nq, 3) with coordinates in Bohr
- class TMModel(states: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], run_turbomole_dir: str = '.', workdir_stem: str = 'run_turbomole', representation: str = 'adiabatic', reference: Any = None, expert: bool = False, turbomole_modules: Dict = None)¶
Bases:
ElectronicModel_A class to handle the electronic model for excited state Turbomole calculations
Initialize the electronic model.
- Parameters:
representation (str, optional) – The representation to use (“adiabatic” or “diabatic”), by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndims (int, optional) – Number of dimensions per particle, by default 1
nparticles (int, optional) – Number of particles, by default 1
ndof (int, optional) – Total number of classical degrees of freedom, by default None
atom_types (List[str], optional) – List of atom types, by default None
- __init__(states: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], run_turbomole_dir: str = '.', workdir_stem: str = 'run_turbomole', representation: str = 'adiabatic', reference: Any = None, expert: bool = False, turbomole_modules: Dict = None)¶
Initialize the electronic model.
- Parameters:
representation (str, optional) – The representation to use (“adiabatic” or “diabatic”), by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndims (int, optional) – Number of dimensions per particle, by default 1
nparticles (int, optional) – Number of particles, by default 1
ndof (int, optional) – Total number of classical degrees of freedom, by default None
atom_types (List[str], optional) – List of atom types, by default None
- apply_suggested_parameters()¶
Apply suggested parameters for Turbomole to work well with NAMD
This function will update the control file to ensure that Turbomole is set up to work well with NAMD, including: - using pseudowavefunction couplings with ETFs - using weight derivatives - using phaser to adjust phases
- update_coords(X)¶
Update the coordinates in the control file
- Parameters:
X – numpy array of shape (n_atoms * 3) with coordinates in Bohr
- call_turbomole(outname='turbo.out') None¶
Call Turbomole to run the calculation
- compute(X, couplings: Any = None, gradients: Any = None, reference: Any = None) None¶
Calls Turbomole/Turboparse to generate electronic properties including gradients, couplings, energies. For this to work, this class needs to know where the “original” files/data sit, so that they can get properly passed to Turbomole. (__init__() can get these file locations.)
- clone()¶
Create a copy of the electronics object that owns its own resources, including disk
Major difference from deepcopy is that clone should prepare any resources that are needed for the object to be used, for example, disk access, network access, and so on. deepcopy should only copy the object in memory, not acquire resources like disk space.
Molecular Mechanics with OpenMM¶
OpenMM interface for mudslide
- openmm_is_installed()¶
Check if OpenMM is installed
- class OpenMM(pdb, ff, system, platform_name: str = 'Reference', properties: dict = None)¶
Bases:
ElectronicModel_OpenMM interface
Initialize OpenMM interface
- __init__(pdb, ff, system, platform_name: str = 'Reference', properties: dict = None)¶
Initialize OpenMM interface
- compute(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], couplings: Any = None, gradients: Any = None, reference: Any = None)¶
Compute energy and forces
Diabatic Scattering Models¶
Implementations of the one-dimensional two-state models Tully demonstrated FSSH on in Tully, J.C. <I>J. Chem. Phys.</I> 1990 <B>93</B> 1061.
- class TullySimpleAvoidedCrossing(representation: str = 'adiabatic', reference: Any = None, a: float = 0.01, b: float = 1.6, c: float = 0.005, d: float = 1.0, mass: float = 2000.0)¶
Bases:
DiabaticModel_Tunneling through a single barrier model used in Tully’s 1990 JCP
\[\begin{split}V_{11} &= \left\{ \begin{array}{cr} A (1 - e^{Bx}) & x < 0 \\ -A (1 - e^{-Bx}) & x > 0 \end{array} \right. \\ V_{22} &= -V_{11} \\ V_{12} &= V_{21} = C e^{-D x^2}\end{split}\]Constructor that defaults to the values reported in Tully’s 1990 JCP
- __init__(representation: str = 'adiabatic', reference: Any = None, a: float = 0.01, b: float = 1.6, c: float = 0.005, d: float = 1.0, mass: float = 2000.0)¶
Constructor that defaults to the values reported in Tully’s 1990 JCP
- V(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class TullyDualAvoidedCrossing(representation: str = 'adiabatic', reference: Any = None, a: float = 0.1, b: float = 0.28, c: float = 0.015, d: float = 0.06, e: float = 0.05, mass: float = 2000.0)¶
Bases:
DiabaticModel_Tunneling through a double avoided crossing used in Tully’s 1990 JCP
\[\begin{split}V_{11} &= 0 \\ V_{22} &= -A e^{-Bx^2} + E_0 \\ V_{12} &= V_{21} = C e^{-D x^2}\end{split}\]Constructor that defaults to the values reported in Tully’s 1990 JCP
- __init__(representation: str = 'adiabatic', reference: Any = None, a: float = 0.1, b: float = 0.28, c: float = 0.015, d: float = 0.06, e: float = 0.05, mass: float = 2000.0)¶
Constructor that defaults to the values reported in Tully’s 1990 JCP
- V(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class TullyExtendedCouplingReflection(representation: str = 'adiabatic', reference: Any = None, a: float = 0.0006, b: float = 0.1, c: float = 0.9, mass: float = 2000.0)¶
Bases:
DiabaticModel_Model with extended coupling and the possibility of reflection. The most challenging of the models used in Tully’s 1990 JCP
\[\begin{split}V_{11} &= A \\ V_{22} &= -A \\ V_{12} &= \left\{ \begin{array}{cr} B e^{Cx} & x < 0 \\ B \left( 2 - e^{-Cx} \right) & x > 0 \end{array} \right.\end{split}\]Constructor that defaults to the values reported in Tully’s 1990 JCP
- __init__(representation: str = 'adiabatic', reference: Any = None, a: float = 0.0006, b: float = 0.1, c: float = 0.9, mass: float = 2000.0)¶
Constructor that defaults to the values reported in Tully’s 1990 JCP
- V(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class SuperExchange(representation: str = 'adiabatic', reference: Any = None, v11: float = 0.0, v22: float = 0.01, v33: float = 0.005, v12: float = 0.001, v23: float = 0.01, mass: float = 2000.0)¶
Bases:
DiabaticModel_Constructor defaults to Prezhdo paper on GFSH
- __init__(representation: str = 'adiabatic', reference: Any = None, v11: float = 0.0, v22: float = 0.01, v33: float = 0.005, v12: float = 0.001, v23: float = 0.01, mass: float = 2000.0)¶
Constructor defaults to Prezhdo paper on GFSH
- V(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class SubotnikModelX(representation: str = 'adiabatic', reference: Any = None, a: float = 0.03, b: float = 1.6, c: float = 0.005, xp: float = 7.0, mass: float = 2000.0)¶
Bases:
DiabaticModel_Constructor defaults to Subotnik JPCA 2011 paper on decoherence
- __init__(representation: str = 'adiabatic', reference: Any = None, a: float = 0.03, b: float = 1.6, c: float = 0.005, xp: float = 7.0, mass: float = 2000.0)¶
Constructor defaults to Subotnik JPCA 2011 paper on decoherence
- V(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class SubotnikModelS(representation: str = 'adiabatic', reference: Any = None, a: float = 0.015, b: float = 1.0, c: float = 0.005, d: float = 0.5, xp: float = 7.0, mass: float = 2000.0)¶
Bases:
DiabaticModel_Constructor defaults to Subotnik JPCA 2011 paper on decoherence
- __init__(representation: str = 'adiabatic', reference: Any = None, a: float = 0.015, b: float = 1.0, c: float = 0.005, d: float = 0.5, xp: float = 7.0, mass: float = 2000.0)¶
Constructor defaults to Subotnik JPCA 2011 paper on decoherence
- V(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(x: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class Subotnik2D(representation: str = 'adiabatic', reference: Any = None, a: float = 0.2, b: float = 0.6, c: float = 0.015, d: float = 0.3, f: float = 0.05, g: float = 0.3, w: float = 2.0, mass: float = 2000.0)¶
Bases:
DiabaticModel_Constructor defaults to Subotnik JPCA 2011 paper on decoherence
- __init__(representation: str = 'adiabatic', reference: Any = None, a: float = 0.2, b: float = 0.6, c: float = 0.015, d: float = 0.3, f: float = 0.05, g: float = 0.3, w: float = 2.0, mass: float = 2000.0)¶
Constructor defaults to Subotnik JPCA 2011 paper on decoherence
- V(r: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(r: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class ShinMetiu(representation: str = 'adiabatic', reference: Any = None, nstates: int = 3, L: float = 19.0, Rf: float = 5.0, Rl: float = 3.1, Rr: float = 4.0, mass: float = 1836.0, m_el: float = 1.0, nel: int = 128, box: Any = None)¶
Bases:
AdiabaticModel_Constructor defaults to classic Shin-Metiu as described in Gossel, Liacombe, Maitra JCP 2019
- __init__(representation: str = 'adiabatic', reference: Any = None, nstates: int = 3, L: float = 19.0, Rf: float = 5.0, Rl: float = 3.1, Rr: float = 4.0, mass: float = 1836.0, m_el: float = 1.0, nel: int = 128, box: Any = None)¶
Constructor defaults to classic Shin-Metiu as described in Gossel, Liacombe, Maitra JCP 2019
- soft_coulomb(r12: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], gamma: floating) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- d_soft_coulomb(r12: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], gamma: floating) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- V_nuc(R: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- V_el(R: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- dV_nuc(R: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- dV_el(R: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- V(R: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(V(x)\)
- dV(R: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
\(\nabla V(x)\)
- class LinearVibronic(representation: str = 'adiabatic', reference: Any = None, mass: float = [243.6078782, 134.6412667, 99.93022402, 66.33593369, 3475.98736], E1: float = 8.5037, E2: float = 9.4523, lamb: float = 0.3289, r0sqrtw5mh: float = 4.35, om: float = array([0.1117, 0.2021, 0.2723, 0.4102]), k1: float = array([-0.0456, 0.0399, -0.2139, -0.0864]), k2: float = array([-0.0393, 0.0463, 0.2877, -0.1352]), An: float = array([1.4823, -0.2191, 0.0525, -0.0118]))¶
Bases:
DiabaticModel_Initialize the diabatic model.
- Parameters:
representation (str, optional) – The representation to use, by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndof (int, optional) – Number of classical degrees of freedom, by default 0
- __init__(representation: str = 'adiabatic', reference: Any = None, mass: float = [243.6078782, 134.6412667, 99.93022402, 66.33593369, 3475.98736], E1: float = 8.5037, E2: float = 9.4523, lamb: float = 0.3289, r0sqrtw5mh: float = 4.35, om: float = array([0.1117, 0.2021, 0.2723, 0.4102]), k1: float = array([-0.0456, 0.0399, -0.2139, -0.0864]), k2: float = array([-0.0393, 0.0463, 0.2877, -0.1352]), An: float = array([1.4823, -0.2191, 0.0525, -0.0118]))¶
Initialize the diabatic model.
- Parameters:
representation (str, optional) – The representation to use, by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndof (int, optional) – Number of classical degrees of freedom, by default 0
- V(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- dV(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- class SubotnikModelW(representation: str = 'adiabatic', reference: Any = None, mass: float64 = 2000.0, nstates: int = 8, eps: float64 = 0.1)¶
Bases:
DiabaticModel_Initialize the diabatic model.
- Parameters:
representation (str, optional) – The representation to use, by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndof (int, optional) – Number of classical degrees of freedom, by default 0
- __init__(representation: str = 'adiabatic', reference: Any = None, mass: float64 = 2000.0, nstates: int = 8, eps: float64 = 0.1)¶
Initialize the diabatic model.
- Parameters:
representation (str, optional) – The representation to use, by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndof (int, optional) – Number of classical degrees of freedom, by default 0
- V(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- dV(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- class SubotnikModelZ(representation: str = 'adiabatic', reference: Any = None, mass: float64 = 2000.0, nstates: int = 8, eps: float64 = 0.1)¶
Bases:
DiabaticModel_Initialize the diabatic model.
- Parameters:
representation (str, optional) – The representation to use, by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndof (int, optional) – Number of classical degrees of freedom, by default 0
- __init__(representation: str = 'adiabatic', reference: Any = None, mass: float64 = 2000.0, nstates: int = 8, eps: float64 = 0.1)¶
Initialize the diabatic model.
- Parameters:
representation (str, optional) – The representation to use, by default “adiabatic”
reference (Any, optional) – The reference electronic state, by default None
nstates (int, optional) – Number of electronic states, by default 0
ndof (int, optional) – Number of classical degrees of freedom, by default 0
- V(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶
- dV(X: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]) _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]¶