Issues with Relaxing a Ni(119) Slab

Hello all,

I am working on relaxing a Ni(119) slab composed of three atomic layers and a vacuum slab (15 angstroms). I’ve constrained the positions of the bottom atomic layer while allowing the two top layers to relax. Despite my efforts, the Ni(119) surface becomes significantly deformed during optimization.

To initiate my tests (quick test on convergence), I’ve set a low cut-off energy (5 Ha), a minimal number of k-points, and relaxed convergence criteria. My aim is to ensure everything is configured correctly before proceeding with more intensive computations. Below are the critical parameters from my input file:

##############################################

SECTION: basic

##############################################
ecut 5
ixc 11
ngkpt 1 1 1
shiftk 0.5 0.5 0.5
nshiftk 1
kptopt 1
nsppol 1
nband 550
occopt 3
#tolmxde 0.0005
#toldfe 0.0001
tolmxf 5.0d-3
ionmov 2
iscf 7
npulayit 5
chkprim 0
optforces 2 # Enable force optimizations
timopt 1 # Enable time optimization
prteig 1 # Print eigenvalues
prtwf 1 # Request ABINIT to write the wavefunction file
prtden 1 # Print electron density
ntime 30
nstep 30
toldff 5.0d-4
optcell 0

#SCF preconditioner
iprcel 45

Restarting from the last configuration in the HIST.nc file

#restartxf -3

Specify the path to the DEN file directly for initializing the electronic density

#getden_filepath “Niopt_119out/out_TIM4_DEN”

##############################################

SECTION: files

##############################################
indata_prefix “indata/in”
tmpdata_prefix “tmpdata/tmp”
outdata_prefix “outdata/out”
pseudos “…/Ni119/Ni.psp8”
##############################################

SECTION: gstate

##############################################
chksymbreak 0
nspinor 1
nspden 1
charge 0.0
tsmear 0.01 Ha
chksymtnons 0

##############################################

GeoConstraints

##############################################
natfix 16
iatfix 9 23 37 51 5 19 33 47 11 25 39 53 7 21 35 49

##############################################

STRUCTURE

##############################################
natom 56
ntypat 1
typat
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1
znucl 28
xred
0.0073300000 0.0586000000 0.0772500000
0.0013000000 0.0104100000 0.2510600000
0.0615400000 0.4923400000 0.1158800000
0.1157600000 0.9260700000 0.1545000000
0.1760000000 0.4080000000 0.0193100000
0.1699800000 0.3598100000 0.1931300000
0.2302200000 0.8417300000 0.0579400000
0.2241900000 0.7935400000 0.2317500000
0.1488900000 0.1911300000 0.0000000000
0.1428700000 0.1429400000 0.1738100000
0.2031100000 0.6248700000 0.0386300000
0.1970800000 0.5766700000 0.2124400000
0.0344300000 0.2754700000 0.0965600000
0.0886500000 0.7092000000 0.1351900000
0.2573300000 0.0586000000 0.0772500000
0.2513000000 0.0104100000 0.2510600000
0.3115400000 0.4923400000 0.1158800000
0.3657600000 0.9260700000 0.1545000000
0.4260000000 0.4080000000 0.0193100000
0.4199800000 0.3598100000 0.1931300000
0.4802200000 0.8417300000 0.0579400000
0.4741900000 0.7935400000 0.2317500000
0.3988900000 0.1911300000 0.0000000000
0.3928700000 0.1429400000 0.1738100000
0.4531100000 0.6248700000 0.0386300000
0.4470800000 0.5766700000 0.2124400000
0.2844300000 0.2754700000 0.0965600000
0.3386500000 0.7092000000 0.1351900000
0.5073300000 0.0586000000 0.0772500000
0.5013000000 0.0104100000 0.2510600000
0.5615400000 0.4923400000 0.1158800000
0.6157600000 0.9260700000 0.1545000000
0.6760000000 0.4080000000 0.0193100000
0.6699800000 0.3598100000 0.1931300000
0.7302200000 0.8417300000 0.0579400000
0.7241900000 0.7935400000 0.2317500000
0.6488900000 0.1911300000 0.0000000000
0.6428700000 0.1429400000 0.1738100000
0.7031100000 0.6248700000 0.0386300000
0.6970800000 0.5766700000 0.2124400000
0.5344300000 0.2754700000 0.0965600000
0.5886500000 0.7092000000 0.1351900000
0.7573300000 0.0586000000 0.0772500000
0.7513000000 0.0104100000 0.2510600000
0.8115400000 0.4923400000 0.1158800000
0.8657600000 0.9260700000 0.1545000000
0.9260000000 0.4080000000 0.0193100000
0.9199800000 0.3598100000 0.1931300000
0.9802200000 0.8417300000 0.0579400000
0.9741900000 0.7935400000 0.2317500000
0.8988900000 0.1911300000 0.0000000000
0.8928700000 0.1429400000 0.1738100000
0.9531100000 0.6248700000 0.0386300000
0.9470800000 0.5766700000 0.2124400000
0.7844300000 0.2754700000 0.0965600000
0.8386500000 0.7092000000 0.1351900000
acell 1.0 1.0 1.0
rprim
18.8352782294 0.0000000000 0.0000000000
-2.3544352899 21.4497631255 0.0000000000
0.0000000000 0.0000000000 37.8481907145

