schrodinger.application.matsci.bandshape_utils module¶
Utilities for bandshape calculations.
Copyright Schrodinger, LLC. All rights reserved.
-
class
schrodinger.application.matsci.bandshape_utils.
NormalMode
(frequency, normal_mode)¶ Bases:
tuple
-
__contains__
¶ Return key in self.
-
__init__
¶ Initialize self. See help(type(self)) for accurate signature.
-
__len__
¶ Return len(self).
-
count
(value) → integer -- return number of occurrences of value¶
-
frequency
¶ Alias for field number 0
-
index
(value[, start[, stop]]) → integer -- return first index of value.¶ Raises ValueError if the value is not present.
-
normal_mode
¶ Alias for field number 1
-
-
class
schrodinger.application.matsci.bandshape_utils.
VibState
(index, n_quantum, huang_rhys_f)¶ Bases:
object
-
__init__
(index, n_quantum, huang_rhys_f)¶ Initialize self. See help(type(self)) for accurate signature.
-
-
class
schrodinger.application.matsci.bandshape_utils.
Transition
(index, energy, intensity, initial_vib_states, final_vib_states, max_n_imaginary)¶ Bases:
object
-
__init__
(index, energy, intensity, initial_vib_states, final_vib_states, max_n_imaginary)¶ Initialize self. See help(type(self)) for accurate signature.
-
static
getSimplified
(vib_states)¶ Return a simplified representation of the transition.
Parameters: vib_states (list) – contains VibState Return type: str Returns: the simplified representation of the transition
-
-
schrodinger.application.matsci.bandshape_utils.
is_bs_spectrum_file_key
(key)¶ Return True if the given structure property key is a bandshape spectrum file key.
Parameters: key (str) – the structure property key to check Return type: bool Returns: True if the given key is a bandshape spectrum file key
-
schrodinger.application.matsci.bandshape_utils.
get_temp_from_bs_spectrum_file_key
(key)¶ Return the temperature from the given bandshape spectrum file structure property key.
Parameters: key (str) – the structure property key containing the temperature Return type: float Returns: the temperature in K
-
schrodinger.application.matsci.bandshape_utils.
get_bs_spectrum_file_temps_keys
(struct)¶ Return the bandshape spectrum file structure property keys and associated temperatures for the given structure.
Parameters: struct (schrodinger.structure.Structure) – the structure with the property keys Return type: list Returns: pair tuples of temperatures in K and bandshape spectrum file structure property keys
-
schrodinger.application.matsci.bandshape_utils.
get_transition_type
(atable)¶ Return the transition type of the given table.
Parameters: atable (table.Table) – the table to check Return type: str or None Returns: module constant ABSORPTION or EMISSION or None if it is unknown
-
class
schrodinger.application.matsci.bandshape_utils.
BandshapeSpectrumFile
(data_file_name, spm_file_name, transition_type=None)¶ Bases:
schrodinger.application.matsci.spectra.SpectrumFile
Manage a bandshape spectrum file.
-
ENERGY_KEY
= 'r_j_Excitation_Energy_(eV)'¶
-
ENERGY_TITLE
= 'Excitation Energy (eV)'¶
-
INTENSITY_KEY
= 'r_j_Intensity'¶
-
INTENSITY_TITLE
= 'Intensity'¶
-
SYMMETRY_KEY
= 's_j_Symmetry'¶
-
SYMMETRY_TITLE
= 'Symmetry'¶
-
SPECTRUM_KEY
= 's_j_spectrum_type'¶
-
SPECTRUM_TITLE
= 'Electronic Transition w/ Bandshape'¶
-
X_KEY
= 's_j_x_label'¶
-
X_ALIAS
= 'r_j_Excitation_Energy_(eV)'¶
-
Y_KEY
= 's_j_y_label'¶
-
Y_ALIAS
= 'r_j_Intensity'¶
-
HEADERS
= {'s_j_spectrum_type': 'Electronic Transition w/ Bandshape', 's_j_x_label': 'r_j_Excitation_Energy_(eV)', 's_j_y_label': 'r_j_Intensity'}¶
-
COLUMNS
= {'r_j_Excitation_Energy_(eV)': 'Excitation Energy (eV)', 'r_j_Intensity': 'Intensity', 's_j_Symmetry': 'Symmetry'}¶
-
EXT
= '.uvv.spm'¶
-
DEFAULT_BIN_WIDTH
= 400.0¶
-
__init__
(data_file_name, spm_file_name, transition_type=None)¶ Create an instance.
Parameters: - data_file_name (str) – the text file containing whitespace separated energies and intensities, one pair per line, energies in eV
- spm_file_name (str) – the name of the *spm file to create
- transition_type (str or None) – module constant ABSORPTION or EMISSION or None if it is unknown
-
static
isBandshapeTable
(atable)¶ Return True if the given table is a bandshape table.
Parameters: atable (table.Table) – the table to check Return type: bool Returns: True if the given table is a bandshape table
-
static
getTrimmedTable
(filepath, bin_width=None)¶ Return a table of trimmed data for the given file path and bin width.
Parameters: - filepath (str) – the file path to the file with the data
- bin_width (float) – the bin width in wavenumbers (cm-1) used for binning
Raises: ValueError – if there isn’t any data
Return type: Returns: table of trimmed data
-
static
getData
(data_file_name, separator=None, types=None)¶ Return the data from the given data file.
Parameters: - data_file_name (str) – the text file containing the data
- separator (str) – the data separator
- types (list) – a list of types used to type cast the data
Return type: list
Returns: contains data tuples
-
-
schrodinger.application.matsci.bandshape_utils.
get_translated_xyz_vec
(st)¶ Return a vector of cartesian coordinates of the given structure which have been translated so that the center of mass is at the (0, 0, 0) origin.
Parameters: st ( schrodinger.structure.Structure
) – the structureReturn type: numpy.array Returns: the translated cartesian coordinates
-
schrodinger.application.matsci.bandshape_utils.
get_mwc_to_nm_transform
(jagout)¶ Return the mass-weighted Cartesian coordinate to normal mode transformation matrix.
Parameters: jagout (JaguarOutput) – the Jaguar output class Return type: numpy.array or None Returns: the transformation matrix or None if there isn’t one
-
schrodinger.application.matsci.bandshape_utils.
get_huang_rhys_fs
(ground_jo, excited_jo)¶ Return the Huang-Rhys factors for the ground and excited states.
Parameters: - ground_jo (JaguarOutput) – the Jaguar output class for the ground state
- excited_jo (JaguarOutput) – the Jaguar output class for the excited state
Return type: list, list
Returns: Huang-Rhys factors for ground and excited states
-
schrodinger.application.matsci.bandshape_utils.
get_transitions
(bs_out_file_name, initial_jo=None, final_jo=None)¶ Return a list of transitions from the given band shape output file.
Parameters: - bs_out_file_name (str) – the band shape output file name
- initial_jo (JaguarOutput or None) – the Jaguar output class for the initial state
- final_jo (JaguarOutput or None) – the Jaguar output class for the final state
Return type: list
Returns: contains Transition
-
schrodinger.application.matsci.bandshape_utils.
get_bs_base_name
(name)¶ Return the base name of the given bandshape name.
Parameters: name (str) – the bandshape name Return type: str Returns: the base name
-
schrodinger.application.matsci.bandshape_utils.
get_bs_ext
(name)¶ Return the extension of the given bandshape name.
Parameters: name (str) – the bandshape name Return type: str Returns: the extension
-
schrodinger.application.matsci.bandshape_utils.
get_out_file_paths
(source_path, patterns)¶ Return the output file paths.
Parameters: - source_path (str) – the source path to the output files
- patterns (list) – the glob patterns of the output files
Raises: NormalModeAnalysisException – if there is an issue
Return type: list
Returns: contains the output file paths in the same order as patterns
-
exception
schrodinger.application.matsci.bandshape_utils.
NormalModeAnalysisException
¶ Bases:
Exception
-
__init__
¶ Initialize self. See help(type(self)) for accurate signature.
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
class
schrodinger.application.matsci.bandshape_utils.
NormalModeAnalysis
(bs_out_file_name)¶ Bases:
object
Manage normal mode analysis.
-
TAG
= 'normal_mode_analysis'¶
-
N_ATOMS_KEY
= 'i_j_atom_total'¶
-
FREQ_KEY
= 'r_j_Frequency'¶
-
FREQ_TITLE
= 'Frequency'¶
-
SYMM_KEY
= 's_j_Symmetry'¶
-
SYMM_TITLE
= 'Symmetry'¶
-
INTENSITY_KEY
= 'r_j_Intensity'¶
-
INTENSITY_TITLE
= 'Intensity'¶
-
RAMAN_ACT_KEY
= 'r_j_Raman_Act'¶
-
RAMAN_ACT_TITLE
= 'Raman Act'¶
-
RAMAN_INT_KEY
= 'r_j_Raman_Int'¶
-
RAMAN_INT_TITLE
= 'Raman Int'¶
-
X_KEY
= 'r_j_x%s'¶
-
X_TITLE
= 'x%s'¶
-
Y_KEY
= 'r_j_y%s'¶
-
Y_TITLE
= 'y%s'¶
-
Z_KEY
= 'r_j_z%s'¶
-
Z_TITLE
= 'z%s'¶
-
COLUMNS
= {'r_j_Frequency': 'Frequency', 'r_j_Intensity': 'Intensity', 'r_j_Raman_Act': 'Raman Act', 'r_j_Raman_Int': 'Raman Int', 's_j_Symmetry': 'Symmetry'}¶
-
__init__
(bs_out_file_name)¶ Create an instance.
Parameters: bs_out_file_name (str) – the band shape output file name Raises: NormalModeAnalysisException – if there is an issue
-
getVibStates
(energy_start, energy_stop)¶ Get all vibrational states within the given energy window for the initial and final states.
Parameters: - energy_start (float) – the lower bound on the energy in eV
- energy_stop (float) – the upper bound on the energy in eV
Return type: dict, dict
Returns: initial and final vibrational states, keys are indices, values are sets of VibState
-
getVibStateWeight
(state)¶ Return the weight of the given vibrational state.
Parameters: state (VibState) – the vibrational state Return type: float Returns: the weight
-
getAllVibData
(all_states, jagout, include_n_quantum)¶ Return all frequencies and normal modes from the given vibrational states.
Parameters: - all_states (dict) – vibrational states, keys are indices, values are sets of VibState
- jagout (JaguarOutput) – the Jaguar output class
- include_n_quantum (bool) – whether to include effects due to vibrational quantum numbers
Return type: list
Returns: contains NormalMode
-
getAvgVibData
(all_states, jagout, include_n_quantum)¶ Return an averaged frequency and normal mode from the given vibrational states.
Parameters: - all_states (dict) – vibrational states, keys are indices, values are sets of VibState
- jagout (JaguarOutput) – the Jaguar output class
- include_n_quantum (bool) – whether to include effects due to vibrational quantum numbers
Return type: Returns: the averaged NormalMode
-
getMaxVibData
(all_states, jagout, include_n_quantum)¶ Return the frequency and normal mode with the largest weight from the given vibrational states.
Parameters: - all_states (dict) – vibrational states, keys are indices, values are sets of VibState
- jagout (JaguarOutput) – the Jaguar output class
- include_n_quantum (bool) – whether to include effects due to vibrational quantum numbers
Return type: Returns: the max (largest weight) NormalMode
-
writeVibFile
(file_name, n_atoms, normal_modes)¶ Write the *.vib file for the given normal modes.
Parameters: - file_name (str) – the file name
- n_atoms (int) – the number of atoms
- normal_modes (list) – contains NormalMode
-
writeFiles
(base_name, initial_normal_modes, final_normal_modes, title=None)¶ Write normal mode analysis files.
Parameters: - base_name (str) – a base name for the files
- initial_normal_modes (list or None) – contains NormalMode for the initial state
- final_normal_modes (list or None) – contains NormalMode for the final state
- title (str) – a title to use for structures in the normal mode analysis output files
-
run
(energy_start, energy_stop, average=False, maximum=False, include_n_quantum=False, base_name=None, title=None)¶ Run it.
Parameters: - energy_start (float) – the lower bound on the energy in eV
- energy_stop (float) – the upper bound on the energy in eV
- average (bool) – whether to average the normal modes
- maximum (bool) – whether to report only the normal mode with the largest weight
- include_n_quantum (bool) – whether to include effects due to vibrational quantum numbers
- base_name (str) – a base name to use for the normal mode analysis output files
- title (str) – a title to use for structures in the normal mode analysis output files
Raises: NormalModeAnalysisException – if there is an issue
Return type: str
Returns: the name of the Maestro file written
-
-
schrodinger.application.matsci.bandshape_utils.
write_simplified_transitions_file
(bs_out_file_name, s_bs_out_file_name=None)¶ Write a simplified transitions file.
Parameters: - bs_out_file_name (str) – the band shape output file name
- s_bs_out_file_name (str or None) – the simplified band shape output file name, if None then it will be determined from bs_out_file_name