Commit e26be18b authored by iafoss's avatar iafoss
Browse files

update

parent be93ef7b
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -452,6 +452,27 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD)
  endif()
endforeach()

if(PKG_USER-MESONT)
  enable_language(Fortran)
  string(REGEX REPLACE "^USER-" "" PKG_LIB "USER-MESONT")
  string(TOLOWER "${PKG_LIB}" PKG_LIB)
  file(GLOB_RECURSE ${PKG_LIB}_SOURCES
    ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.f90)
  add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES})
  list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB})
  target_include_directories(${PKG_LIB} PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB})
  #include(Packages/USER-MESONT)
  #list(APPEND DEFAULT_PACKAGES "USER-MESONT")
  set(USER-MESONT_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-MESONT)
  file(GLOB USER-MESONT_SOURCES ${USER-MESONT_SOURCES_DIR}/[^.]*.cpp)
  file(GLOB USER-MESONT_HEADERS ${USER-MESONT_SOURCES_DIR}/[^.]*.h)
  DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${USER-MESONT_SOURCES} ${USER-MESONT_HEADERS})
  RegisterStyles(${USER-MESONT_SOURCES_DIR})
  list(APPEND LIB_SOURCES ${USER-MESONT_SOURCES})
  include_directories(${USER-MESONT_SOURCES_DIR})
  
endif()

if(PKG_USER-AWPMD)
  target_link_libraries(awpmd ${LAPACK_LIBRARIES})
endif()
+10 −17
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ Syntax

* ID, group-ID are documented in :doc:`compute <compute>` command
* mesont = style name of the compute command
* mode = one of estretch, ebend, etube, stretch_tot, ebend_tot, and etube_tot (see details below)
* mode = one of estretch, ebend, etube (see details below)

Examples
""""""""
@@ -26,22 +26,19 @@ Examples
Description
"""""""""""

These computes define computations for the per-node stretching (estretch),
bending (ebend), and intertube (etube) energies, as well as the total 
stretching (estretch_tot), bending (ebend_tot), and intertube (etube_tot) 
energies for each atom (node) in a group. The evaluated value is selected by 
a parameter passed to the compute: estretch, ebend, etube, estretch_tot, 
ebend_tot, and etube_tot.
These computes define computations for the stretching (estretch), bending 
(ebend), and intertube (etube) per-node (atom) and total energies. The 
evaluated value is selected by a parameter passed to the compute: estretch, 
ebend, etube.

**Output info:**

These computes calculate per-node (per-atom) vectors (estretch, ebend, etube), 
which can be accessed by any command that uses per-atom values from a 
compute as input, and global scalars (stretch_tot, ebend_tot, and etube_tot). 
See the :doc:`Howto output <Howto_output>` doc page for an overview of LAMMPS 
output options.
These computes calculate per-node (per-atom) vectors, which can be accessed by 
any command that uses per-atom values from a compute as input, and global 
scalars. See the :doc:`Howto output <Howto_output>` doc page for an overview of 
LAMMPS output options.

The per-atom vector values will be in energy :doc:`units <units>`.
The computed values are provided in energy :doc:`units <units>`.

Restrictions
""""""""""""
@@ -57,7 +54,3 @@ Related commands

**Default:** none

.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
+35 −36
Original line number Diff line number Diff line
@@ -12,9 +12,9 @@ Syntax
   pair_style mesont/tpm cut table_path BendingMode TPMType 

* cut = the cutoff distance
* table_path = the path to the potential table, the default value is ./
* BendingMode = the parameter defining the type of the bending potential for nanotubes: 0 - harmonic bending :ref:`[1] <Srivastava>`, 1 - anharmonic potential of bending and bending-buckling :ref:`[2] <Zhigilei1>`
* TPMType = the parameter determining the type of the inter-tube interaction term: 0 - segment-segment approach, 1 - segment-chain approach :ref:`[3 <Zhigilei2>`, :ref:`4] <Zhigilei3>`
* table_path = the path to the potential table
* BendingMode = the parameter defining the type of the bending potential for nanotubes: 0 - harmonic bending :ref:`(Srivastava) <Srivastava>`, 1 - anharmonic potential of bending and bending-buckling :ref:`(Zhigilei1) <Zhigilei1>`
* TPMType = the parameter determining the type of the inter-tube interaction term: 0 - segment-segment approach, 1 - segment-chain approach :ref:`(Zhigilei2 <Zhigilei2>`, :ref:`Zhigilei3) <Zhigilei3>`

The segment-segment approach is approximately 5 times slower than segment-chain approximation.
The parameter BendingMode also affects the calculation of the inter-tube interaction term when TPMType = 1. In this case, when BendingMode = 1, each continuous chain of segments is additionally replaced by a number of sub-chains divided by bending buckling kinks.
@@ -25,14 +25,14 @@ Examples

.. parsed-literal::

   pair_style mesont/tpm 25.0 ./ 0 0
   pair_style mesont/tpm 30.0 MESONT-TABTP_10_10.xrs 0 0

Description
"""""""""""

