| |
- pyviblib.util.misc.PropertiesContainer(__builtin__.object)
-
- ExpRamanROAData
- IRVCDTensors
- RamanROATensors
class ExpRamanROAData(pyviblib.util.misc.PropertiesContainer) |
|
Storing experimental Raman, ROA or Degree of circularity spectra.
The following read-only properties are exposed :
filename -- file name
laser_power -- laser power (mW)
exposure_time -- exposure time (min)
datatype -- see resources.STRINGS_EXPSPECTRA_TYPES
scattering -- see resources.STRINGS_SCATTERING_TYPES
wavenumbers -- wavenumbers
raman -- raman
roa -- roa
degcirc -- degree of circularity |
|
- Method resolution order:
- ExpRamanROAData
- pyviblib.util.misc.PropertiesContainer
- __builtin__.object
Methods defined here:
- __init__(self, filename, laser_power, exposure_time, datatype, scattering)
- Constructor of the class.
Positional arguments :
filename -- file name
laser_power -- laser power (mW)
exposure_time -- exposure time (min)
datatype -- see resources.STRINGS_EXPSPECTRA_TYPES
scattering -- see resources.STRINGS_SCATTERING_TYPES
- __repr__(self)
- Can be used to recreate an object with the same value.
- __str__(self)
- Details.
Data and other attributes inherited from pyviblib.util.misc.PropertiesContainer:
- __dict__ = <dictproxy object>
- dictionary for instance variables (if defined)
- __weakref__ = <attribute '__weakref__' of 'PropertiesContainer' objects>
- list of weak references to the object (if defined)
|
class IRVCDTensors(pyviblib.util.misc.PropertiesContainer) |
|
Class for manipulating the IR/VCD tensors.
For details refer to W. Hug and J. Haesler. Int. J. Quant. Chem. 104:695-715,
2005
Refer to the DALTON manual page for information on how to request a VCD job.
http://www.kjemi.uio.no/software/dalton/resources/dalton20manual.pdf
The following read-only properties are exposed :
Natoms -- number of atoms
NFreq -- number of vibrations
Lx -- cartesian excursions for the vibrations
freqs -- wavenumbers of vibrations in ascending order
P -- gradients of the electric dipole moment (APTs)
M -- gradients of the magnetic dipole moment (AATs)
V_D -- dyadics for the dipole strength
V_R -- dyadics for the rotational strength
The following public methods are exported :
D() -- reduced dipole strength in a.u.
R() -- reduced rotational strength in a.u.
fit_spectra() -- generate the IR/VCD/g in the curve representation
integrated_coeffs() -- integrated absorbtion coefficients and g-factor
norm_sum_vib() -- normalized sum of VCD over the vibrations
norm_sum_rot() -- normalized sum of VCD over the rotations |
|
- Method resolution order:
- IRVCDTensors
- pyviblib.util.misc.PropertiesContainer
- __builtin__.object
Methods defined here:
- D(self, p)
- Calculate the reduced dipole strength.
Positional arguments :
p -- number of vibration
Returned value is expressed in a.u.
- R(self, p)
- Calculate the reduced rotational strength.
Positional arguments :
p -- number of vibration
Returned value is expressed in a.u.
- __init__(self, P, M, Lx, freqs)
- Constructor of the class.
P, Lx and freqs are required to be set.
If M is not set, it will be filled with zeros.
Positional arguments :
P -- gradients of the electric dipole moment (one-based ndarray)
known in the VCD literature also as atomic polar tensors (APTs)
shape : (1 + Natoms, 4, 4) with Natoms being the number of atoms
M -- gradients of the magnetic dipole moment (one-based ndarray)
known in the VCD literature also as atomic axial tensors (AATs)
shape : (1 + Natoms, 4, 4) with Natoms being the number of atoms
Lx -- cartesian excursions for the vibrations (one-based ndarray)
shape : (1 + NFreq, 1 + Natoms, 4) with NFreq being the number of
vibrations
freqs -- wavenumbers of vibrations in ascending order (one-based ndarray)
shape : (1 + NFreq,)
- __repr__(self)
- Can be used to recreate an object with the same value.
- fit_spectra(self, ngauss=6, fwhm_fit=8.0, fwhm_inst=8.0, startx=None, endx=None)
- Generate the IR/VCD spectra as curves.
Refer to W. Hug and J. Haesler. Int. J. Quant. Chem. 104:695-715, 2005
Keyword arguments :
scattering -- scattering type (see inv_coeffs_raman_roa())
ngauss -- number of Gauss functions (default 6)
fwhm_fit -- full width at half maximum for the bandwidthes (default 8.)
fwhm_inst -- full width at half maximum for the Gaussian instrument profile
(default 8.0)
startx -- start wavenumber of the fitting interval (default None)
endx -- end wavenumbers of the fitting interval (default None)
if the latter two keyword arguments are None, they are
generated automatically
Return X, eps_Y, deps_Y, g_Y
- integrated_coeffs(self)
- Get the integrated absorption coeffcients (in SI) and the g-factor.
The shape of the bands is considered to be Lorentzian.
See Atkins, 6th edition, p. 459.
Return a ndarray with a shape of (NFreq, 3).
- norm_sum_rot(self, masses)
- Calculate the normalized sum of VCD over the rotations.
Positional arguments :
masses -- masses of the atoms in AMU (one-based ndarray)
shape : (1 + Natoms,)
- norm_sum_vib(self, start_p=1, end_p=None)
- Calculate the normalized sum of VCD over the vibrations.
Keyword arguments :
start_p -- start vibration (default 1)
end_p -- end vibration (default None)
use None to specify the last
Data and other attributes inherited from pyviblib.util.misc.PropertiesContainer:
- __dict__ = <dictproxy object>
- dictionary for instance variables (if defined)
- __weakref__ = <attribute '__weakref__' of 'PropertiesContainer' objects>
- list of weak references to the object (if defined)
|
class RamanROATensors(pyviblib.util.misc.PropertiesContainer) |
|
Class for manipulating the Raman/ROA tensors.
For details refer to W. Hug. Chem. Phys., 264(1):53-69, 2001.
Refer to the DALTON manual page for information how to request a ROA job.
http://www.kjemi.uio.no/software/dalton/resources/dalton20manual.pdf
The following read-only properties are exposed :
Natoms -- number of atoms
NFreq -- number of vibrations
Lx -- cartesian excursions for the vibrations
freqs -- wavenumbers of vibrations in ascending order
PP -- gradients of the polarizability tensor
PM -- gradients of the G' tensor
PQ -- gradients of the A tensor (contracted)
lambda_incident -- wavelength of the incident light
The following public methods are exported :
V_a2() -- V-tensor for the a2 molecular invariant
V_b2() -- V-tensor for the b2 molecular invariant
V_aG() -- V-tensor for the aG molecular invariant
V_b2G() -- V-tensor for the b2G molecular invariant
V_b2A() -- V-tensor for the b2A molecular invariant
a2() -- matrix of the a2 molecular invariant
b2() -- matrix of the b2 molecular invariant
aG() -- matrix of the aG molecular invariant
b2G() -- matrix of the b2G molecular invariant
b2A() -- matrix of the b2A molecular invariant
J_all() -- all five molecular invariants for all vibrations
J_rot() -- all five reduced molecular invariants for the rotations
acp() -- generate atomic contribution patterns (ACPs)
intensities() -- calculate the Raman/ROA intensities
norm_sum_vib() -- normalized sum of ROA over the vibrations
norm_sum_rot() -- normalized sum of ROA over the rotations |
|
- Method resolution order:
- RamanROATensors
- pyviblib.util.misc.PropertiesContainer
- __builtin__.object
Methods defined here:
- J_all(self, units='invariant')
- Calculate the five molecular invariants for all vibrations.
A row is made up of a2, b2, aG, b2G and b2A.
Keyword arguments :
units -- units of the invariants (default 'invariant')
one of ('invariant', 'cross-section', 'A^4/AMU', 'reduced')
Return value is a null-based ndarray with the shape of (NFreq, 5) with
NFreq being the number of vibrations.
- J_rot(self, Lx_rot)
- Calculate the five reduced molecular invariants for the rotations.
A row is made up of a2, b2, aG, b2G and b2A.
Return value is a null-based ndarray with the shape of (nrot, 5) with
nrot being the number of rotations.
Positional arguments :
Lx_rot -- rotations
shape : (nrot, 1 + Natoms, 4)
Lx_rot can be obtained as follows :
Lx_rot = mol.Lx_tr_rot[1 + mol.nrot:]
- V_a2(self, i=0)
- Calculate the V-tensor for the a2 molecular invariant.
Keyword arguments :
i -- part of the decomposed tensor (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
The tensor is expressed in a.u.
- V_aG(self, i=0)
- Calculate the V-tensor for the aG molecular invariant.
Keyword arguments :
i -- part of the decomposed tensor (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
The tensor is expressed in a.u.
- V_b2(self, i=0)
- Calculate the V-tensor for the b2 molecular invariant.
Keyword arguments :
i -- part of the decomposed tensor (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
The tensor is expressed in a.u.
- V_b2A(self, i=0)
- Calculate the V-tensor for the b2A molecular invariant.
Keyword arguments :
i -- part of the decomposed tensor (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
The tensor is expressed in a.u.
- V_b2G(self, i=0)
- Calculate the V-tensor for the b2G molecular invariant.
Keyword arguments :
i -- part of the decomposed tensor (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
The tensor is expressed in a.u.
- __init__(self, PP, PM, PQ, Lx, freqs, lambda_incident, A=None)
- Constructor of the class.
PP, Lx, freqs and lambda_incident are required to be set.
If PM or PQ are not set, they will be filled with zeros.
Positional arguments :
PP -- gradients of the polarizability tensor
(one-based ndarray)
shape : (1 + Natoms, 4, 4, 4) with Natoms being
the number of atoms
PM -- gradients of the G' tensor
(one-based ndarray)
shape : (1 + Natoms, 4, 4, 4)
PQ -- gradients of the A tensor (contracted)
(one-based ndarray)
shape : (1 + Natoms, 4, 4, 4)
Lx -- cartesian excursions for the vibrations
(one-based ndarray)
shape : (1 + NFreq, 1 + Natoms, 4) with NFreq being the
number of vibrations
freqs -- wavenumbers of vibrations in ascending order
(one-based ndarray)
shape : (1 + NFreq,)
lambda_incident -- wavelength of the incident light in nm
Keyword arguments :
A -- gradients of the non-contracted A tensor
(one-based ndarray, default None)
shape : (1 + Natoms, 4, 4, 4, 4)
- __repr__(self)
- Can be used to recreate an object with the same value.
- a2(self, p, i=0, units='invariant')
- Calculate the a2 molecular invariant.
Positional arguments :
p -- number of vibration
Keyword arguments :
i -- part of the decomposed invariant (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
units -- units of the V-tensor (default 'invariant')
one of ('invariant', 'cross-section', 'A^4/AMU')
- aG(self, p, i=0, units='invariant')
- Calculate the aG molecular invariant.
Positional arguments :
p -- number of vibration
Keyword arguments :
i -- part of the decomposed invariant (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
units -- units of the V-tensor (default 'invariant')
one of ('invariant', 'cross-section', 'A^4/AMU')
- acp(self, item, p)
- Generate atomic contribution patterns (ACPs).
See also make_acp().
Positional arguments :
item -- moleculular invariant or a cross-section
one of ('raman', 'roa_backward', 'roa_forward',
'a2', 'b2', 'aG', 'b2G', 'b2A')
p -- number of vibration
The ACPs have units of the cross-sections.
- b2(self, p, i=0, units='invariant')
- Calculate the b2 molecular invariant.
Positional arguments :
p -- number of vibration
Keyword arguments :
i -- part of the decomposed invariant (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
units -- units of the V-tensor (default 'invariant')
one of ('invariant', 'cross-section', 'A^4/AMU')
- b2A(self, p, i=0, units='invariant')
- Calculate the b2A molecular invariant.
Positional arguments :
p -- number of vibration
Keyword arguments :
i -- part of the decomposed invariant (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
units -- units of the V-tensor (default 'invariant')
one of ('invariant', 'cross-section', 'A^4/AMU')
- b2G(self, p, i=0, units='invariant')
- Calculate the b2G molecular invariant.
Positional arguments :
p -- number of vibration
Keyword arguments :
i -- part of the decomposed invariant (default 0, i.e. total sum)
possible values :
0 : total sum
1 : isotropic part
2 : anisotropic part
3 : antisymmetric part
units -- units of the V-tensor (default 'invariant')
one of ('invariant', 'cross-section', 'A^4/AMU')
- norm_sum_rot(self, masses, scattering=0)
- Calculate the normalized sum of ROA over the rotations.
See eq 33 in W. Hug and J. Haesler. Int. J. Quant. Chem. 104:695-715, 2005.
Positional arguments :
masses -- masses of the atoms in AMU (one-based ndarray)
shape : (1 + Natoms,)
Keyword arguments :
scattering -- scattering type (see inv_coeffs_raman_roa()) (default 0)
- norm_sum_vib(self, scattering=0, start_p=1, end_p=None)
- Calculate the normalized sum of ROA over the vibrations.
It is a measure of the influence of the chiral distribution of a molecule's
electrons on vibrational ROA alone.
See eq 34 in W. Hug and J. Haesler. Int. J. Quant. Chem. 104:695-715, 2005.
Keyword arguments :
scattering -- scattering type (see inv_coeffs_raman_roa()) (default 0)
start_p -- start vibration (default 1)
end_p -- end vibration (default None)
use None to specify the last
Static methods defined here:
- intensities(invars, scattering)
- Calculate the Raman/ROA intensities.
Positional arguments :
invars -- array with the five invariants (ndarray)
shape : (5,)
scattering -- scattering type (see inv_coeffs_raman_roa())
Data and other attributes inherited from pyviblib.util.misc.PropertiesContainer:
- __dict__ = <dictproxy object>
- dictionary for instance variables (if defined)
- __weakref__ = <attribute '__weakref__' of 'PropertiesContainer' objects>
- list of weak references to the object (if defined)
| |