diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index 25326897b8..0a0d4919a0 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -128,14 +128,14 @@ and adds vectorization support when compiled with compatible compilers, in particular the Intel compilers on top of OpenMP. Also, the ``KOKKOS`` package can be compiled to include OpenMP threading. -In addition, there are a few commands in LAMMPS that have native OpenMP -support included as well. These are commands in the ``MPIIO``, -``ML-SNAP``, ``DIFFRACTION``, and ``DPD-REACT`` packages. Furthermore, -some packages support OpenMP threading indirectly through the libraries -they interface to: e.g. ``LATTE``, ``KSPACE``, and ``COLVARS``. See the -:doc:`Packages details ` page for more info on these -packages, and the pages for their respective commands for OpenMP -threading info. +In addition, there are a few commands in LAMMPS that have native +OpenMP support included as well. These are commands in the ``MPIIO``, +``ML-SNAP``, ``DIFFRACTION``, and ``DPD-REACT`` packages. +Furthermore, some packages support OpenMP threading indirectly through +the libraries they interface to: e.g. ``KSPACE``, and ``COLVARS``. +See the :doc:`Packages details ` page for more info +on these packages, and the pages for their respective commands for +OpenMP threading info. For CMake, if you use ``BUILD_OMP=yes``, you can use these packages and turn on their native OpenMP support and turn on their native OpenMP diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index c4f9bf6aff..c8741696ff 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -43,7 +43,6 @@ This is the list of packages that may require additional steps. * :ref:`INTEL ` * :ref:`KIM ` * :ref:`KOKKOS ` - * :ref:`LATTE ` * :ref:`LEPTON ` * :ref:`MACHDYN ` * :ref:`MDI ` @@ -826,63 +825,6 @@ will thus always enable it. ---------- -.. _latte: - -LATTE package -------------------------- - -To build with this package, you must download and build the LATTE -library. - -.. tabs:: - - .. tab:: CMake build - - .. code-block:: bash - - -D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes - -D LATTE_LIBRARY=path # LATTE library file (only needed if a custom location) - -D USE_INTERNAL_LINALG=value # Use the internal linear algebra library instead of LAPACK - # value = no (default) or yes - - If ``DOWNLOAD_LATTE`` is set, the LATTE library will be downloaded - and built inside the CMake build directory. If the LATTE library - is already on your system (in a location CMake cannot find it), - ``LATTE_LIBRARY`` is the filename (plus path) of the LATTE library - file, not the directory the library file is in. - - The LATTE library requires LAPACK (and BLAS) and CMake can identify - their locations and pass that info to the LATTE build script. But - on some systems this triggers a (current) limitation of CMake and - the configuration will fail. Try enabling ``USE_INTERNAL_LINALG`` in - those cases to use the bundled linear algebra library and work around - the limitation. - - .. tab:: Traditional make - - You can download and build the LATTE library manually if you - prefer; follow the instructions in ``lib/latte/README``\ . You - can also do it in one step from the ``lammps/src`` dir, using a - command like these, which simply invokes the - ``lib/latte/Install.py`` script with the specified args: - - .. code-block:: bash - - make lib-latte # print help message - make lib-latte args="-b" # download and build in lib/latte/LATTE-master - make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte - make lib-latte args="-b -m gfortran" # download and build in lib/latte and - # copy Makefile.lammps.gfortran to Makefile.lammps - - Note that 3 symbolic (soft) links, ``includelink`` and ``liblink`` - and ``filelink.o``, are created in ``lib/latte`` to point to - required folders and files in the LATTE home directory. When - LAMMPS itself is built it will use these links. You should also - check that the ``Makefile.lammps`` file you create is appropriate - for the compiler you use on your system to build LATTE. - ----------- - .. _lepton: LEPTON package @@ -1407,9 +1349,9 @@ This package depends on the KSPACE package. KSPACE package so the latter one *must* be enabled. The ELECTRODE package also requires LAPACK (and BLAS) and CMake - can identify their locations and pass that info to the LATTE build - script. But on some systems this may cause problems when linking - or the dependency is not desired. Try enabling + can identify their locations and pass that info to the ELECTRODE + build script. But on some systems this may cause problems when + linking or the dependency is not desired. Try enabling ``USE_INTERNAL_LINALG`` in those cases to use the bundled linear algebra library and work around the limitation. diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 5e9019afde..2328e4d1e5 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -46,7 +46,6 @@ packages: * :ref:`INTEL ` * :ref:`KIM ` * :ref:`KOKKOS ` - * :ref:`LATTE ` * :ref:`LEPTON ` * :ref:`MACHDYN ` * :ref:`MDI ` diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index d275b33eba..e67aae88e3 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -101,7 +101,6 @@ OPT. * :doc:`langevin/drude ` * :doc:`langevin/eff ` * :doc:`langevin/spin ` - * :doc:`latte ` * :doc:`lb/fluid ` * :doc:`lb/momentum ` * :doc:`lb/viscous ` diff --git a/doc/src/Developer_write.rst b/doc/src/Developer_write.rst index c374ec2e77..cb5213bc24 100644 --- a/doc/src/Developer_write.rst +++ b/doc/src/Developer_write.rst @@ -15,7 +15,7 @@ implement many things using fixes: - changing particles attributes (positions, velocities, forces, etc.). Examples: FixNVE, FixFreeze. - reading/writing data. Example: FixRestart. - adding or modifying properties due to geometry. Example: FixWall. -- interacting with other subsystems or external code: Examples: FixTTM, FixExternal, FixLATTE +- interacting with other subsystems or external code: Examples: FixTTM, FixExternal - saving information for analysis or future use (previous positions, for instance). Examples: Fix AveTime, FixStoreState. diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index de3eae8714..f2ca9a43ce 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -94,8 +94,6 @@ Lowercase directories +-------------+------------------------------------------------------------------+ | kim | use of potentials from the `OpenKIM Repository `_ | +-------------+------------------------------------------------------------------+ -| latte | examples for using fix latte for DFTB via the LATTE library | -+-------------+------------------------------------------------------------------+ | mdi | use of the MDI package and MolSSI MDI code coupling library | +-------------+------------------------------------------------------------------+ | meam | MEAM test for SiC and shear (same as shear examples) | diff --git a/doc/src/Howto_couple.rst b/doc/src/Howto_couple.rst index 4cd764adf1..1c6c5df91f 100644 --- a/doc/src/Howto_couple.rst +++ b/doc/src/Howto_couple.rst @@ -12,16 +12,16 @@ LAMMPS can be coupled to other codes in at least 4 different ways. Each has advantages and disadvantages, which you will have to think about in the context of your application. -1. Define a new :doc:`fix ` command that calls the other code. In - this scenario, LAMMPS is the driver code. During timestepping, the - fix is invoked, and can make library calls to the other code, which - has been linked to LAMMPS as a library. This is the way the - :ref:`LATTE ` package, which performs density-functional - tight-binding calculations using the `LATTE software - `_ to compute forces, is interfaced to - LAMMPS. See the :doc:`fix latte ` command for more - details. Also see the :doc:`Modify ` pages for information - on how to add a new fix to LAMMPS. +1. Define a new :doc:`fix ` or :doc:`compute ` command + that calls the other code. In this scenario, LAMMPS is the driver + code. During timestepping, the fix or compute is invoked, and can + make library calls to the other code, which has been linked to + LAMMPS as a library. This is the way the :ref:`VORONOI + ` package, which computes Voronoi tesselations using + the `Voro++ library `_, is interfaced + to LAMMPS. See the :doc:`compute voronoi ` + command for more details. Also see the :doc:`Modify ` + pages for information on how to add a new fix or compute to LAMMPS. .. spacer diff --git a/doc/src/Install_mac.rst b/doc/src/Install_mac.rst index 39146c5afc..8228b5a4e5 100644 --- a/doc/src/Install_mac.rst +++ b/doc/src/Install_mac.rst @@ -6,7 +6,7 @@ LAMMPS can be downloaded, built, and configured for OS X on a Mac with instructions for :doc:`downloading an executable via Conda `.) The following LAMMPS packages are unavailable at this time because of additional requirements not yet met: GPU, KOKKOS, -LATTE, MSCG, MPIIO, POEMS, VORONOI. +MSCG, MPIIO, POEMS, VORONOI. After installing Homebrew, you can install LAMMPS on your system with the following commands: diff --git a/doc/src/Intro_features.rst b/doc/src/Intro_features.rst index 76b989ad69..22883bffae 100644 --- a/doc/src/Intro_features.rst +++ b/doc/src/Intro_features.rst @@ -88,7 +88,7 @@ commands) * charge equilibration (QEq via dynamic, point, shielded, Slater methods) * coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO, oxDNA / oxRNA, SPICA * mesoscopic potentials: granular, Peridynamics, SPH, mesoscopic tubular potential (MESONT) -* semi-empirical potentials: multi-ion generalized pseudopotential theory (MGPT), second moment tight binding + QEq (SMTB-Q), density functional tight-binding (LATTE) +* semi-empirical potentials: multi-ion generalized pseudopotential theory (MGPT), second moment tight binding + QEq (SMTB-Q) * electron force field (eFF, AWPMD) * bond potentials: harmonic, FENE, Morse, nonlinear, Class II (COMPASS), quartic (breakable), tabulated, scripted * angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, Class II (COMPASS), tabulated, scripted diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index c9f19f4988..d397638e59 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -67,7 +67,6 @@ page gives those details. * :ref:`KOKKOS ` * :ref:`KSPACE ` * :ref:`LATBOLTZ ` - * :ref:`LATTE ` * :ref:`LEPTON ` * :ref:`MACHDYN ` * :ref:`MANIFOLD ` @@ -1357,43 +1356,6 @@ The LATBOLTZ package requires that LAMMPS is build in :ref:`MPI parallel mode `_. A brief technical -description is given with the :doc:`fix latte ` command. - -.. _latte-home: https://github.com/lanl/LATTE - -**Authors:** Christian Negre (LANL) and Steve Plimpton (Sandia). LATTE -itself is developed at Los Alamos National Laboratory by Marc -Cawkwell, Anders Niklasson, and Christian Negre. - -**Install:** - -This package has :ref:`specific installation instructions ` on -the :doc:`Build extras ` page. - -**Supporting info:** - -* src/LATTE: filenames -> commands -* src/LATTE/README -* lib/latte/README -* :doc:`fix latte ` -* examples/latte -* `LAMMPS-LATTE tutorial `_ - ----------- - .. _PKG-LEPTON: LEPTON package diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index 8f2aca5d69..77812a236a 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -233,11 +233,6 @@ whether an extra library is needed to build and use the package: - :doc:`fix lb/fluid ` - PACKAGES/latboltz - no - * - :ref:`LATTE ` - - quantum DFTB forces via LATTE - - :doc:`fix latte ` - - latte - - ext * - :ref:`LEPTON ` - evaluate strings as potential function - :doc:`pair_style lepton ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 2dfe97a3ec..79080d43d4 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -253,7 +253,6 @@ accelerated styles exist. * :doc:`langevin/drude ` - Langevin temperature control of Drude oscillators * :doc:`langevin/eff ` - Langevin temperature control for the electron force field model * :doc:`langevin/spin ` - Langevin temperature control for a spin or spin-lattice system -* :doc:`latte ` - wrapper on LATTE density-functional tight-binding code * :doc:`lb/fluid ` - lattice-Boltzmann fluid on a uniform mesh * :doc:`lb/momentum ` - :doc:`fix momentum ` replacement for use with a lattice-Boltzmann fluid * :doc:`lb/viscous ` - :doc:`fix viscous ` replacement for use with a lattice-Boltzmann fluid diff --git a/doc/src/fix_latte.rst b/doc/src/fix_latte.rst deleted file mode 100644 index de3ac5adde..0000000000 --- a/doc/src/fix_latte.rst +++ /dev/null @@ -1,269 +0,0 @@ -.. index:: fix latte - -fix latte command -================= - -Syntax -"""""" - -.. parsed-literal:: - - fix ID group-ID latte keyword value ... - -* ID, group-ID are documented in :doc:`fix ` command -* latte = style name of this fix command -* zero or more keyword/value pairs may be appended - - .. parsed-literal:: - - keyword = *coulomb* or *exclude* - *coulomb* value = peID - peID = ID of compute used to calculate per-atom energy - *exclude* value = fixID - fixID = ID of fix which potentially excludes atoms before calling LATTE - -Examples -"""""""" - -.. code-block:: LAMMPS - - fix dftb all latte - fix dftb all exclude GCMC - -Description -""""""""""" - -This fix style is a wrapper on the self-consistent charge transfer -density functional based tight binding (DFTB) code LATTE. If you -download and build LATTE, it can be called as a library by LAMMPS via -this fix to run dynamics or perform energy minimization using DFTB -forces and energies computed by LATTE. - -LATTE is principally developed and supported by Marc Cawkwell and -co-workers at Los Alamos National Laboratory (LANL). See the full -list of contributors in the src/LATTE/README file. - -To use this fix, the LATTE program needs to be compiled as a library -and linked with LAMMPS. LATTE can be downloaded (or cloned) from -`https://github.com/lanl/LATTE `_. -Instructions on how to download and build LATTE on your system can be -found in the lib/latte/README. Note that you can also use the "make -lib-latte" command from the LAMMPS src directory to automate this -process. - -Once LAMMPS is built with the LATTE package, you can run the example -input scripts for molecular dynamics or energy minimization that are -found in examples/latte. - -A step-by-step tutorial can be followed at: `LAMMPS-LATTE tutorial `_ - -Currently, LAMMPS must be run in serial or as a single MPI task, to -use this fix. This is because the version of the LATTE library LAMMPS -uses does not support MPI. On the LAMMPS size, this is typically not -a bottleneck, since LATTE will be doing 99% or more of the work to -compute quantum-accurate forces. On the LATTE side, the LATTE library -does support threaded parallelism via OpenMP. You must build the -LATTE library with OpenMP support, then set the OMP_NUM_THREADS -environment variable before performing a LAMMPS + LATTE simulation to -tell LATTE how many threads to invoke. - -.. note:: - - NEB calculations can be done using this fix using multiple - replicas and running LAMMPS in parallel. However, each replica must - be run on a single MPI task. For details, see the :doc:`neb ` - command page and the :doc:`-partition command-line switch ` - ----------- - -The *coulomb* argument is not yet supported by fix latte (as of Sept -2022). Eventually it will be used to enable LAMMPS to calculate a -Coulomb potential as an alternative to LATTE performing the -calculation. - -.. versionadded:: 15Sep2022 - -The *exclude* argument allows this fix to work in tandem with another -fix which may decide to delete one or more atoms of molecules. The -specified fixID is the ID of the other fix. - -The one current example of such a fix is the :doc:`fix gcmc -` command which performs Monte Carlo insertions and -deletions. If a trial deletion is performed, then LAMMPS needs to -only pass LATTE the atoms which remain. Fix gcmc does not actually -remove any atoms until after the new energy is computed (in this case -by LATTE), and a Monte Carlo accept/reject decision is made for the -trial deletion. - ----------- - -LATTE is a code for performing self-consistent charge transfer -tight-binding (SC-TB) calculations of total energies and the forces -acting on atoms in molecules and solids. This tight-binding method is -becoming more and more popular and widely used in chemistry, -biochemistry, material science, etc. - -The SC-TB formalism is derived from an expansion of the Kohn-Sham -density functional to second order in charge fluctuations about a -reference charge of overlapping atom-centered densities and bond -integrals are parameterized using a Slater-Koster tight-binding -approach. This procedure, which usually is referred to as the DFTB -method has been described in detail by (:ref:`Elstner `) and -(:ref:`Finnis `) and coworkers. - -The work of the LATTE developers follows that of Elstner closely with -respect to the physical model. However, the development of LATTE is -geared principally toward large-scale, long duration, microcanonical -quantum-based Born-Oppenheimer molecular dynamics (QMD) simulations. -One of the main bottlenecks of an electronic structure calculation is -the solution of the generalized eigenvalue problem which scales with -the cube of the system size O(N\^3). - -The Theoretical and Computer sciences divisions at Los Alamos National -Laboratory have accumulated large experience addressing this issue by -calculating the density matrix directly instead of using -diagonalization. We typically use a recursive sparse Fermi-operator -expansion using second-order spectral projection functions -(SP2-algorithm), which was introduced by Niklasson in 2002 -(:ref:`Niklasson2002 `), (:ref:`Rubensson `), -(:ref:`Mniszewski `). When the matrices involved in the -recursive expansion are sufficiently sparse, the calculation of the -density matrix scales linearly as a function of the system size O(N). - -Another important feature is the extended Lagrangian framework for -Born-Oppenheimer molecular dynamics (XL-BOMD) -(:ref:`Niklasson2008 `) (:ref:`Niklasson2014 `), -(:ref:`Niklasson2017 `) that allows for a drastic reduction -or even a complete removal of the iterative self-consistent field -optimization. Often only a single density matrix calculation per -molecular dynamics time step is required, yet total energy stability -is well maintained. The SP2 and XL-BOMD techniques enables stable -linear scaling MD simulations with a very small computational -overhead. This opens a number of opportunities in many different -areas of chemistry and materials science, as we now can simulate -larger system sizes and longer time scales -(:ref:`Cawkwell2012 `), (:ref:`Negre2016 `). - ----------- - -Restart, fix_modify, output, run start/stop, minimize info -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -No information about this fix is written to :doc:`binary restart files -`. - -The :doc:`fix_modify ` *energy* option is supported by -this fix to add the potential energy computed by LATTE to the global -potential energy of the system as part of :doc:`thermodynamic output -`. The default setting for this fix is :doc:`fix_modify -energy yes `. - -The :doc:`fix_modify ` *virial* option is supported by -this fix to add the contribution computed by LATTE to the global -pressure of the system as part of :doc:`thermodynamic output -`. The default setting for this fix is :doc:`fix_modify -virial yes `. - -This fix computes a global scalar which can be accessed by various -:doc:`output commands `. The scalar is the potential -energy discussed above. The scalar value calculated by this fix is -"extensive". - -No parameter of this fix can be used with the *start/stop* keywords of -the :doc:`run ` command. - -The DFTB forces computed by LATTE via this fix are used during an -energy minimization, invoked by the :doc:`minimize ` -command. - -.. note:: - - If you want the potential energy associated with the DFTB - forces to be included in the total potential energy of the system (the - quantity being minimized), you MUST not disable the - :doc:`fix_modify ` *energy* option for this fix. - -Restrictions -"""""""""""" - -This fix is part of the LATTE package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package -` page for more info. - -You must use metal units, as set by the :doc:`units ` command to -use this fix. - -LATTE does not currently compute per-atom energy or per-atom virial -contributions. So they will not show up as part of the calculations -performed by the :doc:`compute pe/atom ` or -:doc:`compute stress/atom ` commands. - -Related commands -"""""""""""""""" - -none - - -Default -""""""" - -none - ----------- - -.. _Elstner: - -**(Elstner)** M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, -M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, -7260 (1998). - -.. _Elstner1: - -**(Elstner)** M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, -M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, -7260 (1998). - -.. _Finnis2: - -**(Finnis)** M. W. Finnis, A. T. Paxton, M. Methfessel, and M. van -Schilfgarde, Phys. Rev. Lett., 81, 5149 (1998). - -.. _Mniszewski: - -**(Mniszewski)** S. M. Mniszewski, M. J. Cawkwell, M. E. Wall, -J. Mohd-Yusof, N. Bock, T. C. Germann, and A. M. N. Niklasson, -J. Chem. Theory Comput., 11, 4644 (2015). - -.. _Niklasson2002: - -**(Niklasson2002)** A. M. N. Niklasson, Phys. Rev. B, 66, 155115 (2002). - -.. _Rubensson: - -**(Rubensson)** E. H. Rubensson, A. M. N. Niklasson, SIAM -J. Sci. Comput. 36 (2), 147-170, (2014). - -.. _Niklasson2008: - -**(Niklasson2008)** A. M. N. Niklasson, Phys. Rev. Lett., 100, 123004 -(2008). - -.. _Niklasson2014: - -**(Niklasson2014)** A. M. N. Niklasson and M. Cawkwell, J. Chem. Phys., -141, 164123, (2014). - -.. _Niklasson2017: - -**(Niklasson2017)** A. M. N. Niklasson, J. Chem. Phys., 147, 054103 (2017). - -.. _Cawkwell2012: - -**(Cawkwell2012)** A. M. N. Niklasson, M. J. Cawkwell, Phys. Rev. B, 86 -(17), 174308 (2012). - -.. _Negre2016: - -**(Negre2016)** C. F. A. Negre, S. M. Mniszewski, M. J. Cawkwell, -N. Bock, M. E. Wall, and A. M. N. Niklasson, J. Chem. Theory Comp., -12, 3063 (2016). diff --git a/examples/README b/examples/README index c1c1c7dcd5..fe7dbe5c38 100644 --- a/examples/README +++ b/examples/README @@ -83,7 +83,6 @@ hugoniostat: Hugoniostat shock dynamics hyper: global and local hyperdynamics of diffusion on Pt surface indent: spherical indenter into a 2d solid kim: use of potentials in Knowledge Base for Interatomic Models (KIM) -latte: use of LATTE density-functional tight-binding quantum code mc: MC package models: GCMC, Widom, fix mol/swap mdi: use of the MDI package and MolSSI MDI code coupling library meam: MEAM test for SiC and shear (same as shear examples) diff --git a/examples/latte/TBparam/bondints.nonortho b/examples/latte/TBparam/bondints.nonortho deleted file mode 100644 index 8c1eee76b5..0000000000 --- a/examples/latte/TBparam/bondints.nonortho +++ /dev/null @@ -1,36 +0,0 @@ -Noints= 34 -Element1 Element2 Kind H0 B1 B2 B3 B4 B5 R1 Rcut H0 B1 B2 B3 B4 B5 R1 Rcut -N O sss -11.430028 -2.257346 -1.152844 0.000000 0.000000 1.200000 3.500000 4.000000 0.340064 -1.703613 -0.622348 0.036738 -0.040158 1.200000 3.500000 4.000000 -N O sps 11.597479 -1.382001 -0.765170 0.000000 0.000000 1.200000 3.500000 4.000000 -0.370946 -1.040947 -0.931097 0.252441 -0.115450 1.200000 3.500000 4.000000 -O N sps 12.143744 -0.822913 -0.676127 0.000000 0.000000 1.200000 3.500000 4.000000 -0.420014 -1.107918 -0.905594 0.188424 -0.088365 1.200000 3.500000 4.000000 -N O pps 9.465191 -1.082032 -0.769214 0.000000 0.000000 1.200000 3.500000 4.000000 -0.314073 0.499050 -2.914288 2.067657 -0.738439 1.200000 3.500000 4.000000 -N O ppp -4.676789 -2.171480 -0.288002 0.000000 0.000000 1.200000 3.500000 4.000000 0.223937 -1.991867 -0.537630 -0.081270 -0.004130 1.200000 3.500000 4.000000 -C O sss -14.369472 -2.077439 -0.875471 0.000000 0.000000 1.200000 3.500000 4.000000 0.375339 -1.547372 -0.642492 0.020614 -0.026699 1.200000 3.500000 4.000000 -C O sps 9.576296 -1.156217 -0.494803 0.000000 0.000000 1.200000 3.500000 4.000000 -0.373027 -0.776043 -1.019920 0.257539 -0.102838 1.200000 3.500000 4.000000 -O C sps 14.037374 -1.192632 -0.654572 0.000000 0.000000 1.200000 3.500000 4.000000 -0.458068 -1.035067 -0.937868 0.190562 -0.077841 1.200000 3.500000 4.000000 -C O pps 9.331152 -0.718120 -0.822100 0.000000 0.000000 1.200000 3.500000 4.000000 -0.322293 0.795473 -3.476601 2.589965 -0.897800 1.200000 3.500000 4.000000 -C O ppp -5.334367 -2.263939 -0.204910 0.000000 0.000000 1.200000 3.500000 4.000000 0.244570 -1.922717 -0.573671 -0.057280 -0.004108 1.200000 3.500000 4.000000 -C N sss -7.010061 -1.730597 -0.575559 0.000000 0.000000 1.500000 3.500000 4.000000 0.263438 -1.754525 -0.584215 -0.007801 -0.021729 1.500000 3.500000 4.000000 -C N sps 7.543283 -1.293768 -0.624363 0.000000 0.000000 1.500000 3.500000 4.000000 -0.326609 -1.197485 -0.807786 0.134891 -0.084373 1.500000 3.500000 4.000000 -N C sps 9.090970 -1.494255 -0.616711 0.000000 0.000000 1.500000 3.500000 4.000000 -0.337943 -1.335442 -0.769693 0.119373 -0.079493 1.500000 3.500000 4.000000 -C N pps 6.892240 -0.931920 -0.769164 0.000000 0.000000 1.500000 3.500000 4.000000 -0.350240 -0.467439 -1.849316 1.854403 -0.988471 1.500000 3.500000 4.000000 -C N ppp -2.903346 -2.149349 -0.253006 0.000000 0.000000 1.500000 3.500000 4.000000 0.158424 -2.114409 -0.582346 -0.051076 -0.006183 1.500000 3.500000 4.000000 -C C sss -9.404207 -1.363297 -0.507128 0.000000 0.000000 1.400000 3.500000 4.000000 0.346977 -1.519820 -0.570812 -0.013518 -0.015829 1.400000 3.500000 4.000000 -C C sps 8.662429 -1.047410 -0.661999 0.000000 0.000000 1.400000 3.500000 4.000000 -0.400467 -0.984048 -0.853949 0.157178 -0.073381 1.400000 3.500000 4.000000 -C C pps 6.811512 -0.552299 -0.776890 0.000000 0.000000 1.400000 3.500000 4.000000 -0.382417 0.102889 -2.786680 2.646356 -1.134320 1.400000 3.500000 4.000000 -C C ppp -3.550127 -1.925572 -0.132715 0.000000 0.000000 1.400000 3.500000 4.000000 0.214357 -1.948923 -0.578323 -0.034356 -0.007257 1.400000 3.500000 4.000000 -H C sss -9.072577 -1.393093 -0.430611 0.000000 0.000000 1.100000 3.500000 4.000000 0.416003 -1.459596 -0.654874 0.009140 -0.012658 1.100000 3.500000 4.000000 -H C sps 8.176008 -0.985177 -0.427403 0.000000 0.000000 1.100000 3.500000 4.000000 -0.495695 -0.901626 -1.007214 0.189808 -0.057087 1.100000 3.500000 4.000000 -H H sss -9.340000 -1.145903 -0.391777 0.000000 0.000000 0.750000 3.500000 4.000000 0.575007 -1.391261 -0.778831 0.080209 -0.017759 0.750000 3.500000 4.000000 -O O sss -12.737687 -1.851608 -0.666621 0.000000 0.000000 1.200000 3.500000 4.000000 0.296445 -1.911896 -0.663451 0.038054 -0.046608 1.200000 3.500000 4.000000 -O O sps 13.683050 -1.684554 -0.468349 0.000000 0.000000 1.200000 3.500000 4.000000 -0.362143 -1.285274 -0.939591 0.204641 -0.106438 1.200000 3.500000 4.000000 -O O pps 9.460772 -1.211748 -0.581016 0.000000 0.000000 1.200000 3.500000 4.000000 -0.312044 0.121814 -2.519352 1.681266 -0.644566 1.200000 3.500000 4.000000 -O O ppp -4.494595 -2.709223 -0.284124 0.000000 0.000000 1.200000 3.500000 4.000000 0.193010 -2.168462 -0.580629 -0.105104 0.004891 1.200000 3.500000 4.000000 -H O sss -12.230931 -1.808632 -0.421164 0.000000 0.000000 1.000000 3.500000 4.000000 0.404725 -1.702546 -0.707938 0.074904 -0.039922 1.000000 3.500000 4.000000 -H O sps 9.466088 -1.321262 -0.386336 0.000000 0.000000 1.000000 3.500000 4.000000 -0.447660 -0.952979 -1.163537 0.400616 -0.156965 1.000000 3.500000 4.000000 -N N sss -7.710330 -2.365312 -0.525527 0.000000 0.000000 1.500000 3.500000 4.000000 0.231654 -1.879002 -0.572765 -0.004579 -0.031106 1.500000 3.500000 4.000000 -N N sps 8.222314 -1.612118 -0.690081 0.000000 0.000000 1.500000 3.500000 4.000000 -0.305271 -1.385158 -0.751032 0.114531 -0.090839 1.500000 3.500000 4.000000 -N N pps 7.178570 -1.176467 -0.571049 0.000000 0.000000 1.500000 3.500000 4.000000 -0.324668 -0.547805 -1.638658 1.495168 -0.827868 1.500000 3.500000 4.000000 -N N ppp -2.829344 -2.408049 -0.387709 0.000000 0.000000 1.500000 3.500000 4.000000 0.142909 -2.162036 -0.571942 -0.071640 -0.004682 1.500000 3.500000 4.000000 -H N sss -12.095890 -1.519057 -0.277247 0.000000 0.000000 1.000000 3.500000 4.000000 0.446693 -1.500463 -0.657448 0.065741 -0.037004 1.000000 3.500000 4.000000 -H N sps 9.851338 -1.231616 -0.370836 0.000000 0.000000 1.000000 3.500000 4.000000 -0.501530 -0.785734 -1.123232 0.394878 -0.148501 1.000000 3.500000 4.000000 diff --git a/examples/latte/TBparam/electrons.dat b/examples/latte/TBparam/electrons.dat deleted file mode 100644 index c38fd23ce2..0000000000 --- a/examples/latte/TBparam/electrons.dat +++ /dev/null @@ -1,7 +0,0 @@ -Noelem= 5 -Element basis Numel Es Ep Ed Ef Mass HubbardU Wss Wpp Wdd Wff -N sp 5.0 -18.58 -7.09 0.0 0.0 14.0067 15.93 0.0 -0.6950 0.0 0.0 -O sp 6.0 -23.96 -9.02 0.0 0.0 15.9994 12.15 0.0 -0.7577 0.0 0.0 -H s 1.0 -6.35 0.0 0.0 0.0 1.0079 12.85 -1.7937 0.0 0.0 0.0 -C sp 4.0 -13.75 -5.28 0.0 0.0 12.01 10.0 0.0 -0.621 0.0 0.0 -Ti sd 4.0 -5.5 0.0 -3.0 0.0 47.867 10.0 0.0 0.0 0.0 0.0 \ No newline at end of file diff --git a/examples/latte/TBparam/ppots.nonortho b/examples/latte/TBparam/ppots.nonortho deleted file mode 100644 index 1b9b66c0a1..0000000000 --- a/examples/latte/TBparam/ppots.nonortho +++ /dev/null @@ -1,12 +0,0 @@ -Nopps= 10 -Ele1 Ele2 A0 A1 A2 A3 A4 A5 A6 C R1 Rcut -N O 13.182426 20.050322 -46.806321 38.206953 -12.319656 0.000000 0.000000 0.000000 1.600000 1.700000 -C N 88.953762 10.294988 -27.706877 22.101434 -6.836438 0.000000 0.000000 0.000000 1.600000 1.700000 -C O 0.944093 30.116337 -59.608215 45.107654 -13.178839 0.000000 0.000000 0.000000 1.600000 1.700000 -C H 104.889589 3.971095 -23.823043 26.408093 -11.317522 0.000000 0.000000 0.000000 1.200000 1.300000 -C C 3.962931 24.467772 -51.156024 39.031644 -11.342979 0.000000 0.000000 0.000000 1.600000 1.700000 -H H 38.512100 3.887860 -37.769100 57.083500 -34.512200 0.000000 0.000000 0.000000 0.900000 1.000000 -N N 43.228899 15.004605 -36.621777 29.234888 -8.912743 0.000000 0.000000 0.000000 1.600000 1.700000 -N H 0.625470 28.081241 -63.414297 53.286361 -17.352234 0.000000 0.000000 0.000000 1.300000 1.400000 -O O 10.999870 19.303033 -45.747853 37.946431 -11.935755 0.000000 0.000000 0.000000 1.500000 1.600000 -O H 0.481176 33.175383 -81.158683 74.935408 -26.792315 0.000000 0.000000 0.000000 1.200000 1.300000 diff --git a/examples/latte/data.ch4 b/examples/latte/data.ch4 deleted file mode 100644 index fc8d48d244..0000000000 --- a/examples/latte/data.ch4 +++ /dev/null @@ -1,23 +0,0 @@ - LAMMPS Description - - 5 atoms - - 2 atom types - - 0.0000000000000000 19.523000000000000 xlo xhi - 0.0000000000000000 12.757999999999999 ylo yhi - 0.0000000000000000 11.692000000000000 zlo zhi - 0.0000000000000000 0.0000000000000000 0.0000000000000000 xy xz yz - - Masses - - 1 12.010000000000000 - 2 1.0078250169754028 - - Atoms - - 1 1 1 0.0 -9.16600 2.05200 0.00000 - 2 1 2 0.0 -8.09600 2.05200 0.00000 - 3 1 2 0.0 -9.52300 2.75800 -0.72000 - 4 1 2 0.0 -9.52300 2.32200 0.97200 - 5 1 2 0.0 -9.52300 1.07500 -0.25200 diff --git a/examples/latte/data.graphene b/examples/latte/data.graphene deleted file mode 100644 index 5455a2eeb6..0000000000 --- a/examples/latte/data.graphene +++ /dev/null @@ -1,49 +0,0 @@ - LAMMPS Description - - 32 atoms - - 1 atom types - - 0.0000000000000000 10.000000000000000 xlo xhi - 0.0000000000000000 8.0000000000000000 ylo yhi - 0.0000000000000000 20.000000000000000 zlo zhi - 4.8985871965894128E-016 1.2246467991473533E-015 1.2246467991473533E-015 xy xz yz - - Masses - - 1 12.010000000000000 - - Atoms - - 1 1 1 0.0 4.93100 4.25000 0.00500 - 2 1 1 0.0 8.62100 2.12100 0.14000 - 3 1 1 0.0 3.70700 2.12600 0.14700 - 4 1 1 0.0 7.38200 4.25400 0.07800 - 5 1 1 0.0 2.47900 4.25400 0.08000 - 6 1 1 0.0 6.15800 6.37400 -0.01000 - 7 1 1 0.0 1.23700 6.38300 0.06600 - 8 1 1 0.0 1.24000 2.12100 0.14600 - 9 1 1 0.0 6.15500 2.12600 0.12900 - 10 1 1 0.0 0.00700 4.25200 0.12200 - 11 1 1 0.0 8.62100 6.38500 0.04100 - 12 1 1 0.0 3.70000 6.37400 -0.01000 - 13 1 1 0.0 0.00600 1.41600 0.13000 - 14 1 1 0.0 4.93000 1.40800 0.14700 - 15 1 1 0.0 8.61800 3.54600 0.11500 - 16 1 1 0.0 3.70800 3.55300 0.08400 - 17 1 1 0.0 7.39400 5.68000 0.03500 - 18 1 1 0.0 2.46500 5.68000 0.03500 - 19 1 1 0.0 6.16000 7.80500 0.02700 - 20 1 1 0.0 1.23800 7.81100 0.06000 - 21 1 1 0.0 2.47300 1.41800 0.16100 - 22 1 1 0.0 7.38900 1.41700 0.14800 - 23 1 1 0.0 1.24200 3.54700 0.12600 - 24 1 1 0.0 6.15300 3.55300 0.07400 - 25 1 1 0.0 0.00700 5.67800 0.09700 - 26 1 1 0.0 4.93100 5.66800 -0.03100 - 27 1 1 0.0 8.62000 7.81300 0.03900 - 28 1 1 0.0 3.70100 7.80200 0.03700 - 29 1 1 0.0 0.00700 -0.01000 0.08900 - 30 1 1 0.0 4.93100 -0.01500 0.16100 - 31 1 1 0.0 2.47300 -0.01200 0.14400 - 32 1 1 0.0 7.38900 -0.01300 0.14800 diff --git a/examples/latte/data.sucrose b/examples/latte/data.sucrose deleted file mode 100644 index aae490cd19..0000000000 --- a/examples/latte/data.sucrose +++ /dev/null @@ -1,63 +0,0 @@ - LAMMPS Description - - 45 atoms - - 3 atom types - - 0.0000000000000000 17.202999999999999 xlo xhi - 0.0000000000000000 18.009000000000000 ylo yhi - 0.0000000000000000 21.643000000000001 zlo zhi - - Masses - - 1 15.9994 - 2 12.01 - 3 1.0079 - - Atoms - - 1 1 1 0.0 8.62700 8.66700 12.48600 - 2 1 1 0.0 9.11200 9.11800 10.27300 - 3 1 1 0.0 8.45700 11.33100 10.49000 - 4 1 1 0.0 11.72600 8.36500 10.66700 - 5 1 1 0.0 8.06500 8.99400 7.93600 - 6 1 2 0.0 9.62800 9.07200 11.59100 - 7 1 3 0.0 9.90900 10.08300 11.89200 - 8 1 2 0.0 9.07000 10.40400 9.64000 - 9 1 1 0.0 6.14600 11.61000 8.00500 - 10 1 1 0.0 11.07200 10.13000 8.37600 - 11 1 1 0.0 6.10200 10.00900 11.62100 - 12 1 2 0.0 8.14000 10.29100 8.45100 - 13 1 3 0.0 8.49000 10.91200 7.62300 - 14 1 1 0.0 7.41500 7.08400 14.43400 - 15 1 2 0.0 10.75100 8.07000 11.65100 - 16 1 3 0.0 11.24000 8.11800 12.63400 - 17 1 2 0.0 7.09000 11.63400 10.17000 - 18 1 3 0.0 7.06900 12.69800 9.91100 - 19 1 2 0.0 7.97200 7.44200 12.14000 - 20 1 3 0.0 7.54700 7.58300 11.13800 - 21 1 1 0.0 11.24900 5.73000 11.78600 - 22 1 2 0.0 10.26800 6.65900 11.37300 - 23 1 3 0.0 10.12300 6.53400 10.29200 - 24 1 2 0.0 6.78400 10.79500 8.95500 - 25 1 3 0.0 6.12100 9.95500 9.19600 - 26 1 2 0.0 10.47500 10.88300 9.39800 - 27 1 3 0.0 10.49500 11.92100 9.06900 - 28 1 3 0.0 11.09100 10.82000 10.30900 - 29 1 2 0.0 8.99100 6.32000 12.11700 - 30 1 3 0.0 9.23100 6.01100 13.14400 - 31 1 2 0.0 6.86600 7.25300 13.14500 - 32 1 3 0.0 6.17700 8.10100 13.15700 - 33 1 3 0.0 6.28900 6.35300 12.94300 - 34 1 2 0.0 6.24000 11.39400 11.39300 - 35 1 3 0.0 6.66500 11.86500 12.28300 - 36 1 3 0.0 5.23100 11.78100 11.26000 - 37 1 1 0.0 8.34300 5.24100 11.48000 - 38 1 3 0.0 12.00100 9.28600 10.78200 - 39 1 3 0.0 12.06300 5.97500 11.33000 - 40 1 3 0.0 6.99600 9.67600 11.79700 - 41 1 3 0.0 7.93700 7.87600 14.60900 - 42 1 3 0.0 10.95500 9.19800 8.60700 - 43 1 3 0.0 5.94400 11.05900 7.24100 - 44 1 3 0.0 7.94900 8.39500 8.68400 - 45 1 3 0.0 8.96400 4.50300 11.48800 diff --git a/examples/latte/data.water b/examples/latte/data.water deleted file mode 100644 index 1a1e4d9e0b..0000000000 --- a/examples/latte/data.water +++ /dev/null @@ -1,41 +0,0 @@ - LAMMPS Description - - 24 atoms - - 2 atom types - - 0.0000000000000000 6.2670000000000003 xlo xhi - 0.0000000000000000 6.2670000000000003 ylo yhi - 0.0000000000000000 6.2670000000000003 zlo zhi - - Masses - - 1 15.994915008544922 - 2 1.0078250169754028 - - Atoms - - 1 1 1 0.0 3.08800 3.70000 3.12400 - 2 1 2 0.0 4.05800 3.70000 3.12400 - 3 1 2 0.0 2.76400 3.13200 3.84100 - 4 1 1 0.0 2.47000 0.39000 1.36000 - 5 1 2 0.0 1.54000 0.37000 1.73000 - 6 1 2 0.0 2.48000 0.00000 0.44000 - 7 1 1 0.0 1.99300 0.41700 5.25000 - 8 1 2 0.0 2.39300 1.32700 5.16000 - 9 1 2 0.0 0.99300 0.49700 5.31000 - 10 1 1 0.0 2.05300 6.09700 3.48000 - 11 1 2 0.0 2.12300 5.20700 3.02000 - 12 1 2 0.0 1.11300 0.17000 3.40000 - 13 1 1 0.0 4.90000 5.37700 2.14000 - 14 1 2 0.0 5.51000 6.17700 2.18000 - 15 1 2 0.0 3.95000 5.68700 2.21000 - 16 1 1 0.0 0.92000 3.82700 0.56000 - 17 1 2 0.0 0.00000 3.54700 0.27000 - 18 1 2 0.0 1.23000 4.59700 0.00000 - 19 1 1 0.0 0.89000 2.03700 3.41000 - 20 1 2 0.0 0.72000 2.86700 2.87000 - 21 1 2 0.0 1.79000 1.66700 3.19000 - 22 1 1 0.0 4.45000 4.61700 5.43000 - 23 1 2 0.0 4.75000 3.89700 4.81000 - 24 1 2 0.0 4.06000 4.21700 6.26000 diff --git a/examples/latte/in.latte.graphene.boxrelax b/examples/latte/in.latte.graphene.boxrelax deleted file mode 100644 index bd61c358e6..0000000000 --- a/examples/latte/in.latte.graphene.boxrelax +++ /dev/null @@ -1,44 +0,0 @@ -# Simple water model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.graphene - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all box/relax iso 0.0 vmax 0.001 - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom etotal - -# minimization - -thermo 1 -fix 3 all print 1 "Total Energy =" -min_style cg -min_modify dmax 0.1 -min_modify line quadratic -minimize 1.0e-4 1.0e-4 10000 10000 diff --git a/examples/latte/in.latte.multiple b/examples/latte/in.latte.multiple deleted file mode 100644 index 1c5dc3d2d3..0000000000 --- a/examples/latte/in.latte.multiple +++ /dev/null @@ -1,65 +0,0 @@ -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 10 - -# Clear up previus calculation - -clear - -# simple CH4 molecule with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.ch4 - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 10 - diff --git a/examples/latte/in.latte.sucrose.md b/examples/latte/in.latte.sucrose.md deleted file mode 100644 index 53eaf80dd7..0000000000 --- a/examples/latte/in.latte.sucrose.md +++ /dev/null @@ -1,40 +0,0 @@ -# simple sucrose model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.sucrose - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 100 diff --git a/examples/latte/in.latte.water.md b/examples/latte/in.latte.water.md deleted file mode 100644 index 7940b7f992..0000000000 --- a/examples/latte/in.latte.water.md +++ /dev/null @@ -1,40 +0,0 @@ -# simple water model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 100 diff --git a/examples/latte/in.latte.water.min b/examples/latte/in.latte.water.min deleted file mode 100644 index 81474a0773..0000000000 --- a/examples/latte/in.latte.water.min +++ /dev/null @@ -1,42 +0,0 @@ -# simple water model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# minimization - -thermo 10 - -min_style fire -minimize 1.0e-4 1.0e-4 500 500 diff --git a/examples/latte/latte.in b/examples/latte/latte.in deleted file mode 100644 index f927313457..0000000000 --- a/examples/latte/latte.in +++ /dev/null @@ -1,32 +0,0 @@ -LATTE INPUT FILE -================ -#This input file resumes the content of MDcontroller and TBparam/control.in -#The parser will only read it is present inside the running folder. -#In case this file is not present Latte will read the two files as original. -#The order of the keywords is not important in this file. -#To get a full description of these keywords please see: -## https://github.com/lanl/LATTE/blob/master/Manual/LATTE_manual.pdf - -#General controls -CONTROL{ - XCONTROL= 1 - BASISTYPE= NONORTHO - PARAMPATH= "./TBparam" - KBT= 0.0 - ENTROPYKIND= 1 - PPOTON= 1 - SPINON= 0 SPINTOL= 1.0e-4 - ELECTRO= 1 ELECMETH= 0 ELEC_QTOL= 1.0e-8 - MAXSCF= 450 - BREAKTOL= 1.0E-6 MINSP2ITER= 22 SP2CONV= REL - FULLQCONV= 1 QITER= 3 - QMIX= 0.25 SPINMIX= 0.25 MDMIX= 0.25 - SPARSEON= 0 THRESHOLDON= 1 NUMTHRESH= 1.0e-6 FILLINSTOP= 100 BLKSZ= 4 - MSPARSE= 1500 - SKIN= 1.0 - CHARGE= 0 - XBO= 1 - XBODISON= 1 - XBODISORDER= 5 - KON= 0 -} diff --git a/examples/latte/log.13Sep22.latte.graphene.boxrelax.g++.1 b/examples/latte/log.13Sep22.latte.graphene.boxrelax.g++.1 deleted file mode 100644 index 2350e8ad39..0000000000 --- a/examples/latte/log.13Sep22.latte.graphene.boxrelax.g++.1 +++ /dev/null @@ -1,179 +0,0 @@ -LAMMPS (3 Aug 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple water model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.graphene -Reading data file ... - triclinic box = (0 0 0) to (10 8 20) with tilt (4.8985872e-16 1.2246468e-15 1.2246468e-15) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 32 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all box/relax iso 0.0 vmax 0.001 - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom etotal - -# minimization - -thermo 1 -fix 3 all print 1 "Total Energy =" -min_style cg -min_modify dmax 0.1 -min_modify line quadratic -minimize 1.0e-4 1.0e-4 10000 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 11 9 20 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton/tri - stencil: half/bin/3d/tri - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.03 | 7.03 | 7.03 Mbytes - TotEng --247.46002 --247.67224 --247.87937 --248.08148 --248.27865 --248.47096 --248.65851 --248.84137 --249.01964 --249.19342 --249.36281 --249.52791 --249.68883 --249.8457 --249.99865 --250.1478 --250.29332 --250.43535 --250.57409 --250.70972 --250.84247 --250.97258 --251.10035 --251.2261 --251.35021 --251.47314 --251.59543 --251.71776 --251.84096 --251.9661 --252.09459 --252.22833 --252.37003 --252.52371 --252.69578 --252.89752 --253.15197 --253.52044 --254.31418 --255.6175 --256.8162 --258.1227 --259.38401 --260.74831 --262.03991 --263.5463 --264.70486 --267.69143 --267.88682 --269.0352 --270.602 --270.65395 --270.7429 --271.55831 --271.81159 --271.87447 --273.03096 --273.23109 --273.27869 --273.34621 --273.4082 --273.45599 --273.53849 --273.57478 --273.71381 --273.74092 -Loop time of 20.5496 on 1 procs for 65 steps with 32 atoms - -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -Minimization stats: - Stopping criterion = energy tolerance - Energy initial, next-to-last, final = - -247.460020562055 -273.713813242259 -273.740918498854 - Force two-norm initial, final = 201.60784 9.4927634 - Force max component initial, final = 188.92406 2.4327308 - Final line search alpha, max atom move = 0.00022885545 0.0005567437 - Iterations, force evaluations = 65 65 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 7.7869e-05 | 7.7869e-05 | 7.7869e-05 | 0.0 | 0.00 -Bond | 3.531e-06 | 3.531e-06 | 3.531e-06 | 0.0 | 0.00 -Neigh | 1.3988e-05 | 1.3988e-05 | 1.3988e-05 | 0.0 | 0.00 -Comm | 0.00014355 | 0.00014355 | 0.00014355 | 0.0 | 0.00 -Output | 0.00071475 | 0.00071475 | 0.00071475 | 0.0 | 0.00 -Modify | 20.547 | 20.547 | 20.547 | 0.0 | 99.99 -Other | | 0.001683 | | | 0.01 - -Nlocal: 32 ave 32 max 32 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 48 ave 48 max 48 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 48 -Ave neighs/atom = 1.5 -Ave special neighs/atom = 0 -Neighbor list builds = 1 -Dangerous builds = 0 -Total wall time: 0:00:20 diff --git a/examples/latte/log.13Sep22.latte.multiple.g++.1 b/examples/latte/log.13Sep22.latte.multiple.g++.1 deleted file mode 100644 index ca32c96e15..0000000000 --- a/examples/latte/log.13Sep22.latte.multiple.g++.1 +++ /dev/null @@ -1,189 +0,0 @@ -LAMMPS (3 Aug 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water -Reading data file ... - orthogonal box = (0 0 0) to (6.267 6.267 6.267) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 24 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 10 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.88 | 5.88 | 5.88 Mbytes - Step Temp PotEng TotEng Press - 0 0 -104.95596 -104.95596 48235.442 - 10 336.53107 -105.96027 -104.95977 97996.851 -Loop time of 0.334108 on 1 procs for 10 steps with 24 atoms - -Performance: 0.646 ns/day, 37.123 hours/ns, 29.930 timesteps/s -99.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.714e-06 | 3.714e-06 | 3.714e-06 | 0.0 | 0.00 -Bond | 5.02e-07 | 5.02e-07 | 5.02e-07 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.1209e-05 | 1.1209e-05 | 1.1209e-05 | 0.0 | 0.00 -Output | 2.3638e-05 | 2.3638e-05 | 2.3638e-05 | 0.0 | 0.01 -Modify | 0.33404 | 0.33404 | 0.33404 | 0.0 | 99.98 -Other | | 2.795e-05 | | | 0.01 - -Nlocal: 24 ave 24 max 24 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 71 ave 71 max 71 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37 ave 37 max 37 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 1.5416667 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - -# Clear up previus calculation - -clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -# simple CH4 molecule with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.ch4 -Reading data file ... - triclinic box = (0 0 0) to (19.523 12.758 11.692) with tilt (0 0 0) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 5 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.007 seconds - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 10 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 20 13 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton/tri - stencil: half/bin/3d/tri - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.902 | 5.902 | 5.902 Mbytes - Step Temp PotEng TotEng Press - 0 0 -23.980353 -23.980353 348.02716 - 10 19.123149 -23.990297 -23.98041 18.774332 -Loop time of 0.0121573 on 1 procs for 10 steps with 5 atoms - -Performance: 17.767 ns/day, 1.351 hours/ns, 822.549 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.224e-06 | 1.224e-06 | 1.224e-06 | 0.0 | 0.01 -Bond | 2.93e-07 | 2.93e-07 | 2.93e-07 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 3.845e-06 | 3.845e-06 | 3.845e-06 | 0.0 | 0.03 -Output | 8.633e-06 | 8.633e-06 | 8.633e-06 | 0.0 | 0.07 -Modify | 0.012132 | 0.012132 | 0.012132 | 0.0 | 99.80 -Other | | 1.089e-05 | | | 0.09 - -Nlocal: 5 ave 5 max 5 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 7 ave 7 max 7 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 10 ave 10 max 10 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 10 -Ave neighs/atom = 2 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - -Total wall time: 0:00:00 diff --git a/examples/latte/log.13Sep22.latte.sucrose.md.g++.1 b/examples/latte/log.13Sep22.latte.sucrose.md.g++.1 deleted file mode 100644 index 9d3a98b66b..0000000000 --- a/examples/latte/log.13Sep22.latte.sucrose.md.g++.1 +++ /dev/null @@ -1,112 +0,0 @@ -LAMMPS (3 Aug 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# simple sucrose model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.sucrose -Reading data file ... - orthogonal box = (0 0 0) to (17.203 18.009 21.643) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 45 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 100 -Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 18 19 22 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.93 | 5.93 | 5.93 Mbytes - Step Temp PotEng TotEng Press - 0 0 -251.26617 -251.26617 16.617233 - 10 0.025263738 -251.26631 -251.26617 8.0576369 - 20 0.034232485 -251.26636 -251.26617 1.6672772 - 30 0.059079585 -251.2665 -251.26617 11.058355 - 40 0.055499785 -251.26648 -251.26617 14.837599 - 50 0.058499496 -251.2665 -251.26617 6.7180488 - 60 0.071094531 -251.26657 -251.26617 6.6131215 - 70 0.084309398 -251.26665 -251.26617 12.372502 - 80 0.1089929 -251.26679 -251.26617 8.8352747 - 90 0.11378255 -251.26681 -251.26617 5.1175071 - 100 0.13003967 -251.26691 -251.26617 8.2429118 -Loop time of 14.4456 on 1 procs for 100 steps with 45 atoms - -Performance: 0.150 ns/day, 160.507 hours/ns, 6.923 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 7.5758e-05 | 7.5758e-05 | 7.5758e-05 | 0.0 | 0.00 -Bond | 6.748e-06 | 6.748e-06 | 6.748e-06 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 9.0137e-05 | 9.0137e-05 | 9.0137e-05 | 0.0 | 0.00 -Output | 0.00025976 | 0.00025976 | 0.00025976 | 0.0 | 0.00 -Modify | 14.445 | 14.445 | 14.445 | 0.0 | 99.99 -Other | | 0.0005283 | | | 0.00 - -Nlocal: 45 ave 45 max 45 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 59 ave 59 max 59 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 59 -Ave neighs/atom = 1.3111111 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:14 diff --git a/examples/latte/log.13Sep22.latte.water.md.g++.1 b/examples/latte/log.13Sep22.latte.water.md.g++.1 deleted file mode 100644 index 04cc99135c..0000000000 --- a/examples/latte/log.13Sep22.latte.water.md.g++.1 +++ /dev/null @@ -1,112 +0,0 @@ -LAMMPS (3 Aug 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# simple water model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water -Reading data file ... - orthogonal box = (0 0 0) to (6.267 6.267 6.267) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 24 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 100 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.88 | 5.88 | 5.88 Mbytes - Step Temp PotEng TotEng Press - 0 0 -104.95596 -104.95596 48235.442 - 10 336.53107 -105.96027 -104.95977 97996.851 - 20 529.06408 -106.53023 -104.95733 131519.85 - 30 753.62603 -107.19952 -104.959 49296.66 - 40 716.65648 -107.08803 -104.95742 28307.121 - 50 824.04392 -107.40823 -104.95836 102167.59 - 60 933.56146 -107.73479 -104.95933 92508.517 - 70 851.18489 -107.48767 -104.95711 13993.262 - 80 999.8028 -107.93147 -104.95907 36700.736 - 90 998.77488 -107.9257 -104.95636 107233.54 - 100 1281.4438 -108.76963 -104.95992 49702.386 -Loop time of 3.14578 on 1 procs for 100 steps with 24 atoms - -Performance: 0.687 ns/day, 34.953 hours/ns, 31.789 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.0818e-05 | 3.0818e-05 | 3.0818e-05 | 0.0 | 0.00 -Bond | 4.704e-06 | 4.704e-06 | 4.704e-06 | 0.0 | 0.00 -Neigh | 1.8668e-05 | 1.8668e-05 | 1.8668e-05 | 0.0 | 0.00 -Comm | 0.00010831 | 0.00010831 | 0.00010831 | 0.0 | 0.00 -Output | 0.00021087 | 0.00021087 | 0.00021087 | 0.0 | 0.01 -Modify | 3.1452 | 3.1452 | 3.1452 | 0.0 | 99.98 -Other | | 0.0002339 | | | 0.01 - -Nlocal: 24 ave 24 max 24 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 77 ave 77 max 77 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 31 ave 31 max 31 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 31 -Ave neighs/atom = 1.2916667 -Ave special neighs/atom = 0 -Neighbor list builds = 2 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/latte/log.13Sep22.latte.water.min.g++.1 b/examples/latte/log.13Sep22.latte.water.min.g++.1 deleted file mode 100644 index 1b1cc59e10..0000000000 --- a/examples/latte/log.13Sep22.latte.water.min.g++.1 +++ /dev/null @@ -1,122 +0,0 @@ -LAMMPS (3 Aug 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# simple water model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water -Reading data file ... - orthogonal box = (0 0 0) to (6.267 6.267 6.267) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 24 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# minimization - -thermo 10 - -min_style fire -minimize 1.0e-4 1.0e-4 500 500 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard - Parameters for fire: - dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback - 0.1 20 1.1 0.5 0.25 0.99 10 0.02 eulerimplicit yes -Per MPI rank memory allocation (min/avg/max) = 5.88 | 5.88 | 5.88 Mbytes - Step Temp PotEng TotEng Press - 0 0 -104.95596 -104.95596 48235.442 - 10 853.69689 -106.31143 -103.7734 79191.444 - 20 1112.0893 -107.2723 -103.96607 82675.468 - 30 1897.6249 -108.36769 -102.72608 71447.508 - 40 3068.3491 -110.06452 -100.94237 47627.967 - 50 3.730935 -110.16042 -110.14932 5913.0643 - 60 28.603141 -110.18885 -110.10381 5778.8586 - 66 54.717686 -110.21503 -110.05236 5739.5831 -Loop time of 2.48723 on 1 procs for 66 steps with 24 atoms - -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -Minimization stats: - Stopping criterion = energy tolerance - Energy initial, next-to-last, final = - -104.955957263186 -110.209885831179 -110.215033825672 - Force two-norm initial, final = 19.119006 0.51695213 - Force max component initial, final = 11.775801 0.1663917 - Final line search alpha, max atom move = 0 0 - Iterations, force evaluations = 66 69 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.7159e-05 | 2.7159e-05 | 2.7159e-05 | 0.0 | 0.00 -Bond | 3.124e-06 | 3.124e-06 | 3.124e-06 | 0.0 | 0.00 -Neigh | 1.0201e-05 | 1.0201e-05 | 1.0201e-05 | 0.0 | 0.00 -Comm | 0.000109 | 0.000109 | 0.000109 | 0.0 | 0.00 -Output | 0.00010568 | 0.00010568 | 0.00010568 | 0.0 | 0.00 -Modify | 2.4866 | 2.4866 | 2.4866 | 0.0 | 99.98 -Other | | 0.0003552 | | | 0.01 - -Nlocal: 24 ave 24 max 24 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 75 ave 75 max 75 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 33 ave 33 max 33 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 33 -Ave neighs/atom = 1.375 -Ave special neighs/atom = 0 -Neighbor list builds = 1 -Dangerous builds = 0 -Total wall time: 0:00:02 diff --git a/examples/latte/log.21Jun18.latte.multiple.g++.1 b/examples/latte/log.21Jun18.latte.multiple.g++.1 deleted file mode 100644 index 2c624e4371..0000000000 --- a/examples/latte/log.21Jun18.latte.multiple.g++.1 +++ /dev/null @@ -1,171 +0,0 @@ -LAMMPS (22 Jun 2018) -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water - orthogonal box = (0 0 0) to (6.267 6.267 6.267) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 24 atoms - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve -fix 2 all latte NULL -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 10 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.629 | 5.629 | 5.629 Mbytes -Step Temp PotEng TotEng Press - 0 0 -104.95596 -104.95596 48235.442 - 10 336.53107 -105.96027 -104.95977 97996.851 -Loop time of 0.912921 on 1 procs for 10 steps with 24 atoms - -Performance: 0.237 ns/day, 101.436 hours/ns, 10.954 timesteps/s -6614.5% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.3392e-05 | 4.3392e-05 | 4.3392e-05 | 0.0 | 0.00 -Bond | 3.8862e-05 | 3.8862e-05 | 3.8862e-05 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00036955 | 0.00036955 | 0.00036955 | 0.0 | 0.04 -Output | 9.799e-05 | 9.799e-05 | 9.799e-05 | 0.0 | 0.01 -Modify | 0.91199 | 0.91199 | 0.91199 | 0.0 | 99.90 -Other | | 0.0003812 | | | 0.04 - -Nlocal: 24 ave 24 max 24 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 71 ave 71 max 71 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37 ave 37 max 37 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37 -Ave neighs/atom = 1.54167 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - -# Clear up previus calculation - -clear - -# simple CH4 molecule with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.ch4 - triclinic box = (0 0 0) to (19.523 12.758 11.692) with tilt (0 0 0) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 5 atoms - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte NULL -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 10 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 20 13 12 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton/tri - stencil: half/bin/3d/newton/tri - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.651 | 5.651 | 5.651 Mbytes -Step Temp PotEng TotEng Press - 0 0 -23.980353 -23.980353 348.02716 - 10 19.123149 -23.990297 -23.98041 18.774332 -Loop time of 0.0415399 on 1 procs for 10 steps with 5 atoms - -Performance: 5.200 ns/day, 4.616 hours/ns, 240.732 timesteps/s -6674.9% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 5.722e-06 | 5.722e-06 | 5.722e-06 | 0.0 | 0.01 -Bond | 7.6294e-06 | 7.6294e-06 | 7.6294e-06 | 0.0 | 0.02 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.8358e-05 | 1.8358e-05 | 1.8358e-05 | 0.0 | 0.04 -Output | 2.0981e-05 | 2.0981e-05 | 2.0981e-05 | 0.0 | 0.05 -Modify | 0.041394 | 0.041394 | 0.041394 | 0.0 | 99.65 -Other | | 9.322e-05 | | | 0.22 - -Nlocal: 5 ave 5 max 5 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 7 ave 7 max 7 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 10 ave 10 max 10 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 10 -Ave neighs/atom = 2 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - -Total wall time: 0:00:01 diff --git a/lib/latte/.gitignore b/lib/latte/.gitignore deleted file mode 100644 index 2c9ff6be9e..0000000000 --- a/lib/latte/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# files and folders to ignore -/filelink -/liblink -/includelink -/LATTE-* diff --git a/lib/latte/Install.py b/lib/latte/Install.py deleted file mode 100644 index 4e3b27859c..0000000000 --- a/lib/latte/Install.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env python - -""" -Install.py tool to download, unpack, build, and link to the LATTE library -used to automate the steps described in the README file in this dir -""" - -from __future__ import print_function -import sys, os, subprocess, shutil, tarfile -from argparse import ArgumentParser - -sys.path.append('..') -from install_helpers import fullpath, geturl, checkmd5sum, getfallback - -parser = ArgumentParser(prog='Install.py', - description="LAMMPS library build wrapper script") - -# settings - -version = '1.2.2' -suffix = 'gfortran' - -# known checksums for different LATTE versions. used to validate the download. -checksums = { \ - '1.1.0' : '533635721ee222d0ed2925a18fb5b294', \ - '1.2.0' : '68bf0db879da5e068a71281020239ae7', \ - '1.2.1' : '85ac414fdada2d04619c8f936344df14', \ - '1.2.2' : '820e73a457ced178c08c71389a385de7', \ - } - -# help message - -HELP = """ -Syntax from src dir: make lib-latte args="-b" - or: make lib-latte args="-p /usr/local/latte" - or: make lib-latte args="-m gfortran" - or: make lib-latte args="-b -v 1.2.2" - -Syntax from lib dir: python Install.py -b - or: python Install.py -p /usr/local/latte - or: python Install.py -m gfortran - or: python Install.py -v 1.2.2 -b - -Example: - -make lib-latte args="-b -m gfortran" # download/build in lib/latte -make lib-latte args="-p $HOME/latte" # use existing LATTE installation -""" - - -pgroup = parser.add_mutually_exclusive_group() -pgroup.add_argument("-b", "--build", action="store_true", - help="download and build the LATTE library") -pgroup.add_argument("-p", "--path", - help="specify folder of existing LATTE installation") -parser.add_argument("-m", "--machine", choices=['gfortran', 'ifort', 'linalg', 'serial', 'mpi'], - help="suffix of a Makefile.lammps.* file used for linking LAMMPS with this library") -parser.add_argument("-v", "--version", default=version, - help="set version of LATTE to download and build (default: %s)" % version) - -args = parser.parse_args() - -# print help message and exit, if neither build nor path options are given -if not args.build and not args.path: - parser.print_help() - sys.exit(HELP) - -homepath = fullpath(".") - -buildflag = args.build -pathflag = args.path is not None -version = args.version -suffixflag = args.machine is not None -if suffixflag: - suffix = args.machine - -if pathflag: - lattedir = args.path - if not os.path.isdir(lattedir): - sys.exit("LATTE path %s does not exist" % lattedir) - lattedir = fullpath(lattedir) - -homedir = "LATTE-%s" % version - -if buildflag: - url = "https://github.com/lanl/LATTE/archive/v%s.tar.gz" % version - lattepath = fullpath(homepath) - lattedir = os.path.join(lattepath, homedir) - fallback = getfallback('latte', url) - filename = 'LATTE.tar.gz' - -# download and unpack LATTE tarball - -if buildflag: - print("Downloading LATTE ...") - try: - geturl(url, filename) - except: - geturl(fallback, filename) - - # verify downloaded archive integrity via md5 checksum, if known. - if version in checksums: - if not checkmd5sum(checksums[version], filename): - print("Checksum did not match. Trying fallback URL", fallback) - geturl(fallback, filename) - if not checkmd5sum(checksums[version], filename): - sys.exit("Checksum for LATTE library does not match for fallback, too.") - - print("Unpacking LATTE ...") - if os.path.exists(lattedir): - shutil.rmtree(lattedir) - if tarfile.is_tarfile('LATTE.tar.gz'): - tgz = tarfile.open('LATTE.tar.gz') - tgz.extractall() - os.remove('LATTE.tar.gz') - else: - sys.exit("File LATTE.tar.gz is not a supported archive") - - # build LATTE - print("Building LATTE ...") - cmd = 'cd "%s"; make' % lattedir - try: - txt = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - print(txt.decode('UTF-8')) - except subprocess.CalledProcessError as e: - sys.exit("Make failed with:\n %s" % e.output.decode('UTF-8')) - -# create 3 links in lib/latte to LATTE dirs - -print("Creating links to LATTE files") -if os.path.isfile("includelink") or os.path.islink("includelink"): - os.remove("includelink") -if os.path.isfile("liblink") or os.path.islink("liblink"): - os.remove("liblink") -if os.path.isfile("filelink.o") or os.path.islink("filelink.o"): - os.remove("filelink.o") -os.symlink(os.path.join(lattedir, 'src'), 'includelink') -os.symlink(lattedir, 'liblink') -os.symlink(os.path.join(lattedir, 'src', 'latte_c_bind.o'), 'filelink.o') - -# copy Makefile.lammps.suffix to Makefile.lammps - -if suffixflag or not os.path.exists("Makefile.lammps"): - print("Creating Makefile.lammps") - if os.path.exists("Makefile.lammps.%s" % suffix): - shutil.copyfile("Makefile.lammps.%s" % suffix, 'Makefile.lammps') diff --git a/lib/latte/Makefile.lammps.gfortran b/lib/latte/Makefile.lammps.gfortran deleted file mode 100644 index 6aa7782f8a..0000000000 --- a/lib/latte/Makefile.lammps.gfortran +++ /dev/null @@ -1,7 +0,0 @@ -# Settings that the LAMMPS build will import when this package library is used - -# GNU Fortran settings - -latte_SYSINC = -latte_SYSLIB = ../../lib/latte/filelink.o -llatte -lgfortran -llapack -lblas -latte_SYSPATH = -fopenmp diff --git a/lib/latte/Makefile.lammps.ifort b/lib/latte/Makefile.lammps.ifort deleted file mode 100644 index 90010210af..0000000000 --- a/lib/latte/Makefile.lammps.ifort +++ /dev/null @@ -1,12 +0,0 @@ -# Settings that the LAMMPS build will import when this package library is used - -# Intel ifort settings - -latte_SYSINC = -latte_SYSLIB = ../../lib/latte/filelink.o \ - -llatte -lifport -lifcore -lsvml -lompstub -limf \ - -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \ - -lmkl_intel_thread -lpthread -openmp -latte_SYSPATH = -openmp -L${MKLROOT}/lib/intel64 -lmkl_lapack95_lp64 \ - -L/opt/intel/composer_xe_2013_sp1.2.144/compiler/lib/intel64 - diff --git a/lib/latte/Makefile.lammps.linalg b/lib/latte/Makefile.lammps.linalg deleted file mode 100644 index af062a87e3..0000000000 --- a/lib/latte/Makefile.lammps.linalg +++ /dev/null @@ -1,7 +0,0 @@ -# Settings that the LAMMPS build will import when this package library is used - -# GNU Fortran settings for use with bundled linalg lib - -latte_SYSINC = -latte_SYSLIB = ../../lib/latte/filelink.o -llatte -llinalg -lgfortran -latte_SYSPATH = -L../../lib/linalg -fopenmp diff --git a/lib/latte/Makefile.lammps.mpi b/lib/latte/Makefile.lammps.mpi deleted file mode 120000 index 28dd3a614c..0000000000 --- a/lib/latte/Makefile.lammps.mpi +++ /dev/null @@ -1 +0,0 @@ -Makefile.lammps.linalg \ No newline at end of file diff --git a/lib/latte/Makefile.lammps.serial b/lib/latte/Makefile.lammps.serial deleted file mode 120000 index 28dd3a614c..0000000000 --- a/lib/latte/Makefile.lammps.serial +++ /dev/null @@ -1 +0,0 @@ -Makefile.lammps.linalg \ No newline at end of file diff --git a/lib/latte/README b/lib/latte/README deleted file mode 100644 index efd37b9ff0..0000000000 --- a/lib/latte/README +++ /dev/null @@ -1,56 +0,0 @@ -This directory contains links to the LATTE library which is required -to use the LATTE package and its fix latte command in a LAMMPS input -script. - -Information about the LATTE DFTB code can be found at: -https://github.com/lanl/LATTE - -The LATTE development effort is led by Marc Cawkwell and -Anders Niklasson at Los Alamos National Laboratory. - -You can type "make lib-latte" from the src directory to see help on -how to download and build this library via make commands, or you can -do the same thing by typing "python Install.py" from within this -directory, or you can do it manually by following the instructions -below. - ------------------ - -Instructions: - -1. Download or clone the LATTE source code from - https://github.com/lanl/LATTE. If you download a zipfile - or tarball, unpack the tarball either in this /lib/latte - directory or somewhere else on your system. - -2. Modify the makefile.CHOICES according to your system architecture - and compilers. Check that the MAKELIB flag is ON in makefile.CHOICES - and finally, build the code via the make command - % make - -3. Create three symbolic links in this dir (lib/latte) - E.g if you built LATTE in this dir: - % ln -s ./LATTE-master/src includelink - % ln -s ./LATTE-master liblink - % ln -s ./LATTE-master/src/latte_c_bind.o filelink.o - -4. Choose a Makefile.lammps.* file appropriate for your compiler - (GNU gfortran with external BLAS, GNU gfortran with local liblinalg, - or Intel ifort with MKL) and copy it to Makefile.lammps. - Note that you may need to edit Makefile.lammps for paths - and compiler options appropriate to your system. - ------------------ - -When these steps are complete you can build LAMMPS -with the LATTE package installed: - -% cd lammps/src -% make yes-latte -% make g++ (or whatever target you wish) - -Note that if you download and unpack a new LAMMPS tarball, the -"includelink" and "liblink" and "filelink.o" symbolic links will be -lost and you will need to re-create them (step 3). If you built LATTE -in this directory (as opposed to somewhere else on your system), you -will also need to repeat steps 1,2,4. diff --git a/src/LATTE/Install.sh b/src/LATTE/Install.sh deleted file mode 100755 index 4d895ca434..0000000000 --- a/src/LATTE/Install.sh +++ /dev/null @@ -1,67 +0,0 @@ -# Install/unInstall package files in LAMMPS -# mode = 0/1/2 for uninstall/install/update - -mode=$1 - -# enforce using portable C locale -LC_ALL=C -export LC_ALL - -# arg1 = file, arg2 = file it depends on - -action () { - if (test $mode = 0) then - rm -f ../$1 - elif (! cmp -s $1 ../$1) then - if (test -z "$2" || test -e ../$2) then - cp $1 .. - if (test $mode = 2) then - echo " updating src/$1" - fi - fi - elif (test -n "$2") then - if (test ! -e ../$2) then - rm -f ../$1 - fi - fi -} - -# all package files with no dependencies - -for file in *.cpp *.h; do - test -f ${file} && action $file -done - -# edit 2 Makefile.package files to include/exclude package info - -if (test $1 = 1) then - - if (test -e ../Makefile.package) then - sed -i -e 's/[^ \t]*latte[^ \t]* //' ../Makefile.package - sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/latte/includelink |' ../Makefile.package - sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/latte/liblink |' ../Makefile.package - #sed -i -e 's|^PKG_LIB =[ \t]*|&-llatte |' ../Makefile.package - sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(latte_SYSINC) |' ../Makefile.package - sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(latte_SYSLIB) |' ../Makefile.package - sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(latte_SYSPATH) |' ../Makefile.package - fi - - if (test -e ../Makefile.package.settings) then - sed -i -e '/^[ \t]*include.*latte.*$/d' ../Makefile.package.settings - # multiline form needed for BSD sed on Macs - sed -i -e '4 i \ -include ..\/..\/lib\/latte\/Makefile.lammps -' ../Makefile.package.settings - fi - -elif (test $1 = 0) then - - if (test -e ../Makefile.package) then - sed -i -e 's/[^ \t]*latte[^ \t]* //' ../Makefile.package - fi - - if (test -e ../Makefile.package.settings) then - sed -i -e '/^[ \t]*include.*latte.*$/d' ../Makefile.package.settings - fi - -fi diff --git a/src/LATTE/README b/src/LATTE/README deleted file mode 100644 index d7379f2461..0000000000 --- a/src/LATTE/README +++ /dev/null @@ -1,23 +0,0 @@ -This package provides a fix latte command which is a wrapper on the -LATTE DFTB code, so that molecular dynamics can be run with LAMMPS -using density-functional tight-binding quantum forces calculated by -LATTE. More information on LATTE can be found at this web site: -https://github.com/lanl/LATTE. Its authors are Marc Cawkwell and -Anders Niklasson and Christian Negre from Los Alamos National -Laboratory (LANL). A brief technical description of LATTE is given -on the fix_latte doc page. - -Using this package requires the LATTE code to first be downloaded and -built as a library on your system. This can be done in lib/latte or -elsewhere on your system. Details of the download and build process -for LATTE are given in the lib/latte/README file and it can also be -done via the make lib-latte command from the LAMMPS src directory. - -Once you have successfully built LAMMPS with this package and the -LATTE library you can test it using an input file from the examples -latte dir, e.g. - -lmp_serial -in lammps/examples/latte/in.latte.water - -This pair style was written in collaboration with the LATTE -developers. diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp deleted file mode 100644 index d2bde641bf..0000000000 --- a/src/LATTE/fix_latte.cpp +++ /dev/null @@ -1,469 +0,0 @@ -// clang-format off -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - LAMMPS development team: developers@lammps.org - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Contributing author: Christian Negre (LANL) -------------------------------------------------------------------------- */ - -#include "fix_latte.h" - -#include "atom.h" -#include "comm.h" -#include "compute.h" -#include "domain.h" -#include "error.h" -#include "force.h" -#include "group.h" -#include "memory.h" -#include "modify.h" -#include "update.h" - -#include - -using namespace LAMMPS_NS; -using namespace FixConst; - -extern "C" { - void latte(int *, int *, double *, int *, int *, - double *, double *, double *, double *, - double *, double *, double *, int *, - double *, double *, double *, double *, int * , bool *); - int latte_abiversion(); -} - -// the ABIVERSION number here must be kept consistent -// with its counterpart in the LATTE library and the -// prototype above. We want to catch mismatches with -// a meaningful error messages, as they can cause -// difficult to debug crashes or memory corruption. - -#define LATTE_ABIVERSION 20180622 - -/* ---------------------------------------------------------------------- */ - -FixLatte::FixLatte(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) -{ - if (narg < 3) utils::missing_cmd_args(FLERR, "fix latte", error); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Must use units metal with fix latte command"); - - if (comm->nprocs != 1) - error->all(FLERR,"Fix latte currently runs only in serial"); - - if (LATTE_ABIVERSION != latte_abiversion()) - error->all(FLERR,"LAMMPS is linked against incompatible LATTE library"); - - scalar_flag = 1; - global_freq = 1; - extscalar = 1; - energy_global_flag = 1; - virial_global_flag = 1; - thermo_energy = thermo_virial = 1; - - // process optional args - - coulomb = 0; - id_pe = nullptr; - exclude = 0; - id_exclude = nullptr; - - int iarg = 3; - while (iarg < narg) { - if (strcmp(arg[iarg],"coulomb") == 0) { - if (iarg+2 > narg) - utils::missing_cmd_args(FLERR, "fix latte coulomb", error); - coulomb = 1; - error->all(FLERR,"Fix latte does not yet support LAMMPS calculation of a Coulomb potential"); - delete[] id_pe; - id_pe = utils::strdup(arg[iarg+1]); - c_pe = modify->get_compute_by_id(id_pe); - if (!c_pe) error->all(FLERR,"Could not find fix latte compute ID {}", id_pe); - if (c_pe->peatomflag == 0) error->all(FLERR,"Fix latte compute ID does not compute pe/atom"); - iarg += 2; - - } else if (strcmp(arg[iarg],"exclude") == 0) { - if (iarg+2 > narg) - utils::missing_cmd_args(FLERR, "fix latte exclude", error); - exclude = 1; - delete[] id_exclude; - id_exclude = utils::strdup(arg[iarg+1]); - iarg += 2; - - } else - error->all(FLERR, "Unknown fix latte keyword: {}", arg[iarg]); - } - - // initializations - - nmax = 0; - qpotential = nullptr; - flatte = nullptr; - - latte_energy = 0.0; -} - -/* ---------------------------------------------------------------------- */ - -FixLatte::~FixLatte() -{ - delete[] id_pe; - delete[] id_exclude; - memory->destroy(qpotential); - memory->destroy(flatte); -} - -/* ---------------------------------------------------------------------- */ - -int FixLatte::setmask() -{ - int mask = 0; - mask |= PRE_REVERSE; - mask |= POST_FORCE; - mask |= MIN_POST_FORCE; - return mask; -} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::init() -{ - // error checks - - if (domain->dimension == 2) - error->all(FLERR,"Fix latte requires 3d problem"); - - if (coulomb) { - if (atom->q_flag == 0 || force->pair == nullptr || force->kspace == nullptr) - error->all(FLERR,"Fix latte cannot compute Coulomb potential"); - c_pe = modify->get_compute_by_id(id_pe); - if (!c_pe) error->all(FLERR,"Fix latte could not find Coulomb compute ID {}",id_pe); - } - - // must be fully periodic or fully non-periodic - - if (domain->nonperiodic == 0) pbcflag = 1; - else if (!domain->xperiodic && !domain->yperiodic && !domain->zperiodic) - pbcflag = 0; - else error->all(FLERR,"Fix latte requires 3d simulation"); - - // create qpotential & flatte if needed - // for now, assume nlocal will never change - - if (coulomb && qpotential == nullptr) { - memory->create(qpotential,atom->nlocal,"latte:qpotential"); - memory->create(flatte,atom->nlocal,3,"latte:flatte"); - } - - // extract pointer to exclusion_group variable from id_exclude - // exclusion_group is index of a group the Fix defines - - if (exclude) { - Fix *f_exclude = modify->get_fix_by_id(id_exclude); - if (!f_exclude) error->all(FLERR,"Fix latte could not find exclude fix ID {}", id_exclude); - int dim; - exclusion_group_ptr = (int *) f_exclude->extract("exclusion_group", dim); - if (!exclusion_group_ptr || dim != 0) - error->all(FLERR,"Fix latte could not query exclude_group of fix ID {}", id_exclude); - } -} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::init_list(int /*id*/, NeighList * /*ptr*/) -{ - // list = ptr; -} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::setup(int vflag) -{ - natoms_last = -1; - setupflag = 1; - post_force(vflag); - setupflag = 0; -} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::min_setup(int vflag) -{ - natoms_last = -1; - setupflag = 1; - post_force(vflag); - setupflag = 0; -} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::setup_pre_reverse(int eflag, int vflag) -{ - pre_reverse(eflag,vflag); -} - -/* ---------------------------------------------------------------------- - integrate electronic degrees of freedom -------------------------------------------------------------------------- */ - -void FixLatte::initial_integrate(int /*vflag*/) {} - -/* ---------------------------------------------------------------------- - store eflag, so can use it in post_force to tally per-atom energies -------------------------------------------------------------------------- */ - -void FixLatte::pre_reverse(int eflag, int /*vflag*/) -{ - eflag_caller = eflag; -} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::post_force(int vflag) -{ - int eflag = eflag_caller; - ev_init(eflag,vflag); - - // compute Coulombic potential = pe[i]/q[i] - // invoke compute pe/atom - // wrap with clear/add and trigger pe/atom calculation every step - - if (coulomb) { - modify->clearstep_compute(); - - if (!(c_pe->invoked_flag & Compute::INVOKED_PERATOM)) { - c_pe->compute_peratom(); - c_pe->invoked_flag |= Compute::INVOKED_PERATOM; - } - - modify->addstep_compute(update->ntimestep+1); - - double *pe = c_pe->vector_atom; - double *q = atom->q; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) - if (q[i]) qpotential[i] = pe[i]/q[i]; - else qpotential[i] = 0.0; - } - - // hardwire these unsupported flags for now - - int coulombflag = 0; - neighflag = 0; - - // set flags used by LATTE - // note that LATTE does not compute per-atom energies or virials - - flags_latte[0] = pbcflag; // 1 for fully periodic, 0 for fully non-periodic - flags_latte[1] = coulombflag; // 1 for LAMMPS computes Coulombics, 0 for LATTE - flags_latte[2] = eflag_atom; // 1 to return per-atom energies, 0 for no - flags_latte[3] = vflag_global && thermo_virial; // 1 to return global/per-atom - flags_latte[4] = vflag_atom && thermo_virial; // virial, 0 for no - flags_latte[5] = neighflag; // 1 to pass neighbor list to LATTE, 0 for no - - // newsystem flag determines whether LATTE treats snapshot - // as new system (more work) or increment to last system - // if setup or atom count changed then newsystem = 1 - // else newsystem = 0 - - if (setupflag || atom->natoms != natoms_last) newsystem = 1; - else newsystem = 0; - - // setup arguments for latte() function and invoke it - // either for all atoms or excluding some atoms - // in latter case, need to construct reduced-size per-atom vectors/arrays - - if (!exclude) latte_wrapper_all(); - else { - int anyexclude = 0; - - int exclusion_group = *exclusion_group_ptr; - if (exclusion_group) { - int excludebit = group->bitmask[exclusion_group]; - - int *mask = atom->mask; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) - if (mask[i] & excludebit) anyexclude = 1; - } - - if (!anyexclude) latte_wrapper_all(); - else latte_wrapper_exclude(); - } - - newsystem = 0; - natoms_last = atom->natoms; - - // sum LATTE forces to LAMMPS forces - // e.g. LAMMPS may compute Coulombics at some point - - if (coulomb) { - double **f = atom->f; - int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; i++) { - f[i][0] += flatte[i][0]; - f[i][1] += flatte[i][1]; - f[i][2] += flatte[i][2]; - } - } -} - -/* ---------------------------------------------------------------------- - invoke LATTE on all LAMMPS atoms -------------------------------------------------------------------------- */ - -void FixLatte::latte_wrapper_all() -{ - int natoms = atom->nlocal; - double *coords = &atom->x[0][0]; - int *types = atom->type; - int ntypes = atom->ntypes; - double *mass = &atom->mass[1]; - double *boxlo = domain->boxlo; - double *boxhi = domain->boxhi; - double *forces; - bool latteerror = false; - if (coulomb) forces = &flatte[0][0]; - else forces = &atom->f[0][0]; - int maxiter = -1; - - latte(flags_latte,&natoms,coords,types,&ntypes,mass,boxlo,boxhi, - &domain->xy,&domain->xz,&domain->yz,forces,&maxiter,&latte_energy, - &atom->v[0][0],&update->dt,virial,&newsystem,&latteerror); - - if (latteerror) error->all(FLERR,"Internal LATTE problem"); -} - -/* ---------------------------------------------------------------------- - invoke LATTE on only LAMMPS atoms not in exclude group -------------------------------------------------------------------------- */ - -void FixLatte::latte_wrapper_exclude() -{ - int m; - - int exclusion_group = *exclusion_group_ptr; - int excludebit = group->bitmask[exclusion_group]; - - int *mask = atom->mask; - int nlocal = atom->nlocal; - - // nlatte = number of non-excluded atoms to pass to LATTE - - int nlatte = 0; - for (int i = 0; i < nlocal; i++) - if (!(mask[i] & excludebit)) nlatte++; - - // created compressed type vector and coords array - - int *typeinclude; - double **xinclude,**finclude; - memory->create(typeinclude,nlatte,"latte:typeinclude"); - memory->create(xinclude,nlatte,3,"latte:xinclude"); - memory->create(finclude,nlatte,3,"latte:finclude"); - - double *coords = &xinclude[0][0]; - int *types = typeinclude; - double *forces = &finclude[0][0]; - - double **x = atom->x; - int *type = atom->type; - - nlatte = 0; - m = 0; - for (int i = 0; i < nlocal; i++) { - if (mask[i] & excludebit) continue; - types[nlatte] = type[i]; - nlatte++; - coords[m+0] = x[i][0]; - coords[m+1] = x[i][1]; - coords[m+2] = x[i][2]; - m += 3; - } - - int ntypes = atom->ntypes; - double *mass = &atom->mass[1]; - double *boxlo = domain->boxlo; - double *boxhi = domain->boxhi; - bool latteerror = false; - int maxiter = -1; - - latte(flags_latte,&nlatte,coords,types,&ntypes,mass,boxlo,boxhi, - &domain->xy,&domain->xz,&domain->yz,forces,&maxiter,&latte_energy, - &atom->v[0][0],&update->dt,virial,&newsystem,&latteerror); - - if (latteerror) error->all(FLERR,"Internal LATTE problem"); - - // expand compressed forces array - - double **f = atom->f; - - m = 0; - for (int i = 0; i < nlocal; i++) { - if (mask[i] & excludebit) continue; - f[i][0] = forces[m+0]; - f[i][1] = forces[m+1]; - f[i][2] = forces[m+2]; - m += 3; - } - - memory->destroy(typeinclude); - memory->destroy(xinclude); - memory->destroy(finclude); -} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::min_post_force(int vflag) -{ - post_force(vflag); -} - -/* ---------------------------------------------------------------------- - integrate electronic degrees of freedom -------------------------------------------------------------------------- */ - -void FixLatte::final_integrate() {} - -/* ---------------------------------------------------------------------- */ - -void FixLatte::reset_dt() -{ - //dtv = update->dt; - //dtf = 0.5 * update->dt * force->ftm2v; -} - -/* ---------------------------------------------------------------------- - DFTB energy from LATTE -------------------------------------------------------------------------- */ - -double FixLatte::compute_scalar() -{ - return latte_energy; -} - -/* ---------------------------------------------------------------------- - memory usage of local arrays -------------------------------------------------------------------------- */ - -double FixLatte::memory_usage() -{ - double bytes = 0.0; - if (coulomb) bytes += (double)nmax * sizeof(double); - if (coulomb) bytes += (double)nmax*3 * sizeof(double); - return bytes; -} diff --git a/src/LATTE/fix_latte.h b/src/LATTE/fix_latte.h deleted file mode 100644 index c3af3c4e3f..0000000000 --- a/src/LATTE/fix_latte.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - LAMMPS development team: developers@lammps.org - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS -// clang-format off -FixStyle(latte,FixLatte); -// clang-format on -#else - -#ifndef LMP_FIX_LATTE_H -#define LMP_FIX_LATTE_H - -#include "fix.h" - -namespace LAMMPS_NS { - -class FixLatte : public Fix { - public: - FixLatte(class LAMMPS *, int, char **); - ~FixLatte() override; - int setmask() override; - void init() override; - void init_list(int, class NeighList *) override; - void setup(int) override; - void min_setup(int) override; - void setup_pre_reverse(int, int) override; - void initial_integrate(int) override; - void pre_reverse(int, int) override; - void post_force(int) override; - void min_post_force(int) override; - void final_integrate() override; - void reset_dt() override; - double compute_scalar() override; - double memory_usage() override; - - protected: - int coulomb, pbcflag, pe_peratom, virial_global, virial_peratom, neighflag; - int exclude, excludebit; - int eflag_caller; - char *id_pe, *id_exclude; - int *exclusion_group_ptr; - int setupflag, newsystem; - bigint natoms_last; - - int flags_latte[6]; - - int nmax; - double *qpotential; - double **flatte; - double latte_energy; - - class NeighList *list; - class Compute *c_pe; - - void latte_wrapper_all(); - void latte_wrapper_exclude(); -}; - -} // namespace LAMMPS_NS - -#endif -#endif diff --git a/src/Makefile b/src/Makefile index 30032250c9..ee59d756dd 100644 --- a/src/Makefile +++ b/src/Makefile @@ -87,7 +87,6 @@ PACKAGE = \ kokkos \ kspace \ latboltz \ - latte \ lepton \ machdyn \ manifold \ @@ -213,7 +212,6 @@ PACKLIB = \ gpu \ kim \ kokkos \ - latte \ lepton \ mpiio \ mscg \ @@ -249,7 +247,6 @@ PACKEXT = \ adios \ h5md \ kim \ - latte \ machdyn \ ml-hdnnp \ ml-pace \