Exemplo n.º 1
0
def main():
    """A quick test for updating a Compound and traversing its hierarchy. """
    # Create a compound and write it to file.
    brush1 = Brush()
    brush1.save("brush1.pdb")

    # Create another compound, rotate it and write it to file.
    brush2 = Brush()
    mb.rotate_around_z(brush2, pi/2)
    brush2.save("brush2.pdb")

    # Load brush2.pdb into brush1, modifying the atom positions of brush1.
    brush1.update_coordinates("brush2.pdb")
    brush1.save("modified_brush1.pdb")

    # Access the internals of the updated brush1.
    print(brush1['pmpc'])

    for mpc in brush1['pmpc']['monomer']:
        print(mpc)
Exemplo n.º 2
0
    def test_reload(self):
        from mbuild.examples.pmpc.brush import Brush
        from numpy import pi
        # Create a compound and write it to file.
        brush1 = Brush()
        brush1.save("brush1.pdb")

        # Create another compound, rotate it and write it to file.
        brush2 = Brush()
        mb.rotate_around_z(brush2, pi/2)
        brush2.save("brush2.pdb")

        # Load brush2.pdb into brush1, modifying the atom positions of brush1.
        brush1.update_coordinates("brush2.pdb")
        brush1.save("modified_brush1.pdb")

        assert brush1['pmpc'].n_particles == 164
        assert brush1['pmpc'].n_bonds == 163
        assert len(brush1['pmpc']['monomer']) == 4
        assert brush1['pmpc']['monomer'][0].n_particles == 41
        assert brush1['pmpc']['monomer'][0].n_bonds == 40
 def __init__(self,
              pattern,
              tile_x=1,
              tile_y=1,
              chain_length=4,
              alpha=pi / 4):
     surface = Betacristobalite()
     brush = Brush(chain_length=chain_length, alpha=alpha)
     hydrogen = H()
     super(PMPCLayer, self).__init__(surface,
                                     brush,
                                     backfill=hydrogen,
                                     pattern=pattern,
                                     tile_x=tile_x,
                                     tile_y=tile_y)
Exemplo n.º 4
0
    def test_reload(self):
        from mbuild.examples.pmpc.brush import Brush
        from numpy import pi
        # Create a compound and write it to file.
        brush1 = Brush()
        brush1.save("brush1.pdb")

        # Create another compound, rotate it and write it to file.
        brush2 = Brush()
        mb.rotate(brush2, pi / 2, [0, 0, 1])
        brush2.save("brush2.pdb")

        # Load brush2.pdb into brush1, modifying the atom positions of brush1.
        brush1.update_coordinates("brush2.pdb")
        brush1.save("modified_brush1.pdb")

        assert brush1['pmpc'].n_particles == 164
        assert brush1['pmpc'].n_bonds == 163
        assert len(brush1['pmpc']['monomer']) == 4
        assert brush1['pmpc']['monomer'][0].n_particles == 41
        assert brush1['pmpc']['monomer'][0].n_bonds == 40