ExpansionTerms
Base class for kinetic, potential, and dipole derivative terms
__init__(self, molecule, modes=None, mode_selection=None, mode_transformation=None, use_internal_modes=None, logger=None, parallelizer=None, checkpointer=None, undimensionalize=None, numerical_jacobians=True, eckart_embed_derivatives=True, eckart_embed_planar_ref_tolerance=None, strip_dummies=False, strip_embedding=True, mixed_derivative_handling_mode=None, mixed_derivative_warning_threshold=0.00025, mixed_derivative_handle_zeros=False, backpropagate_internals=False, direct_propagate_cartesians=False, zero_mass_term=10000000.0, expansion_handling_mode='old', internal_fd_mesh_spacing=0.01, internal_fd_stencil=None, cartesian_fd_mesh_spacing=0.01, cartesian_fd_stencil=None, cartesian_analytic_deriv_order=None, cartesian_by_internal_derivative_method=None, internal_by_cartesian_order=3, cartesian_by_internal_order=4, jacobian_warning_threshold=10000.0, coordinate_transformations=None, coordinate_derivatives=None, imaginary_frequency_handling_mode='abs'):
molecule:Moleculethe molecule we’re doing the expansion for
modes:MolecularVibrationsnormal modes in Cartesian coordinates
mode_selection:None | Iterable[int]the selection of modes to use
undimensionalize:boolwhether or not we need to do some units fuckery on the modes
@property
num_atoms(self):
Gets the number of atoms (excluding dummies if strip_dummies is True)
:returns:_
@property
modes(self):
get_terms(self, order=None):
Gets the terms up to the given order
order:Any:returns:_
get_term(self, t):
Provides the term at order t
t:Any:returns:_
@property
terms(self):
__getitem__(self, item):
get_int_jacobs(self, jacs):
Gets the specified Internal->Cartesian Jacobians
jacs:Any:returns:_
get_cart_jacobs(self, jacs):
Gets the specified Cartesian->Internal Jacobians
jacs:Any:returns:_
@property
inertial_frame(self):
Provides the inertial axis frame
:returns:_
inertial_frame_derivatives(self):
moment_of_inertia_derivs(self, order):
get_coordinate_transforms(self, internal_by_cartesian_order=None, cartesian_by_internal_order=None, current_cache=None):
@property
cartesian_L_matrix(self):
get_cartesians_by_cartesian_modes(self, order=None):
@property
cartesian_L_inverse(self):
get_cartesian_modes_by_cartesians(self, order=None):
@property
internal_L_matrix(self):
get_internal_modes_by_internals(self, order=None, strip_embedding=True):
@property
internal_L_inverse(self):
get_internals_by_internal_modes(self, order=None, strip_embedding=True):
@property
cartesians_by_modes(self):
get_cartesians_by_modes(self, order=None):
@property
modes_by_cartesians(self):
get_modes_by_cartesians(self, order=None, strip_embedding=True):
@property
cartesians_by_internals(self):
get_cartesians_by_internals(self, order=None, strip_embedding=False):
@property
internals_by_cartesians(self):
get_internals_by_cartesians(self, order=None, strip_embedding=False):
@property
cartesian_modes_by_internal_modes(self):
get_cartesian_modes_by_internal_modes(self, order=None):
@property
internal_modes_by_cartesian_modes(self):
get_internal_modes_by_cartesian_modes(self, order=None):