Pseudopotentials and numeric orbitals for initial guess#502
Pseudopotentials and numeric orbitals for initial guess#502ilfreddy merged 317 commits intoMRChemSoft:masterfrom
Conversation
…tor: setup, clear, apply(Orbital), dagger, evalf, and apply(shared_ptr<QMOperator>&).
|
So just a final clarifying question: you stated above that this PR adds a NAO initial guess, but as far as I could tell from the code, it is only used for calculations with pseudopotentials whereas all-electron calculations still use Gaussian basis sets. Of course, adding the all-electron functionality shouldn't be a big step with the code included here, and that could be done in a separate PR. @ilfreddy since all my comments appear to have been addressed, I think this is ready now. Then the Libxc support of #521 can also be merged in. |
|
@susilehtola Thanks a lot for the careful review. The NAO initial guess can also be used for all electron calculations. This is already implemented. Pseudopotentials can only be run with an NAO initial guess. Running all electron calculations with the NAO initial guess worked very well in my tests. The optional initial mixing in the NAO basis can still be improved, I use very simple linear mixing without preconditioning. I did not check if it is worth to converge the initial guess calculation in the NAO basis. Maybe this would be an interesting idea for the future. |
|
The orbitals from the NAO basis are from a non relativistic, spherically symmetric LDA calculation. The proper way to construct them would be to compute them when the calculation is started with the exact same settings of the current calculation (functional, relativistic settings, ...). In FHI-Aims it is done like this. The code that does this is an old fortran code so porting this into MRChem would be a lot of work. |
There is modern C++ code in HelFEM to do this non-relativistically; we're working on the relativistic implementation. |
This branch implements GTH pseudopotentials with non linear core correction.
We had to implement a new initial guess mechanism that uses numeric atom centered orbitals to start pseudopotential calculations. It also works for all electron calculations.
Let me know if you are interested in merging these features, then I will clean up everything and add some more rigorous testing.
At the moment only OMP is tested, I never checked the results obtained with MPI.