|
OpenMD 3.2
Molecular Dynamics in the Open
|
Computes vibrational SFG spectra in the OH-stretch region using the TIME-AVERAGING APPROXIMATION (TAA) of Auer & Skinner, rather than the dynamical adiabatic-propagator method implemented in the SFG dynamic property. More...
#include <SFGTimeAvg.hpp>
Public Member Functions | |
| SFGTimeAvg (SimInfo *info, const std::string &filename, const std::string &sele1, int nbins, const std::string &polarization="ssp", int privilegedAxis=2, RealType gamma=5.0, RealType fc=25.0) | |
| virtual void | process () |
| Public Member Functions inherited from OpenMD::StaticAnalyser | |
| StaticAnalyser (SimInfo *info, const std::string &filename, unsigned int nbins) | |
| void | setOutputName (const std::string &filename) |
| const std::string & | getOutputFileName () const |
| void | setStep (int step) |
| int | getStep () const |
| const std::string & | getAnalysisType () const |
| void | setAnalysisType (const std::string &type) |
| void | setParameterString (const std::string ¶ms) |
Additional Inherited Members | |
| Protected Member Functions inherited from OpenMD::StaticAnalyser | |
| virtual void | writeOutput () |
| Protected Attributes inherited from OpenMD::StaticAnalyser | |
| SimInfo * | info_ {nullptr} |
| std::string | dumpFilename_ |
| int | step_ |
| unsigned int | nBins_ |
| std::string | outputFilename_ |
| std::string | analysisType_ |
| std::string | paramString_ |
| std::vector< OutputData > | data_ |
| std::vector< AtomType * > | outputTypes_ |
Computes vibrational SFG spectra in the OH-stretch region using the TIME-AVERAGING APPROXIMATION (TAA) of Auer & Skinner, rather than the dynamical adiabatic-propagator method implemented in the SFG dynamic property.
The TAA is a single pass through the dump file: at each frame the instantaneous exciton Hamiltonian is built and diagonalized, and each eigenstate contributes a complex Lorentzian to the spectrum at its eigenfrequency, weighted by the eigenstate transition polarizability and transition dipole.
chi2_pqr(w) = < sum_a (alpha_pq^a mu_r^a) / (w - w_a + i*Gamma) >
where for eigenstate a: mu_r^a = sum_i V(i,a) mu_{r,i} alpha_pq^a = sum_i V(i,a) alpha_{pq,i}
The TAA neglects motional narrowing (it is the inhomogeneous limit), but is far cheaper than the dynamical method (one diagonalization per frame, no correlation windows, no propagation). It shares the same spectroscopic maps and Hamiltonian construction as the dynamical SFG module so that the two are directly comparable.
Fermi resonance with the HOH bend overtone is included by default (fc = 25 cm-1); set fc = 0 to disable.
Definition at line 83 of file SFGTimeAvg.hpp.
| OpenMD::SFGTimeAvg::SFGTimeAvg | ( | SimInfo * | info, |
| const std::string & | filename, | ||
| const std::string & | sele1, | ||
| int | nbins, | ||
| const std::string & | polarization = "ssp", | ||
| int | privilegedAxis = 2, | ||
| RealType | gamma = 5.0, | ||
| RealType | fc = 25.0 ) |
Definition at line 61 of file SFGTimeAvg.cpp.
|
virtual |
Implements OpenMD::StaticAnalyser.
Definition at line 163 of file SFGTimeAvg.cpp.