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: Molecule

    the molecule we’re doing the expansion for

  • modes: MolecularVibrations

    normal modes in Cartesian coordinates

  • mode_selection: None | Iterable[int]

    the selection of modes to use

  • undimensionalize: bool

    whether 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): 

Feedback

Examples

Templates

Documentation