I am currently learning to perform calculations on solids and am attempting to manually optimize the size of a face-centered cubic (FCC) cell of Nickel (Ni) using SIESTA (v. 4.1.5) with the Perdew-Burke-Ernzerhof (PBE) functional. My approach involves conducting single point energy calculations while varying the lattice constant, with the coordinates of the Ni atoms kept constant by expressing them relative to the lattice constant.

I have previously accomplished this task using Quantum-Espresso, but I am encountering difficulties with SIESTA. Specifically, the LatticeConstant must be close to 3.52 Å at the energy minimum, but my results show it is close to 3.7 Å.

As a novice in these types of calculations and a first-time user of SIESTA, I am unsure whether my difficulties stem from a conceptual misunderstanding or incorrect software usage.

Additional data:

  • The pseudopotential I used is from this source.
  • I experimented with different Mesh.Cutoff values to achieve nearly converged results.
  • The same trend is observed across different basis sets, ranging from SZ to DZP.

Following the user manual, I wrote the following input file:

SystemName          NiCell
SystemLabel         NiCell

NumberOfAtoms       4
NumberOfSpecies     1

%block ChemicalSpeciesLabel
 1  28  Ni
%endblock ChemicalSpeciesLabel

XC.Functional GGA
XC.Authors PBE

PAO.BasisSize DZP
Mesh.Cutoff 400 Ry

Spin polarized

LatticeConstant 3.52 Ang
%block LatticeVectors
   1.0  0.0  0.0
   0.0  1.0  0.0
   0.0  0.0  1.0
%endblock LatticeVectors

AtomicCoordinatesFormat ScaledCartesian
# ScaledCartesian: x y z coords in units of LatticeConstant

%block AtomicCoordinatesAndAtomicSpecies
  0.0 0.0 0.0  1
  0.0 0.5 0.5  1
  0.5 0.0 0.5  1
  0.5 0.5 0.0  1
%endblock AtomicCoordinatesAndAtomicSpecies

SCF.Mixer.Weight 0.02

Any guidance or suggestions to resolve this issue would be greatly appreciated.

  • $\begingroup$ Before we attempt to answer this interesting question, it is important to tell us how dense is the kgrid you used. Also did you use the variable cell optimization ? What are the forces that come out of your calculations ? $\endgroup$
    – Elie H
    Oct 26, 2023 at 20:53
  • 1
    $\begingroup$ @ElieH I did not use the variable cell optimization because I wanted to perform a calculations of the simplest case (just single points). The issue was solved by increasing the kgrid.Cutoff up to two times the lattice constant. Thank you very much for your comment. $\endgroup$ Nov 8, 2023 at 21:08
  • $\begingroup$ Absolutely. Hey, would you mind writing an answer to your own question ? this would be helpful to other users $\endgroup$
    – Elie H
    Nov 9, 2023 at 21:45
  • $\begingroup$ @ElieH I would be happy to write a response, but I feel it would be unhelpful as I have nothing to add beyond the fact that I increased the parameter that controls the number of k-points as I mentioned in my previous comment. The amount I increased it by was not based on a clear and well-established procedure. I believe it would be more helpful for the community to wait for someone with more knowledge to provide us with further guidance. $\endgroup$ Nov 13, 2023 at 18:10
  • $\begingroup$ Are you sure that the coordinates in the input are ScaledCartesian? They look as Fractional. $\endgroup$
    – Camps
    Nov 17, 2023 at 17:03

1 Answer 1


When optimizing the size of a cell using SIESTA and issues you encounter might indeed be related to the k-point grid density.

The k-point grid density directly influences the accuracy of electronic structure calculations in periodic systems. A lower k-point density might lead to an inadequate sampling of the Brillouin zone, resulting in less precise energy minimization and incorrect lattice constants. The k-point grid controls how finely the Brillouin zone is sampled and influences the accuracy of energy calculations, especially for periodic systems.

Other parameters in SIESTA could influence the accuracy of your calculations:

  1. Pseudopotentials: Ensure that the pseudopotentials used are appropriate for Nickel, are accurate enough for your calculations and verify their compatibility with the Perdew-Burke-Ernzerhof (PBE) functional you're using.
  2. Basis sets : Ensure that the basis set you're using is suitably converged. Try refining the basis set further if needed.
  3. Relaxation conditions: Check the convergence criteria for the optimization process. Ensure that the convergence thresholds for forces and energies are appropriately set to achieve accurate optimization.

Other numerical parameters such as the mesh cutoff and of course your DFT functional can impact the accuracy of calculations.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .