LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

fix wall/lj93 command

fix wall/lj126 command

fix wall/colloid command

fix wall/harmonic command

Syntax:

fix ID group-ID style keyword values ... 

Examples:

fix wallhi all wall/lj93 xhi 10.0 1.0 1.0 2.5
fix wallhi all wall/lj126 xhi 23.2 1.0 1.0 2.5 vel 1.0 units box
fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 

Description:

Bound the simulation domain on one or more of its faces with a flat wall that interacts with the atoms in the group by generating a force on the atom in a direction perpendicular to the wall. The energy of wall-particle interactions depends on the style.

For style wall/lj93, the energy E is given by the 9/3 potential:

For style wall/lj126, the energy E is given by the 12/6 potential:

For style wall/colloid, the energy E is given by an integrated form of the pair_style colloid potential:

For style wall/harmonic, the energy E is given by a harmonic spring potential:

In all cases, r is the distance from the particle to the wall at position coord, and Rc is the cutoff distance at which the particle and wall no longer interact. The energy of the wall potential is shifted so that the wall-particle interaction energy is 0.0 at the cutoff distance.

For the wall/lj93 and wall/lj126 styles, epsilon and sigma are the usual Lennard-Jones parameters, which determine the strength and size of the particle as it interacts with the wall. Epsilon has energy units. Note that this epsilon and sigma may be different than any epsilon or sigma values defined for a pair style that computes particle-particle interactions.

The wall/lj93 interaction is derived by integrating over a 3d half-lattice of Lennard-Jones 12/6 particles. The wall/lj126 interaction is effectively a harder, more repulsive wall interaction.

For the wall/colloid style, epsilon is effectively a Hamaker constant with energy units for the colloid-wall interaction, R is the radius of the colloid particle, D is the distance from the surface of the colloid particle to the wall (r-R), and sigma is the size of a constituent LJ particle inside the colloid particle. Note that the cutoff distance Rc in this case is the distance from the colloid particle center to the wall.

The wall/colloid interaction is derived by integrating over constituent LJ particles of size sigma within the colloid particle and a 3d half-lattice of Lennard-Jones 12/6 particles of size sigma in the wall.

For the wall/harmonic style, epsilon is effectively the spring constant K, and has units (energy/distance^2). The input parameter sigma is ignored. The minimum energy position of the harmonic spring is at the cutoff. This is a repulsive-only spring since the interaction is truncated at the cutoff

IMPORTANT NOTE: For all of the styles, you must insure that r is always > 0 for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles at the wall position coord (r = 0) or with particles on the wrong side of the wall (r < 0). For the wall/lj93 and wall/lj126 styles, the energy of the wall/particle interaction (and hence the force on the particle) blows up as r -> 0. The wall/colloid style is even more restrictive, since the energy blows up as D = r-R -> 0. This means the finite-size particles of radius R must be a distance larger than R from the wall position coord. The harmonic style is a softer potential and does not blow up as r -> 0, but you must use a large enough epsilon that particles always reamin on the correct side of the wall (r > 0).

If the vel keyword is specified, the position of all walls will move during the simulation in a perpendicular direction, based on their initial coord position, the specified velocity vel, and the time elapsed since the fix was specified. A positive velocity means each wall moves inward, towards the center of the box. I.e. an xlo wall will move in the +x direction and an xhi wall will move in the -x direction. A negative velocity means each wall moves outward, away from the center of the box. If you want different walls to move with different velocities, then you need to use multiple fix wall commands.

If the wiggle/sin keyword is specified, the position of all walls will oscillate sinusoidally during the simulation in the perpendicular direction, according to the equation:

position = coord + A sin(omega*delta) 

If the wiggle/cos keyword is specified, the position of all walls will oscillate sinusoidally during the simulation in the perpendicular direction, according to the equation:

position = coord + A (1 - cos(omega*delta)) 

In both cases, coord is the specified initial position of the wall, A is the amplitude, omega is 2 PI / period, and delta is the time elapsed since the fix was specified. A positive amplitude means each wall initially moves inward, towards the center of the box. I.e. an xlo wall will move initially in the +x direction and an xhi wall will move initially in the -x direction. A negative velocity means each wall moves initially outward, away from the center of the box. Note that the wiggle/sin option oscillates with amplitude A around the pos0 position and the velocity of the wall is a maximum at time 0. By contrast, for the wiggle/cos option the wall moves up to 2A away from pos0 in one direction and the velocity of the wall is 0 at time 0. If you want different walls to oscillate with different amplitudes or periods, then you need to use multiple fix wall commands.

The units keyword determines the meaning of the distance units used to define the position of the wall and its velocity and wiggle amplitude. A box value selects standard distance units as defined by the units command, e.g. Angstroms for units = real or metal. A lattice value means the distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. Note that with the lattice option, the wall's position is specified in lattice spacings, the wall's velocity is specified in lattice spacings per time, and the wall's oscillation amplitude is specified in lattice spacings. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice spacings can be different in x,y,z.

Restart, fix_modify, output, run start/stop, minimize info:

No information about this fix is written to binary restart files.

The fix_modify energy option is supported by this fix to add the energy of interaction between atoms and each wall to the system's potential energy as part of thermodynamic output.

This fix computes a scalar energy and a 6-length vector of forces (one force magnitude per wall), which can be accessed by various output commands. The scalar and vector values calculated by this fix are "extensive". Note that the scalar energy is the sum of interactions with all defined walls. If you want the energy on a per-wall basis, you need to use multiple fix wall commands. The 6 vector quantities are the force on the xlo wall, the xhi wall, ylo, yhi, zlo, zhi. These values will only be non-zero if the corresponding wall is defined. Note that an outward force on a wall will be a negative value for lo walls and a positive value for hi walls.

No parameter of this fix can be used with the start/stop keywords of the run command.

The forces due to this fix are imposed during an energy minimization, invoked by the minimize command.

IMPORTANT NOTE: If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the fix_modify energy option for this fix.

Restrictions:

Any dimension (xyz) that has a wall must be non-periodic.

You cannot use both the vel and either of the wiggle keywords together.

Related commands:

fix wall/reflect, fix wall/gran, fix wall/region

Default:

The option defaults are no velocity, no wiggle, and units = lattice.