Top Page > Browsing
MD energy drift using DC-LNO method
Date: 2020/05/08 06:31
Name: Kelvin

Dear OpenMX,

I'm trying to simulate an NVE MD of a gaseous molecule colliding with a graphene (a 565-atom system) using DC-LNO solver. May I seek your advice concerning:
1. Why the total energy (Utot+Ukc) of the system seems to rise very dramatically? (i.e. there is a sharp rise in Utot+Ukc 700 frame onwards). (Incidentally, at around frame 700, the molecule starts to collide with the graphene sheet).
2. Why the energy drift rate is small for frame 1 to 700, but very large and different for 900 to 2700?

Thank you in advance.

Output from System.ene gives:
Frame Ukc Utot Utot + Ukc
1 0.07355 -3251.45848 -3251.38494
100 0.08242 -3251.46905 -3251.38662
200 0.07942 -3251.46814 -3251.38872
300 0.08147 -3251.47161 -3251.39014
400 0.0851 -3251.47737 -3251.39227
500 0.08327 -3251.4776 -3251.39433
600 0.08977 -3251.4924 -3251.40263
700 0.10507 -3251.49437 -3251.3893
800 0.15962 -3251.35874 -3251.19912
900 0.17168 -3251.26471 -3251.09303
1000 0.15676 -3251.21215 -3251.05539
1100 0.16491 -3251.15461 -3250.9897
1200 0.16332 -3251.11206 -3250.94874
1300 0.19833 -3251.11279 -3250.91446
1400 0.22317 -3251.105 -3250.88184
1500 0.23849 -3251.0784 -3250.83992
1600 0.22366 -3251.02466 -3250.801
1700 0.26621 -3251.03394 -3250.76773
1800 0.28883 -3251.0159 -3250.72708
1900 0.27827 -3250.99046 -3250.71219
2000 0.31692 -3250.99325 -3250.67632
2100 0.35047 -3251.01102 -3250.66055
2200 0.32644 -3250.92964 -3250.6032
2300 0.31566 -3250.89258 -3250.57692
2400 0.34071 -3250.87265 -3250.53195
2500 0.38725 -3250.90268 -3250.51543
2600 0.41778 -3250.90533 -3250.48755
2700 0.42272 -3250.87664 -3250.45392
*All data are in Hartree, Ukc is kinetic energy, Utot is DFT total energy, Ukc + Utot is total energy.

My input file:
# SCF
scf.XcType GGA-PBE # LDA|LSDA-CA|LSDA-PW|GGA-PBE
scf.criterion 4.0e-8 # default=1e-6 (Hartree) 1e-10H->1e-9eV
scf.ElectronicTemperature 300 # default=300 (K)
scf.energycutoff 250 # default=150 (Ry)
scf.EigenvalueSolver dc-lno # dc|dc-lno|Krylov|cluster2|cluster|Band
scf.dclno.threading on # off|on
scf.Kgrid 1 1 1 # means n1 x n2 x n3
scf.fixed.grid 0.00000000000000 0.00000000000000 0.00000000000000
# SCF-DETAILED
scf.maxIter 500 # default=40
scf.Mixing.Type Rmm-Diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk
scf.Init.Mixing.Weight 0.200 # default=0.30
scf.Min.Mixing.Weight 0.001 # default=0.001
scf.Max.Mixing.Weight 0.200 # default=0.40
scf.Mixing.History 40 # default=5
scf.Mixing.EveryPulay 1 # for hard SCF
scf.Mixing.StartPulay 5 # default=6
scf.lapack.dste dstevx # dstevx|dstedc|dstegr,default=dstevx
# VdW Correction
scf.dftD on # on|off, default=off
version.dftD 3 # 2|3, default=2
DFTD3.damp zero # zero|bj, default=bj
DFTD.Unit AU # Ang|AU
DFTD.rcut_dftD 100.0 # default=100 (DFTD.Unit)
DFTD.cncut_dftD 40 # default=40 (DFTD.Unit)
DFTD.IntDirection 1 1 1 # default=1 1 1 (1:on 0:off)
# Calculation type
MD.Type NVE # Nomd|Opt|RF|EF|NVE
MD.maxIter 40000 # default=1, nuclear move step
MD.TimeStep 0.5 # default=0.5 (fs)
# Definition of Atomic Species
Species.Number 4
<Definition.of.Atomic.Species
C C6.0-s2p2d1 C_PBE19
O O6.0-s2p2d1 O_PBE19
N N6.0-s2p2d1 N_PBE19
H H6.0-s2p1 H_PBE19
Definition.of.Atomic.Species>
Atoms.UnitVectors.Unit Ang
<Atoms.UnitVectors
38.500527644999970 0.000000000000000 0.000000000000000
0.000000000000000 37.047149999999995 0.000000000000000
0.000000000000000 0.000000000000000 29.999999999999979
Atoms.UnitVectors>

