lab-cosmo / i-pi-dev_archive

Development version of i-PI
21 stars 12 forks source link

<properties> kinetic_cv </properties> does not work, many things in <properties> probably does not work #134

Closed BingqingCheng closed 8 years ago

BingqingCheng commented 8 years ago

We used

[ step, kinetic_cv(O), kinetic_cv(H), kinetic_cv(0), kinetic_cv(6), kinetic_cv(82), kinetic_cv(173), kinetic_cv(186), kinetic_cv(222)]

To record quantum kinetic energies of specified atoms in our system. The output is utterly nonsense. E.g.

# column   1     --> step : The current simulation time step.
# column   2     --> kinetic_cv(O) : The centroid-virial quantum kinetic energy of the physical system.
# column   3     --> kinetic_cv(H) : The centroid-virial quantum kinetic energy of the physical system.
# column   4     --> kinetic_cv(0) : The centroid-virial quantum kinetic energy of the physical system.
# column   5     --> kinetic_cv(6) : The centroid-virial quantum kinetic energy of the physical system.
# column   6     --> kinetic_cv(82) : The centroid-virial quantum kinetic energy of the physical system.
# column   7     --> kinetic_cv(173) : The centroid-virial quantum kinetic energy of the physical system.
# column   8     --> kinetic_cv(186) : The centroid-virial quantum kinetic energy of the physical system.
# column   9     --> kinetic_cv(222) : The centroid-virial quantum kinetic energy of the physical system.
    0.00000000e+00     9.15000000e+01     2.13000000e+02     1.50000000e+00     1.50000000e+00     1.50000000e+00     1.50000000e+00     1.50000000e+00     1.50000000e+00   
    1.00000000e+00     9.15000001e+01     2.13000001e+02     1.50000001e+00     1.50000001e+00     1.50000001e+00     1.50000000e+00     1.50000000e+00     1.50000001e+00   
    2.00000000e+00     9.15000000e+01     2.13000001e+02     1.50000000e+00     1.50000000e+00     1.50000001e+00     1.50000000e+00     1.50000000e+00     1.50000001e+00   
    3.00000000e+00     9.15000001e+01     2.13000002e+02     1.50000002e+00     1.50000002e+00     1.50000003e+00     1.50000001e+00     1.50000000e+00     1.50000001e+00   
    4.00000000e+00     9.15000001e+01     2.13000002e+02     1.50000000e+00     1.50000001e+00     1.50000002e+00     1.50000001e+00     1.50000001e+00     1.50000003e+00  

Since quantum kinetic energy is quite easy to compute and does not evoke any advanced operations, I suspect there's something wrong with the infrastructure, and many things in may not work at all.

mahrossi commented 8 years ago

Hi Bingqing,

I just did a test myself with the clean-up version and the zundel molecule in driver.x and all these outputs seem just fine (they do work). Could you please send full inputs and outputs for these calculations? Likely something else is going on.

Cheers,

Mariana

mahrossi commented 8 years ago

P.S.: I inputted <properties stride="2"> [ step, time, conserved, temperature{kelvin}, kinetic_cv, potential, kinetic_cv(H), kinetic_cv(O), kinetic_cv(2) ] </properties>

And the output was:

 # column   1     --> step : The current simulation time step.
# column   2     --> time : The elapsed simulation time.
# column   3     --> conserved : The value of the conserved energy quantity per bead.
# column   4     --> temperature{kelvin} : The current temperature, as obtained from the MD kinetic energy.
# column   5     --> kinetic_cv : The centroid-virial quantum kinetic energy of the physical system.
# column   6     --> potential : The physical system potential energy.
# column   7     --> kinetic_cv(H) : The centroid-virial quantum kinetic energy of the physical system.
# column   8     --> kinetic_cv(O) : The centroid-virial quantum kinetic energy of the physical system.
# column   9     --> kinetic_cv(2) : The centroid-virial quantum kinetic energy of the physical system.
    0.00000000e+00     0.00000000e+00     3.87692842e-04     0.00000000e+00     9.97546788e-03     3.87692842e-04     7.12533420e-03     2.85013368e-03     1.42506684e-03   
    2.00000000e+00     2.06706865e+01     3.88002473e-04     3.19705312e+00     9.99164742e-03     3.87134039e-04     7.14086418e-03     2.85078324e-03     1.42781765e-03   
    4.00000000e+00     4.13413730e+01     3.89837881e-04     5.29132465e+00     1.00920901e-02     4.15181468e-04     7.23863562e-03     2.85345452e-03     1.44723859e-03   
    6.00000000e+00     6.20120595e+01     3.92759476e-04     6.36233610e+00     1.02577965e-02     5.17372612e-04     7.39674830e-03     2.86104822e-03     1.48649571e-03   
    8.00000000e+00     8.26827460e+01     3.94623307e-04     6.31798942e+00     1.03787533e-02     6.32682345e-04     7.50970518e-03     2.86904813e-03     1.49197416e-03   
    1.00000000e+01     1.03353433e+02     3.95073618e-04     8.63286986e+00     1.04368099e-02     7.60007398e-04     7.55707910e-03     2.87973077e-03     1.47511409e-03   
    1.20000000e+01     1.24024119e+02     3.97159924e-04     1.03267264e+01     1.04754850e-02     9.38440834e-04     7.59496492e-03     2.88052005e-03     1.49376826e-03
mahrossi commented 8 years ago

Please check if the simulation you're trying to run is not done with a single bead. Indeed trying to calculate centroid virial estimators for classical simulation will give nonsense results. I could reproduce the behavior you see if doing classical simulations.

ceriottm commented 8 years ago

Can we mark this as solved or there is still a problem?