Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Linear Response

Electric-dipole polarizability

The frequency-dependent electric-dipole polarizability is, next to the dipole moment, the most important effect characterizing the response of a molecule to electromagnetic radiation. It is a second-order symmetric tensor determined by the linear response function

ααβ(ω;ω)=μ^α;μ^βω\alpha_{\alpha\beta}(-\omega; \omega) = - \langle\langle \hat{\mu}_{\alpha};\hat{\mu}_{\beta} \rangle\rangle_{\omega}

In the limit of static fields, α(0;0)\alpha(0;0) can also be determined from the second-order derivative of the energy with respect to electric field strengths.

Significance

Several molecular properties which describe nonlinear effects, such as the Kerr effect or magnetic circular dichroism arising in the presence of radiation and additional electric or magnetic fields, are interpreted as derivatives of the dipole polarizability. They can be calculated as higher-order response functions. Similarly, relativistic corrections to the polarizabilities for heavy atoms can be estimated from higher-order response functions including the mass-velocity and Darwin operators, Kirpekar et al. (1995).

Isotropic and anisotropic components

In isotropic fluids, the experimentally measured quantity is
usually the scalar component of the α\alpha tensor given by the isotropic average, defined as

αiso=13αηη\alpha_{\rm iso} = \frac{1}{3} \alpha_{\eta\eta}

The polarizability anisotropy may be defined as

(αanis)2=(3αμναμναμμανν)/2,\begin{align*} (\alpha_{\rm anis})^2 &=& (3 \alpha_{\mu\nu}\alpha_{\mu\nu} - \alpha_{\mu\mu}\alpha_{\nu\nu})/2, \end{align*}

which, using the components of the diagonalized tensor, leads to

αanis=21/2[(αxxαyy)2+(αyyαzz)2+(αzzαxx)2]1/2.\begin{align*} \alpha_{\rm anis} &=& 2^{-1/2} [ (\alpha_{xx} - \alpha_{yy})^2 + (\alpha_{yy} - \alpha_{zz})^2 + (\alpha_{zz} - \alpha_{xx})^2 ]^{1/2}. \end{align*}

For linear molecules, αanis\alpha_{\rm anis} reduces to the difference between the parallel and perpendicular components,

αanis=αα.\begin{align*} \alpha_{\rm anis} = \alpha_{\parallel} - \alpha_{\perp}. \end{align*}

Measurements

The macroscopic property related to the molecular polarizability α\alpha is the dielectric constant ϵ\epsilon, defined by the ratio of the permittivity of the medium to the electric constant, ϵ0{\epsilon_0}. It is also related to the refractive index nn (n=ϵn=\sqrt{\epsilon}, assuming the vacuum magnetic permeability to be equal to 1). The quantity measured in a dielectric constant experiment is

α~=(μ~ZF/F)F0=αIIΩ+μz2/3kT\tilde{\alpha} = \left( \tilde{\mu}_{Z}^{F}/{F} \right)_{F \rightarrow 0} = \langle \alpha_{II} \rangle_\Omega + \mu_z^2/3kT

where we use the notation <...>Ω <...>_\Omega for the average over all the orientations, kk is the Boltzmann constant and TT is the temperature. The temperature-dependent term is proportional to the square of the dipole moment, the temperature-independent term is the isotropic average of the polarizability (using the equation for the isotropic average given just above we can obtain a corresponding expression in terms of properties calculated in the molecular frame of reference).

The anisotropy of the electric dipole polarizability can be determined in Rayleigh scattering experiments, where the observed depolarization of the incident light is a function of (αanis)2(\alpha_{\rm anis})^2.

High-accuracy results

The static electric dipole polarizability of the He atom has been studied in more detail than any other response property of any other atomic or molecular system. Not only the non-relativistic value is known accurately, and the relativistic corrections have been computed, but also the quantum-electrodynamic corrections have been analyzed and numerous effects related to the nuclear mass have been taken into account Łach et al. (2004).

Basis set requirements

