示例#1
0
    def showZMat(self,s,sel):
        view=self.treeview
        s=Structure(s)
        s.setCarthesian()
        view.set_model(ZMatTreeModel(s,sel))
        for x in self.treeview.get_columns():
            view.remove_column(x)

        renderer = gtk.CellRendererText()
        column = gtk.TreeViewColumn("#", renderer, markup=0)
        view.append_column(column)

        renderer = gtk.CellRendererText()
        column = gtk.TreeViewColumn("distance", renderer, markup=1)
        view.append_column(column)

        renderer = gtk.CellRendererText()
        column = gtk.TreeViewColumn("angle", renderer, markup=2)
        view.append_column(column)

        renderer = gtk.CellRendererText()
        column = gtk.TreeViewColumn("dihedral", renderer, markup=3)
        view.append_column(column)

        view.show()
示例#2
0
 def showDistances(self,s,sel):
     view=self.treeview
     s=Structure(s)
     s.setCarthesian()
     view.set_model(DistanceTreeModel(s,sel))
     for x in self.treeview.get_columns():
         view.remove_column(x)
     renderer = gtk.CellRendererText()
     column = gtk.TreeViewColumn("#", renderer, markup=0)
     view.append_column(column)
     renderer = gtk.CellRendererText()
     for i in range(len(sel)):
         n,nx,ny,nz=sel[i]
         column = gtk.TreeViewColumn("%d (%d %d %d)"%(n+1,nx,ny,nz), renderer, markup=i+1)
         view.append_column(column)
     view.show()
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

from p4vasp.Structure import *
from p4vasp.sellang import *
#from p4vasp.SystemPM import *
#s=XMLSystemPM('vasprun.xml')
#p=s.INITIAL_STRUCTURE

p=Structure("CONTCAR")
p.setCarthesian()
l1=decode("-160",p)
l2=decode("161-",p)
print "Group 1 has %3d elements."%len(l1)
print "Group 2 has %3d elements."%len(l2)

d=[]
for i in l1:
  for j in l2:
    if i==j:
      print "Substructures have a common atom %d."%(i+1)
    else:
      d.append((p.mindistCartVectors(p[i],p[j]),i,j))

m,i,j=min(d)
print "Minimal distance:",m
示例#4
0
#!/usr/bin/python2
#  p4vasp is a GUI-program and a library for processing outputs of the
#  Vienna Ab-inition Simulation Package (VASP)
#  (see http://cms.mpi.univie.ac.at/vasp/Welcome.html)
#
#  Copyright (C) 2003  Orest Dubay <*****@*****.**>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

from p4vasp.Structure import *
from sys import *

s = Structure("POSCAR")
s.setCarthesian()
for i in range(len(s)):
    s[i][1] *= -1
s.toUnitCell()
s.write("POSCAR.Y-mirror")
示例#5
0
#  Vienna Ab-inition Simulation Package (VASP)
#  (see http://cms.mpi.univie.ac.at/vasp/Welcome.html)
#  
#  Copyright (C) 2003  Orest Dubay <*****@*****.**>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


from p4vasp.Structure import *
from sys import *

s=Structure("POSCAR")
s.setCarthesian()
for i in range(len(s)):
  s[i][1]*=-1
s.toUnitCell()  
s.write("POSCAR.Y-mirror")