The tubular potential model (TPM) force field is designed for mesoscopic
simulations of interacting flexible nanotubes. The force field is based on the
mesoscopic computational model suggested in Ref. :ref:`[1] <Srivastava>`.
mesoscopic computational model suggested in Ref. :ref:`(Srivastava) <Srivastava>`.
In this model, each nanotube is represented by a chain of mesoscopic elements
in the form of stretchable cylindrical segments, where each segment consists
of multiple atoms. Each nanotube is divided into segments by a sequence of
@@ -49,19 +49,19 @@ energy of the system:
   U = U_{str} + U_{bnd} + U_{vdW}

where :math:`U_{str}`  is the harmonic potential describing the stretching of nanotube
:ref:`[1] <Srivastava>`, :math:`U_{bnd}`  is the potential for nanotube bending
:ref:`[1] <Srivastava>` and bending-buckling :ref:`[2] <Zhigilei1>`, and
:ref:`(Srivastava) <Srivastava>`, :math:`U_{bnd}`  is the potential for nanotube bending
:ref:`(Srivastava) <Srivastava>` and bending-buckling :ref:`(Zhigilei1) <Zhigilei1>`, and
:math:`U_{vdW}`  is the potential describing van-der Waals interaction between nanotubes
:ref:`[3 <Zhigilei2>`, :ref:`4] <Zhigilei3>`. The stretching energy, :math:`U_{str}` ,
:ref:`(Zhigilei2 <Zhigilei2>`, :ref:`Zhigilei3) <Zhigilei3>`. The stretching energy, :math:`U_{str}` ,
is given by the sum of stretching energies of individual nanotube segments.
The bending energy, :math:`U_{bnd}` , is given by the sum of bending energies in all
internal nanotube nodes. The tube-tube interaction energy, :math:`U_{vdW}` , is calculated
based on the tubular potential method suggested in Ref. :ref:`[3] <Zhigilei2>`.
based on the tubular potential method suggested in Ref. :ref:`(Zhigilei2) <Zhigilei2>`.
The tubular potential method is briefly described below.

The interaction between two straight nanotubes of arbitrary length and
orientation is described by the approximate tubular potential developed in
:ref:`[4] <Zhigilei3>`. This potential approximates the results of direct
:ref:`(Zhigilei3) <Zhigilei3>`. This potential approximates the results of direct
integration of carbon-carbon interatomic potential over the surfaces of the
interacting nanotubes, with the force sources homogeneously distributed over
the nanotube surfaces. The input data for calculation of tubular potentials
@@ -69,7 +69,7 @@ are partially tabulated. For single-walled CNTs of arbitrary chirality, the
tabulated potential data can be generated in the form of ASCII files
TPMSSTP.xrs and TPMA.xrs by the stand-alone code TMDPotGen included in the
tool directory of LAMMPS release. The potential provided with LAMMPS release,
CNT\_10\_10, is tabulated for (10,10) nanotubes.
MESONT-TABTP_10_10.xrs, is tabulated for (10,10) nanotubes.