Given these settings, the surface deformation I’m observing is unexpected and suggests potential issues with my relaxation strategy or the parameters chosen. By the way the constraints applied to the bottom layer are correctly implemented… I am particularly concerned whether:

  1. The low ecut value and sparse k-point grid could be contributing to the deformation.
  2. Any other parameters in my input file could be optimized for better handling of slab relaxation without compromising the integrity of the surface.

I have attached my full input file for reference. Could anyone provide insights into these issues or suggest adjustments to improve the relaxation results? Any advice on best practices for slab relaxation in ABINIT would also be greatly appreciated.

Thank you for your time and assistance.

Best regards,

Sotiris

Hi Sotiris,

Most likely the low ecut value provides a very coarse plane-waves sampling and is causing some issues, as in it relaxes into a minimum that is far away from the converged minimum.
How fast does the wavefunction converge with this low ecut anyway?

Otherwise, nothing looks suspicious with your input, except for some redundant input variables in which you consider their default values (e.g. nspinor, nspden, charge).
Just for simplicity you can replace typat with typat 56*1 instead of writing 1 - 56 times.

As a general advice, although k-points and ecut are generally considered uncorrelated variables, one needs to consider a sensitive sampling when converging against each one of them.
Also a convergence against smearing is due in your particular system.

If electronic temperature is a meaningful quantity for your study, you might want to look into tphysel.

Let me know if you run into troubles!
Bogdan

Dear Bogdan,

Thank you for getting back to me so quickly.

I’ve attached the initial structure of Ni(119) as well as its configuration after the first self-consistent field (scf) cycle. Generally speaking, the system reaches convergence swiftly, which is why I opted for particularly lenient convergence criteria. However, I suspect the issue might stem from the maximum displacement tolerance set for the atoms during their optimization process.

Best regards,
Sotiris


Hmm after the 1st scf run it doesn’t look so appealing.

Since here you are optimizing only the internal coordinates and not the cell, are the forces reasonable in the initial structure? Are the distances between atoms reasonable?
From your input file, does the geometry look like something you want?
This is what I get from the previous message:

The distances between atoms are around 2.5 Angstrom.

It might be a problem with the initial geometry as it is.
Let me know!
Bogdan

Dear Bogdan,

The atomic distances for Ni should be approximately 2.5 Angstroms. However, I have some questions regarding the structure you shared with me. Could you clarify if it represents the initial configuration or if it’s after the first SCF cycle? Did you run the input file?

Best,
Sotiris

This is the structure attached in the first message.
I just copied it from there.
Bogdan

The structure appears as expected, (probably you’ve expanded the supercell). However, I’m curious about the significant distortion observed in the structure after the initial SCF cycle (as shown in the attached image). Could you recommend any modifications to the input file to address this? Theoretically, the initial SCF cycle should result in minimal atomic displacements.

Best regards,
Sotiris

In general, I am seeking to enhance my system’s efficiency by applying specific convergence criteria through the BFGS algorithm, if feasible. The optimization goals are as follows:

  1. The energy difference should not exceed i.e 1e-6 Ha/atom.
  2. The force difference should be limited to a maximum of i.e. 5e-4 Ha/Angstrom.
  3. The displacement difference should not exceed i.e 5e-3 Angstroms.

The optimization process should finish once these conditions are met, focusing solely on the upper atomic layers of the slab without altering the cell structure. Please note, the bottom atoms will remain fixed as shown before.

Best regards,
Sotiris