Standard energy-optimized basis sets are not suitable for accurate calculations of electric polarizabilities. The simplest solution (adding the necessary polarization and diffuse functions) makes the basis sets too large to enable efficient calculations for large molecules. Significantly smaller basis sets, designed considering the electric-field dependence of the orbitals, provide results of similar or better quality at lower computational cost.

A practical problem that may be encountered in calculations using very extended basis sets is the appearance of linear dependencies in the basis set. This may make the response equations (as well as the equations determining the molecular energy/density) ill-conditioned and the calculations slowly convergent; in exceptional cases it may even be impossible to converge the equations. The problem is normally resolved by removing the linear dependencies in the basis set, or by removing manually the most diffuse basis functions from the basis set.

Electron correlation

Electron correlation effects on the isotropic polarizability are in general moderate, being at the most 5-10%\ of the uncorrelated value and for nondipolar systems always leading to an increased polarizability. Correlation effects are usually larger on the individual tensor components than on the isotropic polarizability, and can therefore be expected to be more important for the polarizability anisotropies. In general, Hartree-Fock polarizability anisotropies cannot be considered accurate enough to allow for a quantitative comparison with experimental observations, or for the interpretation of the ellipticity arising in some birefringences, where the polarizability anisotropies often constitute an important (and dominant) orientational contribution.

DFT in general reproduces quite well correlation effects in the polarizability of small molecular systems. In particular, polarizability anisotropies calculated using DFT will usually be in better agreement with experiment. However, due to the local nature of the exchange-correlation functionals and the lack of general implementations of current density functionals, DFT does not perform so well for extended conjugated systems.

Cauchy moment expansion

Response functions for a system in its electronic ground state\index{ground state} are analytic functions of the frequency arguments, except at the poles that occur when a frequency or a sum of frequencies is equal to an excitation energy. Thus, for frequencies below the first pole, the linear, quadratic or cubic response functions can be expanded in power series.

Let us consider in more detail the simplest case when only electric dipole operators are involved and the frequency dependence of the (hyper)polarizabilities is of interest. The Cauchy series - that is, the power series expansion of the frequency-dependent polarizability - is usually written as

α(ω;ω)=k=0ω2kS(2k2)=S(2)+ω2S(4)+ω4S(6)+,\alpha(-\omega ; \omega) = \sum_{k=0}^{\infty} \omega^{2k} S(-2k-2) = S(-2) + \omega^2 S(-4) + \omega^4 S(-6) + \cdots,

where S(2)=α(0;0)S(-2) = \alpha(0;0). This expansion is valid also for purely imaginary frequency arguments.

In VeloxChem

import veloxchem as vlx

First, we determine the reference state of the system.

mol_str = """3

O    0.000000000000        0.000000000000        0.000000000000
H    0.000000000000        0.740848095288        0.582094932012
H    0.000000000000       -0.740848095288        0.582094932012
"""

molecule = vlx.Molecule.read_xyz_string(mol_str)
basis = vlx.MolecularBasis.read(molecule, "def2-svpd", ostream=None)

scf_drv = vlx.ScfRestrictedDriver()
scf_drv.ostream.mute()

scf_drv.xcfun = "b3lyp"
scf_results = scf_drv.compute(molecule, basis)

Real response function

We calculate the needed linear response functions with use of the LinearResponseSolver class.

lrf = vlx.LinearResponseSolver()

lrf.a_operator = "electric dipole"
lrf.b_operator = "electric dipole"

# other available operators
#lrf.b_operator = "electric dipole"
#lrf.b_operator = "linear momentum"
#lrf.b_operator = "angular momentum"
#lrf.b_operator = "magnetic dipole"

lrf.a_components = ["x", "y", "z"]
lrf.b_components = ["x", "y", "z"]

lrf.frequencies = [0.0, 0.0656]

