polarizabilities from expec and finite field are different

23 views
Skip to first unread message

Yevhen Horbatenko

unread,
Apr 20, 2024, 9:34:02 AMApr 20
to molpro-user
Dear all:

Maybe trivial questions for you, but i could not find explanations about second (third) moments.

1. Could someone explain the difference between the second moments (third moments) and polarizability (hyperpolarizability), whether they are the same quantity?

2. If not the same, what are the second moments (third moments) then?

I thought the second moments (third moments) and polarizability (hyperpolarizability) were the same quantities, but either I misunderstand and they are different or I do something wrong during the following calculations.

I tried to do example calculations (slight modifications to the input files were done) with  `expec, dm, sm', as in examples/h2o_gexpec2.inp and finite field calculations `dip,,,field(i)' with numerical differentiation of energy to get dipole moment along with polarizability, as in examples/h2o_field.inp.

I have got dipole moments from both methods being the same,  but the second moments and polarizabilities do not coincide.

My inout for `expec, dm, sm':
 ***,oprimized geom, mulliken pop
 print,orbitals                                                                  ! this is optional: print the basis set an
                                                                                 ! the occupied orbitals
 angstrom                                                                        ! units for xyz corrds
 geometry={                                                                      ! define the nuclear coordinates
   3
    h2o
  O                 0.0000000000   0.0000000000  -0.0662176529
  H                -0.7573301264   0.0000000000   0.5218377685
  H                 0.7573301264   0.0000000000   0.5218377685
 }

 basis=avdz                                                                     
 $methods=[hf,mp2]                                                             
 do i=1,#methods                                                                 !loop over methods
 {$methods(i);expec,dm,qm,sm;}                                                      !run energy calculation
 e(i)=energy

 dipx(i)=dmx                                                                     !save dipole moment in variable dip
 dipy(i)=dmy                                                                     !save dipole moment in variable dip
 dipz(i)=dmz                                                                     !save dipole moment in variable dip

  smxx(i)=xx                                                                      !save second momemts
 smyy(i)=yy
 smzz(i)=zz
 smxy(i)=xy
 smxz(i)=xz
 smyz(i)=yz

 enddo
 table,methods,dipx,dipy,dipz,smxx,smyy,smzz,smxy,smxz,smyz                      !print table of first and second moments



My input for `dip,,,field(i)':

***water, oprimized geom, polarizability
print,orbitals   ! this is optional: print the basis set and
                       ! the occupied orbitals
angstrom               ! units for xyz corrds
geometry={             ! define the nuclear coordinates
  3
   h2o
 O                 0.0000000000   0.0000000000  -0.0662176529
 H                -0.7573301264   0.0000000000   0.5218377685
 H                 0.7573301264   0.0000000000   0.5218377685

}

basis=avdz                        
field=[0,0.005,-0.005]             !define finite field strengths
$method=[hf,mp2]

k=0
do i=1,#field                      !loop over fields
  dip,,,field(i)                   !add finite field to H
  do m=1,#method                   !loop over methods
    k=k+1
    $method(m)                     !calculate energy
    e(k)=energy                    !save energy
  enddo
enddo

k=0
n=#method
do m=1,#method
  k=k+1
  energ(m)=e(k)
  dipz(m)=(e(k+n)-e(k+2*n))/(field(2)-field(3))   !dipole moment as first energy derivative
  smzz(m)=(e(k+n)+e(k+2*n)-2*e(k))/((field(2)-field(1))*(field(3)-field(1)))  !polarizability as second der.
enddo

table,method,energ,dipz,smzz
title,results for H2O optimized monomer



The output for `expec`
 METHODS  DIPX  DIPY     DIPZ          SMXX          SMYY          SMZZ      SMXY  SMXZ  SMYZ
 HF        0.0   0.0   0.78791914   -3.18400627   -5.64499186   -4.50100459   0.0   0.0   0.0
 MP2       0.0   0.0   0.73552217   -3.37714904   -5.88588854   -4.71975447   0.0   0.0   0.0
                                                 
             MP2              HF
    -76.26081469    -76.04132336