I can think of three things here:

  1. either the kpoint sampling is insufficient and you get a converge on the wavefunction but a bad quality density at the end of the run so you restart the run with a very bad estimation of the forces in turn. for this i would give it a try with a 3x3x1 kpoint grid

  2. the distance between the system and its periodic images is very small, as in try to run a calculation with increased vacuum to see if anything changes

  3. remove the kpoint shift or move the system in the middle of the vacuum.

Let me know if some of these things work for you!
Bogdan

PS Is there any particular reason why you use optforces 2 with toldff? I would leave the default value there for optforces.

Hello all,

Bogdan has covered most of what I could think of. The k-points will be critical, ecut has to be “large enough” to get qualitatively correct results, you should also check the number of empty bands, which may be too low, and your smearing width is quite large. Finally do check that the structure is really what you intended. The little cluster at the top of the vacuum spacing seems a bit weird

Dear Team,

I apologize for my delayed response. I’m pleased to report that I’ve resolved the issues we encountered with the relaxation of the Nickel slab. To test for convergence, I modified the slab size from Ni(119) 4x1 to Ni(119) 1x1, maintaining the same constraints on atomic positions. Additionally, I adjusted several parameters in the abinit input file, which I believe were pivotal to overcoming the challenges:

ECUT: Set to 25.0 Ha to ensure accurate energy cut-off.
NGKPT: Changed to 2 2 1, indicating an increase in the number of grid points for better precision.
TOLDFE: Adjusted to 5.0d-6, combined with TOLMXDE (5.0d-5) and TOLMXF (0.0), these parameters allowed for more lenient optimization convergence criteria while still providing reasonable results.
Here is a brief overview of the key sections modified in the abinit input file:

##############################################

SECTION: basic

##############################################
ecut 25.0
ixc 11
ngkpt 2 2 1
shiftk 0.5 0.5 0.5
kptopt 1
nsppol 1
nband 152
occopt 3
tolmxde 5.0d-5
tolmxf 0.0
optcell 0

timopt 1 # Enable time optimization
prteig 1 # Print eigenvalues
prtwf 1 # Request ABINIT to write the wavefunction file
prtden 1 # Print electron density
ntime 80
nstep 80

ionmov 2
iscf 7
npulayit 5
chkprim 0

tolsym 1.0d-10
toldfe 5.0d-6

#SCF preconditioner
iprcel 45

#Restarting from the last configuration in the HIST.nc file
#restartxf -3

#Specify the path to the DEN file directly for initializing the electronic density
#getden_filepath “Niopt_119out/out_TIM4_DEN”

##############################################

SECTION: files

##############################################
indata_prefix “indata/in”
tmpdata_prefix “tmpdata/tmp”
outdata_prefix “outdata/out”
pseudos “…/Ni.psp8”
##############################################

SECTION: gstate

##############################################
chksymbreak 0
nspinor 1
nspden 1
charge 0.0
tsmear 0.01 Ha
chksymtnons 0

##############################################

GeoConstraints

##############################################
natfix 4
iatfix 9 5 11 7

##############################################

STRUCTURE

##############################################
natom 14
ntypat 1
typat 14*1
znucl 28
xred
0.0329400000 0.0571700000 0.0588300000
0.0265000000 0.0197100000 0.2206300000
0.2512600000 0.4935100000 0.1030900000
0.4745600000 0.9424100000 0.1343400000
0.7040000000 0.4080000000 0.0193200000
0.6983500000 0.3662400000 0.1709600000
0.9208700000 0.8417300000 0.0579500000
0.9086000000 0.8140000000 0.2041100000
0.5955700000 0.1911300000 0.0000000000
0.5914700000 0.1589000000 0.1631100000
0.8124300000 0.6248700000 0.0386400000
0.7899800000 0.5776000000 0.1889600000
0.1506100000 0.2732600000 0.0867800000
0.3542200000 0.7119500000 0.1250900000
acell 1.0 1.0 1.0
rprim
4.7105203109 0.0000000000 0.0000000000
-2.3553012777 21.4576525899 0.0000000000
0.0000000000 0.0000000000 37.8517811941

These adjustments have significantly contributed to the resolution of my problem, ensuring that the system now yields reliable outcomes even with somewhat relaxed convergence criteria.

I want to extend my gratitude to everyone for your support and assistance throughout this process. Your input has been invaluable.

Best regards,

Sotiris