lrf_results = lrf.compute(molecule, basis, scf_results)
Output
                                                                                                                          
                                               Linear Response Solver Setup                                               
                                              ==============================                                              
                                                                                                                          
                               Number of Frequencies           : 2                                                        
                               Max. Number of Iterations       : 150                                                      
                               Convergence Threshold           : 1.0e-04                                                  
                               ERI Screening Threshold         : 1.0e-12                                                  
                               Exchange-Correlation Functional : B3LYP                                                    
                               Molecular Grid Level            : 4                                                        
                                                                                                                          
* Info * Using the B3LYP functional.                                                                                      
                                                                                                                          
         P. J. Stephens, F. J. Devlin, C. F. Chabalowski, and M. J. Frisch.,  J. Phys. Chem. 98, 11623 (1994)
                                                                                                                          
* Info * Using the Libxc library (v7.0.0).                                                                                
                                                                                                                          
         S. Lehtola, C. Steigemann, M. J.T. Oliveira, and M. A.L. Marques.,  SoftwareX 7, 1–5 (2018)
                                                                                                                          
* Info * Using the following algorithm for XC numerical integration.                                                      
                                                                                                                          
         J. Kussmann, H. Laqua and C. Ochsenfeld, J. Chem. Theory Comput. 2021, 17, 1512-1521
                                                                                                                          
* Info * 3 gerade trial vectors in reduced space                                                                          
* Info * 6 ungerade trial vectors in reduced space                                                                        
                                                                                                                          
               *** Iteration:   1 * Residuals (Max,Min): 8.45e-01 and 1.89e-01                                            
                                                                                                                          
* Info * 6 gerade trial vectors in reduced space                                                                          
* Info * 12 ungerade trial vectors in reduced space                                                                       
                                                                                                                          
               *** Iteration:   2 * Residuals (Max,Min): 1.12e-01 and 2.01e-02                                            
                                                                                                                          
* Info * 9 gerade trial vectors in reduced space                                                                          
* Info * 17 ungerade trial vectors in reduced space                                                                       
                                                                                                                          
               *** Iteration:   3 * Residuals (Max,Min): 1.37e-02 and 7.82e-04                                            
                                                                                                                          
* Info * 12 gerade trial vectors in reduced space                                                                         
* Info * 22 ungerade trial vectors in reduced space                                                                       
                                                                                                                          
               *** Iteration:   4 * Residuals (Max,Min): 6.56e-04 and 5.14e-05                                            
                                                                                                                          
* Info * 14 gerade trial vectors in reduced space                                                                         
* Info * 24 ungerade trial vectors in reduced space                                                                       
                                                                                                                          
               *** Iteration:   5 * Residuals (Max,Min): 5.88e-05 and 5.64e-06                                            
                                                                                                                          
               *** Linear response converged in 5 iterations. Time: 3.54 sec                                              
                                                                                                                          
                                                                                                                          

Print the requested molecular properties.

print("Comp   Freq     alpha")
print("-"*21)
for key in lrf_results["response_functions"].keys():
    print(f" {key[0]}{key[1]}{key[2]:8.4f}{-lrf_results['response_functions'][key]:10.6f}")
Comp   Freq     alpha
---------------------
 xx  0.0000  9.096926
 yx  0.0000 -0.000000
 zx  0.0000 -0.000000
 xx  0.0656  9.292876
 yx  0.0656 -0.000000
 zx  0.0656 -0.000000
 xy  0.0000 -0.000000
 yy  0.0000  9.738005
 zy  0.0000  0.000000
 xy  0.0656 -0.000000
 yy  0.0656  9.846746
 zy  0.0656  0.000000
 xz  0.0000 -0.000000
 yz  0.0000  0.000000
 zz  0.0000  9.347794
 xz  0.0656 -0.000000
 yz  0.0656  0.000000
 zz  0.0656  9.488606

Complex response function

We calculate the needed linear response functions with use of the ComplexResponse class.

lrf = vlx.ComplexResponse() 

lrf.a_operator = "electric dipole"
lrf.b_operator = "electric dipole"

# other available operators
#lrf.b_operator = "electric dipole"
#lrf.b_operator = "linear momentum"
#lrf.b_operator = "angular momentum"
#lrf.b_operator = "magnetic dipole"

