[CP2K-user] How to plot RDFs for NPT simulations?
Travis
polla... at gmail.com
Wed Oct 23 20:22:14 UTC 2019
Hi,
Just some minor modifications then,
for ((i=0; i<310; i++)); do a=`echo "30 + $RANDOM/30" | bc`; b=`echo "30 +
$RANDOM/30" | bc`; c=`echo "30 + $RANDOM/30" | bc`; vol=`echo "$a*$b*$c" |
bc`; echo "$i $i $a 0 0 0 $b 0 0 0 $c $vol"; done > foo-1.cell
Just swap out the cell specification by angles with the 9 component one,
#!/usr/bin/env python3
'''
usage: python3 xyzcell2gro.py
Reads XMOL format file, adds lattice parameters, dumps Gromos file that can
be read by VMD.
'''
import glob
import os
import sys
import numpy as np
import ase
from ase.io import read, write
dir = os.getcwd()
# trajectory is XMOL format
# cell is step time ax ay az bx by bz cx cy cz vol
for file in glob.glob('%s/*-pos-*.xyz' % dir):
filename, fileext = os.path.splitext(file)
fileroot, filescrap = filename.split('-pos')
trj = read('%s%s' % (filename, fileext) , format='xyz', index=':')
cel = np.loadtxt('%s-1.cell' % (fileroot), usecols=range(2,11),
dtype=np.double)
nframes = len(trj)
for frame in range(nframes):
trj[frame].set_cell([(cel[frame][0], cel[frame][1], cel[frame][2]),
(cel[frame][3], cel[frame][4], cel[frame][5]),
(cel[frame][6], cel[frame][7], cel[frame][8])])
trj[frame].set_pbc([True, True, True])
write('%s.g96' % (fileroot), trj[frame], format='gromos', append=True)
-T
On Wednesday, October 23, 2019 at 4:52:29 PM UTC-3, Ant wrote:
>
> Thank you very much, Travis!
>
> Here are the first few lines of a .cell file directly from CP2K (below).
> My cells are all cubic (90 degree angles, equal dimensions), so I can
> change these to three columns; e.g., Ax, By, Cz.
>
> Step Time [fs] Ax [Angstrom] Ay [Angstrom] Az
> [Angstrom] Bx [Angstrom] By [Angstrom] Bz [Angstrom]
> Cx [Angstrom] Cy [Angstrom] Cz [Angstrom] Volume
> [Angstrom^3]
>
> 0 0.000 13.6105000000 0.0000000000
> 0.0000000000 0.0000000000 13.6105000000 0.0000000000
> 0.0000000000 0.0000000000 13.6105000000
> 2521.2867393576
>
> 1 0.500 13.6102685896 0.0000000000
> 0.0000000000 0.0000000000 13.6102685896 0.0000000000
> 0.0000000000 0.0000000000 13.6102685896
> 2521.1581382194
>
> 2 1.000 13.6101388560 0.0000000000
> 0.0000000000 0.0000000000 13.6101388560 0.0000000000
> 0.0000000000 0.0000000000 13.6101388560
> 2521.0860435793
>
> 3 1.500 13.6101072636 0.0000000000
> 0.0000000000 0.0000000000 13.6101072636 0.0000000000
> 0.0000000000 0.0000000000 13.6101072636
> 2521.0684874332
>
> This is finally making sense. Now I understand why I have a problem. My
> simple XYZ trajectories don't contain my cell dimensions. Your code adds
> the cell dimensions and then I can read that new file right into the GUI
> where I would usually read in my simple XYZ file. It's great to finally
> understand what is going on. Thank you very much.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20191023/dbdbac31/attachment.htm>
More information about the CP2K-user
mailing list