forked from lijiext/lammps
164 lines
6.3 KiB
Plaintext
164 lines
6.3 KiB
Plaintext
.. index:: delete_atoms
|
|
|
|
delete_atoms command
|
|
====================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
delete_atoms style args keyword value ...
|
|
|
|
* style = *group* or *region* or *overlap* or *porosity*
|
|
.. parsed-literal::
|
|
|
|
*group* args = group-ID
|
|
*region* args = region-ID
|
|
*overlap* args = cutoff group1-ID group2-ID
|
|
cutoff = delete one atom from pairs of atoms within the cutoff (distance units)
|
|
group1-ID = one atom in pair must be in this group
|
|
group2-ID = other atom in pair must be in this group
|
|
*porosity* args = region-ID fraction seed
|
|
region-ID = region within which to perform deletions
|
|
fraction = delete this fraction of atoms
|
|
seed = random number seed (positive integer)
|
|
|
|
* zero or more keyword/value pairs may be appended
|
|
* keyword = *compress* or *bond* or *mol*
|
|
.. parsed-literal::
|
|
|
|
*compress* value = *no* or *yes*
|
|
*bond* value = *no* or *yes*
|
|
*mol* value = *no* or *yes*
|
|
|
|
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
delete_atoms group edge
|
|
delete_atoms region sphere compress no
|
|
delete_atoms overlap 0.3 all all
|
|
delete_atoms overlap 0.5 solvent colloid
|
|
delete_atoms porosity cube 0.1 482793 bond yes
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
Delete the specified atoms. This command can be used to carve out
|
|
voids from a block of material or to delete created atoms that are too
|
|
close to each other (e.g. at a grain boundary).
|
|
|
|
For style *group*\ , all atoms belonging to the group are deleted.
|
|
|
|
For style *region*\ , all atoms in the region volume are deleted.
|
|
Additional atoms can be deleted if they are in a molecule for which
|
|
one or more atoms were deleted within the region; see the *mol*
|
|
keyword discussion below.
|
|
|
|
For style *overlap* pairs of atoms whose distance of separation is
|
|
within the specified cutoff distance are searched for, and one of the
|
|
2 atoms is deleted. Only pairs where one of the two atoms is in the
|
|
first group specified and the other atom is in the second group are
|
|
considered. The atom that is in the first group is the one that is
|
|
deleted.
|
|
|
|
Note that it is OK for the two group IDs to be the same (e.g. group
|
|
*all*\ ), or for some atoms to be members of both groups. In these
|
|
cases, either atom in the pair may be deleted. Also note that if
|
|
there are atoms which are members of both groups, the only guarantee
|
|
is that at the end of the deletion operation, enough deletions will
|
|
have occurred that no atom pairs within the cutoff will remain
|
|
(subject to the group restriction). There is no guarantee that the
|
|
minimum number of atoms will be deleted, or that the same atoms will
|
|
be deleted when running on different numbers of processors.
|
|
|
|
For style *porosity* a specified *fraction* of atoms are deleted
|
|
within the specified region. For example, if fraction is 0.1, then
|
|
10% of the atoms will be deleted. The atoms to delete are chosen
|
|
randomly. There is no guarantee that the exact fraction of atoms will
|
|
be deleted, or that the same atoms will be deleted when running on
|
|
different numbers of processors.
|
|
|
|
If the *compress* keyword is set to *yes*\ , then after atoms are
|
|
deleted, then atom IDs are re-assigned so that they run from 1 to the
|
|
number of atoms in the system. Note that this is not done for
|
|
molecular systems (see the :doc:`atom_style <atom_style>` command),
|
|
regardless of the *compress* setting, since it would foul up the bond
|
|
connectivity that has already been assigned.
|
|
|
|
A molecular system with fixed bonds, angles, dihedrals, or improper
|
|
interactions, is one where the topology of the interactions is
|
|
typically defined in the data file read by the
|
|
:doc:`read_data <read_data>` command, and where the interactions
|
|
themselves are defined with the :doc:`bond_style <bond_style>`,
|
|
:doc:`angle_style <angle_style>`, etc commands. If you delete atoms
|
|
from such a system, you must be careful not to end up with bonded
|
|
interactions that are stored by remaining atoms but which include
|
|
deleted atoms. This will cause LAMMPS to generate a "missing atoms"
|
|
error when the bonded interaction is computed. The *bond* and *mol*
|
|
keywords offer two ways to do that.
|
|
|
|
It the *bond* keyword is set to *yes* then any bond or angle or
|
|
dihedral or improper interaction that includes a deleted atom is also
|
|
removed from the lists of such interactions stored by non-deleted
|
|
atoms. Note that simply deleting interactions due to dangling bonds
|
|
(e.g. at a surface) may result in a inaccurate or invalid model for
|
|
the remaining atoms.
|
|
|
|
It the *mol* keyword is set to *yes*\ , then for every atom that is
|
|
deleted, all other atoms in the same molecule (with the same molecule
|
|
ID) will also be deleted. This is not done for atoms with molecule ID
|
|
= 0, since such an ID is assumed to flag isolated atoms that are not
|
|
part of molecules.
|
|
|
|
.. note::
|
|
|
|
The molecule deletion operation in invoked after all individual
|
|
atoms have been deleted using the rules described above for each
|
|
style. This means additional atoms may be deleted that are not in the
|
|
group or region, that are not required by the overlap cutoff
|
|
criterion, or that will create a higher fraction of porosity than was
|
|
requested.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
|
|
|
|
The *overlap* styles requires inter-processor communication to acquire
|
|
ghost atoms and build a neighbor list. This means that your system
|
|
must be ready to perform a simulation before using this command (force
|
|
fields setup, atom masses set, etc). Since a neighbor list is used to
|
|
find overlapping atom pairs, it also means that you must define a
|
|
:doc:`pair style <pair_style>` with the minimum force cutoff distance
|
|
between any pair of atoms types (plus the :doc:`neighbor <neighbor>`
|
|
skin) >= the specified overlap cutoff.
|
|
|
|
If the :doc:`special_bonds <special_bonds>` command is used with a
|
|
setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not
|
|
appear in the neighbor list, and thus will not be considered for
|
|
deletion by the *overlap* styles. You probably don't want to be
|
|
deleting one atom in a bonded pair anyway.
|
|
|
|
The *bond yes* option cannot be used with molecular systems defined
|
|
using molecule template files via the :doc:`molecule <molecule>` and
|
|
:doc:`atom_style template <atom_style>` commands.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`create_atoms <create_atoms>`
|
|
|
|
Default
|
|
"""""""
|
|
|
|
The option defaults are compress = yes, bond = no, mol = no.
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|