MQDS  0.0.1
Molecular Quantum Dynamics and Spectroscopy
Functions/Subroutines
spectroscopy Module Reference

This is a module that contains the necessary variables, subroutines and functions to perform linear (and soon nonlinear) spectroscopy calculations. More...

Functions/Subroutines

subroutine initialize_spectroscopy
 Allocate the necessary arrays for performing a spectroscopy calculation and read input from dipole.in. More...
 
subroutine finalize_spectroscopy
 Deallocate the arrays from spectroscopy calculation. More...
 
complex(dp) function, dimension(nstate, nstate) dipole_operator (redmat)
 Function to act dipole operator on the reduced density matrix from the left. More...
 
complex(dp) function, dimension(nstate, nstate) dipole_commutator (redmat)
 Function to act dipole commutator on the reduced density matrix from the left. More...
 
complex(dp) function, dimension(0 :nbstep/dump) system_trace (redmat)
 Function to find the linear response function for calculation of the absorption spectrum. More...
 
subroutine dipole_focus (x, p, xt, pt, weight, k_sign)
 Subroutine that applies the dipole commutator the current reduced density matrix and then performs the focusing procedure on the resulting matrix to use as the sole initially-occupied states for subsequent propagation. More...
 
complex(dp) function, dimension(8) nonlinear_response (x, p, xt, pt, wt, k1, k2, k3)
 Function that uses the sign of incoming wavevectors along with the current mapping variable values to calculate the different contributions to the total 3rd order nonlinear response function. More...
 

Detailed Description

This is a module that contains the necessary variables, subroutines and functions to perform linear (and soon nonlinear) spectroscopy calculations.

Function/Subroutine Documentation

◆ dipole_commutator()

complex(dp) function, dimension(nstate, nstate) spectroscopy::dipole_commutator ( complex(dp), dimension(nstate, nstate)  redmat)

Function to act dipole commutator on the reduced density matrix from the left.

◆ dipole_focus()

subroutine spectroscopy::dipole_focus ( real(dp), dimension(nstate), intent(in)  x,
real(dp), dimension(nstate), intent(in)  p,
real(dp), dimension(nstate), intent(in)  xt,
real(dp), dimension(nstate), intent(in)  pt,
complex(dp), intent(inout)  weight,
integer, intent(out)  k_sign 
)

Subroutine that applies the dipole commutator the current reduced density matrix and then performs the focusing procedure on the resulting matrix to use as the sole initially-occupied states for subsequent propagation.

◆ dipole_operator()

complex(dp) function, dimension(nstate, nstate) spectroscopy::dipole_operator ( complex(dp), dimension(nstate, nstate)  redmat)

Function to act dipole operator on the reduced density matrix from the left.

◆ finalize_spectroscopy()

subroutine spectroscopy::finalize_spectroscopy ( )

Deallocate the arrays from spectroscopy calculation.

◆ initialize_spectroscopy()

subroutine spectroscopy::initialize_spectroscopy ( )

Allocate the necessary arrays for performing a spectroscopy calculation and read input from dipole.in.

◆ nonlinear_response()

complex(dp) function, dimension( 8 ) spectroscopy::nonlinear_response ( real(dp), dimension( nstate )  x,
real(dp), dimension( nstate )  p,
real(dp), dimension( nstate )  xt,
real(dp), dimension( nstate )  pt,
complex(dp)  wt,
integer  k1,
integer  k2,
integer  k3 
)

Function that uses the sign of incoming wavevectors along with the current mapping variable values to calculate the different contributions to the total 3rd order nonlinear response function.

◆ system_trace()

complex(dp) function, dimension(0 : nbstep / dump) spectroscopy::system_trace ( complex(dp), dimension(nstate, nstate, 0 : nbstep / dump)  redmat)

Function to find the linear response function for calculation of the absorption spectrum.