Пример #1
0
    def add_plane_wall(self, normal, origin):
        R""" Add a plane wall to the simulation.

        Args:
            normal (tuple): vector normal to the plane. this, in combination with a point on the plane, defines the plane entirely. It will be normalized automatically by hpmc.
                            The direction of the normal vector defines the confinement condition associated with the plane wall. If every part of a particle exists in the halfspace into which the normal points, then that particle is CONFINED by the plane wall.
            origin (tuple): a point on the plane wall. this, in combination with the normal vector, defines the plane entirely.

        Example::

            mc = hpmc.integrate.sphere(seed = 415236);
            ext_wall = hpmc.compute.wall(mc);
            ext_wall.add_plane_wall(normal = [0, 0, 1], origin = [0, 0, 0]);

        """
        self.cpp_compute.AddPlaneWall(_hpmc.make_plane_wall(normal, origin, True));
Пример #2
0
    def add_plane_wall(self, normal, origin):
        R""" Add a plane wall to the simulation.

        Args:
            normal (tuple): vector normal to the plane. this, in combination with a point on the plane, defines the plane entirely. It will be normalized automatically by hpmc.
                            The direction of the normal vector defines the confinement condition associated with the plane wall. If every part of a particle exists in the halfspace into which the normal points, then that particle is CONFINED by the plane wall.
            origin (tuple): a point on the plane wall. this, in combination with the normal vector, defines the plane entirely.

        Example::

            mc = hpmc.integrate.sphere(seed = 415236);
            ext_wall = hpmc.compute.wall(mc);
            ext_wall.add_plane_wall(normal = [0, 0, 1], origin = [0, 0, 0]);

        """
        hoomd.util.print_status_line();
        self.cpp_compute.AddPlaneWall(_hpmc.make_plane_wall(normal, origin, True));
Пример #3
0
    def set_plane_wall(self, index, normal, origin):
        R""" Change the parameters associated with a particular plane wall.

        Args:
            index (int): index of the plane wall to be modified. indices begin at 0 in the order the plane walls were added to the system.
            normal (tuple): new vector normal to the plane. this, in combination with a point on the plane, defines the plane entirely. It will be normalized automatically by hpmc.
                            The direction of the normal vector defines the confinement condition associated with the plane wall. If every part of a particle exists in the halfspace into which the normal points, then that particle is CONFINED by the plane wall.
            origin (tuple): new point on the plane wall. this, in combination with the normal vector, defines the plane entirely.

        Example::

            mc = hpmc.integrate.sphere(seed = 415236);
            ext_wall = hpmc.compute.wall(mc);
            ext_wall.add_plane_wall(normal = [0, 0, 1], origin = [0, 0, 0]);
            ext_wall.set_plane_wall(index = 0, normal = [0, 0, 1], origin = [0, 0, 1]);

        """
        self.cpp_compute.SetPlaneWallParameter(index, _hpmc.make_plane_wall(normal, origin, True));
Пример #4
0
    def set_plane_wall(self, index, normal, origin):
        R""" Change the parameters associated with a particular plane wall.

        Args:
            index (int): index of the plane wall to be modified. indices begin at 0 in the order the plane walls were added to the system.
            normal (tuple): new vector normal to the plane. this, in combination with a point on the plane, defines the plane entirely. It will be normalized automatically by hpmc.
                            The direction of the normal vector defines the confinement condition associated with the plane wall. If every part of a particle exists in the halfspace into which the normal points, then that particle is CONFINED by the plane wall.
            origin (tuple): new point on the plane wall. this, in combination with the normal vector, defines the plane entirely.

        Example::

            mc = hpmc.integrate.sphere(seed = 415236);
            ext_wall = hpmc.compute.wall(mc);
            ext_wall.add_plane_wall(normal = [0, 0, 1], origin = [0, 0, 0]);
            ext_wall.set_plane_wall(index = 0, normal = [0, 0, 1], origin = [0, 0, 1]);

        """
        hoomd.util.print_status_line();
        self.cpp_compute.SetPlaneWallParameter(index, _hpmc.make_plane_wall(normal, origin, True));