## Modifying SCF integrals

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

### Modifying SCF integrals

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.

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: 395
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

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: 6
Joined: 07 Oct 2019, 00:32
First name(s): Vsevolod
Last name(s): Dergachev