lrf.a_components = ["z"]
lrf.b_components = ["z"]

lrf.damping = 0.00454

lrf.frequencies = [0.0, 0.0656]

lrf_results = lrf.compute(molecule, basis, scf_results)
Output
                                                                                                                          
                                              Complex Response Solver Setup                                               
                                             ===============================                                              
                                                                                                                          
                               Number of Frequencies           : 2                                                        
                               Max. Number of Iterations       : 150                                                      
                               Convergence Threshold           : 1.0e-04                                                  
                               ERI Screening Threshold         : 1.0e-12                                                  
                               Exchange-Correlation Functional : B3LYP                                                    
                               Molecular Grid Level            : 4                                                        
                                                                                                                          
* Info * Using the B3LYP functional.                                                                                      
                                                                                                                          
         P. J. Stephens, F. J. Devlin, C. F. Chabalowski, and M. J. Frisch.,  J. Phys. Chem. 98, 11623 (1994)
                                                                                                                          
* Info * Using the Libxc library (v7.0.0).                                                                                
                                                                                                                          
         S. Lehtola, C. Steigemann, M. J.T. Oliveira, and M. A.L. Marques.,  SoftwareX 7, 1–5 (2018)
                                                                                                                          
* Info * Using the following algorithm for XC numerical integration.                                                      
                                                                                                                          
         J. Kussmann, H. Laqua and C. Ochsenfeld, J. Chem. Theory Comput. 2021, 17, 1512-1521
                                                                                                                          
* Info * 1 gerade trial vectors in reduced space                                                                          
* Info * 2 ungerade trial vectors in reduced space                                                                        
                                                                                                                          
               *** Iteration:   1 * Residuals (Max,Min): 8.45e-01 and 8.33e-01                                            
                                                                                                                          
* Info * 3 gerade trial vectors in reduced space                                                                          
* Info * 4 ungerade trial vectors in reduced space                                                                        
                                                                                                                          
               *** Iteration:   2 * Residuals (Max,Min): 1.12e-01 and 1.09e-01                                            
                                                                                                                          
* Info * 4 gerade trial vectors in reduced space                                                                          
* Info * 6 ungerade trial vectors in reduced space                                                                        
                                                                                                                          
               *** Iteration:   3 * Residuals (Max,Min): 1.37e-02 and 1.34e-02                                            
                                                                                                                          
* Info * 6 gerade trial vectors in reduced space                                                                          
* Info * 8 ungerade trial vectors in reduced space                                                                        
                                                                                                                          
               *** Iteration:   4 * Residuals (Max,Min): 5.48e-04 and 5.37e-04                                            
                                                                                                                          
* Info * 7 gerade trial vectors in reduced space                                                                          
* Info * 9 ungerade trial vectors in reduced space                                                                        
                                                                                                                          
               *** Iteration:   5 * Residuals (Max,Min): 3.52e-05 and 2.71e-05                                            
                                                                                                                          
               *** Complex response converged in 5 iterations. Time: 1.62 sec                                             
                                                                                                                          
                                                                                                                          

Print the requested molecular properties.

print("Comp   Freq               alpha")
print("-"*31)
for key in lrf_results["response_functions"].keys():
    print(f" {key[0]}{key[1]}{key[2]:8.4f}{-lrf_results['response_functions'][key]:20.6f}")
Comp   Freq               alpha
-------------------------------
 zz  0.0000  9.347136+0.000000j
 zz  0.0656  9.487844+0.019981j
References
  1. Kirpekar, S., Oddershede, J., & Jensen, H. J. Aa. (1995). Relativistic corrections to molecular dynamic dipole polarizabilities. J. Chem. Phys., 103, 2983. 10.1063/1.470486
  2. Łach, G., Jeziorski, B., & Szalewicz, K. (2004). Radiative Corrections to the Polarizability of Helium. Phys. Rev. Lett., 92, 233001. 10.1103/PhysRevLett.92.233001