Calculations of the interaction between curved or bent nanotubes are performed
on either segment-segment or segment-chain basis. In the first case, activated
@@ -88,7 +88,7 @@ the segment-chain approach. In this case, for each NT segment, the list of its
neighboring segments is divided into short continuous chains of segments
belonging to individual nanotubes. For each pair of a segment and a chain, the
curved chain is approximated by a straight equivalent nanotube based on the
weighted approach suggested in Ref. :ref:`[3] <Zhigilei2>`. Finally, the
weighted approach suggested in Ref. :ref:`(Zhigilei2) <Zhigilei2>`. Finally, the
interaction between the segment and straight equivalent chain is calculated
based on the tubular potential. In this case, and in the absence of bending
buckling (i.e., when parameter BendingMode is equal to 0), the tubular
@@ -96,7 +96,7 @@ potential method ensures the absence of corrugation of the effective inter-tube
interaction potential for curved nanotubes and eliminates any barriers for the
inter-tube sliding. As a result, the tubular potential method can describe the
spontaneous self-assembly of nanotubes into continuous networks of bundles
:ref:`[2 <Zhigilei1>`, :ref:`4] <Zhigilei3>`.
:ref:`(Zhigilei1 <Zhigilei1>`, :ref:`Zhigilei3) <Zhigilei3>`.


----------
@@ -106,15 +106,17 @@ The TMD force field has been used for generation of nanotube films, fibers,
and vertically aligned forests of nanotubes. Mesoscopic dynamic simulations
were used to prepare realistic structures of continuous networks of nanotube
bundles and to study their structural and mechanical properties
:ref:`[2 <Zhigilei1>`, :ref:`4 <Zhigilei3>` - :ref:`7] <Zhigilei6>`. With
:ref:`(Zhigilei1 <Zhigilei1>`, :ref:`Zhigilei3 <Zhigilei3>`, :ref:`Zhigilei4 <Zhigilei4>`,
:ref:`Zhigilei5 <Zhigilei5>`, :ref:`Zhigilei6) <Zhigilei6>`. With
additional models for heat transfer, this force filed was also used to
study the thermal transport properties of carbon nanotube films
:ref:`[8 <Zhigilei7>` - :ref:`10] <Zhigilei9>`. The methods for modeling of
:ref:`(Zhigilei7 <Zhigilei7>`, :ref:`Zhigilei8 <Zhigilei8>`, :ref:`Zhigilei8) <Zhigilei8>`.
The methods for modeling of
the mechanical energy dissipation into heat (energy exchange between the
dynamic degrees of freedom of the mesoscopic model and the energy of atomic
vibrations that are not explicitly represented in the model) 
:ref:`[11] <Zhigilei10>` and mesoscopic description of covalent cross-links
between nanotubes :ref:`[12] <Banna>` have also been developed but are not
:ref:`(Zhigilei10) <Zhigilei10>` and mesoscopic description of covalent cross-links
between nanotubes :ref:`(Banna) <Banna>` have also been developed but are not
included in this first release of the LAMMPS implementation of the force field.
Further details can be found in references provided below.

@@ -142,10 +144,11 @@ pair interactions.
The cutoff distance should be set to be at least :math:`max\left[2L,\sqrt{L^2/2+(2R+T_{cut})^2}\right]` ,
where L is the maximum segment length, R is the maximum tube radius, and
:math:`T_{cut}` = 10.2 A is the maximum distance between the surfaces of interacting
segments.
segments. Because of the use of extended chain concept at CNT ends, the recommended 
cutoff is 3L.

The TPMSSTP.xrs and TPMA.xrs potential files provided with LAMMPS (see the
potentials directory) are parameterized for metal :doc:`units <units>`.
The MESONT-TABTP_10_10.xrs potential file provided with LAMMPS (see the
potentials directory) is parameterized for metal :doc:`units <units>`.
You can use the carbon nanotube mesoscopic force field with any LAMMPS units,
but you would need to create your own TPMSSTP.xrs and TPMA.xrs potential files
with coefficients listed in appropriate units, if your simulation
@@ -163,53 +166,49 @@ Related commands

.. _Srivastava:

**[1]** Zhigilei, Wei, Srivastava, Phys. Rev. B 71, 165417 (2005).
**(Srivastava)** Zhigilei, Wei, Srivastava, Phys. Rev. B 71, 165417 (2005).

.. _Zhigilei1:

**[2]** Volkov and Zhigilei, ACS Nano 4, 6187 (2010).
**(Zhigilei1)** Volkov and Zhigilei, ACS Nano 4, 6187 (2010).

