diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 710d484fad..039b9833fe 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1563,12 +1563,12 @@ segments. Internal interactions within a NT and the van der Waals interaction between the tubes are described by a mesoscopic force field designed and parameterized based on the results of atomic-level molecular dynamics simulations. The description of the force field is -provided in the papers listed below. +provided in the papers listed below. This package contains two independent implementations of this model: :doc:`pair_style mesont/tpm ` is the original implemention of the model based on a Fortran library in the ``lib/mesont`` folder. The -second implementation is given by the mesocnt styles (:doc:`bond_style mesocnt `, +second implementation is given by the mesocnt styles (:doc:`bond_style mesocnt `, :doc:`angle_style mesocnt ` and :doc:`pair_style mesocnt `). The mesocnt implemenation has the same features as the original implementation with the addition of friction, diff --git a/doc/src/angle_mesocnt.rst b/doc/src/angle_mesocnt.rst index a36b7f5af2..380762621f 100644 --- a/doc/src/angle_mesocnt.rst +++ b/doc/src/angle_mesocnt.rst @@ -28,12 +28,12 @@ The *mesocnt* angle style uses the potential .. math:: - E = K_\text{H} \Delta \theta^2 \qquad |\Delta \theta| < \Delta \theta_\text{B} \\ + E = K_\text{H} \Delta \theta^2 \qquad |\Delta \theta| < \Delta \theta_\text{B} \\ E = K_\text{H} \Delta \theta_\text{B}^2 + K_\text{B} (\Delta \theta - \Delta \theta_\text{B}) \qquad |\Delta \theta| \geq \Delta \theta_\text{B} where :math:`\Delta \theta = \theta - \pi` is the bending angle of the nanotube, :math:`K_\text{H}` and :math:`K_\text{B}` are prefactors for the harmonic and linear regime respectively and :math:`\Delta \theta_\text{B}` is the buckling angle. Note that the usual 1/2 factor for the harmonic potential is included in :math:`K_\text{H}`. -The style implements parametrisation presets of :math:`K_\text{H}`, :math:`K_\text{B}` and :math:`\Delta \theta_\text{B}` for mesoscopic simulations of +The style implements parametrisation presets of :math:`K_\text{H}`, :math:`K_\text{B}` and :math:`\Delta \theta_\text{B}` for mesoscopic simulations of carbon nanotubes based on the atomistic simulations of :ref:`(Srivastava) ` and buckling considerations of :ref:`(Zhigilei) `. The following coefficients must be defined for each angle type via the @@ -73,7 +73,7 @@ radian\^2 and :math:`K_\text{B}` is energy per radian. ---------- -In *buckling* mode, this angle style adds the *buckled* property to all atoms in the simulation, which is an integer flag indicating whether the bending angle at a given atom has exceeded :math:`\Delta \theta_\text{B}`. It can be accessed as an atomic variable, e.g. for custom dump commands, as *i_buckled*. +In *buckling* mode, this angle style adds the *buckled* property to all atoms in the simulation, which is an integer flag indicating whether the bending angle at a given atom has exceeded :math:`\Delta \theta_\text{B}`. It can be accessed as an atomic variable, e.g. for custom dump commands, as *i_buckled*. .. note:: diff --git a/doc/src/bond_mesocnt.rst b/doc/src/bond_mesocnt.rst index 2a4ff0a1b1..997985e16e 100644 --- a/doc/src/bond_mesocnt.rst +++ b/doc/src/bond_mesocnt.rst @@ -30,7 +30,7 @@ The *mesocnt* bond style is a wrapper for the :doc:`harmonic ` st where :math:`r_0` is the equilibrium bond distance. Note that the usual 1/2 factor is included in :math:`K`. -The style implements parametrisation presets of :math:`K` for mesoscopic simulations of +The style implements parametrisation presets of :math:`K` for mesoscopic simulations of carbon nanotubes based on the atomistic simulations of :ref:`(Srivastava) `. Other presets can be readily implemented in the future. diff --git a/doc/src/pair_mesocnt.rst b/doc/src/pair_mesocnt.rst index 4be5a4ac97..90f4dc319c 100644 --- a/doc/src/pair_mesocnt.rst +++ b/doc/src/pair_mesocnt.rst @@ -26,7 +26,7 @@ Examples pair_style mesocnt 30.0 pair_coeff * * C_10_10.mesocnt 2 - + pair_style mesocnt/viscous 60.0 chain topology pair_coeff * * C_10_10.mesocnt 0.001 20.0 0.2 2 4 @@ -34,14 +34,14 @@ Description """"""""""" Style *mesocnt* implements a mesoscopic potential -for the interaction of carbon nanotubes (CNTs), or other +for the interaction of carbon nanotubes (CNTs), or other quasi-1D objects such as other kinds of nanotubes or nanowires. In this potential, CNTs are modelled as chains of cylindrical segments in which each infinitesimal surface element interacts with all other CNT surface elements with the Lennard-Jones (LJ) term adopted from the :doc:`airebo ` style. The interaction energy is then computed by integrating over the surfaces of all interacting -CNTs. +CNTs. In LAMMPS, cylindrical segments are represented by bonds. Each segment is defined by its two end points ("nodes") which correspond @@ -50,12 +50,12 @@ and implementation details, the reader is referred to the original papers :ref:`(Volkov1) ` and :ref:`(Volkov2) `. -The potential supports two modes, *segment* and *chain*. By default, *chain* mode is enabled. +The potential supports two modes, *segment* and *chain*. By default, *chain* mode is enabled. In *segment* mode, interactions are pair-wise between all neighboring segments based on a segment-segment approach (keyword *segment* in pair_style command). -In *chain* mode, interactions are calculated between each segment and infinitely or -semi-infinitely long CNTs as described in :ref:`(Volkov1) `. +In *chain* mode, interactions are calculated between each segment and infinitely or +semi-infinitely long CNTs as described in :ref:`(Volkov1) `. Chains of segments are converted to these (semi-)infinite CNTs bases on an approximate -chain approach outlined in :ref:`(Volkov2) `. Hence, interactions are calculated on a +chain approach outlined in :ref:`(Volkov2) `. Hence, interactions are calculated on a segment-chain basis (keyword *chain* in the pair_style command). Using *chain* mode allows to simplify the computation of the interactions significantly and reduces the computational times to the @@ -64,11 +64,11 @@ where beads interact with the standard :doc:`pair_lj/cut ` potential. However, this method is only valid when the curvature of the CNTs in the system is small. When CNTs are buckled (see :doc:`angle_mesocnt `), local curvature can be very high and the pair_style automatically switches to *segment* mode for interactions involving buckled CNTs. -The potential further implements two different neighbor list construction modes. Mode *id* uses atom and mol IDs to construct neighbor lists while *topology* modes uses only the bond topology of the system. While *id* mode requires bonded atoms to have consecutive LAMMPS atom IDs and atoms in different CNTs to have different LAMMPS molecule IDs, *topology* mode has no such requirement. Using *id* mode is faster and is enabled by default. +The potential further implements two different neighbor list construction modes. Mode *id* uses atom and mol IDs to construct neighbor lists while *topology* modes uses only the bond topology of the system. While *id* mode requires bonded atoms to have consecutive LAMMPS atom IDs and atoms in different CNTs to have different LAMMPS molecule IDs, *topology* mode has no such requirement. Using *id* mode is faster and is enabled by default. .. note:: - Neighbor *id* mode requires all CNTs in the system to have distinct LAMMPS molecule IDs and bonded atoms to have consecutive LAMMPS atom IDs. If this is not possible (e.g. in simulations of CNT rings), + Neighbor *id* mode requires all CNTs in the system to have distinct LAMMPS molecule IDs and bonded atoms to have consecutive LAMMPS atom IDs. If this is not possible (e.g. in simulations of CNT rings), *topology* mode needs to be enabled in the pair_style command. In addition to the LJ interactions described above, style *mesocnt/viscous* explicitly models friction between neighboring segments. Friction forces are a function of the relative velocity between a segment and its neighboring approximate chain (even in *segment* mode) and only act along the axes of the interacting segment and chain. In this potential, friction forces are modelled as a shifted logistic function: @@ -79,17 +79,17 @@ In addition to the LJ interactions described above, style *mesocnt/viscous* expl ---------- -In the pair_style command, the modes described above can be toggeled using the *segment* or *chain* keywords. -The neighbor list cutoff defines the cutoff within which atoms are included in the neighbor list for constructing neighboring CNT chains. +In the pair_style command, the modes described above can be toggeled using the *segment* or *chain* keywords. +The neighbor list cutoff defines the cutoff within which atoms are included in the neighbor list for constructing neighboring CNT chains. This is different from the potential cutoff, which is directly calculated from parameters specified in the potential file. We recommend using a neighbor list cutoff of at least 3 times the maximum segment length used in the simulation to ensure proper neighbor chain construction. .. note:: - CNT ends are treated differently by all *mesocnt* styles. Atoms on CNT ends need to be + CNT ends are treated differently by all *mesocnt* styles. Atoms on CNT ends need to be assigned different LAMMPS atom types than atoms not on CNT ends. Style *mesocnt* requires tabulated data provided in a single ASCII -text file, as well as a list of integers corresponding to all LAMMPS +text file, as well as a list of integers corresponding to all LAMMPS atom types representing CNT ends: * filename @@ -131,7 +131,7 @@ generate potential files for other 1D systems mentioned above. are not bundled with LAMMPS. When compiling LAMMPS from source code, the file ``C_10_10.mesocnt`` should be downloaded separately from `https://download.lammps.org/potentials/C_10_10.mesocnt `_ - + The first line of the potential file provides a time stamp and general information. The second line lists four integers giving the number of data points provided in the subsequent four