FranckCondonModel

default_rotation_method: str
default_rotation_order: State
default_rotation_center: State
default_embedding_ref: State
default_include_rotation: bool
OverlapData: OverlapData
Embedding: Embedding
duschinsky_cutoff: float
evaluator_plans: dict
integral_block_size: int
state_space_prep_registry: dict

 

__init__(self, gs_nms: Psience.Modes.NormalModes.NormalModes, es_nms, atoms=None, *, logger=None, embed=True, embedding_ref=None, masses=None, mass_weight=True, dimensionless=False, mode_selection=None, mode_reordering=None, rotation_method=None, rotation_order=None, rotation_center=None, include_rotation=None, rotation_blocks=None): 

 

@classmethod
prep_modes(cls, gs_nms, es_nms, embed=True, embedding_ref=None, masses=None, mass_weight=False, dimensionless=False, mode_selection=None, mode_reordering=None, **rotation_opts): 

 

@classmethod
from_files(cls, gs_file, es_file, logger=None, mode_selection=None, mode_reordering=None, internals=None, internals_ref='gs', **rotation_embedding_opts): 

 

@classmethod
convert_internal_modes(cls, mol, nms): 

 

@classmethod
from_mols(cls, gs, es, logger=None, remove_transrot=True, use_internals=True, embed=True, mass_weight=True, **rotation_embedding_opts): 

 

get_overlaps(self, excitations, *, duschinsky_cutoff=None, ground_states=None, return_states=True, **rotation_opts): 

 

get_overlap_data(self, **rotation_embedding_opts) -> Psience.Vibronic.FCFs.OverlapData: 

 

@classmethod
prep_overlap_args(self, gs_nms, es_nms): 

 

@classmethod
get_poly_evaluation_plan(self, exponents, alphas=None, zpe_prod=None): 

Provides a function that can take a set of indices and rotation matrices from the gs and es bases to the shared basis of the central Gaussian and compute the corresponding term contributions by considering every even permutation of indices that could lead to a non-zero contribution

  • tg: Any
  • te: Any
  • :returns: _

 

@classmethod
zero_point_alpha_contrib(cls, alphas): 

 

@classmethod
term_evaluator(self, exponents_list, splits_list, splits_inds_list, weights_list, gammas, alphas=None, zpe_prod=None): 

 

@classmethod
evaluate_poly_chunks(cls, poly_coeffs, exps, splits, split_inds, weights, alphas, include_baseline=False): 

 

@classmethod
evaluate_poly_contrib_chunk(self, inds, exponents_list, splits_list, splits_inds_list, weights_list, alphas, coeffs): 

 

@classmethod
evaluate_shifted_poly_overlap(self, poly: 'HermiteProductPolynomial', Q, alphas, zpe_prod, duschinsky_cutoff=None): 

 

@classmethod
df_weights(cls, n): 

 

@classmethod
get_overlap_gaussian_data(cls, freqs_gs, modes_gs, inv_gs, center_gs, freqs_es, modes_es, inv_es, center_es, rotation_method=None, rotation_order=None, rotation_center=None, include_rotation=None, rotation_blocks=None): 

 

@classmethod
eval_fcf_overlaps(self, excitations_gs, freqs_gs, modes_gs, inv_gs, center_gs, excitations_es, freqs_es, modes_es, inv_es, center_es, duschinsky_cutoff=None, logger=None, **rotation_opts): 

Evaluates the Gaussian overlaps between two H.O. wave functions defined by a set of polynomial coefficients, broadening factors, and centers, assuming the modes and centers are in an Eckart fream

 

@classmethod
embed_modes(cls, gs_nms: 'NormalModes', es_nms, ref=None, masses=None): 

 

@classmethod
mass_weight_nms(cls, nms, masses=None): 

 

@classmethod
make_dimensionless(cls, nms, freqs=None, masses=None): 

 

@classmethod
prep_states_from_threshold_and_quanta(cls, nms, *, threshold=None, min_freq=None, max_state=None, min_quanta=None, max_quanta=None): 

 

@classmethod
prep_states_from_excitations(cls, nms, *, states, **opts): 

 

@classmethod
state_space_prep_dispatchers(cls): 

 

@classmethod
dispatch_state_space_prep(cls, spec, nms): 

 

@classmethod
prep_state_space(cls, excitations, nms, check=True): 

Dispatcher to get appropriate state spaces

  • excitations: Any
  • check: Any
  • :returns: _

 

@classmethod
get_fcfs(cls, gs_nms: 'NormalModes', es_nms: 'NormalModes', excitations, ground_states=None, duschinsky_cutoff=None, logger=None, **rotation_embedding_opts): 

 

@classmethod
format_overlap_tables(cls, es, overlaps, include_headers=True): 

 

@classmethod
get_fcf_spectrum(self, gs_nms: 'NormalModes', es_nms: 'NormalModes', excitations, ground_states=None, logger=None, duschinsky_cutoff=None, return_states=False, **rotation_embedding_opts): 

 

prep_opts(self, **opts): 

 

get_spectrum(self, excitations, *, ground_states=None, return_states=False, duschinsky_cutoff=None, **rotation_embedding_opts): 

 

get_ezFCF_input(self, excitations, atoms=None, ground_states=None, **rotation_embedding_opts): 

Feedback

Examples

Templates

Documentation