The output for `dip,,,field'
METHOD       ENERG        DIPZ         SMZZ
 HF       -76.04132336   0.78791551   8.07213993
 MP2      -76.26081469   0.73551580   9.06487939

As you see, DIPZ are the same from both methods, but SMZZ are not.
Would appreciate any explanation for this.

Best regards,
Yevhen

Tatiana Korona

unread,
Apr 20, 2024, 3:20:41 PMApr 20
to Yevhen Horbatenko, molpro-user

Dear Yevhen,

1)
SMXX etc. is not a component of a dipole polarizability, but a component of the second moment, see the list of all available one-electron operators in Molpro:

2) If you are interested in analytical dipole polarizabilities at the HF and MP2 levels, you should use the command
polar,dm
instead of
expec,dm
Best wishes,
Tatiana

--
You received this message because you are subscribed to the Google Groups "molpro-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to molpro-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/molpro-user/b2084a02-1650-48eb-8c9f-71fcf716abe3n%40googlegroups.com.

Yevhen Horbatenko

unread,
Apr 21, 2024, 10:57:15 AMApr 21
to molpro-user
Dear Tatiana,

Thank you for your answer.
Yes, i had seen the list and that was what made me to write the original questions due to confusion i faced there.

If the dipole moment components (x,y,z)  are the first derivatives of energy with respect to the field, then i thought the second moment components (xx, xy, etc) would be the second derivatives of the energy with respect to the filed, which, as far as i know is the definition of polarizability components (xx, xy, etc). 
So i thought the second moment components = polarizability components, and, consequently,  the third moment components would be the third derivatives of the energy, which would be = to hyperpolarizability components.

If my understanding is wrong, then what, e.g., would be the definition of the second moment? 
Could you or someone explain, please, as I still cannot get it?

Frankly, i need to get polarizabilities, hyperpolarizabilities, and the second hyperpolarizabilities, ideally at ccsd(t) level.
My mp2 trial calculations were just to understand how to perform finite field runs, as i thought i could get all those (hyper)polarizabilities via finite field via numerical differentiation of the energy.

Kind regards,
Yevhen

Tatiana Korona

unread,
Apr 23, 2024, 3:55:00 AMApr 23
to Yevhen Horbatenko, molpro-user
Dear Yevhen,

The static dipole polarizability can be obtained as the second derivative of the energy, e.g. for the alpha_zz component  with respect to the field "Z", i.e. d2E/dz^2; the alpha_xy component can be obtained as d2E/dxdy etc. First dipole hyperpolarizabilities are third derivatives etc. but you always perturb your molecule with the field proportional to X^1 or Y^1 or Z^1. For the case of second moments, you would perturb your molecule with the field proportional to e.g. X^2.

The script below calculates the alpha_zz polarizability component for HF, CCSD, and CCSD(T) from the 3-point formula (note that it would be preferable to use 5-point formula etc. if you aim at higher accuracy). For HF you can alternatively obtain the polarizability analytically {hf;polar}.
hf
ccsd(t)
ezh=energr
ezc=energc
ez=energy

f=0.001
dip,0,0,f
hf
ccsd(t)
eph=energr
epc=energc
ep=energy

dip,0,0,-f
hf
ccsd(t)
emh=energr
emc=energc
em=energy

polarh=-(eph+emh-2*ezh)/(f*f)
polarc=-(epc+emc-2*ezc)/(f*f)
polar=-(ep+em-2*ez)/(f*f)

Best wishes,

Tatiana


Yevhen Horbatenko

unread,
Apr 23, 2024, 9:07:44 AMApr 23
to molpro-user
Dear Tatiana,

Thank you for your explanations.

It has become much more clear now.

Also, thank you for the script. I think i can adopt it for other cases (higher derivatives as well as mixed ones) by induction.

Let me try it.

Kind regards,
Yevhen
Reply all
Reply to author
Forward
0 new messages