.. _Zhigilei2:

**[3]** Volkov, Simov, Zhigilei, ASME paper IMECE2008, 68021 (2008).
**(Zhigilei2)** Volkov, Simov, Zhigilei, ASME paper IMECE2008, 68021 (2008).

.. _Zhigilei3:

**[4]** Volkov, Zhigilei, J. Phys. Chem. C 114, 5513 (2010).
**(Zhigilei3)** Volkov, Zhigilei, J. Phys. Chem. C 114, 5513 (2010).

.. _Zhigilei4:

**[5]** Wittmaack, Banna, Volkov, Zhigilei, Carbon 130, 69 (2018).
**(Zhigilei4)** Wittmaack, Banna, Volkov, Zhigilei, Carbon 130, 69 (2018).

.. _Zhigilei5:

**[6]** Wittmaack, Volkov, Zhigilei, Compos. Sci. Technol. 166, 66 (2018).
**(Zhigilei5)** Wittmaack, Volkov, Zhigilei, Compos. Sci. Technol. 166, 66 (2018).

.. _Zhigilei6:

**[7]** Wittmaack, Volkov, Zhigilei, Carbon 143, 587 (2019).
**(Zhigilei6)** Wittmaack, Volkov, Zhigilei, Carbon 143, 587 (2019).

.. _Zhigilei7:

**[8]** Volkov, Zhigilei, Phys. Rev. Lett. 104, 215902 (2010).
**(Zhigilei7)** Volkov, Zhigilei, Phys. Rev. Lett. 104, 215902 (2010).

.. _Zhigilei8:

**[9]** Volkov, Shiga, Nicholson, Shiomi, Zhigilei, J. Appl. Phys. 111, 053501 (2012).
**(Zhigilei8)** Volkov, Shiga, Nicholson, Shiomi, Zhigilei, J. Appl. Phys. 111, 053501 (2012).

.. _Zhigilei9:

**[10]** Volkov, Zhigilei, Appl. Phys. Lett. 101, 043113 (2012).
**(Zhigilei9)** Volkov, Zhigilei, Appl. Phys. Lett. 101, 043113 (2012).

.. _Zhigilei10:

**[11]** Jacobs, Nicholson, Zemer, Volkov, Zhigilei, Phys. Rev. B 86, 165414 (2012).
**(Zhigilei10)** Jacobs, Nicholson, Zemer, Volkov, Zhigilei, Phys. Rev. B 86, 165414 (2012).

.. _Banna:

**[12]** Volkov, Banna, Comp. Mater. Sci. 176, 109410 (2020).
**(Banna)** Volkov, Banna, Comp. Mater. Sci. 176, 109410 (2020).

.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
+0 −1
Original line number Diff line number Diff line
@@ -11,4 +11,3 @@ Contributing author: Maxim Shugaev (UVA), mvs9t@virginia.edu

"film" is an example with a film composed of 396 200-nm-long 
  nanotubes (79596 nodes).
+4 −6
Original line number Diff line number Diff line
processors      1 1 *
newton          on
units           metal
lattice         sc 1.0
@@ -7,7 +8,7 @@ neigh_modify every 5 delay 0 check yes

atom_style      mesont
#               cut, path, BendingMode, TPMType
pair_style      mesont/tpm 45.0 ../../../potentials/CNT_10_10 0 0
pair_style      mesont/tpm 45.0 ../../../potentials/MESONT-TABTP_10_10.xrs 0 0
read_data       data.bundle
pair_coeff      * *

@@ -22,11 +23,8 @@ compute Es all mesont estretch
compute         Eb all mesont ebend
compute         Et all mesont etube
compute         B all property/atom buckling
compute         Es_tot all mesont estretch_tot
compute         Eb_tot all mesont ebend_tot
compute         Et_tot all mesont etube_tot

thermo_style    custom step time temp etotal ke pe c_Es_tot c_Eb_tot c_Et_tot
thermo_style    custom step time temp etotal ke pe c_Es c_Eb c_Et
#dump            out_dump all custom 50 dump.bundle id type x y z c_Es c_Eb c_Et c_B ix iy iz

run             100
Loading