Modifying SCF integrals

Use this forum for general discussions of topics that don't fit in the other forums
Post Reply
Vsevolod
Posts: 2
Joined: 07 Oct 2019, 00:32
First name(s): Vsevolod
Last name(s): Dergachev
Affiliation: University of Nevada, Reno
Country: United States

Modifying SCF integrals

Post by Vsevolod » 07 Oct 2019, 19:36

Dear Dalton Community,

My name is Vsevolod, nice to meet you. I am interested in variation of electron mass and electron charge constants to observe any structural changes of some selected compounds. For that, I need to modify 1- and 2-electron integrals of SCF procedure and need some help on this way.

If not mistaken, I have already found 1-electron potential (POTINT) and kinetic energy (KININT) integrals in DALTON/abacus/her1int.F.
However, I am still struggling with 2-electron Vee term (Coloumb and Exchange) and Vnn term as average of nuclear repulsion.

Could you please help me find those integrals in the source code?
Or, if it is easier, to show how to modify respective 1- and 2-electron parts of the Fock matrices.

Thank you,
Seva

hjaaj
Posts: 326
Joined: 27 Jun 2013, 18:44
First name(s): Hans Jørgen
Middle name(s): Aagaard
Last name(s): Jensen
Affiliation: Universith of Southern Denmark
Country: Denmark

Re: Modifying SCF integrals

Post by hjaaj » 08 Oct 2019, 10:26

Well ... If m_factor is the electronic mass factor and e_factor is the factor on the electronic charge, I think the easiest is to modify the lines where the one-electron Hamiltonian is constructed by adding the kinetic energy integrals and the nuclear attraction integrals in .../DALTON/abacus/her1drv.F, that is, change

Code: Select all

              DO 800 I = 1, NNBAST
                 STHMAT(I,2) = STHMAT(I,2) + STHMAT(I,3)
 800          CONTINUE
to

Code: Select all

              DO 800 I = 1, NNBAST
                 STHMAT(I,2) = STHMAT(I,2)/m_factor + STHMAT(I,3)*e_factor
 800          CONTINUE
and in .../DALTON/sirius/sirgrad.F change in subroutine FCK2AO (which calculates the two-electron contribution to the Fock matrix):

Code: Select all

C
C *** End of subroutine FCK2AO
C
      CALL QEXIT('FCK2AO')
      RETURN
      END
to

Code: Select all

C
C *** End of subroutine FCK2AO
C
      e2_factor = e_factor**2
      call dscal(ndmat*n2basx,e2_factor, FCAO, 1)
      CALL QEXIT('FCK2AO')
      RETURN
      END
I think this will do what you want. If I understand you correctly, the Vnn term should not be changed becuase it does not depend on the electron mass nor on the electron charge.

Vsevolod
Posts: 2
Joined: 07 Oct 2019, 00:32
First name(s): Vsevolod
Last name(s): Dergachev
Affiliation: University of Nevada, Reno
Country: United States

Re: Modifying SCF integrals

Post by Vsevolod » 08 Oct 2019, 23:55

Dr. Jensen,

Thank you very much.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest