diff --git a/doc/lammps.1 b/doc/lammps.1
index 100ea9b663..0c7c9a0354 100644
--- a/doc/lammps.1
+++ b/doc/lammps.1
@@ -1,7 +1,7 @@
-.TH LAMMPS "1" "21 November 2023" "2023-11-21"
+.TH LAMMPS "1" "7 February 2024" "2024-02-07"
.SH NAME
.B LAMMPS
-\- Molecular Dynamics Simulator. Version 21 November 2023
+\- Molecular Dynamics Simulator. Version 7 February 2024
.SH SYNOPSIS
.B lmp
diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst
index a9a9eb25bf..34100871ce 100644
--- a/doc/src/Build_settings.rst
+++ b/doc/src/Build_settings.rst
@@ -44,7 +44,7 @@ require use of an FFT library to compute 1d FFTs. The KISS FFT
library is included with LAMMPS, but other libraries can be faster.
LAMMPS can use them if they are available on your system.
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
Alternatively, LAMMPS can use the `heFFTe
`_ library for the MPI
diff --git a/doc/src/Commands_removed.rst b/doc/src/Commands_removed.rst
index 98a52fc2d7..0ade07af64 100644
--- a/doc/src/Commands_removed.rst
+++ b/doc/src/Commands_removed.rst
@@ -129,7 +129,7 @@ USER-REAXC.
USER-REAXC package
------------------
-.. deprecated:: TBD
+.. deprecated:: 7Feb2024
The USER-REAXC package has been renamed to :ref:`REAXFF `.
In the process also the pair style and related fixes were renamed to use
diff --git a/doc/src/Fortran.rst b/doc/src/Fortran.rst
index c8d153b2e3..64fca57a02 100644
--- a/doc/src/Fortran.rst
+++ b/doc/src/Fortran.rst
@@ -1402,7 +1402,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type
Set the value of a string-style variable.
- .. deprecated:: TBD
+ .. deprecated:: 7Feb2024
This function assigns a new value from the string *str* to the string-style
variable *name*\ . If *name* does not exist or is not a string-style
@@ -1423,7 +1423,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type
Set the value of a string-style variable.
- .. versionadded:: TBD
+ .. versionadded:: 7Feb2024
This function assigns a new value from the string *str* to the string-style
variable *name*\ . If *name* does not exist or is not a string-style
@@ -1439,7 +1439,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type
Set the value of a internal-style variable.
- .. versionadded:: TBD
+ .. versionadded:: 7Feb2024
This function assigns a new value from the floating-point number *val* to
the internal-style variable *name*\ . If *name* does not exist or is not
diff --git a/doc/src/angle_lepton.rst b/doc/src/angle_lepton.rst
index 22873f5765..e03e5cf456 100644
--- a/doc/src/angle_lepton.rst
+++ b/doc/src/angle_lepton.rst
@@ -51,7 +51,7 @@ angle coefficient. For example `"200.0*theta^2"` represents a
U_{angle,i} = K (\theta_i - \theta_0)^2 = K \theta^2 \qquad \theta = \theta_i - \theta_0
-.. versionchanged:: TBD
+.. versionchanged:: 7Feb2024
By default the potential energy U is shifted so that the value U is 0.0
for $theta = theta_0$. This is equivalent to using the optional keyword
diff --git a/doc/src/bond_lepton.rst b/doc/src/bond_lepton.rst
index 9429535af8..5425b8695c 100644
--- a/doc/src/bond_lepton.rst
+++ b/doc/src/bond_lepton.rst
@@ -50,7 +50,7 @@ constant *K* of 200.0 energy units:
U_{bond,i} = K (r_i - r_0)^2 = K r^2 \qquad r = r_i - r_0
-.. versionchanged:: TBD
+.. versionchanged:: 7Feb2024
By default the potential energy U is shifted so that he value U is 0.0
for $r = r_0$. This is equivalent to using the optional keyword
diff --git a/doc/src/compute_pace.rst b/doc/src/compute_pace.rst
index c510319dfc..b18903f554 100644
--- a/doc/src/compute_pace.rst
+++ b/doc/src/compute_pace.rst
@@ -36,7 +36,7 @@ Examples
Description
"""""""""""
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
This compute calculates a set of quantities related to the atomic
cluster expansion (ACE) descriptors of the atoms in a group. ACE
diff --git a/doc/src/compute_rattlers_atom.rst b/doc/src/compute_rattlers_atom.rst
index cf4e888657..ba14a1fd44 100644
--- a/doc/src/compute_rattlers_atom.rst
+++ b/doc/src/compute_rattlers_atom.rst
@@ -32,7 +32,7 @@ Examples
Description
"""""""""""
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
Define a compute that identifies rattlers in a system. Rattlers are often
identified in granular or glassy packings as under-coordinated atoms that
diff --git a/doc/src/compute_reaxff_atom.rst b/doc/src/compute_reaxff_atom.rst
index 997ad02e9f..deab29feea 100644
--- a/doc/src/compute_reaxff_atom.rst
+++ b/doc/src/compute_reaxff_atom.rst
@@ -40,7 +40,7 @@ Examples
Description
"""""""""""
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
Define a computation that extracts bond information computed by the ReaxFF
potential specified by :doc:`pair_style reaxff `.
diff --git a/doc/src/compute_slcsa_atom.rst b/doc/src/compute_slcsa_atom.rst
index 6b2708c4d9..7338b92d59 100644
--- a/doc/src/compute_slcsa_atom.rst
+++ b/doc/src/compute_slcsa_atom.rst
@@ -32,7 +32,7 @@ Examples
Description
"""""""""""
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
Define a computation that performs the Supervised Learning Crystal
Structure Analysis (SL-CSA) from :ref:`(Lafourcade) `
diff --git a/doc/src/fix_nonaffine_displacement.rst b/doc/src/fix_nonaffine_displacement.rst
index 363b0a747a..c6dfbc2e49 100644
--- a/doc/src/fix_nonaffine_displacement.rst
+++ b/doc/src/fix_nonaffine_displacement.rst
@@ -44,7 +44,7 @@ Examples
Description
"""""""""""
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
This fix computes different metrics of the nonaffine displacement of
particles. The first metric, *d2min* calculates the :math:`D^2_\mathrm{min}`
diff --git a/doc/src/info.rst b/doc/src/info.rst
index ac70034c30..b06fa4fc5d 100644
--- a/doc/src/info.rst
+++ b/doc/src/info.rst
@@ -92,7 +92,7 @@ The *accelerator* category prints out information about compile time
settings of included accelerator support for the GPU, KOKKOS, INTEL,
and OPENMP packages.
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
The *fft* category prints out information about the included 3d-FFT
support. This lists the 3d-FFT engine, FFT precision, FFT library
diff --git a/doc/src/molecule.rst b/doc/src/molecule.rst
index e1770ced2a..1fe3f36eaa 100644
--- a/doc/src/molecule.rst
+++ b/doc/src/molecule.rst
@@ -376,7 +376,7 @@ not listed, the default diameter of each atom in the molecule is 1.0.
----------
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
*Dipoles* section:
diff --git a/doc/src/variable.rst b/doc/src/variable.rst
index a70ac25836..1cd96543f5 100644
--- a/doc/src/variable.rst
+++ b/doc/src/variable.rst
@@ -706,7 +706,7 @@ library. Ceil() is the smallest integer not less than its argument.
Floor() if the largest integer not greater than its argument. Round()
is the nearest integer to its argument.
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
The ternary(x,y,z) function is the equivalent of the ternary operator
(? and :) in C or C++. It takes 3 arguments. The first argument is a
@@ -1155,7 +1155,7 @@ variable by using the :doc:`compute property/atom
Custom atom properties
----------------------
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
Custom atom properties refer to per-atom integer and floating point
vectors or arrays that have been added via the :doc:`fix property/atom
diff --git a/examples/PACKAGES/mgpt/in.bcc0 b/examples/PACKAGES/mgpt/in.bcc0
index 2e20888fd5..c00a1ba3b2 100644
--- a/examples/PACKAGES/mgpt/in.bcc0
+++ b/examples/PACKAGES/mgpt/in.bcc0
@@ -1,9 +1,7 @@
# script for mgpt t=0 eos in bulk bcc structure
-echo screen
-
-units electron
-atom_style atomic
+units electron
+atom_style atomic
# Atomic volume for MGPT potential in a.u.
variable atomic_vol equal 121.6
@@ -12,10 +10,10 @@ variable atomic_vol equal 121.6
variable lattice_constant equal (${atomic_vol}*2.0)^(1.0/3.0)
# Create bcc lattice with 5x5x5 unit cells (250 atoms)
-lattice bcc ${lattice_constant}
-region box block 0 5 0 5 0 5
-create_box 1 box
-create_atoms 1 box
+lattice bcc ${lattice_constant}
+region box block 0 5 0 5 0 5
+create_box 1 box
+create_atoms 1 box
# Define potential for use in simulation
pair_style mgpt
@@ -26,20 +24,20 @@ pair_style mgpt
pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
# Create velocities at 0 K
-velocity all create 0.0 87287
+velocity all create 0.0 87287
# Set neighbor list parameters
-neighbor 0.1 bin
-neigh_modify every 1 delay 0 check yes
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
# Set up microcanonical integrator
-fix 1 all nve
+fix 1 all nve
# Dump coordinates to file every 50 timesteps
-dump id all atom 50 dump.bcc0
+#dump id all atom 50 dump.bcc0
# Output thermodynamical data every 10 timesteps
-thermo 10
+thermo 10
# Set output quantities and output format
thermo_style custom step vol temp pe etotal press
@@ -48,7 +46,7 @@ thermo_style custom step vol temp pe etotal press
#thermo_modify format float %15.5e
# Run 0 timesteps
-run 0
+run 0
# Convert energy to rydbergs and pressure to gpa
diff --git a/examples/PACKAGES/mgpt/in.vac0-bcc b/examples/PACKAGES/mgpt/in.vac0-bcc
index 529506ab64..5be9e168e9 100644
--- a/examples/PACKAGES/mgpt/in.vac0-bcc
+++ b/examples/PACKAGES/mgpt/in.vac0-bcc
@@ -1,10 +1,8 @@
# script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice:
# input for unrelaxed vacancy formation energy at constant atomic volume
-echo screen
-
-units electron
-atom_style atomic
+units electron
+atom_style atomic
# Atomic volume for MGPT potential in a.u.
variable atomic_vol equal 121.6
@@ -16,10 +14,10 @@ variable lat_vol equal ${atomic_vol}*249/250
variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0)
# Create bcc lattice with 5x5x5 unit cells (250 atoms)
-lattice bcc ${lattice_constant}
-region box block 0 5 0 5 0 5
-create_box 1 box
-create_atoms 1 box
+lattice bcc ${lattice_constant}
+region box block 0 5 0 5 0 5
+create_box 1 box
+create_atoms 1 box
# Remove central atom from bcc lattice to create vacancy
region vacancy sphere 2.5 2.5 2.5 0.1 units lattice
@@ -34,20 +32,20 @@ pair_style mgpt
pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
# Create velocities at 0 K
-velocity all create 0.0 87287
+velocity all create 0.0 87287
# Set neighbor list parameters
-neighbor 0.1 bin
-neigh_modify every 1 delay 0 check yes
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
# Set up microcanonical integrator
-fix 1 all nve
+fix 1 all nve
# Dump coordinates to file every 50 timesteps
-dump id all atom 50 dump.vac0-bcc
+# dump id all atom 50 dump.vac0-bcc
# Output thermodynamical data every 10 timesteps
-thermo 10
+thermo 10
# Set output quantities and output format
thermo_style custom step vol temp pe etotal press
@@ -56,7 +54,7 @@ thermo_style custom step vol temp pe etotal press
#thermo_modify format float %15.5e
# Run 0 timesteps
-run 0
+run 0
# Convert energy to rydbergs and pressure to gpa
diff --git a/examples/PACKAGES/mgpt/in.vacmin-bcc b/examples/PACKAGES/mgpt/in.vacmin-bcc
index 85fc72ff63..abd6cd3a7f 100644
--- a/examples/PACKAGES/mgpt/in.vacmin-bcc
+++ b/examples/PACKAGES/mgpt/in.vacmin-bcc
@@ -1,10 +1,8 @@
# script for mgpt t=0 eos with relaxed vacancy in bcc structure:
# input for relaxed vacancy formation energy at constant pressure
-echo screen
-
-units electron
-atom_style atomic
+units electron
+atom_style atomic
# Atomic volume for MGPT potential
variable atomic_vol equal 121.863
@@ -16,10 +14,10 @@ variable lat_vol equal ${atomic_vol}*249/250
variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0)
# Create bcc lattice with 5x5x5 unit cells (250 atoms)
-lattice bcc ${lattice_constant}
-region box block 0 5 0 5 0 5
-create_box 1 box
-create_atoms 1 box
+lattice bcc ${lattice_constant}
+region box block 0 5 0 5 0 5
+create_box 1 box
+create_atoms 1 box
# Remove central atom from bcc lattice to create vacancy
region vacancy sphere 2.5 2.5 2.5 0.1 units lattice
@@ -34,14 +32,14 @@ pair_style mgpt
pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
# Set neighbor list parameters
-neighbor 0.1 bin
-neigh_modify every 1 delay 0 check yes
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
# Dump coordinates to file every 50 timesteps
-dump id all atom 50 dump.vacmin-bcc
+# dump id all atom 50 dump.vacmin-bcc
# Output thermodynamical data every 10 timesteps
-thermo 10
+thermo 10
# Set output quantities and output format
thermo_style custom step vol temp pe etotal press
diff --git a/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1 b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1
new file mode 100644
index 0000000000..0425bce75f
--- /dev/null
+++ b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1
@@ -0,0 +1,134 @@
+LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified)
+OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
+ using 1 OpenMP thread(s) per MPI task
+# script for mgpt t=0 eos in bulk bcc structure
+
+units electron
+atom_style atomic
+
+# Atomic volume for MGPT potential in a.u.
+variable atomic_vol equal 121.6
+
+# Derive lattice constant from volume
+variable lattice_constant equal (${atomic_vol}*2.0)^(1.0/3.0)
+variable lattice_constant equal (121.6*2.0)^(1.0/3.0)
+
+# Create bcc lattice with 5x5x5 unit cells (250 atoms)
+lattice bcc ${lattice_constant}
+lattice bcc 6.24196300283154
+Lattice spacing in x,y,z = 6.241963 6.241963 6.241963
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 250 atoms
+ using lattice units in orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815)
+ create_atoms CPU = 0.000 seconds
+
+# Define potential for use in simulation
+pair_style mgpt
+
+# Set parameters for potential:
+# parameter files atomic volume
+#pair_coeff * * parmin potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6
+Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
+
+# Create velocities at 0 K
+velocity all create 0.0 87287
+
+# Set neighbor list parameters
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
+
+# Set up microcanonical integrator
+fix 1 all nve
+
+# Dump coordinates to file every 50 timesteps
+#dump id all atom 50 dump.bcc0
+
+# Output thermodynamical data every 10 timesteps
+thermo 10
+
+# Set output quantities and output format
+thermo_style custom step vol temp pe etotal press
+
+## Example: Output floating point number with 5 digits exponential notation.
+#thermo_modify format float %15.5e
+
+# Run 0 timesteps
+run 0
+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 = 13.161827
+ ghost atom cutoff = 13.161827
+ binsize = 6.5809134, bins = 5 5 5
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair mgpt, perpetual
+ attributes: full, newton on, ghost
+ pair build: full/bin/ghost
+ stencil: full/ghost/bin/3d
+ bin: standard
+ (2) pair mgpt, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.755 | 3.755 | 3.755 Mbytes
+ Step Volume Temp PotEng TotEng Press
+ 0 30400 0 -74.412503 -74.412503 -1.1594626e+09
+Loop time of 1.019e-06 on 1 procs for 0 steps with 250 atoms
+
+98.1% CPU use with 1 MPI tasks x 1 OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 1.019e-06 | | |100.00
+
+Nlocal: 250 ave 250 max 250 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1479 ave 1479 max 1479 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 8000 ave 8000 max 8000 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+FullNghs: 16000 ave 16000 max 16000 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 16000
+Ave neighs/atom = 64
+Neighbor list builds = 0
+Dangerous builds = 0
+
+# Convert energy to rydbergs and pressure to gpa
+
+variable natoms equal "count(all)"
+variable voltot equal "vol"
+variable atvol equal "v_voltot/v_natoms"
+variable etot equal "2.0*pe"
+variable etotry equal "v_etot/v_natoms"
+variable ptot equal "press"
+variable ptotgpa equal "v_ptot/1.0e+09"
+
+print "number of atoms = ${natoms}"
+number of atoms = 250
+print "atomic volume (a.u.) = ${atvol}"
+atomic volume (a.u.) = 121.6
+print "total energy (ry/atom) = ${etotry}"
+total energy (ry/atom) = -0.59530002488734
+print "pressure (gpa) = ${ptotgpa}"
+pressure (gpa) = -1.15946260887554
+print "${natoms} ${atvol} ${etot} ${ptotgpa}"
+250 121.6 -148.825006221835 -1.15946260887554
+print "${atvol} ${etotry} ${ptotgpa}"
+121.6 -0.59530002488734 -1.15946260887554
+Total wall time: 0:00:00
diff --git a/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4 b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4
new file mode 100644
index 0000000000..03195ca9c3
--- /dev/null
+++ b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4
@@ -0,0 +1,134 @@
+LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified)
+OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
+ using 1 OpenMP thread(s) per MPI task
+# script for mgpt t=0 eos in bulk bcc structure
+
+units electron
+atom_style atomic
+
+# Atomic volume for MGPT potential in a.u.
+variable atomic_vol equal 121.6
+
+# Derive lattice constant from volume
+variable lattice_constant equal (${atomic_vol}*2.0)^(1.0/3.0)
+variable lattice_constant equal (121.6*2.0)^(1.0/3.0)
+
+# Create bcc lattice with 5x5x5 unit cells (250 atoms)
+lattice bcc ${lattice_constant}
+lattice bcc 6.24196300283154
+Lattice spacing in x,y,z = 6.241963 6.241963 6.241963
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815)
+ 1 by 2 by 2 MPI processor grid
+create_atoms 1 box
+Created 250 atoms
+ using lattice units in orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815)
+ create_atoms CPU = 0.000 seconds
+
+# Define potential for use in simulation
+pair_style mgpt
+
+# Set parameters for potential:
+# parameter files atomic volume
+#pair_coeff * * parmin potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6
+Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
+
+# Create velocities at 0 K
+velocity all create 0.0 87287
+
+# Set neighbor list parameters
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
+
+# Set up microcanonical integrator
+fix 1 all nve
+
+# Dump coordinates to file every 50 timesteps
+#dump id all atom 50 dump.bcc0
+
+# Output thermodynamical data every 10 timesteps
+thermo 10
+
+# Set output quantities and output format
+thermo_style custom step vol temp pe etotal press
+
+## Example: Output floating point number with 5 digits exponential notation.
+#thermo_modify format float %15.5e
+
+# Run 0 timesteps
+run 0
+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 = 13.161827
+ ghost atom cutoff = 13.161827
+ binsize = 6.5809134, bins = 5 5 5
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair mgpt, perpetual
+ attributes: full, newton on, ghost
+ pair build: full/bin/ghost
+ stencil: full/ghost/bin/3d
+ bin: standard
+ (2) pair mgpt, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.73 | 3.73 | 3.73 Mbytes
+ Step Volume Temp PotEng TotEng Press
+ 0 30400 0 -74.412503 -74.412503 -1.1594626e+09
+Loop time of 3.56525e-06 on 4 procs for 0 steps with 250 atoms
+
+119.2% CPU use with 4 MPI tasks x 1 OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.565e-06 | | |100.00
+
+Nlocal: 62.5 ave 65 max 60 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+Nghost: 868.5 ave 871 max 866 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+Neighs: 2000 ave 2110 max 1890 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+FullNghs: 4000 ave 4160 max 3840 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+
+Total # of neighbors = 16000
+Ave neighs/atom = 64
+Neighbor list builds = 0
+Dangerous builds = 0
+
+# Convert energy to rydbergs and pressure to gpa
+
+variable natoms equal "count(all)"
+variable voltot equal "vol"
+variable atvol equal "v_voltot/v_natoms"
+variable etot equal "2.0*pe"
+variable etotry equal "v_etot/v_natoms"
+variable ptot equal "press"
+variable ptotgpa equal "v_ptot/1.0e+09"
+
+print "number of atoms = ${natoms}"
+number of atoms = 250
+print "atomic volume (a.u.) = ${atvol}"
+atomic volume (a.u.) = 121.6
+print "total energy (ry/atom) = ${etotry}"
+total energy (ry/atom) = -0.595300024887348
+print "pressure (gpa) = ${ptotgpa}"
+pressure (gpa) = -1.15946260887575
+print "${natoms} ${atvol} ${etot} ${ptotgpa}"
+250 121.6 -148.825006221837 -1.15946260887575
+print "${atvol} ${etotry} ${ptotgpa}"
+121.6 -0.595300024887348 -1.15946260887575
+Total wall time: 0:00:00
diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1 b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1
new file mode 100644
index 0000000000..88d7e11a8b
--- /dev/null
+++ b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1
@@ -0,0 +1,144 @@
+LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified)
+OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
+ using 1 OpenMP thread(s) per MPI task
+# script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice:
+# input for unrelaxed vacancy formation energy at constant atomic volume
+
+units electron
+atom_style atomic
+
+# Atomic volume for MGPT potential in a.u.
+variable atomic_vol equal 121.6
+
+# Derive effective lattice volume from atomic volume for 249-site cell
+variable lat_vol equal ${atomic_vol}*249/250
+variable lat_vol equal 121.6*249/250
+
+# Derive lattice constant from lattice volume
+variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0)
+variable lattice_constant equal (121.1136*2.0)^(1.0/3.0)
+
+# Create bcc lattice with 5x5x5 unit cells (250 atoms)
+lattice bcc ${lattice_constant}
+lattice bcc 6.23362926394575
+Lattice spacing in x,y,z = 6.2336293 6.2336293 6.2336293
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 250 atoms
+ using lattice units in orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146)
+ create_atoms CPU = 0.000 seconds
+
+# Remove central atom from bcc lattice to create vacancy
+region vacancy sphere 2.5 2.5 2.5 0.1 units lattice
+delete_atoms region vacancy
+Deleted 1 atoms, new total = 249
+
+# Define potential for use in simulation
+pair_style mgpt
+
+# Set parameters for potential:
+# parameter files atomic volume
+#pair_coeff * * parmin potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6
+Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
+
+# Create velocities at 0 K
+velocity all create 0.0 87287
+
+# Set neighbor list parameters
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
+
+# Set up microcanonical integrator
+fix 1 all nve
+
+# Dump coordinates to file every 50 timesteps
+# dump id all atom 50 dump.vac0-bcc
+
+# Output thermodynamical data every 10 timesteps
+thermo 10
+
+# Set output quantities and output format
+thermo_style custom step vol temp pe etotal press
+
+## Example: Output floating point number with 5 digits exponential notation.
+#thermo_modify format float %15.5e
+
+# Run 0 timesteps
+run 0
+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 = 13.161827
+ ghost atom cutoff = 13.161827
+ binsize = 6.5809134, bins = 5 5 5
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair mgpt, perpetual
+ attributes: full, newton on, ghost
+ pair build: full/bin/ghost
+ stencil: full/ghost/bin/3d
+ bin: standard
+ (2) pair mgpt, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.755 | 3.755 | 3.755 Mbytes
+ Step Volume Temp PotEng TotEng Press
+ 0 30278.4 0 -73.996387 -73.996387 -6.3426731e+08
+Loop time of 1.016e-06 on 1 procs for 0 steps with 249 atoms
+
+98.4% CPU use with 1 MPI tasks x 1 OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 1.016e-06 | | |100.00
+
+Nlocal: 249 ave 249 max 249 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1479 ave 1479 max 1479 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 7936 ave 7936 max 7936 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+FullNghs: 15872 ave 15872 max 15872 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 15872
+Ave neighs/atom = 63.742972
+Neighbor list builds = 0
+Dangerous builds = 0
+
+# Convert energy to rydbergs and pressure to gpa
+
+variable natoms equal "count(all)"
+variable voltot equal "vol"
+variable atvol equal "v_voltot/v_natoms"
+variable etot equal "2.0*pe"
+variable etotry equal "v_etot/v_natoms"
+variable ptot equal "press"
+variable ptotgpa equal "v_ptot/1.0e+09"
+
+print "number of atoms = ${natoms}"
+number of atoms = 249
+print "atomic volume (a.u.) = ${atvol}"
+atomic volume (a.u.) = 121.6
+print "total energy (ry/atom) = ${etotry}"
+total energy (ry/atom) = -0.594348488796036
+print "pressure (gpa) = ${ptotgpa}"
+pressure (gpa) = -0.634267307139553
+print "${natoms} ${atvol} ${etot} ${ptotgpa}"
+249 121.6 -147.992773710213 -0.634267307139553
+print "${atvol} ${etotry} ${ptotgpa}"
+121.6 -0.594348488796036 -0.634267307139553
+Total wall time: 0:00:00
diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4 b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4
new file mode 100644
index 0000000000..f78e0f1f4f
--- /dev/null
+++ b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4
@@ -0,0 +1,144 @@
+LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified)
+OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
+ using 1 OpenMP thread(s) per MPI task
+# script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice:
+# input for unrelaxed vacancy formation energy at constant atomic volume
+
+units electron
+atom_style atomic
+
+# Atomic volume for MGPT potential in a.u.
+variable atomic_vol equal 121.6
+
+# Derive effective lattice volume from atomic volume for 249-site cell
+variable lat_vol equal ${atomic_vol}*249/250
+variable lat_vol equal 121.6*249/250
+
+# Derive lattice constant from lattice volume
+variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0)
+variable lattice_constant equal (121.1136*2.0)^(1.0/3.0)
+
+# Create bcc lattice with 5x5x5 unit cells (250 atoms)
+lattice bcc ${lattice_constant}
+lattice bcc 6.23362926394575
+Lattice spacing in x,y,z = 6.2336293 6.2336293 6.2336293
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146)
+ 1 by 2 by 2 MPI processor grid
+create_atoms 1 box
+Created 250 atoms
+ using lattice units in orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146)
+ create_atoms CPU = 0.000 seconds
+
+# Remove central atom from bcc lattice to create vacancy
+region vacancy sphere 2.5 2.5 2.5 0.1 units lattice
+delete_atoms region vacancy
+Deleted 1 atoms, new total = 249
+
+# Define potential for use in simulation
+pair_style mgpt
+
+# Set parameters for potential:
+# parameter files atomic volume
+#pair_coeff * * parmin potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6
+Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
+
+# Create velocities at 0 K
+velocity all create 0.0 87287
+
+# Set neighbor list parameters
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
+
+# Set up microcanonical integrator
+fix 1 all nve
+
+# Dump coordinates to file every 50 timesteps
+# dump id all atom 50 dump.vac0-bcc
+
+# Output thermodynamical data every 10 timesteps
+thermo 10
+
+# Set output quantities and output format
+thermo_style custom step vol temp pe etotal press
+
+## Example: Output floating point number with 5 digits exponential notation.
+#thermo_modify format float %15.5e
+
+# Run 0 timesteps
+run 0
+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 = 13.161827
+ ghost atom cutoff = 13.161827
+ binsize = 6.5809134, bins = 5 5 5
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair mgpt, perpetual
+ attributes: full, newton on, ghost
+ pair build: full/bin/ghost
+ stencil: full/ghost/bin/3d
+ bin: standard
+ (2) pair mgpt, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.73 | 3.73 | 3.73 Mbytes
+ Step Volume Temp PotEng TotEng Press
+ 0 30278.4 0 -73.996387 -73.996387 -6.3426731e+08
+Loop time of 2.64725e-06 on 4 procs for 0 steps with 249 atoms
+
+37.8% CPU use with 4 MPI tasks x 1 OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.647e-06 | | |100.00
+
+Nlocal: 62.25 ave 65 max 60 min
+Histogram: 2 0 0 0 0 0 0 0 1 1
+Nghost: 867.75 ave 870 max 865 min
+Histogram: 1 0 1 0 0 0 0 0 0 2
+Neighs: 1984 ave 2099 max 1875 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+FullNghs: 3968 ave 4149 max 3825 min
+Histogram: 2 0 0 0 0 0 0 1 0 1
+
+Total # of neighbors = 15872
+Ave neighs/atom = 63.742972
+Neighbor list builds = 0
+Dangerous builds = 0
+
+# Convert energy to rydbergs and pressure to gpa
+
+variable natoms equal "count(all)"
+variable voltot equal "vol"
+variable atvol equal "v_voltot/v_natoms"
+variable etot equal "2.0*pe"
+variable etotry equal "v_etot/v_natoms"
+variable ptot equal "press"
+variable ptotgpa equal "v_ptot/1.0e+09"
+
+print "number of atoms = ${natoms}"
+number of atoms = 249
+print "atomic volume (a.u.) = ${atvol}"
+atomic volume (a.u.) = 121.6
+print "total energy (ry/atom) = ${etotry}"
+total energy (ry/atom) = -0.594348488795831
+print "pressure (gpa) = ${ptotgpa}"
+pressure (gpa) = -0.634267307088164
+print "${natoms} ${atvol} ${etot} ${ptotgpa}"
+249 121.6 -147.992773710162 -0.634267307088164
+print "${atvol} ${etotry} ${ptotgpa}"
+121.6 -0.594348488795831 -0.634267307088164
+Total wall time: 0:00:00
diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1 b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1
new file mode 100644
index 0000000000..0e68bd0802
--- /dev/null
+++ b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1
@@ -0,0 +1,162 @@
+LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified)
+OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
+ using 1 OpenMP thread(s) per MPI task
+# script for mgpt t=0 eos with relaxed vacancy in bcc structure:
+# input for relaxed vacancy formation energy at constant pressure
+
+units electron
+atom_style atomic
+
+# Atomic volume for MGPT potential
+variable atomic_vol equal 121.863
+
+# Derive effective lattice volume from atomic volume for 249-site cell
+variable lat_vol equal ${atomic_vol}*249/250
+variable lat_vol equal 121.863*249/250
+
+# Derive lattice constant from lattice volume
+variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0)
+variable lattice_constant equal (121.375548*2.0)^(1.0/3.0)
+
+# Create bcc lattice with 5x5x5 unit cells (250 atoms)
+lattice bcc ${lattice_constant}
+lattice bcc 6.23812011912273
+Lattice spacing in x,y,z = 6.2381201 6.2381201 6.2381201
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 250 atoms
+ using lattice units in orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601)
+ create_atoms CPU = 0.000 seconds
+
+# Remove central atom from bcc lattice to create vacancy
+region vacancy sphere 2.5 2.5 2.5 0.1 units lattice
+delete_atoms region vacancy
+Deleted 1 atoms, new total = 249
+
+# Define potential for use in simulation
+pair_style mgpt
+
+# Set parameters for potential:
+# parameter files atomic volume
+#pair_coeff * * parmin potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.863
+Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
+
+# Set neighbor list parameters
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
+
+# Dump coordinates to file every 50 timesteps
+# dump id all atom 50 dump.vacmin-bcc
+
+# Output thermodynamical data every 10 timesteps
+thermo 10
+
+# Set output quantities and output format
+thermo_style custom step vol temp pe etotal press
+
+## Example: Output floating point number with 5 digits exponential notation.
+#thermo_modify format float %15.5e
+
+# minimize total energy
+min_style cg
+minimize 1.0e-10 1.0e-10 5000 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 = 13.171237
+ ghost atom cutoff = 13.171237
+ binsize = 6.5856184, bins = 5 5 5
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair mgpt, perpetual
+ attributes: full, newton on, ghost
+ pair build: full/bin/ghost
+ stencil: full/ghost/bin/3d
+ bin: standard
+ (2) pair mgpt, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 4.88 | 4.88 | 4.88 Mbytes
+ Step Volume Temp PotEng TotEng Press
+ 0 30343.887 0 -73.994511 -73.994511 -1.0504398e+09
+ 10 30343.887 0 -74.002332 -74.002332 -1.107516e+09
+ 20 30343.887 0 -74.00485 -74.00485 -1.1316373e+09
+ 30 30343.887 0 -74.005762 -74.005762 -1.143304e+09
+ 40 30343.887 0 -74.006116 -74.006116 -1.149395e+09
+ 50 30343.887 0 -74.006262 -74.006262 -1.1527914e+09
+ 60 30343.887 0 -74.006323 -74.006323 -1.1547677e+09
+ 70 30343.887 0 -74.00635 -74.00635 -1.1559529e+09
+ 80 30343.887 0 -74.006361 -74.006361 -1.1566763e+09
+ 90 30343.887 0 -74.006366 -74.006366 -1.1571256e+09
+ 100 30343.887 0 -74.006369 -74.006369 -1.1574093e+09
+ 110 30343.887 0 -74.00637 -74.00637 -1.1575908e+09
+ 120 30343.887 0 -74.00637 -74.00637 -1.1577083e+09
+ 130 30343.887 0 -74.00637 -74.00637 -1.1577849e+09
+ 139 30343.887 0 -74.006371 -74.006371 -1.1578311e+09
+Loop time of 2.58636 on 1 procs for 139 steps with 249 atoms
+
+90.5% CPU use with 1 MPI tasks x 1 OpenMP threads
+
+Minimization stats:
+ Stopping criterion = energy tolerance
+ Energy initial, next-to-last, final =
+ -73.9945109564338 -74.0063705487283 -74.0063705557007
+ Force two-norm initial, final = 0.036622686 8.090814e-05
+ Force max component initial, final = 0.0073094815 8.0524205e-06
+ Final line search alpha, max atom move = 1 8.0524205e-06
+ Iterations, force evaluations = 139 139
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 2.5671 | 2.5671 | 2.5671 | 0.0 | 99.26
+Neigh | 0.015241 | 0.015241 | 0.015241 | 0.0 | 0.59
+Comm | 0.001446 | 0.001446 | 0.001446 | 0.0 | 0.06
+Output | 0.00038428 | 0.00038428 | 0.00038428 | 0.0 | 0.01
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 0.002161 | | | 0.08
+
+Nlocal: 249 ave 249 max 249 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1479 ave 1479 max 1479 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 7936 ave 7936 max 7936 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+FullNghs: 15872 ave 15872 max 15872 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 15872
+Ave neighs/atom = 63.742972
+Neighbor list builds = 4
+Dangerous builds = 0
+
+# Convert energy to rydbergs and pressure to gpa
+
+variable natoms equal "count(all)"
+variable voltot equal "vol"
+variable atvol equal "v_voltot/v_natoms"
+variable etot equal "2.0*pe"
+variable etotry equal "v_etot/v_natoms"
+variable ptot equal "press"
+variable ptotgpa equal "v_ptot/1.0e+09"
+
+print "number of atoms = ${natoms}"
+number of atoms = 249
+print "atomic volume (a.u.) = ${atvol}"
+atomic volume (a.u.) = 121.863
+print "total energy (ry/atom) = ${etotry}"
+total energy (ry/atom) = -0.594428679162253
+print "pressure (gpa) = ${ptotgpa}"
+pressure (gpa) = -1.15783109516516
+print "${natoms} ${atvol} ${etot} ${ptotgpa}"
+249 121.863 -148.012741111401 -1.15783109516516
+print "${atvol} ${etotry} ${ptotgpa}"
+121.863 -0.594428679162253 -1.15783109516516
+Total wall time: 0:00:02
diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4 b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4
new file mode 100644
index 0000000000..50af5c02e1
--- /dev/null
+++ b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4
@@ -0,0 +1,162 @@
+LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified)
+OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
+ using 1 OpenMP thread(s) per MPI task
+# script for mgpt t=0 eos with relaxed vacancy in bcc structure:
+# input for relaxed vacancy formation energy at constant pressure
+
+units electron
+atom_style atomic
+
+# Atomic volume for MGPT potential
+variable atomic_vol equal 121.863
+
+# Derive effective lattice volume from atomic volume for 249-site cell
+variable lat_vol equal ${atomic_vol}*249/250
+variable lat_vol equal 121.863*249/250
+
+# Derive lattice constant from lattice volume
+variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0)
+variable lattice_constant equal (121.375548*2.0)^(1.0/3.0)
+
+# Create bcc lattice with 5x5x5 unit cells (250 atoms)
+lattice bcc ${lattice_constant}
+lattice bcc 6.23812011912273
+Lattice spacing in x,y,z = 6.2381201 6.2381201 6.2381201
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601)
+ 1 by 2 by 2 MPI processor grid
+create_atoms 1 box
+Created 250 atoms
+ using lattice units in orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601)
+ create_atoms CPU = 0.000 seconds
+
+# Remove central atom from bcc lattice to create vacancy
+region vacancy sphere 2.5 2.5 2.5 0.1 units lattice
+delete_atoms region vacancy
+Deleted 1 atoms, new total = 249
+
+# Define potential for use in simulation
+pair_style mgpt
+
+# Set parameters for potential:
+# parameter files atomic volume
+#pair_coeff * * parmin potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol}
+pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.863
+Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
+
+# Set neighbor list parameters
+neighbor 0.1 bin
+neigh_modify every 1 delay 0 check yes
+
+# Dump coordinates to file every 50 timesteps
+# dump id all atom 50 dump.vacmin-bcc
+
+# Output thermodynamical data every 10 timesteps
+thermo 10
+
+# Set output quantities and output format
+thermo_style custom step vol temp pe etotal press
+
+## Example: Output floating point number with 5 digits exponential notation.
+#thermo_modify format float %15.5e
+
+# minimize total energy
+min_style cg
+minimize 1.0e-10 1.0e-10 5000 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 = 13.171237
+ ghost atom cutoff = 13.171237
+ binsize = 6.5856184, bins = 5 5 5
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair mgpt, perpetual
+ attributes: full, newton on, ghost
+ pair build: full/bin/ghost
+ stencil: full/ghost/bin/3d
+ bin: standard
+ (2) pair mgpt, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 4.855 | 4.855 | 4.855 Mbytes
+ Step Volume Temp PotEng TotEng Press
+ 0 30343.887 0 -73.994511 -73.994511 -1.0504398e+09
+ 10 30343.887 0 -74.002332 -74.002332 -1.107516e+09
+ 20 30343.887 0 -74.00485 -74.00485 -1.1316373e+09
+ 30 30343.887 0 -74.005762 -74.005762 -1.143304e+09
+ 40 30343.887 0 -74.006116 -74.006116 -1.149395e+09
+ 50 30343.887 0 -74.006262 -74.006262 -1.1527914e+09
+ 60 30343.887 0 -74.006323 -74.006323 -1.1547677e+09
+ 70 30343.887 0 -74.00635 -74.00635 -1.1559529e+09
+ 80 30343.887 0 -74.006361 -74.006361 -1.1566763e+09
+ 90 30343.887 0 -74.006366 -74.006366 -1.1571256e+09
+ 100 30343.887 0 -74.006369 -74.006369 -1.1574093e+09
+ 110 30343.887 0 -74.00637 -74.00637 -1.1575908e+09
+ 120 30343.887 0 -74.00637 -74.00637 -1.1577083e+09
+ 130 30343.887 0 -74.00637 -74.00637 -1.1577849e+09
+ 139 30343.887 0 -74.006371 -74.006371 -1.1578311e+09
+Loop time of 0.972735 on 4 procs for 139 steps with 249 atoms
+
+89.3% CPU use with 4 MPI tasks x 1 OpenMP threads
+
+Minimization stats:
+ Stopping criterion = energy tolerance
+ Energy initial, next-to-last, final =
+ -73.9945109564331 -74.0063705487423 -74.0063705556773
+ Force two-norm initial, final = 0.036622686 8.090814e-05
+ Force max component initial, final = 0.0073094815 8.0524207e-06
+ Final line search alpha, max atom move = 1 8.0524207e-06
+ Iterations, force evaluations = 139 139
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0.9418 | 0.94514 | 0.9488 | 0.3 | 97.16
+Neigh | 0.0083827 | 0.0084423 | 0.0085002 | 0.0 | 0.87
+Comm | 0.011833 | 0.015482 | 0.01882 | 2.0 | 1.59
+Output | 0.0002579 | 0.00029089 | 0.000389 | 0.0 | 0.03
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 0.003376 | | | 0.35
+
+Nlocal: 62.25 ave 68 max 59 min
+Histogram: 1 1 0 1 0 0 0 0 0 1
+Nghost: 867.75 ave 871 max 862 min
+Histogram: 1 0 0 0 0 0 1 0 1 1
+Neighs: 1984 ave 2211 max 1853 min
+Histogram: 1 1 1 0 0 0 0 0 0 1
+FullNghs: 3968 ave 4334 max 3761 min
+Histogram: 1 1 0 1 0 0 0 0 0 1
+
+Total # of neighbors = 15872
+Ave neighs/atom = 63.742972
+Neighbor list builds = 4
+Dangerous builds = 0
+
+# Convert energy to rydbergs and pressure to gpa
+
+variable natoms equal "count(all)"
+variable voltot equal "vol"
+variable atvol equal "v_voltot/v_natoms"
+variable etot equal "2.0*pe"
+variable etotry equal "v_etot/v_natoms"
+variable ptot equal "press"
+variable ptotgpa equal "v_ptot/1.0e+09"
+
+print "number of atoms = ${natoms}"
+number of atoms = 249
+print "atomic volume (a.u.) = ${atvol}"
+atomic volume (a.u.) = 121.863
+print "total energy (ry/atom) = ${etotry}"
+total energy (ry/atom) = -0.594428679162068
+print "pressure (gpa) = ${ptotgpa}"
+pressure (gpa) = -1.15783109519336
+print "${natoms} ${atvol} ${etot} ${ptotgpa}"
+249 121.863 -148.012741111355 -1.15783109519336
+print "${atvol} ${etotry} ${ptotgpa}"
+121.863 -0.594428679162068 -1.15783109519336
+Total wall time: 0:00:00
diff --git a/examples/PACKAGES/mgpt/log.bcc0 b/examples/PACKAGES/mgpt/log.bcc0
deleted file mode 100644
index 4e4df5da4f..0000000000
--- a/examples/PACKAGES/mgpt/log.bcc0
+++ /dev/null
@@ -1,53 +0,0 @@
-LAMMPS (23 Oct 2015)
-# script for mgpt t=0 eos in bulk bcc structure
-
-echo screen
-Lattice spacing in x,y,z = 6.24196 6.24196 6.24196
-Created orthogonal box = (0 0 0) to (31.2098 31.2098 31.2098)
- 1 by 1 by 1 MPI processor grid
-Created 250 atoms
-Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
-Neighbor list info ...
- 2 neighbor list requests
- update every 1 steps, delay 0 steps, check yes
- max neighbors/atom: 2000, page size: 100000
- master list distance cutoff = 13.1618
- ghost atom cutoff = 13.1618
- binsize = 6.58091 -> bins = 5 5 5
-Memory usage per processor = 3.54482 Mbytes
-Step Volume Temp PotEng TotEng Press
- 0 30400 0 -74.412503 -74.412503 -1.1594626e+09
-Loop time of 1.90735e-06 on 1 procs for 0 steps with 250 atoms
-
-0.0% CPU use with 1 MPI tasks x no OpenMP threads
-
-MPI task timing breakdown:
-Section | min time | avg time | max time |%varavg| %total
----------------------------------------------------------------
-Pair | 0 | 0 | 0 | 0.0 | 0.00
-Neigh | 0 | 0 | 0 | 0.0 | 0.00
-Comm | 0 | 0 | 0 | 0.0 | 0.00
-Output | 0 | 0 | 0 | 0.0 | 0.00
-Modify | 0 | 0 | 0 | 0.0 | 0.00
-Other | | 1.907e-06 | | |100.00
-
-Nlocal: 250 ave 250 max 250 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-Nghost: 1479 ave 1479 max 1479 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-Neighs: 8000 ave 8000 max 8000 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-FullNghs: 16000 ave 16000 max 16000 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-
-Total # of neighbors = 16000
-Ave neighs/atom = 64
-Neighbor list builds = 0
-Dangerous builds = 0
-number of atoms = 250
-atomic volume (a.u.) = 121.6
-total energy (ry/atom) = -0.59530002488734
-pressure (gpa) = -1.15946260887556
-250 121.6 -148.825006221835 -1.15946260887556
-121.6 -0.59530002488734 -1.15946260887556
-Total wall time: 0:00:00
diff --git a/examples/PACKAGES/mgpt/log.vac0-bcc b/examples/PACKAGES/mgpt/log.vac0-bcc
deleted file mode 100644
index 63880de450..0000000000
--- a/examples/PACKAGES/mgpt/log.vac0-bcc
+++ /dev/null
@@ -1,55 +0,0 @@
-LAMMPS (23 Oct 2015)
-# script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice:
-# input for unrelaxed vacancy formation energy at constant atomic volume
-
-echo screen
-Lattice spacing in x,y,z = 6.23363 6.23363 6.23363
-Created orthogonal box = (0 0 0) to (31.1681 31.1681 31.1681)
- 1 by 1 by 1 MPI processor grid
-Created 250 atoms
-Deleted 1 atoms, new total = 249
-Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
-Neighbor list info ...
- 2 neighbor list requests
- update every 1 steps, delay 0 steps, check yes
- max neighbors/atom: 2000, page size: 100000
- master list distance cutoff = 13.1618
- ghost atom cutoff = 13.1618
- binsize = 6.58091 -> bins = 5 5 5
-Memory usage per processor = 3.54478 Mbytes
-Step Volume Temp PotEng TotEng Press
- 0 30278.4 0 -73.996387 -73.996387 -6.3426731e+08
-Loop time of 1.90735e-06 on 1 procs for 0 steps with 249 atoms
-
-0.0% CPU use with 1 MPI tasks x no OpenMP threads
-
-MPI task timing breakdown:
-Section | min time | avg time | max time |%varavg| %total
----------------------------------------------------------------
-Pair | 0 | 0 | 0 | 0.0 | 0.00
-Neigh | 0 | 0 | 0 | 0.0 | 0.00
-Comm | 0 | 0 | 0 | 0.0 | 0.00
-Output | 0 | 0 | 0 | 0.0 | 0.00
-Modify | 0 | 0 | 0 | 0.0 | 0.00
-Other | | 1.907e-06 | | |100.00
-
-Nlocal: 249 ave 249 max 249 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-Nghost: 1479 ave 1479 max 1479 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-Neighs: 7936 ave 7936 max 7936 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-FullNghs: 15872 ave 15872 max 15872 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-
-Total # of neighbors = 15872
-Ave neighs/atom = 63.743
-Neighbor list builds = 0
-Dangerous builds = 0
-number of atoms = 249
-atomic volume (a.u.) = 121.6
-total energy (ry/atom) = -0.594348488796036
-pressure (gpa) = -0.634267307139601
-249 121.6 -147.992773710213 -0.634267307139601
-121.6 -0.594348488796036 -0.634267307139601
-Total wall time: 0:00:00
diff --git a/examples/PACKAGES/mgpt/log.vacmin-bcc b/examples/PACKAGES/mgpt/log.vacmin-bcc
deleted file mode 100644
index 876b34eb1e..0000000000
--- a/examples/PACKAGES/mgpt/log.vacmin-bcc
+++ /dev/null
@@ -1,78 +0,0 @@
-LAMMPS (23 Oct 2015)
-# script for mgpt t=0 eos with relaxed vacancy in bcc structure:
-# input for relaxed vacancy formation energy at constant pressure
-
-echo screen
-Lattice spacing in x,y,z = 6.23812 6.23812 6.23812
-Created orthogonal box = (0 0 0) to (31.1906 31.1906 31.1906)
- 1 by 1 by 1 MPI processor grid
-Created 250 atoms
-Deleted 1 atoms, new total = 249
-Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30
-Neighbor list info ...
- 2 neighbor list requests
- update every 1 steps, delay 0 steps, check yes
- max neighbors/atom: 2000, page size: 100000
- master list distance cutoff = 13.1712
- ghost atom cutoff = 13.1712
- binsize = 6.58562 -> bins = 5 5 5
-Memory usage per processor = 4.66978 Mbytes
-Step Volume Temp PotEng TotEng Press
- 0 30343.887 0 -73.994511 -73.994511 -1.0504398e+09
- 10 30343.887 0 -74.002332 -74.002332 -1.107516e+09
- 20 30343.887 0 -74.00485 -74.00485 -1.1316373e+09
- 30 30343.887 0 -74.005762 -74.005762 -1.143304e+09
- 40 30343.887 0 -74.006116 -74.006116 -1.149395e+09
- 50 30343.887 0 -74.006262 -74.006262 -1.1527914e+09
- 60 30343.887 0 -74.006323 -74.006323 -1.1547677e+09
- 70 30343.887 0 -74.00635 -74.00635 -1.1559529e+09
- 80 30343.887 0 -74.006361 -74.006361 -1.1566763e+09
- 90 30343.887 0 -74.006366 -74.006366 -1.1571256e+09
- 100 30343.887 0 -74.006369 -74.006369 -1.1574093e+09
- 110 30343.887 0 -74.00637 -74.00637 -1.1575908e+09
- 120 30343.887 0 -74.00637 -74.00637 -1.1577083e+09
- 130 30343.887 0 -74.00637 -74.00637 -1.1577849e+09
- 139 30343.887 0 -74.006371 -74.006371 -1.1578311e+09
-Loop time of 4.22107 on 1 procs for 139 steps with 249 atoms
-
-92.1% CPU use with 1 MPI tasks x no OpenMP threads
-
-Minimization stats:
- Stopping criterion = energy tolerance
- Energy initial, next-to-last, final =
- -73.9945109564 -74.0063705487 -74.0063705557
- Force two-norm initial, final = 0.0366227 8.09081e-05
- Force max component initial, final = 0.00730948 8.05242e-06
- Final line search alpha, max atom move = 1 8.05242e-06
- Iterations, force evaluations = 139 139
-
-MPI task timing breakdown:
-Section | min time | avg time | max time |%varavg| %total
----------------------------------------------------------------
-Pair | 4.1973 | 4.1973 | 4.1973 | 0.0 | 99.44
-Neigh | 0.018799 | 0.018799 | 0.018799 | 0.0 | 0.45
-Comm | 0.0017059 | 0.0017059 | 0.0017059 | 0.0 | 0.04
-Output | 0.00080252 | 0.00080252 | 0.00080252 | 0.0 | 0.02
-Modify | 0 | 0 | 0 | 0.0 | 0.00
-Other | | 0.002477 | | | 0.06
-
-Nlocal: 249 ave 249 max 249 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-Nghost: 1479 ave 1479 max 1479 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-Neighs: 7936 ave 7936 max 7936 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-FullNghs: 15872 ave 15872 max 15872 min
-Histogram: 1 0 0 0 0 0 0 0 0 0
-
-Total # of neighbors = 15872
-Ave neighs/atom = 63.743
-Neighbor list builds = 4
-Dangerous builds = 0
-number of atoms = 249
-atomic volume (a.u.) = 121.863
-total energy (ry/atom) = -0.594428679162064
-pressure (gpa) = -1.15783109519801
-249 121.863 -148.012741111354 -1.15783109519801
-121.863 -0.594428679162064 -1.15783109519801
-Total wall time: 0:00:04
diff --git a/lib/gpu/geryon/ocl_memory.h b/lib/gpu/geryon/ocl_memory.h
index e665654071..294578101d 100644
--- a/lib/gpu/geryon/ocl_memory.h
+++ b/lib/gpu/geryon/ocl_memory.h
@@ -491,17 +491,17 @@ template struct _ucl_memcpy;
// Both are images
template<> struct _ucl_memcpy<2,2> {
template
- static inline void mc(p1 &dst, const p2 &src, const size_t n,
- cl_command_queue &cq, const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/,
+ cl_command_queue &/*cq*/, const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
template
- static inline void mc(p1 &dst, const size_t dpitch, const p2 &src,
- const size_t spitch, const size_t cols,
- const size_t rows, cl_command_queue &cq,
- const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/,
+ const size_t /*spitch*/, const size_t /*cols*/,
+ const size_t /*rows*/, cl_command_queue &/*cq*/,
+ const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
};
@@ -509,17 +509,17 @@ template<> struct _ucl_memcpy<2,2> {
// Destination is texture, source on device
template<> struct _ucl_memcpy<2,0> {
template
- static inline void mc(p1 &dst, const p2 &src, const size_t n,
- cl_command_queue &cq, const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/,
+ cl_command_queue &/*cq*/, const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
template
- static inline void mc(p1 &dst, const size_t dpitch, const p2 &src,
- const size_t spitch, const size_t cols,
- const size_t rows, cl_command_queue &cq,
- const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/,
+ const size_t /*spitch*/, const size_t /*cols*/,
+ const size_t /*rows*/, cl_command_queue &/*cq*/,
+ const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
};
@@ -527,17 +527,17 @@ template<> struct _ucl_memcpy<2,0> {
// Destination is texture, source on host
template<> struct _ucl_memcpy<2,1> {
template
- static inline void mc(p1 &dst, const p2 &src, const size_t n,
- cl_command_queue &cq, const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/,
+ cl_command_queue &/*cq*/, const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
template
- static inline void mc(p1 &dst, const size_t dpitch, const p2 &src,
- const size_t spitch, const size_t cols,
- const size_t rows, cl_command_queue &cq,
- const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/,
+ const size_t /*spitch*/, const size_t /*cols*/,
+ const size_t /*rows*/, cl_command_queue &/*cq*/,
+ const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
};
@@ -545,17 +545,17 @@ template<> struct _ucl_memcpy<2,1> {
// Source is texture, dest on device
template<> struct _ucl_memcpy<0,2> {
template
- static inline void mc(p1 &dst, const p2 &src, const size_t n,
- cl_command_queue &cq, const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/,
+ cl_command_queue &/*cq*/, const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
template
- static inline void mc(p1 &dst, const size_t dpitch, const p2 &src,
- const size_t spitch, const size_t cols,
- const size_t rows, cl_command_queue &cq,
- const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/,
+ const size_t /*spitch*/, const size_t /*cols*/,
+ const size_t /*rows*/, cl_command_queue &/*cq*/,
+ const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
};
@@ -563,17 +563,17 @@ template<> struct _ucl_memcpy<0,2> {
// Source is texture, dest on host
template<> struct _ucl_memcpy<1,2> {
template
- static inline void mc(p1 &dst, const p2 &src, const size_t n,
- cl_command_queue &cq, const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/,
+ cl_command_queue &/*cq*/, const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
template
- static inline void mc(p1 &dst, const size_t dpitch, const p2 &src,
- const size_t spitch, const size_t cols,
- const size_t rows, cl_command_queue &cq,
- const cl_bool block,
- const size_t dst_offset, const size_t src_offset) {
+ static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/,
+ const size_t /*spitch*/, const size_t /*cols*/,
+ const size_t /*rows*/, cl_command_queue &/*cq*/,
+ const cl_bool /*block*/,
+ const size_t /*dst_offset*/, const size_t /*src_offset*/) {
assert(0==1);
}
};
diff --git a/lib/gpu/geryon/ucl_copy.h b/lib/gpu/geryon/ucl_copy.h
index 94b57f7a09..b7f4c4c986 100644
--- a/lib/gpu/geryon/ucl_copy.h
+++ b/lib/gpu/geryon/ucl_copy.h
@@ -507,7 +507,7 @@ template <> struct _ucl_cast_copy<0,0> {
}
template
static inline void cc(mat1 & /*dst*/, const mat2 & /*src*/, const size_t /*rows*/,
- const size_t cols, mat3 & /*cast_buffer*/, command_queue & /*cq*/) {
+ const size_t /*cols*/, mat3 & /*cast_buffer*/, command_queue & /*cq*/) {
assert(0==1);
}
};
diff --git a/lib/gpu/geryon/ucl_d_vec.h b/lib/gpu/geryon/ucl_d_vec.h
index 5e281fef07..fdb62d8fab 100644
--- a/lib/gpu/geryon/ucl_d_vec.h
+++ b/lib/gpu/geryon/ucl_d_vec.h
@@ -156,7 +156,7 @@ class UCL_D_Vec : public UCL_BaseMat {
* \param stride Number of _elements_ between the start of each row **/
template
inline void view(ucl_type &input, const size_t rows, const size_t cols,
- const size_t stride) { view(input,rows,cols); }
+ const size_t /*stride*/) { view(input,rows,cols); }
/// Do not allocate memory, instead use an existing allocation from Geryon
/** This function must be passed a Geryon vector or matrix container.
@@ -185,7 +185,7 @@ class UCL_D_Vec : public UCL_BaseMat {
* - The view does not prevent the memory from being freed by the
* allocating container when using CUDA APIs **/
template
- inline void view(ptr_type input, const size_t rows, const size_t cols,
+ inline void view(ptr_type input, const size_t /*rows*/, const size_t cols,
UCL_Device &dev) {
#ifdef UCL_DEBUG
assert(rows==1);
@@ -213,7 +213,7 @@ class UCL_D_Vec : public UCL_BaseMat {
* \param stride Number of _elements_ between the start of each row **/
template
inline void view(ptr_type input, const size_t rows, const size_t cols,
- const size_t stride, UCL_Device &dev)
+ const size_t stride, UCL_Device &/*dev*/)
{ view(input,rows,cols,stride); }
/// Do not allocate memory, instead use an existing allocation
@@ -262,7 +262,7 @@ class UCL_D_Vec : public UCL_BaseMat {
* \param stride Number of _elements_ between the start of each row **/
template
inline void view_offset(const size_t offset,ucl_type &input,const size_t rows,
- const size_t cols, const size_t stride)
+ const size_t cols, const size_t /*stride*/)
{ view_offset(offset,input,rows,cols); }
/// Do not allocate memory, instead use an existing allocation from Geryon
@@ -292,7 +292,7 @@ class UCL_D_Vec : public UCL_BaseMat {
* - The view does not prevent the memory from being freed by the
* allocating container when using CUDA APIs **/
template
- inline void view_offset(const size_t offset,ptr_type input,const size_t rows,
+ inline void view_offset(const size_t offset,ptr_type input,const size_t /*rows*/,
const size_t cols, UCL_Device &dev) {
#ifdef UCL_DEBUG
assert(rows==1);
@@ -328,7 +328,7 @@ class UCL_D_Vec : public UCL_BaseMat {
* \param stride Number of _elements_ between the start of each row **/
template
inline void view_offset(const size_t offset,ptr_type input,const size_t rows,
- const size_t cols,const size_t stride,UCL_Device &dev)
+ const size_t cols,const size_t stride,UCL_Device &/*dev*/)
{ view_offset(offset,input,rows,cols,stride); }
/// Do not allocate memory, instead use an existing allocation
diff --git a/lib/gpu/geryon/ucl_h_vec.h b/lib/gpu/geryon/ucl_h_vec.h
index 9f734ac40c..25e12a3ef5 100644
--- a/lib/gpu/geryon/ucl_h_vec.h
+++ b/lib/gpu/geryon/ucl_h_vec.h
@@ -156,7 +156,7 @@ class UCL_H_Vec : public UCL_BaseMat {
* \param stride Number of _elements_ between the start of each row **/
template
inline void view(ucl_type &input, const size_t rows, const size_t cols,
- const size_t stride) { view(input,rows,cols); }
+ const size_t /*stride*/) { view(input,rows,cols); }
/// Do not allocate memory, instead use an existing allocation from Geryon
/** This function must be passed a Geryon vector or matrix container.
@@ -214,7 +214,7 @@ class UCL_H_Vec : public UCL_BaseMat {
* \param stride Number of _elements_ between the start of each row **/
template
inline void view(ptr_type *input, const size_t rows, const size_t cols,
- const size_t stride, UCL_Device &dev)
+ const size_t stride, UCL_Device &/*dev*/)
{ view(input,rows,cols,stride); }
/// Do not allocate memory, instead use an existing allocation
@@ -259,7 +259,7 @@ class UCL_H_Vec : public UCL_BaseMat {
* \param stride Number of _elements_ between the start of each row **/
template
inline void view_offset(const size_t offset,ucl_type &input,const size_t rows,
- const size_t cols, const size_t stride)
+ const size_t cols, const size_t /*stride*/)
{ view_offset(offset,input,rows,cols); }
/// Do not allocate memory, instead use an existing allocation from Geryon
@@ -382,10 +382,10 @@ class UCL_H_Vec : public UCL_BaseMat {
/// Get element at index i
inline const numtyp & operator[](const int i) const { return _array[i]; }
/// 2D access (row should always be 0)
- inline numtyp & operator()(const int row, const int col)
+ inline numtyp & operator()(const int /*row*/, const int col)
{ return _array[col]; }
/// 2D access (row should always be 0)
- inline const numtyp & operator()(const int row, const int col) const
+ inline const numtyp & operator()(const int /*row*/, const int col) const
{ return _array[col]; }
/// Returns pointer to memory pointer for allocation on host
diff --git a/lib/gpu/geryon/ucl_print.h b/lib/gpu/geryon/ucl_print.h
index 98ae8a8c06..6b1caf90e9 100644
--- a/lib/gpu/geryon/ucl_print.h
+++ b/lib/gpu/geryon/ucl_print.h
@@ -35,7 +35,7 @@ template <> struct _ucl_print<1> {
}
template
static inline void p(const mat_type &mat, const size_t n, std::ostream &out,
- const std::string delim, UCL_Device &dev) {
+ const std::string delim, UCL_Device &/*dev*/) {
p(mat,n,out,delim);
}
template
@@ -59,7 +59,7 @@ template <> struct _ucl_print<1> {
template
static inline void p(const mat_type &mat,const size_t rows,const size_t cols,
std::ostream &out,const std::string delim,
- const std::string row_delim, UCL_Device &dev) {
+ const std::string row_delim, UCL_Device &/*dev*/) {
p(mat,rows,cols,out,delim,row_delim);
}
};
diff --git a/lib/gpu/geryon/ucl_s_obj_help.h b/lib/gpu/geryon/ucl_s_obj_help.h
index 9bc2c40fe2..486caa4f2a 100644
--- a/lib/gpu/geryon/ucl_s_obj_help.h
+++ b/lib/gpu/geryon/ucl_s_obj_help.h
@@ -53,7 +53,7 @@ template <> struct _ucl_s_obj_help<1> {
}
template
- static inline int alloc(t1 &host, t2 &device, t3 &_buffer,
+ static inline int alloc(t1 &host, t2 &device, t3 &/*_buffer*/,
const int cols, mat_type &cq,
const enum UCL_MEMOPT kind1,
const enum UCL_MEMOPT kind2) {
@@ -79,7 +79,7 @@ template <> struct _ucl_s_obj_help<1> {
}
template
- static inline int alloc(t1 &host, t2 &device, t3 &_buffer,
+ static inline int alloc(t1 &host, t2 &device, t3 &/*_buffer*/,
const int rows, const int cols, UCL_Device &acc,
const enum UCL_MEMOPT kind1,
const enum UCL_MEMOPT kind2) {
@@ -105,7 +105,7 @@ template <> struct _ucl_s_obj_help<1> {
}
template
- static inline int alloc(t1 &host, t2 &device, t3 &_buffer,
+ static inline int alloc(t1 &host, t2 &device, t3 &/*_buffer*/,
const int rows, const int cols, mat_type &cq,
const enum UCL_MEMOPT kind1,
const enum UCL_MEMOPT kind2) {
@@ -177,7 +177,7 @@ template <> struct _ucl_s_obj_help<1> {
}
template
- static inline int dev_resize(t1 &device, t2 &host, t3 &buff, const int rows,
+ static inline int dev_resize(t1 &device, t2 &host, t3 &/*buff*/, const int rows,
const int cols) {
if (device.kind()==UCL_VIEW) {
device.view(host);
@@ -369,7 +369,7 @@ template struct _ucl_s_obj_help {
}
template
- static inline int dev_resize(t1 &device, t2 &host, t3 &buff, const int rows,
+ static inline int dev_resize(t1 &device, t2 &/*host*/, t3 &buff, const int rows,
const int cols) {
int err=buff.resize(rows,cols);
if (err!=UCL_SUCCESS)
diff --git a/lib/gpu/geryon/ucl_vector.h b/lib/gpu/geryon/ucl_vector.h
index 0939bae31e..10290f0585 100644
--- a/lib/gpu/geryon/ucl_vector.h
+++ b/lib/gpu/geryon/ucl_vector.h
@@ -147,10 +147,10 @@ class UCL_Vector {
/// Get element at index i
inline const hosttype & operator[](const int i) const { return host[i]; }
/// 2D access (row should always be 0)
- inline hosttype & operator()(const int row, const int col)
+ inline hosttype & operator()(const int /*row*/, const int col)
{ return host[col]; }
/// 2D access (row should always be 0)
- inline const hosttype & operator()(const int row, const int col) const
+ inline const hosttype & operator()(const int /*row*/, const int col) const
{ return host[col]; }
/// Returns pointer to memory pointer for allocation on host
diff --git a/python/lammps/core.py b/python/lammps/core.py
index f4ba7d398b..28b384d6ba 100644
--- a/python/lammps/core.py
+++ b/python/lammps/core.py
@@ -1254,7 +1254,7 @@ class lammps(object):
def set_variable(self,name,value):
"""Set a new value for a LAMMPS string style variable
- .. deprecated:: TBD
+ .. deprecated:: 7Feb2024
This is a wrapper around the :cpp:func:`lammps_set_variable`
function of the C-library interface.
@@ -1278,7 +1278,7 @@ class lammps(object):
def set_string_variable(self,name,value):
"""Set a new value for a LAMMPS string style variable
- .. versionadded:: TBD
+ .. versionadded:: 7Feb2024
This is a wrapper around the :cpp:func:`lammps_set_string_variable`
function of the C-library interface.
@@ -1302,7 +1302,7 @@ class lammps(object):
def set_internal_variable(self,name,value):
"""Set a new value for a LAMMPS internal style variable
- .. versionadded:: TBD
+ .. versionadded:: 7Feb2024
This is a wrapper around the :cpp:func:`lammps_set_internal_variable`
function of the C-library interface.
diff --git a/src/DPD-REACT/fix_shardlow.cpp b/src/DPD-REACT/fix_shardlow.cpp
index fa0ab384b0..7d4d9ce674 100644
--- a/src/DPD-REACT/fix_shardlow.cpp
+++ b/src/DPD-REACT/fix_shardlow.cpp
@@ -50,6 +50,7 @@
#include "npair_half_bin_newton_ssa.h"
#include "pair_dpd_fdt.h"
#include "pair_dpd_fdt_energy.h"
+#include "random_external_state.h"
#include "update.h"
#include
@@ -84,8 +85,8 @@ static const char cite_fix_shardlow[] =
/* ---------------------------------------------------------------------- */
FixShardlow::FixShardlow(LAMMPS *lmp, int narg, char **arg) :
- Fix(lmp, narg, arg), pairDPD(nullptr), pairDPDE(nullptr), v_t0(nullptr)
- ,rand_state(nullptr)
+ Fix(lmp, narg, arg), pairDPD(nullptr), pairDPDE(nullptr), v_t0(nullptr),
+ rand_state(nullptr)
{
if (lmp->citeme) lmp->citeme->add(cite_fix_shardlow);
diff --git a/src/DPD-REACT/fix_shardlow.h b/src/DPD-REACT/fix_shardlow.h
index 0086874e31..552ac3b21d 100644
--- a/src/DPD-REACT/fix_shardlow.h
+++ b/src/DPD-REACT/fix_shardlow.h
@@ -21,7 +21,10 @@ FixStyle(shardlow,FixShardlow);
#define LMP_FIX_SHARDLOW_H
#include "fix.h"
-#include "random_external_state.h"
+
+namespace random_external_state {
+using es_RNG_t = uint64_t;
+}
namespace LAMMPS_NS {
diff --git a/src/DPD-REACT/random_external_state.h b/src/DPD-REACT/random_external_state.h
index 9c5958e243..5ce1cf100c 100644
--- a/src/DPD-REACT/random_external_state.h
+++ b/src/DPD-REACT/random_external_state.h
@@ -76,7 +76,7 @@
// A replacement for the Kokkos Random_XorShift64 class that uses
// an external state variable, instead of a class member variable.
namespace random_external_state {
-typedef uint64_t es_RNG_t;
+using es_RNG_t = uint64_t;
constexpr uint32_t MAX_URAND = 0xffffffffU;
constexpr uint64_t MAX_URAND64 = 0xffffffffffffffffULL - 1;
diff --git a/src/INTEL/pair_airebo_intel.cpp b/src/INTEL/pair_airebo_intel.cpp
index 8d2475604b..cc3168cb99 100644
--- a/src/INTEL/pair_airebo_intel.cpp
+++ b/src/INTEL/pair_airebo_intel.cpp
@@ -1602,9 +1602,6 @@ void ref_torsion_single_interaction(KernelArgsAIREBOT * ka, int i,
flt_t thmin = ka->params.thmin;
flt_t thmax = ka->params.thmax;
int itype = map[x[i].w];
- flt_t xtmp = x[i].x;
- flt_t ytmp = x[i].y;
- flt_t ztmp = x[i].z;
int * REBO_neighs_i = &ka->neigh_rebo.entries[ka->neigh_rebo.offset[i]];
int jnum = ka->neigh_rebo.num[i];
int jtype = map[x[j].w];
diff --git a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp
index faae6e5cbc..8cd02c934e 100644
--- a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp
+++ b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp
@@ -131,8 +131,7 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag,
int nlocal, nall, minlocal;
fix->get_buffern(offload, nlocal, nall, minlocal);
- const int ago = neighbor->ago;
- IP_PRE_pack_separate_buffers(fix, buffers, ago, offload, nlocal, nall);
+ IP_PRE_pack_separate_buffers(fix, buffers, neighbor->ago, offload, nlocal, nall);
ATOM_T * _noalias const x = buffers->get_x(offload);
flt_t * _noalias const q = buffers->get_q(offload);
@@ -231,7 +230,6 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag,
else foff = -minlocal;
FORCE_T * _noalias const f = f_start + foff;
if (NEWTON_PAIR) memset(f + minlocal, 0, f_stride * sizeof(FORCE_T));
- flt_t cutboth = cut_coulsq;
const int toffs = tid * ccache_stride;
flt_t * _noalias const tdelx = ccachex + toffs;
@@ -246,7 +244,6 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag,
const int itype = x[i].w;
const int ptr_off = itype * ntypes;
- const flt_t * _noalias const cutsqi = cutsq + ptr_off;
const LJ_T * _noalias const lji = lj + ptr_off;
const int * _noalias const jlist = firstneigh[i];
diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp
index 1610ae9b4e..5caed42f43 100644
--- a/src/KOKKOS/fft3d_kokkos.cpp
+++ b/src/KOKKOS/fft3d_kokkos.cpp
@@ -26,9 +26,6 @@
using namespace LAMMPS_NS;
-#define MIN(A,B) ((A) < (B) ? (A) : (B))
-#define MAX(A,B) ((A) > (B) ? (A) : (B))
-
/* ---------------------------------------------------------------------- */
template
diff --git a/src/KOKKOS/fftdata_kokkos.h b/src/KOKKOS/fftdata_kokkos.h
index 439a914e3a..0cb59f49cb 100644
--- a/src/KOKKOS/fftdata_kokkos.h
+++ b/src/KOKKOS/fftdata_kokkos.h
@@ -18,15 +18,78 @@
#define LMP_FFT_DATA_KOKKOS_H
#include "kokkos_type.h"
-
-#ifndef MAX
-#define MAX(A,B) ((A) > (B) ? (A) : (B))
-#endif
-
#include "lmpfftsettings.h"
// -------------------------------------------------------------------------
+// if a user sets FFTW, it means FFTW3
+
+#ifdef LMP_KOKKOS
+# ifdef FFT_KOKKOS_FFTW
+# undef FFT_KOKKOS_FFTW
+# define FFT_KOKKOS_FFTW3
+# endif
+# ifdef FFT_KOKKOS_FFTW_THREADS
+# if !defined(FFT_KOKKOS_FFTW3)
+# error "Must use -DFFT_KOKKOS_FFTW3 with -DFFT_KOKKOS_FFTW_THREADS"
+# endif
+# endif
+#endif
+
+// with KOKKOS in CUDA or HIP mode we can only have
+// CUFFT/HIPFFT or KISS, thus undefine all other
+// FFTs here
+
+#ifdef KOKKOS_ENABLE_CUDA
+# if defined(FFT_KOKKOS_FFTW)
+# undef FFT_KOKKOS_FFTW
+# endif
+# if defined(FFT_KOKKOS_FFTW3)
+# undef FFT_KOKKOS_FFTW3
+# endif
+# if defined(FFT_KOKKOS_MKL)
+# undef FFT_KOKKOS_MKL
+# endif
+# if !defined(FFT_KOKKOS_CUFFT) && !defined(FFT_KOKKOS_KISS)
+# define FFT_KOKKOS_KISS
+# endif
+#elif defined(KOKKOS_ENABLE_HIP)
+# if defined(FFT_KOKKOS_FFTW)
+# undef FFT_KOKKOS_FFTW
+# endif
+# if defined(FFT_KOKKOS_FFTW3)
+# undef FFT_KOKKOS_FFTW3
+# endif
+# if defined(FFT_KOKKOS_MKL)
+# undef FFT_KOKKOS_MKL
+# endif
+# if !defined(FFT_KOKKOS_HIPFFT) && !defined(FFT_KOKKOS_KISS)
+# define FFT_KOKKOS_KISS
+# endif
+#else
+# if defined(FFT_KOKKOS_CUFFT)
+# error "Must enable CUDA with KOKKOS to use -DFFT_KOKKOS_CUFFT"
+# endif
+# if defined(FFT_KOKKOS_HIPFFT)
+# error "Must enable HIP with KOKKOS to use -DFFT_KOKKOS_HIPFFT"
+# endif
+#endif
+
+// set strings for library info output
+
+#if defined(FFT_KOKKOS_CUFFT)
+#define LMP_FFT_KOKKOS_LIB "cuFFT"
+#elif defined(FFT_KOKKOS_HIPFFT)
+#define LMP_FFT_KOKKOS_LIB "hipFFT"
+#elif defined(FFT_KOKKOS_FFTW3)
+#define LMP_FFT_KOKKOS_LIB "FFTW3"
+#elif defined(FFT_KOKKOS_MKL)
+#define LMP_FFT_KOKKOS_LIB "MKL FFT"
+#else
+#define LMP_FFT_KOKKOS_LIB "KISS FFT"
+#endif
+
+
#if defined(FFT_KOKKOS_MKL)
#include "mkl_dfti.h"
#if defined(FFT_SINGLE)
diff --git a/src/KOKKOS/fix_shardlow_kokkos.cpp b/src/KOKKOS/fix_shardlow_kokkos.cpp
index bd39ba5114..4cbadc4803 100644
--- a/src/KOKKOS/fix_shardlow_kokkos.cpp
+++ b/src/KOKKOS/fix_shardlow_kokkos.cpp
@@ -49,6 +49,7 @@
#include "neighbor.h"
#include "npair_ssa_kokkos.h"
#include "pair_dpd_fdt_energy_kokkos.h"
+#include "random_external_state.h"
#include "update.h"
#include
diff --git a/src/KOKKOS/remap_kokkos.cpp b/src/KOKKOS/remap_kokkos.cpp
index 8cd3aec6dd..0d539ada83 100644
--- a/src/KOKKOS/remap_kokkos.cpp
+++ b/src/KOKKOS/remap_kokkos.cpp
@@ -19,9 +19,6 @@
using namespace LAMMPS_NS;
-#define MIN(A,B) ((A) < (B) ? (A) : (B))
-#define MAX(A,B) ((A) > (B) ? (A) : (B))
-
/* ---------------------------------------------------------------------- */
template
diff --git a/src/MGPT/mgpt_readpot.cpp b/src/MGPT/mgpt_readpot.cpp
index ab25a9e190..05c9e2ddfc 100644
--- a/src/MGPT/mgpt_readpot.cpp
+++ b/src/MGPT/mgpt_readpot.cpp
@@ -156,7 +156,7 @@ static void getparmindata(const char *potin_file,int nvol[1],double vol0[1],doub
void potdata::readpot(const char *parmin_file,const char *potin_file,const double vol) {
FILE *in;
- double x0,x1,dx,dr;
+ double x0,x1,dx;
int nx;
double r0x,r1x,drx;
@@ -348,7 +348,7 @@ void potdata::readpot(const char *parmin_file,const char *potin_file,const doubl
nrx = (int) ((r1x-r0x)/drx + 1.1); /* Really: 1+round((r1-r0)/dr) */
if (ii == 0) {
- r0 = r0x; r1 = r1x; dr = drx; nr = nrx;
+ r0 = r0x; r1 = r1x; nr = nrx;
vpairtab = new double[nx*nr];
} else {
/* Check that {r0,r1,dr,nr}x == {r0,r1,dr,nr} */
@@ -373,15 +373,12 @@ void potdata::readpot(const char *parmin_file,const char *potin_file,const doubl
double r0rws = r0rwstab[i];
double r00 = r0rws*rws,rp = 1.8*rws;
if (bscreen == 0) r0rws = 10.0;
- double alp = al,alm = al;
- if (mode == 2 || mode == 4 || mode == 6) alm = 125.0;
+ double alp = al;
al = alp;
double r = r0 + j*(r1-r0)/(nr-1);
double rrws = r/rws;
- //double rsqr = r*r;
- // double fl(double r,int mode,double rp,double p1,double al,double r0)
double flr = fl(r,mode,rp,p1,al,r00,pn);
double fl2 = flr*flr;
double v2a = vatab[i]*fl2*fl2;
@@ -392,15 +389,11 @@ void potdata::readpot(const char *parmin_file,const char *potin_file,const doubl
double arg = rrws/r0rwstab[i];
double arg1 = arg - 1.0;
double arg12 = arg1*arg1;
- double f,dp;
+ double f;
if (mode <= 2) {
f = fgauss(arg,al);
- dp=2.*al*arg*arg1;
- }
- else {
+ } else {
f = hgauss(arg,al);
- double arg13 = arg1*arg12;
- dp=2.0*al*al*arg*arg13/(1.+al*arg12);
}
fscr = f*f;
}
diff --git a/src/MGPT/pair_mgpt.cpp b/src/MGPT/pair_mgpt.cpp
index c924cbea84..986c3e4aef 100644
--- a/src/MGPT/pair_mgpt.cpp
+++ b/src/MGPT/pair_mgpt.cpp
@@ -39,7 +39,7 @@
using namespace LAMMPS_NS;
-//#define TIMING_ON
+// #define TIMING_ON
#ifdef TIMING_ON
#include
@@ -49,13 +49,11 @@ using namespace LAMMPS_NS;
#include
#endif
-static double gettime(int x = 0) {
+static double gettime() {
if (1) {
- /*
struct timeval tv;
gettimeofday(&tv,nullptr);
return tv.tv_sec + 1e-6 * tv.tv_usec;
- */
/*
const double x = 1.0 / CLOCKS_PER_SEC;
return clock() * x;
@@ -68,16 +66,17 @@ static double gettime(int x = 0) {
return x*invfreq;
*/
+ /*
const double invfreq = 1.0 / 1.6e9;
unsigned long long int x = GetTimeBase();
return x*invfreq;
-
+ */
} else
return 0.0;
}
#else
-static double gettime(int /*x*/ = 0) { return 0.0; }
+static double gettime() { return 0.0; }
#endif
@@ -569,6 +568,7 @@ void PairMGPT::force_debug_4(double xx[][3],
#ifdef __bg__
#define const
#endif
+#ifdef TIMING_ON
static int ntr_calls = 0;
static trtrace3_fun tr_internal;
static void tr_count(const double * restrict A,
@@ -578,6 +578,7 @@ static void tr_count(const double * restrict A,
tr_internal(A,B1,t1,B2,t2,B3,t3);
ntr_calls++;
}
+#endif
#ifdef __bg__
#undef const
#endif
@@ -589,34 +590,33 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
double *e_s,double *e_p,double *e_t,double *e_q,
int evflag,int newton_pair) {
Hash bond_hash(100000);
- int i,j,k,m,ix,jx,kx,mx,p;
+ int i,j,k,m,ix,jx,kx,p;
double e_single,e_pair,e_triplet,e_triplet_c,e_quad;
double volvir2;
-
+#ifdef TIMING_ON
double nbc = 0.0,tbl = 0.0,tbm = 0.0;
- const int lmax_local = lmax;
-
- //if(evflag) printf("##### ev flag is set... wasting cycles...\n");
-
+#endif
*e_s = -99.0;
*e_p = -99.0;
*e_t = -99.0;
*e_q = -99.0;
- double t0,t1;
-
- t0 = gettime(1);
+#ifdef TIMING_ON
+ double t0 = gettime();
+#endif
e_single = e_pair = e_triplet = e_triplet_c = e_quad = 0.0;
volvir2 = 0.0;
t_make_t = t_make_b = t_make_b2 = t_trace = 0.0;
n_make = n_make_b2 = n_trace = 0.0;
- double tx0,tx1,tsort = 0.0,tpair = 0.0,tlookup = 0.0;
+#ifdef TIMING_ON
+ double tsort = 0.0, tpair = 0.0,tlookup = 0.0;
double ttriplet = 0.0,tquad = 0.0,tmem = 0.0;
double ntsort = 0.0,ntpair = 0.0,ntlookup = 0.0;
double nttriplet = 0.0,ntquad = 0.0,ntmem = 0.0,ntquaditer = 0.0;
double mcount = 0.0,mcount2 = 0.0, qcount = 0.0;
+#endif
double fix,fjx,fkx,fmx,dfix,dfjx,dfkx,dfmx;
double fiy,fjy,fky,fmy,dfiy,dfjy,dfky,dfmy;
@@ -670,8 +670,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
double trd1y,trd2y,trd3y,trd4y;
double trd1z,trd2z,trd3z,trd4z;
-
- tx0 = gettime();
+#ifdef TIMING_ON
+ double tx0 = gettime();
+#endif
double rhoinv;
{
@@ -751,9 +752,11 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
first = (int *) memory->smalloc(sizeof(int) * (ntot+1),"mgpt: first");
nlist_short = (int *) memory->smalloc(sizeof(int) * nneitot,"mgpt: nlist_short");
- tx1 = gettime();
+#ifdef TIMING_ON
+ double tx1 = gettime();
tmem += tx1-tx0;
ntmem++;
+#endif
//printf("[%3d] Starting calculation...\n",comm->me);
@@ -762,7 +765,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
fiy = fjy = fky = fmy = 0.0;
fiz = fjz = fkz = fmz = 0.0;
+#ifdef TIMING_ON
int c_p = 0, c_t = 0, c_q = 0;
+#endif
if (false)
if (domain->triclinic) {
@@ -786,7 +791,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
const int c1 = c1_outside(ss[i],triclinic,alpha);
+#ifdef TIMING_ON
tx0 = gettime();
+#endif
for (jx = 0; jxH.m[1][0]),
@@ -1042,8 +1055,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
}
if (T12 != nullptr) {
- //printf("T12 i,j,k = %d,%d,%d\n",i,j,k);
+#ifdef TIMING_ON
mcount++;
+#endif
if (three_body_energies && evflag) {
tr1 = transtrace(T12->H1H2,T12->H1H2);
double dvir = (2.0*(dvir_ij + dvir_jk)*splinepot.vd +
@@ -1098,8 +1112,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
}
if (T23 != nullptr) {
- //printf("T23 i,j,k = %d,%d,%d\n",i,j,k);
+#ifdef TIMING_ON
mcount++;
+#endif
if (three_body_energies && evflag) {
tr2 = transtrace(T23->H1H2,T23->H1H2);
double dvir = (2.0*(dvir_jk + dvir_ki)*splinepot.vd +
@@ -1154,8 +1169,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
}
if (T31 != nullptr) {
- //printf("T31 i,j,k = %d,%d,%d\n",i,j,k);
+#ifdef TIMING_ON
mcount++;
+#endif
if (three_body_energies && evflag) {
tr3 = transtrace(T31->H1H2,T31->H1H2);
double dvir = (2.0*(dvir_ki + dvir_ij)*splinepot.vd +
@@ -1214,8 +1230,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
double de_triplet = (splinepot.vc*v33 + splinepot.vd*v43) * e_scale * w3;
e_triplet = e_triplet + de_triplet;
e_triplet_c = e_triplet_c + splinepot.vc*v33 * e_scale * w3;
+#ifdef TIMING_ON
c_t++;
-
+#endif
//printf("xxxx %6d %6d %6d :: %20.10e\n",1,2,3,de_triplet);
if (evflag) {
@@ -1246,16 +1263,20 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
fkx = fkx+fsave[2][0]; fky = fky+fsave[2][1]; fkz = fkz+fsave[2][2];
}
+#ifdef TIMING_ON
tx1 = gettime();
ttriplet += tx1 - tx0;
nttriplet++;
+#endif
} else {
triplet_defer = 1;
}
if (four_body_energies || four_body_forces)
if (j < i) { /* Search for quadruplet */
+#ifdef TIMING_ON
tx0 = gettime();
+#endif
mj = first[j];
mk = first[k];
@@ -1342,8 +1363,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
vir4 = vir4 + dvir;
xvir4 = xvir4 + dvir;
}
+#ifdef TIMING_ON
qcount++;
-
+#endif
{
const double ve = splinepot.ve;
@@ -1371,8 +1393,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
vir4 = vir4 + dvir;
xvir4 = xvir4 + dvir;
}
+#ifdef TIMING_ON
qcount++;
-
+#endif
{
const double ve = splinepot.ve;
@@ -1401,8 +1424,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
vir4 = vir4 + dvir;
xvir4 = xvir4 + dvir;
}
+#ifdef TIMING_ON
qcount++;
-
+#endif
{
const double ve = splinepot.ve;
@@ -1425,11 +1449,13 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
double de_quad = splinepot.ve*(tr1 + tr2 + tr3)/anorm4 * e_scale * w4;
e_quad = e_quad + de_quad;
+#ifdef TIMING_ON
if ((T12 && T45) ||
(T23 && T56) ||
(T31 && T64)) {
c_q++;
}
+#endif
if (evflag) {
double drim[3],drjm[3],drkm[3];
@@ -1479,10 +1505,12 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
}
}
+#ifdef TIMING_ON
tx1 = gettime();
tquad += tx1 - tx0;
ntquad++;
ntquaditer++;
+#endif
}
@@ -1514,12 +1542,12 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
for (int pp = 0; pp<3; pp++)
vatom[i][pp] = vatom[i][pp] - rhoinv*splinepot.devol0*e_scale;
}
-
}
-
}
+#ifdef TIMING_ON
tx0 = gettime();
+#endif
for (i = 0; if[i][p] = atom->f[i][p] + ff[i][p];
@@ -1529,20 +1557,16 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist,
if (ss != xx) memory->sfree(ss);
memory->sfree(ff);
memory->sfree(xx);
+#ifdef TIMING_ON
tx1 = gettime();
tmem += tx1-tx0;
ntmem++;
- t1 = gettime(1);
+ double t1 = gettime();
- //printf("compute_x: c_p = %d c_t = %d c_q = %d\n",c_p,c_t,c_q);
-
-
-#ifdef TIMING_ON
if (comm->me == 0) {
double tsum = (tmem+tsort+tpair+tlookup+ttriplet+tquad);
double nsum = (ntmem+ntsort+ntpair+ntlookup+nttriplet+ntquad);
- //double adj = ((t1-t0)-tsum)/nsum;
/* Use adj = 6ns for RDTSC, and 58ns for gettimeofday,
on monkfish.llnl.gov, 2.4GHz Intel
@@ -1832,7 +1856,7 @@ void PairMGPT::coeff(int narg, char **arg)
single_precision = 0;
/* Parse arguments */ {
- int volpres_tag = 0,precision_tag = 0,nbody_tag = 0;
+ int nbody_tag = 0;
int iarg = 5;
while (iarg < narg) {
@@ -1848,7 +1872,6 @@ void PairMGPT::coeff(int narg, char **arg)
"The value is \"%s\".\n",FLERR,arg[iarg+1]);
error->all(FLERR,line);
}
- volpres_tag = 1;
iarg += 2;
if (comm->me == 0) printf("* volpress: volpres_flag = %d [%s %s]\n",volpres_flag,arg[iarg-2],arg[iarg-1]);
} else if (strcmp(arg[iarg],"nbody") == 0) {
@@ -1884,7 +1907,6 @@ void PairMGPT::coeff(int narg, char **arg)
"The value is \"%s\".\n",FLERR,arg[iarg+1]);
error->all(FLERR,line);
}
- precision_tag = 1;
iarg += 2;
if (comm->me == 0) printf("* precision: single_flag = %d [%s %s]\n",single_precision,arg[iarg-2],arg[iarg-1]);
} else {
diff --git a/src/MGPT/pair_mgpt.h b/src/MGPT/pair_mgpt.h
index 409643c059..3168a3c41d 100644
--- a/src/MGPT/pair_mgpt.h
+++ b/src/MGPT/pair_mgpt.h
@@ -273,6 +273,8 @@ public:
void allocate();
struct Matrix {
+ Matrix() = default;
+ Matrix(const Matrix &) = default;
static int sz;
double m[8][8];
diff --git a/src/library.cpp b/src/library.cpp
index bdf315acac..fcf0f6a631 100644
--- a/src/library.cpp
+++ b/src/library.cpp
@@ -2455,7 +2455,7 @@ static int set_variable_deprecated_flag = 1;
/** Set the value of a string-style variable.
\verbatim embed:rst
-.. deprecated:: TBD
+.. deprecated:: 7Feb2024
This function assigns a new value from the string str to the
string-style variable *name*. This is a way to directly change the
@@ -2493,7 +2493,7 @@ int lammps_set_variable(void *handle, const char *name, const char *str)
/** Set the value of a string-style variable.
\verbatim embed:rst
-.. versionadded:: TBD
+.. versionadded:: 7Feb2024
This function assigns a new value from the string str to the
string-style variable *name*. This is a way to directly change the
@@ -2531,6 +2531,8 @@ int lammps_set_string_variable(void *handle, const char *name, const char *str)
*
\verbatim embed:rst
+.. versionadded:: 7Feb2024
+
This function assigns a new value from the floating point number *value*
to the internal-style variable *name*. This is a way to directly change
the numerical value of such a LAMMPS variable that was previous defined
diff --git a/src/lmpfftsettings.h b/src/lmpfftsettings.h
index a5ed057d97..1b9c89274c 100644
--- a/src/lmpfftsettings.h
+++ b/src/lmpfftsettings.h
@@ -25,18 +25,6 @@
#endif
#endif
-#ifdef LMP_KOKKOS
-# ifdef FFT_KOKKOS_FFTW
-# undef FFT_KOKKOS_FFTW
-# define FFT_KOKKOS_FFTW3
-# endif
-# ifdef FFT_KOKKOS_FFTW_THREADS
-# if !defined(FFT_KOKKOS_FFTW3)
-# error "Must use -DFFT_KOKKOS_FFTW3 with -DFFT_KOKKOS_FFTW_THREADS"
-# endif
-# endif
-#endif
-
// set strings for library info output
#if defined(FFT_HEFFTE)
@@ -59,60 +47,6 @@
#define LMP_FFT_LIB "KISS FFT"
#endif
-#ifdef LMP_KOKKOS
-
-// with KOKKOS in CUDA or HIP mode we can only have
-// CUFFT/HIPFFT or KISS, thus undefine all other
-// FFTs here
-
-#ifdef KOKKOS_ENABLE_CUDA
-# if defined(FFT_KOKKOS_FFTW)
-# undef FFT_KOKKOS_FFTW
-# endif
-# if defined(FFT_KOKKOS_FFTW3)
-# undef FFT_KOKKOS_FFTW3
-# endif
-# if defined(FFT_KOKKOS_MKL)
-# undef FFT_KOKKOS_MKL
-# endif
-# if !defined(FFT_KOKKOS_CUFFT) && !defined(FFT_KOKKOS_KISS)
-# define FFT_KOKKOS_KISS
-# endif
-#elif defined(KOKKOS_ENABLE_HIP)
-# if defined(FFT_KOKKOS_FFTW)
-# undef FFT_KOKKOS_FFTW
-# endif
-# if defined(FFT_KOKKOS_FFTW3)
-# undef FFT_KOKKOS_FFTW3
-# endif
-# if defined(FFT_KOKKOS_MKL)
-# undef FFT_KOKKOS_MKL
-# endif
-# if !defined(FFT_KOKKOS_HIPFFT) && !defined(FFT_KOKKOS_KISS)
-# define FFT_KOKKOS_KISS
-# endif
-#else
-# if defined(FFT_KOKKOS_CUFFT)
-# error "Must enable CUDA with KOKKOS to use -DFFT_KOKKOS_CUFFT"
-# endif
-# if defined(FFT_KOKKOS_HIPFFT)
-# error "Must enable HIP with KOKKOS to use -DFFT_KOKKOS_HIPFFT"
-# endif
-#endif
-
-#if defined(FFT_KOKKOS_CUFFT)
-#define LMP_FFT_KOKKOS_LIB "cuFFT"
-#elif defined(FFT_KOKKOS_HIPFFT)
-#define LMP_FFT_KOKKOS_LIB "hipFFT"
-#elif defined(FFT_KOKKOS_FFTW3)
-#define LMP_FFT_KOKKOS_LIB "FFTW3"
-#elif defined(FFT_KOKKOS_MKL)
-#define LMP_FFT_KOKKOS_LIB "MKL FFT"
-#else
-#define LMP_FFT_KOKKOS_LIB "KISS FFT"
-#endif
-#endif
-
#ifdef FFT_SINGLE
typedef float FFT_SCALAR;
#define FFT_PRECISION 1
diff --git a/src/version.h b/src/version.h
index d1d8472ca6..ee367b68b7 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,2 +1 @@
-#define LAMMPS_VERSION "21 Nov 2023"
-#define LAMMPS_UPDATE "Development"
+#define LAMMPS_VERSION "7 Feb 2024"