Page 1 of 1

the convergence of ground state calculation

Posted: Wed May 22, 2024 6:03 am
by luke419
Hello,

Many thanks for your answers, Francois.
I'd like to know whether the ground state calculation is finished with a full SCF convergence.
I found that "etotal" comes 30 times in the output file for run 0 30 10 , but it is not clear how accurately it was converged.

Would you let me know how we can know whether the SCF calculation reached the convergence criterion or how accurately it was reached?
Even though it is not fully converged, may I use the final xml file obtained from 30 SCF gs calculation for MD simulation?
Otherwise, will it be better that I increase nitscf in the "run command" from 0 30 10 to 0 300 10?

In addition, in my simulation, wf_dyn JD is used for gs calculation while wf_dyn PSDA is used for MD calculation. Will it be all right?

Best regards,
Young

Re: the convergence of ground state calculation

Posted: Thu May 23, 2024 6:56 am
by fgygi
Hello Young,
When running the run 0 30 10 command, you can check the convergence of the ground state by checking the value of the <etotal_int> in the output file. This value is the Kohn-Sham energy at the end of each SCF iteraion. You can decide if the calculation is converged by looking at the differences between successive values of <etotal_int>. If you are computing the ground state to start an MD simulation, a change in energy of 1.e-6 (1 microHartree for the entire system) is usually sufficient. If you are looking at computing accurate ionic forces (e.g. when computing vibrational frequencies) you may want to get a change of < 1.e-8 Hartree.
Note that the variable scf_tol can be used to reach a given accuracy. For example, if you use

Code: Select all

set scf_tol 1.e-6
run 0 30 10
the run command will repeat SCF iterations until a convergence of 1.e-6 Hartree is reached, but not more than 30 SCF iterations.
If the convergence is not satifactory with 30 SCF steps, you can of course use the saved restart file to continue the ground state calculation with additional SCF iterations.
The choice of the wf_dyn variable (JD or PSDA) depends on what you know about the system. JD is the safest (most stable) since it performs a Jacobi Davidson iteration. However it can be expensive. If you are confident that the HOMO-LUMO gap will be finite during the simulation (e.g. as is the case in water simulations) you may used PSDA (preconditioned steepest descent with Anderson acceleration) which may be faster. The PSDA algorithm can become unstable if the HOMO-LUMO gap closes.
Best regards,
Francois