In first principles calculations, are functionals with the same name used in different computational software the same? For example, the GGA-PBE functional in VASP software and the GGA-PBE functional in CASTEP module?
I feel like I need to qualify Wang Jinkai's answer, as while all these DFT codes naturally derive their implemntations from the classic PBE paper which means that on the surface level the equations are going to be exactly the same, the fact that you have a wide plethora of codes using different flavours of DFT implementations such as PAW, FLAPW, localized, etc... means that you are going to have several degrees of nuances in the ways that these equations are implemented, and the related quantities calculated.
Building on Rémi Pasquier 's answer, it's worth noting that some software packages—particularly certain popular proprietary ones—are known to produce different results even when compared under identical conditions, such as using the same functionals, basis sets, and parameters.
This discrepancy highlights the saying: no one wants to see how the sausage is made. Most often than not the developers won't give details on how the theory level was implemented.
We trust and build on top of it because that is how science is made with proprietary stuff. Most of us won't have the resources needed to build our own code, let alone try to publish anything done solely by our own teams.
This is a good response, but what we want to know is that, as the researchers mentioned above have pointed out, when we try to calculate the same system using the same calculation method, the results often have subtle differences. When compared with published scientific data, if the deviation is not large, such as controlled within 1%, we consider our calculated data to be true and reliable. However, this deviation can also be significant in some published literature. Therefore, we are curious about the limit of this deviation, and to what extent is the calculation result incorrect when the upper limit is reached? Is there a systematic discussion in this regard?
Yulai Song Oh, there are several discussions on the subject across most quantum chemistry forums for different codes, but research papers on the topic are relatively scarce. One of the major software providers was reportedly involved in a heated dispute with part of the scientific community, as they were allegedly banning and revoking licenses from research groups that published comparisons between their software and competitors.
Back to the main point, you can run and test different codes on the same structure and compare the results. Additionally, comparing them to experimental values provides a reasonable estimate of the accuracy of each calculation. I'd say the best software is the one that most accurately reproduces experimental results—after all, nature itself understands physical systems better than we do. Also, there are papers on accuracy benchmark, but they are not usually comparing different quantum suites.
Sorry for the late reply and missing the fruitful discussion. ( I have spring festival holiday.)
hi,Rémi Pasquier ,please note only vasp and castep in the question, there are in the same theoretical level. flapw is higher level one and the comparison between them is meaningless. PAW is to deal with the interaction between electronics and ions, both vasp and castep are implemented.
hi,Lucas Gian Fachini , for a dft based code, the energy difference of two calculations with the same parameters should not exceed 0.001 eV. I just checked using gaussian:)
The short answer to this question is "usually, but not always".
There are many cases in the literature where the paper has several versions of the functional which may not be strictly equivalent (e.g. because of rounding to finite precision in parameters, or assumptions of complete basis sets).
There are cases where a functional is not described precisely, e.g. a term like + 0.1 E_LDA without defining which LDA parameterisation -- and even if it is defined, some codes may use another one if they hadn't programmed the one which was specified.
There are also cases where the wrong functional was published in error, and this is corrected in a subsequent paper (e.g. HSE). Similarly, there may be issues with the functional in its original form, for example it may be numerically ill-conditioned, which are fixed in a later paper. When you use that functional, is it the original or the "fixed" one?
Nevertheless, the agreement between modern DFT software is generally good, if you use modern, accurate pseudopotentials or explicit all-electron methods. This agreement is not just between codes with very similar underlying methods, like CASTEP, QE, ABINIT or VASP, but also between, for example, CASTEP, FHIaims and Wien2k.
Here's a community study looking at how the PBE implementations compare across many software implementations (including plane-wave with norm-conserving, USP and PAW pseudopotentials, local basis set codes, FLAPW...):
https://molmod.ugent.be/deltacodesdft
and the paper from the first full study:
Article Reproducibility in density functional theory calculations of solids