DipoleSurface
Provides a unified interface to working with dipole surfaces. Currently basically no fancier than a regular surface (although with convenient loading functions), but dipole-specific stuff could come
__init__(self, mu_x, mu_y, mu_z):
mu_x
:Surface
X-component of dipole moment
mu_y
:Surface
Y-component of dipole moment
mu_z
:Surface
Z-component of dipole moment
@property
center(self):
@property
ref(self):
@property
expansion_tensors(self):
@staticmethod
get_log_values(log_file, keys=('StandardCartesianCoordinates', 'DipoleMoments')):
@classmethod
from_log_file(cls, log_file, coord_transf, keys=('StandardCartesianCoordinates', 'DipoleMoments'), tol=0.001, **opts):
Loads dipoles from a Gaussian log file and builds a dipole surface by interpolating. Obviously this only really works if we have a subset of “scan” coordinates, so at this stage the user is obligated to furnish a function that’ll take a set of Cartesian coordinates and convert them to “scan” coordinates. Coordinerds can be helpful with this, as it provides a convenient syntax for Cartesian <-> ZMatrix conversions
log_file
:str
a Gaussian log file to pull from
:returns
:_
@classmethod
from_fchk_file(cls, fchk_file, **opts):
Loads dipoles from a Gaussian formatted checkpoint file and builds a dipole surface via a linear approximation
fchk_file
:Any
a Gaussian fchk file to pull from
log_file
:str
:returns
:_
@classmethod
from_derivatives(cls, expansion, center=None, **opts):
@classmethod
from_mol(cls, mol, expansion=None, center=None, transforms=None, use_internals=True, **opts):
__call__(self, gridpoints, **opts):
Explicitly overrides the Surface-level evaluation because we know the Taylor surface needs us to flatten our gridpoints
gridpoints
:Any
opts
:Any
:returns
:_