From fd3be6176d7c40317c23cb181aba00ae87064b54 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 08:36:23 -0400 Subject: [PATCH 01/15] remove dead code --- python/lammps/core.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index d981243503..c4639eee4f 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1790,7 +1790,6 @@ class lammps(object): with ExceptionCheck(self): return self.lib.lammps_fix_external_get_force(self.lmp, fix_id.encode()) - return None # ------------------------------------------------------------------------- From 594bf56ee34b069341eee38fef0b2865245cf00c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 12:12:40 -0400 Subject: [PATCH 02/15] silence compiler warnings on macOS --- unittest/formats/test_file_operations.cpp | 1 - unittest/utils/test_tokenizer.cpp | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index 794222fe5a..af2023cebb 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -281,7 +281,6 @@ TEST_F(FileOperationsTest, error_message_warn) TEST_F(FileOperationsTest, error_all_one) { - char buf[64]; BEGIN_HIDE_OUTPUT(); command("echo none"); command("log none"); diff --git a/unittest/utils/test_tokenizer.cpp b/unittest/utils/test_tokenizer.cpp index c62a947d5c..698283ea53 100644 --- a/unittest/utils/test_tokenizer.cpp +++ b/unittest/utils/test_tokenizer.cpp @@ -94,7 +94,8 @@ TEST(Tokenizer, copy_constructor) TEST(Tokenizer, move_constructor) { - Tokenizer u = std::move(Tokenizer("test new word ", " ")); + Tokenizer t("test new word ", " "); + Tokenizer u = std::move(t); ASSERT_THAT(u.next(), Eq("test")); ASSERT_THAT(u.next(), Eq("new")); ASSERT_THAT(u.next(), Eq("word")); @@ -248,7 +249,8 @@ TEST(ValueTokenizer, copy_constructor) TEST(ValueTokenizer, move_constructor) { - ValueTokenizer u = std::move(ValueTokenizer(" test new word ", " ")); + ValueTokenizer t(" test new word ", " "); + ValueTokenizer u = std::move(t); ASSERT_THAT(u.next_string(), Eq("test")); ASSERT_THAT(u.next_string(), Eq("new")); ASSERT_THAT(u.next_string(), Eq("word")); From 25aa2029769f43801d28a7bce9cdec9e8cf5a35d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 12:12:57 -0400 Subject: [PATCH 03/15] tweak epsilon to pass reaxff unittests on macOS --- unittest/force-styles/tests/atomic-pair-reax_c.yaml | 2 +- unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reax_c.yaml index c4d41a2f2a..d5bed64ae6 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c.yaml @@ -1,7 +1,7 @@ --- lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:45 2021 -epsilon: 1e-11 +epsilon: 2e-11 prerequisites: ! | pair reaxff fix qeq/reaxff diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml index c766c242f9..b124a6b00b 100644 --- a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml +++ b/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml @@ -1,7 +1,7 @@ --- lammps_version: 2 Jul 2021 date_generated: Wed Jul 21 15:49:47 2021 -epsilon: 1e-12 +epsilon: 3e-12 prerequisites: ! | pair reaxff fix qeq/reaxff From c5872528948884d7f1fa6eece6dc6dd9b198bcf7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Jul 2021 12:13:50 -0400 Subject: [PATCH 04/15] rename unittest YAML files --- .../tests/{atomic-pair-reax_c.yaml => atomic-pair-reaxff.yaml} | 0 ...tomic-pair-reax_c_lgvdw.yaml => atomic-pair-reaxff_lgvdw.yaml} | 0 ...tomic-pair-reax_c_noqeq.yaml => atomic-pair-reaxff_noqeq.yaml} | 0 ...pair-reax_c_tabulate.yaml => atomic-pair-reaxff_tabulate.yaml} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename unittest/force-styles/tests/{atomic-pair-reax_c.yaml => atomic-pair-reaxff.yaml} (100%) rename unittest/force-styles/tests/{atomic-pair-reax_c_lgvdw.yaml => atomic-pair-reaxff_lgvdw.yaml} (100%) rename unittest/force-styles/tests/{atomic-pair-reax_c_noqeq.yaml => atomic-pair-reaxff_noqeq.yaml} (100%) rename unittest/force-styles/tests/{atomic-pair-reax_c_tabulate.yaml => atomic-pair-reaxff_tabulate.yaml} (100%) diff --git a/unittest/force-styles/tests/atomic-pair-reax_c.yaml b/unittest/force-styles/tests/atomic-pair-reaxff.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff.yaml diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml b/unittest/force-styles/tests/atomic-pair-reaxff_lgvdw.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff_lgvdw.yaml diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml b/unittest/force-styles/tests/atomic-pair-reaxff_noqeq.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c_noqeq.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff_noqeq.yaml diff --git a/unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml b/unittest/force-styles/tests/atomic-pair-reaxff_tabulate.yaml similarity index 100% rename from unittest/force-styles/tests/atomic-pair-reax_c_tabulate.yaml rename to unittest/force-styles/tests/atomic-pair-reaxff_tabulate.yaml From 57270c5339609748f26a18ad05250a5a45aba981 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Jul 2021 13:46:13 -0400 Subject: [PATCH 05/15] set flag to tell CMake to not use/link the MPI C++ interface in the correct place --- cmake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a5861ab885..6c446bdb1b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -238,20 +238,20 @@ if(PKG_ADIOS) endif() if(NOT CMAKE_CROSSCOMPILING) - set(MPI_CXX_SKIP_MPICXX TRUE) find_package(MPI QUIET) option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) else() - set(MPI_CXX_SKIP_MPICXX TRUE) option(BUILD_MPI "Build MPI version" OFF) endif() if(BUILD_MPI) # We use a non-standard procedure to cross-compile with MPI on Windows if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) + set(MPI_CXX_SKIP_MPICXX TRUE) include(MPI4WIN) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) else() + set(MPI_CXX_SKIP_MPICXX TRUE) find_package(MPI REQUIRED) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) From 1ebd60e35e5956c6d0691bbe4098da393e9f80f6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 10:56:38 -0400 Subject: [PATCH 06/15] update and add explanation --- cmake/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 6c446bdb1b..7269fc5c9b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -245,13 +245,14 @@ else() endif() if(BUILD_MPI) + # do not include the (obsolete) MPI C++ bindings which makes + # for leaner object files and avoids namespace conflicts + set(MPI_CXX_SKIP_MPICXX TRUE) # We use a non-standard procedure to cross-compile with MPI on Windows if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) - set(MPI_CXX_SKIP_MPICXX TRUE) include(MPI4WIN) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) else() - set(MPI_CXX_SKIP_MPICXX TRUE) find_package(MPI REQUIRED) target_link_libraries(lammps PUBLIC MPI::MPI_CXX) option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) From 7e6a06b1cc76ed475419baf4073427bff5397185 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 21:04:26 -0400 Subject: [PATCH 07/15] update Pizza.py URLs --- doc/src/Howto_viz.rst | 2 +- doc/src/Python_examples.rst | 4 ++-- doc/src/Tools.rst | 2 +- doc/src/balance.rst | 2 +- doc/src/dump.rst | 2 +- doc/src/dump_image.rst | 4 ++-- doc/src/fix_balance.rst | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/Howto_viz.rst b/doc/src/Howto_viz.rst index 2eb009c185..bcad6dddec 100644 --- a/doc/src/Howto_viz.rst +++ b/doc/src/Howto_viz.rst @@ -25,7 +25,7 @@ RasMol visualization programs. Pizza.py has tools that do interactive 3d OpenGL visualization and one that creates SVG images of dump file snapshots. -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza .. _ensight: https://www.ansys.com/products/fluids/ansys-ensight diff --git a/doc/src/Python_examples.rst b/doc/src/Python_examples.rst index 7466b52ba9..fe5fe812c5 100644 --- a/doc/src/Python_examples.rst +++ b/doc/src/Python_examples.rst @@ -35,9 +35,9 @@ visualization package you have installed. Note that for GL, you need to be able to run the Pizza.py GL tool, which is included in the pizza sub-directory. See the Pizza.py doc pages for more info: -* `https://pizza.sandia.gov `_ +* `https://lammps.github.io/pizza `_ -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza Note that for AtomEye, you need version 3, and there is a line in the scripts that specifies the path and name of the executable. See the diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index e7cd87aa78..7eb6515fad 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -15,7 +15,7 @@ Sandia which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. .. _lws: https://www.lammps.org -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza .. _python: https://www.python.org Additional tools included in the LAMMPS distribution are described on diff --git a/doc/src/balance.rst b/doc/src/balance.rst index 5d42fabb21..f7ae4c6bff 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -558,7 +558,7 @@ Related commands :doc:`group `, :doc:`processors `, :doc:`fix balance `, :doc:`comm_style ` -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza Default """"""" diff --git a/doc/src/dump.rst b/doc/src/dump.rst index a5f11a792a..b55cde650e 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -230,7 +230,7 @@ individual values and the file itself. The *atom*\ , *local*\ , and *custom* styles create files in a simple text format that is self-explanatory when viewing a dump file. Some of the LAMMPS post-processing tools described on the :doc:`Tools ` doc -page, including `Pizza.py `_, +page, including `Pizza.py `_, work with this format, as does the :doc:`rerun ` command. For post-processing purposes the *atom*\ , *local*\ , and *custom* text diff --git a/doc/src/dump_image.rst b/doc/src/dump_image.rst index 3923d5c2dc..291aeae9c3 100644 --- a/doc/src/dump_image.rst +++ b/doc/src/dump_image.rst @@ -590,8 +590,8 @@ Play the movie: % mplayer foo.mpg % ffplay bar.avi -* c) Use the `Pizza.py `_ - `animate tool `_, +* c) Use the `Pizza.py `_ + `animate tool `_, which works directly on a series of image files. .. code-block:: python diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 8bab8ebefc..772f049461 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -403,7 +403,7 @@ Related commands :doc:`group `, :doc:`processors `, :doc:`balance `, :doc:`comm_style ` -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza Default """"""" From ef244c3061cd37614b0d6fc6693fddeffb22dfe8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Jul 2021 21:05:33 -0400 Subject: [PATCH 08/15] small updates to the introduction --- doc/src/Intro_features.rst | 23 +++++++++++++++-------- doc/src/Intro_nonfeatures.rst | 2 +- doc/src/Intro_overview.rst | 20 +++++++++++--------- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/doc/src/Intro_features.rst b/doc/src/Intro_features.rst index 648c427b11..f1c04bdb23 100644 --- a/doc/src/Intro_features.rst +++ b/doc/src/Intro_features.rst @@ -24,11 +24,15 @@ General features ^^^^^^^^^^^^^^^^ * runs on a single processor or in parallel -* distributed-memory message-passing parallelism (MPI) -* spatial-decomposition of simulation domain for parallelism -* open-source distribution -* highly portable C++ -* optional libraries used: MPI and single-processor FFT +* distributed memory message-passing parallelism (MPI) +* shared memory multi-threading parallelism (OpenMP) +* spatial decomposition of simulation domain for MPI parallelism +* particle decomposition inside of spatial decomposition for OpenMP parallelism +* GPLv2 licensed open-source distribution +* highly portable C++-11 +* modular code with most functionality in optional packages +* only depends on MPI library for basic parallel functionality +* other libraries are optional and only required for specific packages * GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features * easy to extend with new features and functionality * runs from an input script @@ -68,9 +72,9 @@ Interatomic potentials (force fields) :doc:`improper style `, :doc:`kspace style ` commands) -* pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated +* pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated * charged pairwise potentials: Coulombic, point-dipole -* many-body potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic +* many-body potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic * long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald) * polarization models: :doc:`QEq `, :doc:`core/shell model `, :doc:`Drude dipole model ` * charge equilibration (QEq via dynamic, point, shielded, Slater methods) @@ -170,9 +174,12 @@ Multi-replica models ^^^^^^^^^^^^^^^^^^^^ * :doc:`nudged elastic band ` +* :doc:`hyperdynamics ` * :doc:`parallel replica dynamics ` * :doc:`temperature accelerated dynamics ` * :doc:`parallel tempering ` +* :doc:`path-integral MD ` +* multi-walker collective variables with :doc:`Colvars ` and :doc:`Plumed ` .. _prepost: @@ -187,7 +194,7 @@ Pre- and post-processing plotting, and visualization for LAMMPS simulations. Pizza.py is written in `Python `_ and is available for download from `the Pizza.py WWW site `_. -.. _pizza: https://pizza.sandia.gov +.. _pizza: https://lammps.github.io/pizza .. _python: http://www.python.org diff --git a/doc/src/Intro_nonfeatures.rst b/doc/src/Intro_nonfeatures.rst index d034ccb443..af406a127e 100644 --- a/doc/src/Intro_nonfeatures.rst +++ b/doc/src/Intro_nonfeatures.rst @@ -77,7 +77,7 @@ Here are suggestions on how to perform these tasks: it easier to analyze and plot. See the :doc:`Tools ` doc page for more discussion of the various tools. * **Pizza.py:** Our group has also written a separate toolkit called - `Pizza.py `_ which can do certain kinds of + `Pizza.py `_ which can do certain kinds of setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS simulations. It thus provides some functionality for several of the above bullets. Pizza.py is written in `Python `_ diff --git a/doc/src/Intro_overview.rst b/doc/src/Intro_overview.rst index 8ab85a0d99..8d8d4eae83 100644 --- a/doc/src/Intro_overview.rst +++ b/doc/src/Intro_overview.rst @@ -18,10 +18,11 @@ supercomputers. .. _mpi: https://en.wikipedia.org/wiki/Message_Passing_Interface .. _lws: https://www.lammps.org -LAMMPS is written in C++. Earlier versions were written in F77 and -F90. See the `History page `_ of -the website for details. All versions can be downloaded from the -`LAMMPS website `_. +LAMMPS is written in C++ and requires a compiler that is at least +compatible with the C++-11 standard. +Earlier versions were written in F77 and F90. See the `History page +`_ of the website for details. All +versions can be downloaded from the `LAMMPS website `_. LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary @@ -41,8 +42,9 @@ short distances, so that the local density of particles never becomes too large. This is in contrast to methods used for modeling plasma or gravitational bodies (e.g. galaxy formation). -On parallel machines, LAMMPS uses spatial-decomposition techniques to -partition the simulation domain into small sub-domains of equal -computational cost, one of which is assigned to each processor. -Processors communicate and store "ghost" atom information for atoms -that border their sub-domain. +On parallel machines, LAMMPS uses spatial-decomposition techniques with +MPI parallelization to partition the simulation domain into small +sub-domains of equal computational cost, one of which is assigned to +each processor. Processors communicate and store "ghost" atom +information for atoms that border their sub-domain. Multi-threading +parallelization with with particle-decomposition can be used in addition. From cca17feb27c91944ef4a8e4a2ff6e5fa6e61e5f8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 12:31:09 -0400 Subject: [PATCH 09/15] silence compiler warnings, remove dead code --- src/DIELECTRIC/pppm_disp_dielectric.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index bb00a74922..b6a82296b2 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -647,7 +647,6 @@ void PPPMDispDielectric::fieldforce_c_ad() // convert E-field to force and substract self forces const double qfactor = qqrd2e * scale; - double qtmp = eps[i]*q[i]; s1 = x[i][0]*hx_inv; s2 = x[i][1]*hy_inv; @@ -751,7 +750,7 @@ void PPPMDispDielectric::fieldforce_c_peratom() extended to non-neutral systems (J. Chem. Phys. 131, 094107). ------------------------------------------------------------------------- */ -void PPPMDispDielectric::slabcorr(int eflag) +void PPPMDispDielectric::slabcorr(int /*eflag*/) { // compute local contribution to global dipole moment From 829bc8a617910d2226f67d8ee27c57daced0eb1f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Jul 2021 18:45:37 -0400 Subject: [PATCH 10/15] update equation for updated NEB code --- doc/src/fix_neb.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_neb.rst b/doc/src/fix_neb.rst index 848369d3ea..5e57da328a 100644 --- a/doc/src/fix_neb.rst +++ b/doc/src/fix_neb.rst @@ -89,7 +89,7 @@ first stage) is changed to: .. parsed-literal:: - Fi = -Grad(V) + 2 (Grad(V) dot T') T' + Fi = -Grad(V) + 2 (Grad(V) dot T') T' + Fnudge_perp and the relaxation procedure is continued to a new converged MEP. From 16fae72670b9eebaf3dbec4805d7dd8094f1ca61 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 08:44:59 -0400 Subject: [PATCH 11/15] small tweak for MinGW-64 compilation on Fedora 34 --- cmake/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 7269fc5c9b..b76163aaef 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -363,6 +363,8 @@ if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_LATTE) endif() endif() +# tweak jpeg library names to avoid linker errors with MinGW cross-compilation +set(JPEG_NAMES libjpeg libjpeg-62) find_package(JPEG QUIET) option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND}) if(WITH_JPEG) From f39c5178d81276070bc4b29c7c487e21494e7e5f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 09:56:52 -0400 Subject: [PATCH 12/15] update plumed to version 2.7.2 and drop workaround for 2.7.1 --- cmake/Modules/Packages/PLUMED.cmake | 5 ++--- lib/plumed/Install.py | 1 + tools/offline/scripts/init_http_cache.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/Packages/PLUMED.cmake b/cmake/Modules/Packages/PLUMED.cmake index e9eba779f5..0f063f3e14 100644 --- a/cmake/Modules/Packages/PLUMED.cmake +++ b/cmake/Modules/Packages/PLUMED.cmake @@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED) set(PLUMED_BUILD_BYPRODUCTS "/lib/libplumedWrapper.a") endif() - set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" CACHE STRING "URL for PLUMED tarball") - set(PLUMED_MD5 "4eac6a462ec84dfe0cec96c82421b8e8" CACHE STRING "MD5 checksum of PLUMED tarball") + set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" CACHE STRING "URL for PLUMED tarball") + set(PLUMED_MD5 "cfa0b4dd90a81c25d3302e8d97bfeaea" CACHE STRING "MD5 checksum of PLUMED tarball") mark_as_advanced(PLUMED_URL) mark_as_advanced(PLUMED_MD5) @@ -72,7 +72,6 @@ if(DOWNLOAD_PLUMED) ${PLUMED_CONFIG_OMP} CXX=${PLUMED_CONFIG_CXX} CC=${PLUMED_CONFIG_CC} - PATCH_COMMAND sed -i "/^#include /a #include " /src/lepton/Operation.h BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS} ) ExternalProject_get_property(plumed_build INSTALL_DIR) diff --git a/lib/plumed/Install.py b/lib/plumed/Install.py index e3858b39d3..548e51a5bc 100644 --- a/lib/plumed/Install.py +++ b/lib/plumed/Install.py @@ -53,6 +53,7 @@ checksums = { \ '2.6.3' : 'a9f8028fd74528c2024781ea1fdefeee', \ '2.7.0' : '95f29dd0c067577f11972ff90dfc7d12', \ '2.7.1' : '4eac6a462ec84dfe0cec96c82421b8e8', \ + '2.7.2' : 'cfa0b4dd90a81c25d3302e8d97bfeaea', \ } # parse and process arguments diff --git a/tools/offline/scripts/init_http_cache.sh b/tools/offline/scripts/init_http_cache.sh index 55856bbf21..44a07da35a 100755 --- a/tools/offline/scripts/init_http_cache.sh +++ b/tools/offline/scripts/init_http_cache.sh @@ -50,7 +50,7 @@ CUB_URL="https://github.com/NVlabs/cub/archive/1.12.0.tar.gz" KOKKOS_URL="https://github.com/kokkos/kokkos/archive/3.4.01.tar.gz" KIM_URL="https://s3.openkim.org/kim-api/kim-api-2.2.1.txz" MSCG_URL="https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz" -PLUMED_URL="https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" +PLUMED_URL="https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" PACELIB_URL="https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.4.9.tar.gz" LATTE_URL="https://github.com/lanl/LATTE/archive/v1.2.2.tar.gz" SCAFACOS_URL="https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz" From ec069595f767b5285c55dda69834e819ad3c3824 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 11:16:40 -0400 Subject: [PATCH 13/15] move compute orientorder/atom because compute coord/atom depends on it --- doc/src/compute_orientorder_atom.rst | 3 +-- src/{EXTRA-COMPUTE => }/compute_orientorder_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_orientorder_atom.h | 0 3 files changed, 1 insertion(+), 2 deletions(-) rename src/{EXTRA-COMPUTE => }/compute_orientorder_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_orientorder_atom.h (100%) diff --git a/doc/src/compute_orientorder_atom.rst b/doc/src/compute_orientorder_atom.rst index 2efea311a0..bc608e21d7 100644 --- a/doc/src/compute_orientorder_atom.rst +++ b/doc/src/compute_orientorder_atom.rst @@ -182,8 +182,7 @@ page for an overview of LAMMPS output options. Restrictions """""""""""" -This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +none Related commands """""""""""""""" diff --git a/src/EXTRA-COMPUTE/compute_orientorder_atom.cpp b/src/compute_orientorder_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_orientorder_atom.cpp rename to src/compute_orientorder_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_orientorder_atom.h b/src/compute_orientorder_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_orientorder_atom.h rename to src/compute_orientorder_atom.h From f7f85822a932c63d95a9a2c0bb93a451ea5519ee Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 12:07:12 -0400 Subject: [PATCH 14/15] move some more computes from EXTRA-COMPUTE back to src because of dependencies --- doc/src/compute_cluster_atom.rst | 3 +-- src/{EXTRA-COMPUTE => }/compute_aggregate_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_aggregate_atom.h | 0 src/{EXTRA-COMPUTE => }/compute_cluster_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_cluster_atom.h | 0 src/{EXTRA-COMPUTE => }/compute_fragment_atom.cpp | 0 src/{EXTRA-COMPUTE => }/compute_fragment_atom.h | 0 7 files changed, 1 insertion(+), 2 deletions(-) rename src/{EXTRA-COMPUTE => }/compute_aggregate_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_aggregate_atom.h (100%) rename src/{EXTRA-COMPUTE => }/compute_cluster_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_cluster_atom.h (100%) rename src/{EXTRA-COMPUTE => }/compute_fragment_atom.cpp (100%) rename src/{EXTRA-COMPUTE => }/compute_fragment_atom.h (100%) diff --git a/doc/src/compute_cluster_atom.rst b/doc/src/compute_cluster_atom.rst index f82b2affa5..32954480cc 100644 --- a/doc/src/compute_cluster_atom.rst +++ b/doc/src/compute_cluster_atom.rst @@ -119,8 +119,7 @@ The per-atom vector values will be an ID > 0, as explained above. Restrictions """""""""""" -These computes are part of the EXTRA-COMPUTE package. They are only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +none Related commands """""""""""""""" diff --git a/src/EXTRA-COMPUTE/compute_aggregate_atom.cpp b/src/compute_aggregate_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_aggregate_atom.cpp rename to src/compute_aggregate_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_aggregate_atom.h b/src/compute_aggregate_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_aggregate_atom.h rename to src/compute_aggregate_atom.h diff --git a/src/EXTRA-COMPUTE/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_cluster_atom.cpp rename to src/compute_cluster_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_cluster_atom.h b/src/compute_cluster_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_cluster_atom.h rename to src/compute_cluster_atom.h diff --git a/src/EXTRA-COMPUTE/compute_fragment_atom.cpp b/src/compute_fragment_atom.cpp similarity index 100% rename from src/EXTRA-COMPUTE/compute_fragment_atom.cpp rename to src/compute_fragment_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_fragment_atom.h b/src/compute_fragment_atom.h similarity index 100% rename from src/EXTRA-COMPUTE/compute_fragment_atom.h rename to src/compute_fragment_atom.h From d292da78ca705254536b05f2f799bbbf230398d5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Jul 2021 12:29:44 -0400 Subject: [PATCH 15/15] address CodeQL warnings and reformat with clang-format --- src/EXTRA-COMPUTE/compute_hma.cpp | 28 ++-- src/TALLY/compute_force_tally.cpp | 101 +++++++-------- src/TALLY/compute_heat_flux_tally.cpp | 101 +++++++-------- src/TALLY/compute_heat_flux_virial_tally.cpp | 2 +- src/TALLY/compute_pe_mol_tally.cpp | 62 +++++---- src/TALLY/compute_pe_tally.cpp | 85 ++++++------- src/TALLY/compute_stress_tally.cpp | 127 ++++++++++--------- 7 files changed, 239 insertions(+), 267 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_hma.cpp b/src/EXTRA-COMPUTE/compute_hma.cpp index b74280a8e5..09a2840906 100644 --- a/src/EXTRA-COMPUTE/compute_hma.cpp +++ b/src/EXTRA-COMPUTE/compute_hma.cpp @@ -116,7 +116,7 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : computeU = computeP = computeCv = -1; returnAnharmonic = 0; size_vector = 0; - memory->create(extlist, 3, "hma:extlist"); + extlist = new int[3]; for (int iarg=4; iarg-1) continue; @@ -145,20 +145,11 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : } } - if (size_vector == 0) { - error->all(FLERR,"Illegal compute hma command"); - } - if (size_vector<3) { - memory->grow(extlist, size_vector, "hma:extlist"); - } - memory->create(vector, size_vector, "hma:vector"); + if (size_vector == 0) error->all(FLERR,"Illegal compute hma command"); + vector = new double[size_vector]; - if (computeU>-1 || computeCv>-1) { - peflag = 1; - } - if (computeP>-1) { - pressflag = 1; - } + if (computeU>-1 || computeCv>-1) peflag = 1; + if (computeP>-1) pressflag = 1; nmax = 0; } @@ -170,10 +161,11 @@ ComputeHMA::~ComputeHMA() // check nfix in case all fixes have already been deleted if (modify->nfix) modify->delete_fix(id_fix); - delete [] id_fix; - delete [] id_temp; - memory->destroy(extlist); - memory->destroy(vector); + delete[] id_fix; + delete[] id_temp; + delete[] extlist; + delete[] vector; + memory->destroy(deltaR); } diff --git a/src/TALLY/compute_force_tally.cpp b/src/TALLY/compute_force_tally.cpp index bc9a79713b..8216269fe0 100644 --- a/src/TALLY/compute_force_tally.cpp +++ b/src/TALLY/compute_force_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,28 +13,26 @@ #include "compute_force_tally.h" -#include #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" +#include "comm.h" #include "error.h" #include "force.h" -#include "comm.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeForceTally::ComputeForceTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeForceTally::ComputeForceTally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute force/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute force/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute force/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute force/tally second group ID"); groupbit2 = group->bitmask[igroup2]; scalar_flag = 1; @@ -46,7 +43,7 @@ ComputeForceTally::ComputeForceTally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = size_peratom_cols = 3; extscalar = 1; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_peratom = invoked_scalar = -1; nmax = -1; @@ -68,17 +65,16 @@ ComputeForceTally::~ComputeForceTally() void ComputeForceTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute force/tally without pair style"); + error->all(FLERR, "Trying to use compute force/tally without pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute force/tally used with incompatible pair style"); + error->warning(FLERR, "Compute force/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute force/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute force/tally only called from pair style"); } did_setup = -1; } @@ -99,51 +95,48 @@ void ComputeForceTally::pair_setup_callback(int, int) if (atom->nmax > nmax) { memory->destroy(fatom); nmax = atom->nmax; - memory->create(fatom,nmax,size_peratom_cols,"force/tally:fatom"); + memory->create(fatom, nmax, size_peratom_cols, "force/tally:fatom"); array_atom = fatom; } // clear storage - for (int i=0; i < ntotal; ++i) - for (int j=0; j < size_peratom_cols; ++j) - fatom[i][j] = 0.0; + for (int i = 0; i < ntotal; ++i) + for (int j = 0; j < size_peratom_cols; ++j) fatom[i][j] = 0.0; - for (int i=0; i < size_peratom_cols; ++i) - vector[i] = ftotal[i] = 0.0; + for (int i = 0; i < size_peratom_cols; ++i) vector[i] = ftotal[i] = 0.0; did_setup = update->ntimestep; } /* ---------------------------------------------------------------------- */ -void ComputeForceTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double, double, double fpair, - double dx, double dy, double dz) +void ComputeForceTally::pair_tally_callback(int i, int j, int nlocal, int newton, double, double, + double fpair, double dx, double dy, double dz) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { if (newton || i < nlocal) { if (mask[i] & groupbit) { - ftotal[0] += fpair*dx; - ftotal[1] += fpair*dy; - ftotal[2] += fpair*dz; + ftotal[0] += fpair * dx; + ftotal[1] += fpair * dy; + ftotal[2] += fpair * dz; } - fatom[i][0] += fpair*dx; - fatom[i][1] += fpair*dy; - fatom[i][2] += fpair*dz; + fatom[i][0] += fpair * dx; + fatom[i][1] += fpair * dy; + fatom[i][2] += fpair * dz; } if (newton || j < nlocal) { if (mask[j] & groupbit) { - ftotal[0] -= fpair*dx; - ftotal[1] -= fpair*dy; - ftotal[2] -= fpair*dz; + ftotal[0] -= fpair * dx; + ftotal[1] -= fpair * dy; + ftotal[2] -= fpair * dz; } - fatom[j][0] -= fpair*dx; - fatom[j][1] -= fpair*dy; - fatom[j][2] -= fpair*dz; + fatom[j][0] -= fpair * dx; + fatom[j][1] -= fpair * dy; + fatom[j][2] -= fpair * dz; } } } @@ -152,7 +145,7 @@ void ComputeForceTally::pair_tally_callback(int i, int j, int nlocal, int newton int ComputeForceTally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -168,7 +161,7 @@ int ComputeForceTally::pack_reverse_comm(int n, int first, double *buf) void ComputeForceTally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -184,15 +177,14 @@ void ComputeForceTally::unpack_reverse_comm(int n, int *list, double *buf) double ComputeForceTally::compute_scalar() { invoked_scalar = update->ntimestep; - if ((did_setup != invoked_scalar) - || (update->eflag_global != invoked_scalar)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_scalar) || (update->eflag_global != invoked_scalar)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated forces across procs - MPI_Allreduce(ftotal,vector,size_peratom_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(ftotal, vector, size_peratom_cols, MPI_DOUBLE, MPI_SUM, world); - scalar = sqrt(vector[0]*vector[0]+vector[1]*vector[1]+vector[2]*vector[2]); + scalar = sqrt(vector[0] * vector[0] + vector[1] * vector[1] + vector[2] * vector[2]); return scalar; } @@ -201,9 +193,8 @@ double ComputeForceTally::compute_scalar() void ComputeForceTally::compute_peratom() { invoked_peratom = update->ntimestep; - if ((did_setup != invoked_peratom) - || (update->eflag_global != invoked_peratom)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_peratom) || (update->eflag_global != invoked_peratom)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -213,8 +204,7 @@ void ComputeForceTally::compute_peratom() // clear out ghost atom data after it has been collected to local atoms const int nall = atom->nlocal + atom->nghost; for (int i = atom->nlocal; i < nall; ++i) - for (int j = 0; j < size_peratom_cols; ++j) - fatom[i][j] = 0.0; + for (int j = 0; j < size_peratom_cols; ++j) fatom[i][j] = 0.0; } } @@ -224,7 +214,6 @@ void ComputeForceTally::compute_peratom() double ComputeForceTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } - diff --git a/src/TALLY/compute_heat_flux_tally.cpp b/src/TALLY/compute_heat_flux_tally.cpp index 96456bf775..7bff99eeb7 100644 --- a/src/TALLY/compute_heat_flux_tally.cpp +++ b/src/TALLY/compute_heat_flux_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,26 +14,25 @@ #include "compute_heat_flux_tally.h" #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" +#include "comm.h" #include "error.h" #include "force.h" -#include "comm.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeHeatFluxTally::ComputeHeatFluxTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) + Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute heat/flux/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute heat/flux/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute heat/flux/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute heat/flux/tally second group ID"); groupbit2 = group->bitmask[igroup2]; vector_flag = 1; @@ -44,7 +42,7 @@ ComputeHeatFluxTally::ComputeHeatFluxTally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = 7; extvector = 1; size_vector = 6; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = 0; invoked_peratom = invoked_scalar = -1; @@ -71,17 +69,16 @@ ComputeHeatFluxTally::~ComputeHeatFluxTally() void ComputeHeatFluxTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute heat/flux/tally without pair style"); + error->all(FLERR, "Trying to use compute heat/flux/tally without pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute heat/flux/tally used with incompatible pair style"); + error->warning(FLERR, "Compute heat/flux/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute heat/flux/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute heat/flux/tally only called from pair style"); } did_setup = -1; } @@ -102,13 +99,13 @@ void ComputeHeatFluxTally::pair_setup_callback(int, int) memory->destroy(stress); memory->destroy(eatom); nmax = atom->nmax; - memory->create(stress,nmax,6,"heat/flux/tally:stress"); - memory->create(eatom,nmax,"heat/flux/tally:eatom"); + memory->create(stress, nmax, 6, "heat/flux/tally:stress"); + memory->create(eatom, nmax, "heat/flux/tally:eatom"); } // clear storage - for (int i=0; i < ntotal; ++i) { + for (int i = 0; i < ntotal; ++i) { eatom[i] = 0.0; stress[i][0] = 0.0; stress[i][1] = 0.0; @@ -118,30 +115,29 @@ void ComputeHeatFluxTally::pair_setup_callback(int, int) stress[i][5] = 0.0; } - for (int i=0; i < size_vector; ++i) - vector[i] = heatj[i] = 0.0; + for (int i = 0; i < size_vector; ++i) vector[i] = heatj[i] = 0.0; did_setup = update->ntimestep; } /* ---------------------------------------------------------------------- */ -void ComputeHeatFluxTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double evdwl, double ecoul, double fpair, - double dx, double dy, double dz) +void ComputeHeatFluxTally::pair_tally_callback(int i, int j, int nlocal, int newton, double evdwl, + double ecoul, double fpair, double dx, double dy, + double dz) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { const double epairhalf = 0.5 * (evdwl + ecoul); fpair *= 0.5; - const double v0 = dx*dx*fpair; // dx*fpair = Fij_x - const double v1 = dy*dy*fpair; - const double v2 = dz*dz*fpair; - const double v3 = dx*dy*fpair; - const double v4 = dx*dz*fpair; - const double v5 = dy*dz*fpair; + const double v0 = dx * dx * fpair; // dx*fpair = Fij_x + const double v1 = dy * dy * fpair; + const double v2 = dz * dz * fpair; + const double v3 = dx * dy * fpair; + const double v4 = dx * dz * fpair; + const double v5 = dy * dz * fpair; if (newton || i < nlocal) { eatom[i] += epairhalf; @@ -168,7 +164,7 @@ void ComputeHeatFluxTally::pair_tally_callback(int i, int j, int nlocal, int new int ComputeHeatFluxTally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -188,7 +184,7 @@ int ComputeHeatFluxTally::pack_reverse_comm(int n, int first, double *buf) void ComputeHeatFluxTally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -209,7 +205,7 @@ void ComputeHeatFluxTally::compute_vector() { invoked_vector = update->ntimestep; if ((did_setup != invoked_vector) || (update->eflag_global != invoked_vector)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -244,26 +240,28 @@ void ComputeHeatFluxTally::compute_vector() double *rmass = atom->rmass; int *type = atom->type; - double jc[3] = {0.0,0.0,0.0}; - double jv[3] = {0.0,0.0,0.0}; + double jc[3] = {0.0, 0.0, 0.0}; + double jv[3] = {0.0, 0.0, 0.0}; for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - const double * const vi = v[i]; - const double * const si = stress[i]; + const double *const vi = v[i]; + const double *const si = stress[i]; double ke_i; - if (rmass) ke_i = pfactor * rmass[i]; - else ke_i = pfactor * mass[type[i]]; - ke_i *= (vi[0]*vi[0] + vi[1]*vi[1] + vi[2]*vi[2]); + if (rmass) + ke_i = pfactor * rmass[i]; + else + ke_i = pfactor * mass[type[i]]; + ke_i *= (vi[0] * vi[0] + vi[1] * vi[1] + vi[2] * vi[2]); ke_i += eatom[i]; - jc[0] += ke_i*vi[0]; - jc[1] += ke_i*vi[1]; - jc[2] += ke_i*vi[2]; - jv[0] += si[0]*vi[0] + si[3]*vi[1] + si[4]*vi[2]; - jv[1] += si[3]*vi[0] + si[1]*vi[1] + si[5]*vi[2]; - jv[2] += si[4]*vi[0] + si[5]*vi[1] + si[2]*vi[2]; + jc[0] += ke_i * vi[0]; + jc[1] += ke_i * vi[1]; + jc[2] += ke_i * vi[2]; + jv[0] += si[0] * vi[0] + si[3] * vi[1] + si[4] * vi[2]; + jv[1] += si[3] * vi[0] + si[1] * vi[1] + si[5] * vi[2]; + jv[2] += si[4] * vi[0] + si[5] * vi[1] + si[2] * vi[2]; } } @@ -274,7 +272,7 @@ void ComputeHeatFluxTally::compute_vector() heatj[3] = jc[0]; heatj[4] = jc[1]; heatj[5] = jc[2]; - MPI_Allreduce(heatj,vector,size_vector,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(heatj, vector, size_vector, MPI_DOUBLE, MPI_SUM, world); } /* ---------------------------------------------------------------------- @@ -283,7 +281,6 @@ void ComputeHeatFluxTally::compute_vector() double ComputeHeatFluxTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*comm_reverse * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)comm_reverse * sizeof(double); return bytes; } - diff --git a/src/TALLY/compute_heat_flux_virial_tally.cpp b/src/TALLY/compute_heat_flux_virial_tally.cpp index 1a594c1b36..8605b9c546 100644 --- a/src/TALLY/compute_heat_flux_virial_tally.cpp +++ b/src/TALLY/compute_heat_flux_virial_tally.cpp @@ -233,6 +233,6 @@ void ComputeHeatFluxVirialTally::compute_peratom() double ComputeHeatFluxVirialTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax * size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } diff --git a/src/TALLY/compute_pe_mol_tally.cpp b/src/TALLY/compute_pe_mol_tally.cpp index 329c9ff429..fc3efb272b 100644 --- a/src/TALLY/compute_pe_mol_tally.cpp +++ b/src/TALLY/compute_pe_mol_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,25 +14,23 @@ #include "compute_pe_mol_tally.h" #include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" #include "group.h" #include "pair.h" #include "update.h" -#include "error.h" -#include "force.h" -#include "comm.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputePEMolTally::ComputePEMolTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputePEMolTally::ComputePEMolTally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute pe/mol/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute pe/mol/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute pe/mol/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute pe/mol/tally second group ID"); groupbit2 = group->bitmask[igroup2]; vector_flag = 1; @@ -42,7 +39,7 @@ ComputePEMolTally::ComputePEMolTally(LAMMPS *lmp, int narg, char **arg) : dynamic_group_allow = 0; extvector = 1; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_vector = -1; vector = new double[size_vector]; @@ -61,20 +58,18 @@ ComputePEMolTally::~ComputePEMolTally() void ComputePEMolTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute pe/mol/tally without pair style"); + error->all(FLERR, "Trying to use compute pe/mol/tally without pair style"); else force->pair->add_tally_callback(this); - if (atom->molecule_flag == 0) - error->all(FLERR,"Compute pe/mol/tally requires molecule IDs"); + if (atom->molecule_flag == 0) error->all(FLERR, "Compute pe/mol/tally requires molecule IDs"); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute pe/mol/tally used with incompatible pair style"); + error->warning(FLERR, "Compute pe/mol/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute pe/mol/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute pe/mol/tally only called from pair style"); } did_setup = -1; } @@ -93,29 +88,33 @@ void ComputePEMolTally::pair_setup_callback(int, int) } /* ---------------------------------------------------------------------- */ -void ComputePEMolTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double evdwl, double ecoul, double, - double, double, double) +void ComputePEMolTally::pair_tally_callback(int i, int j, int nlocal, int newton, double evdwl, + double ecoul, double, double, double, double) { - const int * const mask = atom->mask; - const tagint * const molid = atom->molecule; + const int *const mask = atom->mask; + const tagint *const molid = atom->molecule; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { - evdwl *= 0.5; ecoul *= 0.5; + evdwl *= 0.5; + ecoul *= 0.5; if (newton || i < nlocal) { if (molid[i] == molid[j]) { - etotal[0] += evdwl; etotal[1] += ecoul; + etotal[0] += evdwl; + etotal[1] += ecoul; } else { - etotal[2] += evdwl; etotal[3] += ecoul; + etotal[2] += evdwl; + etotal[3] += ecoul; } } if (newton || j < nlocal) { if (molid[i] == molid[j]) { - etotal[0] += evdwl; etotal[1] += ecoul; + etotal[0] += evdwl; + etotal[1] += ecoul; } else { - etotal[2] += evdwl; etotal[3] += ecoul; + etotal[2] += evdwl; + etotal[3] += ecoul; } } } @@ -127,10 +126,9 @@ void ComputePEMolTally::compute_vector() { invoked_vector = update->ntimestep; if ((did_setup != invoked_vector) || (update->eflag_global != invoked_vector)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated energies across procs - MPI_Allreduce(etotal,vector,size_vector,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(etotal, vector, size_vector, MPI_DOUBLE, MPI_SUM, world); } - diff --git a/src/TALLY/compute_pe_tally.cpp b/src/TALLY/compute_pe_tally.cpp index dae233f830..07cb500e44 100644 --- a/src/TALLY/compute_pe_tally.cpp +++ b/src/TALLY/compute_pe_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,26 +14,24 @@ #include "compute_pe_tally.h" #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" +#include "comm.h" #include "error.h" #include "force.h" -#include "comm.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputePETally::ComputePETally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputePETally::ComputePETally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute pe/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute pe/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute pe/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute pe/tally second group ID"); groupbit2 = group->bitmask[igroup2]; scalar_flag = 1; @@ -45,7 +42,7 @@ ComputePETally::ComputePETally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = size_peratom_cols = 2; extscalar = 1; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_peratom = invoked_scalar = -1; nmax = -1; @@ -67,17 +64,16 @@ ComputePETally::~ComputePETally() void ComputePETally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute pe/tally without a pair style"); + error->all(FLERR, "Trying to use compute pe/tally without a pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute pe/tally used with incompatible pair style"); + error->warning(FLERR, "Compute pe/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute pe/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute pe/tally only called from pair style"); } did_setup = -1; } @@ -98,14 +94,13 @@ void ComputePETally::pair_setup_callback(int, int) if (atom->nmax > nmax) { memory->destroy(eatom); nmax = atom->nmax; - memory->create(eatom,nmax,size_peratom_cols,"pe/tally:eatom"); + memory->create(eatom, nmax, size_peratom_cols, "pe/tally:eatom"); array_atom = eatom; } // clear storage - for (int i=0; i < ntotal; ++i) - eatom[i][0] = eatom[i][1] = 0.0; + for (int i = 0; i < ntotal; ++i) eatom[i][0] = eatom[i][1] = 0.0; vector[0] = etotal[0] = vector[1] = etotal[1] = 0.0; @@ -113,23 +108,27 @@ void ComputePETally::pair_setup_callback(int, int) } /* ---------------------------------------------------------------------- */ -void ComputePETally::pair_tally_callback(int i, int j, int nlocal, int newton, - double evdwl, double ecoul, double, - double, double, double) +void ComputePETally::pair_tally_callback(int i, int j, int nlocal, int newton, double evdwl, + double ecoul, double, double, double, double) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { - evdwl *= 0.5; ecoul *= 0.5; + evdwl *= 0.5; + ecoul *= 0.5; if (newton || i < nlocal) { - etotal[0] += evdwl; eatom[i][0] += evdwl; - etotal[1] += ecoul; eatom[i][1] += ecoul; + etotal[0] += evdwl; + eatom[i][0] += evdwl; + etotal[1] += ecoul; + eatom[i][1] += ecoul; } if (newton || j < nlocal) { - etotal[0] += evdwl; eatom[j][0] += evdwl; - etotal[1] += ecoul; eatom[j][1] += ecoul; + etotal[0] += evdwl; + eatom[j][0] += evdwl; + etotal[1] += ecoul; + eatom[j][1] += ecoul; } } } @@ -138,7 +137,7 @@ void ComputePETally::pair_tally_callback(int i, int j, int nlocal, int newton, int ComputePETally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -153,7 +152,7 @@ int ComputePETally::pack_reverse_comm(int n, int first, double *buf) void ComputePETally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -168,15 +167,14 @@ void ComputePETally::unpack_reverse_comm(int n, int *list, double *buf) double ComputePETally::compute_scalar() { invoked_scalar = update->ntimestep; - if ((did_setup != invoked_scalar) - || (update->eflag_global != invoked_scalar)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_scalar) || (update->eflag_global != invoked_scalar)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated energies across procs - MPI_Allreduce(etotal,vector,size_peratom_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(etotal, vector, size_peratom_cols, MPI_DOUBLE, MPI_SUM, world); - scalar = vector[0]+vector[1]; + scalar = vector[0] + vector[1]; return scalar; } @@ -185,9 +183,8 @@ double ComputePETally::compute_scalar() void ComputePETally::compute_peratom() { invoked_peratom = update->ntimestep; - if ((did_setup != invoked_peratom) - || (update->eflag_global != invoked_peratom)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_peratom) || (update->eflag_global != invoked_peratom)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -196,8 +193,7 @@ void ComputePETally::compute_peratom() // clear out ghost atom data after it has been collected to local atoms const int nall = atom->nlocal + atom->nghost; - for (int i = atom->nlocal; i < nall; ++i) - eatom[i][0] = eatom[i][1] = 0.0; + for (int i = atom->nlocal; i < nall; ++i) eatom[i][0] = eatom[i][1] = 0.0; } } @@ -207,7 +203,6 @@ void ComputePETally::compute_peratom() double ComputePETally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } - diff --git a/src/TALLY/compute_stress_tally.cpp b/src/TALLY/compute_stress_tally.cpp index 8ae42ddf02..dea65ade26 100644 --- a/src/TALLY/compute_stress_tally.cpp +++ b/src/TALLY/compute_stress_tally.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,27 +14,25 @@ #include "compute_stress_tally.h" #include "atom.h" -#include "group.h" -#include "pair.h" -#include "update.h" -#include "memory.h" -#include "error.h" -#include "force.h" #include "comm.h" #include "domain.h" +#include "error.h" +#include "force.h" +#include "group.h" +#include "memory.h" +#include "pair.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeStressTally::ComputeStressTally(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeStressTally::ComputeStressTally(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg < 4) error->all(FLERR,"Illegal compute stress/tally command"); + if (narg < 4) error->all(FLERR, "Illegal compute stress/tally command"); igroup2 = group->find(arg[3]); - if (igroup2 == -1) - error->all(FLERR,"Could not find compute stress/tally second group ID"); + if (igroup2 == -1) error->all(FLERR, "Could not find compute stress/tally second group ID"); groupbit2 = group->bitmask[igroup2]; scalar_flag = 1; @@ -46,7 +43,7 @@ ComputeStressTally::ComputeStressTally(LAMMPS *lmp, int narg, char **arg) : comm_reverse = size_peratom_cols = 6; extscalar = 0; - peflag = 1; // we need Pair::ev_tally() to be run + peflag = 1; // we need Pair::ev_tally() to be run did_setup = invoked_peratom = invoked_scalar = -1; nmax = -1; @@ -70,17 +67,16 @@ ComputeStressTally::~ComputeStressTally() void ComputeStressTally::init() { if (force->pair == nullptr) - error->all(FLERR,"Trying to use compute stress/tally without pair style"); + error->all(FLERR, "Trying to use compute stress/tally without pair style"); else force->pair->add_tally_callback(this); if (comm->me == 0) { if (force->pair->single_enable == 0 || force->pair->manybody_flag) - error->warning(FLERR,"Compute stress/tally used with incompatible pair style"); + error->warning(FLERR, "Compute stress/tally used with incompatible pair style"); - if (force->bond || force->angle || force->dihedral - || force->improper || force->kspace) - error->warning(FLERR,"Compute stress/tally only called from pair style"); + if (force->bond || force->angle || force->dihedral || force->improper || force->kspace) + error->warning(FLERR, "Compute stress/tally only called from pair style"); } did_setup = -1; } @@ -101,55 +97,64 @@ void ComputeStressTally::pair_setup_callback(int, int) if (atom->nmax > nmax) { memory->destroy(stress); nmax = atom->nmax; - memory->create(stress,nmax,size_peratom_cols,"stress/tally:stress"); + memory->create(stress, nmax, size_peratom_cols, "stress/tally:stress"); array_atom = stress; } // clear storage - for (int i=0; i < ntotal; ++i) - for (int j=0; j < size_peratom_cols; ++j) - stress[i][j] = 0.0; + for (int i = 0; i < ntotal; ++i) + for (int j = 0; j < size_peratom_cols; ++j) stress[i][j] = 0.0; - for (int i=0; i < size_peratom_cols; ++i) - vector[i] = virial[i] = 0.0; + for (int i = 0; i < size_peratom_cols; ++i) vector[i] = virial[i] = 0.0; did_setup = update->ntimestep; } /* ---------------------------------------------------------------------- */ -void ComputeStressTally::pair_tally_callback(int i, int j, int nlocal, int newton, - double, double, double fpair, - double dx, double dy, double dz) +void ComputeStressTally::pair_tally_callback(int i, int j, int nlocal, int newton, double, double, + double fpair, double dx, double dy, double dz) { - const int * const mask = atom->mask; + const int *const mask = atom->mask; - if ( ((mask[i] & groupbit) && (mask[j] & groupbit2)) - || ((mask[i] & groupbit2) && (mask[j] & groupbit))) { + if (((mask[i] & groupbit) && (mask[j] & groupbit2)) || + ((mask[i] & groupbit2) && (mask[j] & groupbit))) { fpair *= 0.5; - const double v0 = dx*dx*fpair; - const double v1 = dy*dy*fpair; - const double v2 = dz*dz*fpair; - const double v3 = dx*dy*fpair; - const double v4 = dx*dz*fpair; - const double v5 = dy*dz*fpair; + const double v0 = dx * dx * fpair; + const double v1 = dy * dy * fpair; + const double v2 = dz * dz * fpair; + const double v3 = dx * dy * fpair; + const double v4 = dx * dz * fpair; + const double v5 = dy * dz * fpair; if (newton || i < nlocal) { - virial[0] += v0; stress[i][0] += v0; - virial[1] += v1; stress[i][1] += v1; - virial[2] += v2; stress[i][2] += v2; - virial[3] += v3; stress[i][3] += v3; - virial[4] += v4; stress[i][4] += v4; - virial[5] += v5; stress[i][5] += v5; + virial[0] += v0; + stress[i][0] += v0; + virial[1] += v1; + stress[i][1] += v1; + virial[2] += v2; + stress[i][2] += v2; + virial[3] += v3; + stress[i][3] += v3; + virial[4] += v4; + stress[i][4] += v4; + virial[5] += v5; + stress[i][5] += v5; } if (newton || j < nlocal) { - virial[0] += v0; stress[j][0] += v0; - virial[1] += v1; stress[j][1] += v1; - virial[2] += v2; stress[j][2] += v2; - virial[3] += v3; stress[j][3] += v3; - virial[4] += v4; stress[j][4] += v4; - virial[5] += v5; stress[j][5] += v5; + virial[0] += v0; + stress[j][0] += v0; + virial[1] += v1; + stress[j][1] += v1; + virial[2] += v2; + stress[j][2] += v2; + virial[3] += v3; + stress[j][3] += v3; + virial[4] += v4; + stress[j][4] += v4; + virial[5] += v5; + stress[j][5] += v5; } } } @@ -158,7 +163,7 @@ void ComputeStressTally::pair_tally_callback(int i, int j, int nlocal, int newto int ComputeStressTally::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; + int i, m, last; m = 0; last = first + n; @@ -177,7 +182,7 @@ int ComputeStressTally::pack_reverse_comm(int n, int first, double *buf) void ComputeStressTally::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; + int i, j, m; m = 0; for (i = 0; i < n; i++) { @@ -196,18 +201,17 @@ void ComputeStressTally::unpack_reverse_comm(int n, int *list, double *buf) double ComputeStressTally::compute_scalar() { invoked_scalar = update->ntimestep; - if ((did_setup != invoked_scalar) - || (update->eflag_global != invoked_scalar)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_scalar) || (update->eflag_global != invoked_scalar)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // sum accumulated forces across procs - MPI_Allreduce(virial,vector,size_peratom_cols,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(virial, vector, size_peratom_cols, MPI_DOUBLE, MPI_SUM, world); if (domain->dimension == 3) - scalar = (vector[0]+vector[1]+vector[2])/3.0; + scalar = (vector[0] + vector[1] + vector[2]) / 3.0; else - scalar = (vector[0]+vector[1])/2.0; + scalar = (vector[0] + vector[1]) / 2.0; return scalar; } @@ -217,9 +221,8 @@ double ComputeStressTally::compute_scalar() void ComputeStressTally::compute_peratom() { invoked_peratom = update->ntimestep; - if ((did_setup != invoked_peratom) - || (update->eflag_global != invoked_peratom)) - error->all(FLERR,"Energy was not tallied on needed timestep"); + if ((did_setup != invoked_peratom) || (update->eflag_global != invoked_peratom)) + error->all(FLERR, "Energy was not tallied on needed timestep"); // collect contributions from ghost atoms @@ -228,8 +231,7 @@ void ComputeStressTally::compute_peratom() const int nall = atom->nlocal + atom->nghost; for (int i = atom->nlocal; i < nall; ++i) - for (int j = 0; j < size_peratom_cols; ++j) - stress[i][j] = 0.0; + for (int j = 0; j < size_peratom_cols; ++j) stress[i][j] = 0.0; } // convert to stress*volume units = -pressure*volume @@ -251,7 +253,6 @@ void ComputeStressTally::compute_peratom() double ComputeStressTally::memory_usage() { - double bytes = (nmax < 0) ? 0 : nmax*size_peratom_cols * sizeof(double); + double bytes = (nmax < 0) ? 0 : nmax * (double)size_peratom_cols * sizeof(double); return bytes; } -