Regards,
Kelvin Anggara
メンテ
Page: [1]

Re: MD energy drift using DC-LNO method ( No.1 )
Date: 2020/05/14 15:17
Name: T. Ozaki

Hi,

I do not see any settings for keywords relevant to the DC-LNO method:

orderN.HoppingRanges 7.0
orderN.LNO.Buffer 0.2
orderN.LNO.Occ.Cutoff 0.1
<LNOs.Num
Si 4
H 1
LNOs.Num>

which are explained at
http://www.openmx-square.org/openmx_man3.9/node76.html

I would recommend you to check accuracy of your calculations by
changing these keywords.

I guess that the default settings for those keywords may not be enough
to properly simulate your systems with collitions.

Regards,

TO


メンテ
Re: MD energy drift using DC-LNO method ( No.2 )
Date: 2020/05/15 05:00
Name: Kelvin

Dear TO,

Thanks for the comment! I'm testing the MD energy drift with different SNAN+FNAN.

As the testing for LNOs.Num, would it be a sensible choice to use the 'maximum valence' as the number of LNO? (e.g. C(sp3) is 4, H(s) is 1, N(sp3) is 4, O(sp3) is 4) - do you have any comment in this regard?

Thank you again.

Regards,
Kelvin
メンテ
Re: MD energy drift using DC-LNO method ( No.3 )
Date: 2020/05/18 11:28
Name: Kylin

Dear Kelvin,

In short summary, there are two sets of atomic basis, the conventional NAO basis and the LNO one contracted from the former.
Both basis can represents certain Hilbert space for density matrix (DM).
However, DFT calculation only focus on the occupied subspace.
Thus, LNOs basis is designed to represent the same, or the almost same occupied space of DM.

To achieve this goal, the dimension of LNOs basis should be energy enough, otherwise the DM in LNOs involves some excitation state.
It induce the energy drift and limits the minimal number of "LNOs.Num" in openMX.

For the choice of LNOs.Num its depends on your system.



Cheers,
Kylin

メンテ
Re: MD energy drift using DC-LNO method ( No.4 )
Date: 2020/10/16 16:51
Name: Mauro Sgroi  <maurofrancesco.sgroi@gmail.com>

Dear all,
I'd like to make some tests to understand the effect of orderN.LNO.Occ.Cutoff.
Is there a way to have the number of LNOs for each species printed by Openmx?

Thanks a lot and best regards,
Mauro Sgroi.
メンテ
Re: MD energy drift using DC-LNO method ( No.5 )
Date: 2020/10/21 16:32
Name: T. Ozaki

Hi,

As default, the information is not printed.

However, by modifying the line of 953 in LNO.c:

from

if (0 && myid==0){

to

if (1 && myid==0){

you can get the information:
LNO_Num is the number of LNOs.

Regards,

TO

メンテ
Re: MD energy drift using DC-LNO method ( No.6 )
Date: 2020/10/22 16:09
Name: Mauro Sgroi  <maurofrancesco.sgroi@gmail.com>

Dear Prof. Ozaki,
thanks a lot for the explanation.
Best regards,
Mauro Sgroi.
メンテ

Page: [1]

Thread Title (must) Move the thread to the top
Your Name (must)
E-Mail (must)
URL
Password (used in modification of the submitted text)
Comment (must)

   Save Cookie