Beispiel #1
0
    def test_single_name(self):
        u = make_Universe(trajectory=True)

        w = XYZWriter(self.outfile, atoms='ABC')
        w.write(u.trajectory.ts)
        w.close()

        u2 = mda.Universe(self.outfile)
        assert_(all(u2.atoms.names == 'ABC'))
Beispiel #2
0
    def test_list_names(self):
        u = make_Universe(trajectory=True)

        names = ['A', 'B', 'C', 'D', 'E'] * 25

        w = XYZWriter(self.outfile, atoms=names)
        w.write(u.trajectory.ts)
        w.close()

        u2 = mda.Universe(self.outfile)
        assert_(all(u2.atoms.names == names))
Beispiel #3
0
    def test_single_name(self):
        u = make_Universe(trajectory=True)

        w = XYZWriter(self.outfile, atoms='ABC')
        w.write(u.trajectory.ts)
        w.close()

        u2 = mda.Universe(self.outfile)
        assert_(all(u2.atoms.names == 'ABC'))
Beispiel #4
0
    def test_no_names(self, outfile):
        u = make_Universe(trajectory=True)

        w = XYZWriter(outfile)
        w.write(u.trajectory.ts)
        w.close()

        u2 = mda.Universe(outfile)
        assert all(u2.atoms.names == 'X')
Beispiel #5
0
    def test_list_names(self):
        u = make_Universe(trajectory=True)

        names = ['A', 'B', 'C', 'D', 'E'] * 25

        w = XYZWriter(self.outfile, atoms=names)
        w.write(u.trajectory.ts)
        w.close()

        u2 = mda.Universe(self.outfile)
        assert_(all(u2.atoms.names == names))
Beispiel #6
0
import math
import os
import numpy as np
from MDAnalysis import Universe
from MDAnalysis.coordinates.XYZ import XYZWriter
from MDAnalysis.core.groups import Atom, AtomGroup
import matplotlib.pyplot as plt
os.chdir('/home/jinho93/oxides/cluster/zno')


with open('POSCAR.xyz') as f,\
        XYZWriter('output2.xyz') as znw, \
        XYZWriter('output.xyz') as w:
    u = Universe(f)
    i: Atom
    rnd = np.random.rand(len(u.atoms))
    m = max(np.array(u.coord)[:, 2])
    n = 0
    ind = []
    oxy = []
    zinc = []
    for j, i in enumerate(u.atoms):
        if i.atomic_name == 'Zn':
            if rnd[j] > 0.3 * math.exp((i.position[2] - m) * 0.5):
                zinc.append(j)
            else:
                n += 1
        else:
            oxy.append(j)
    ind.extend(oxy)
    ind.extend(zinc)