I compiled LAMMPS 20240829 Update 4 on my local HPC environment.
The simulation setup is similar to a modified fix smd approach:
-
A spring-like loading method is used
-
A plate is pulled at constant loading velocity
-
The force is calculated via variables
-
Force is applied using
fix addforce
My script controlling the loading looks like this:
variable l0 equal c_1[1]
run 0
print “${l0}” file l0.txt screen no
variable cl0 equal ${l0}
variable dx equal " c_1[1] - (v_cl0 - (step-3000000)**1e-08**0.1) "
variable pull_force equal -110000/240*v_dx
fix pull balattice addforce v_pull_force 0.0 0.0
Observed Phenomenon
At the transition between:
run 512100
run 56900
There is a clear sudden drop (discontinuity) in the shear force.
Important observations:
-
This force drop consistently appears in my self-compiled version.
-
The same input script executed with the platform-compiled LAMMPS version does NOT show this artifact.
-
The model, input script, and parameters are identical.
Compiler Information – Self-Compiled Version
Large-scale Atomic/Molecular Massively Parallel Simulator - 29 Aug 2024 - Update 4
Usage example: lmp -var t 300 -echo screen -in in.alloy
List of command line options supported by this LAMMPS executable:
-echo none/screen/log/both : echoing of input script (-e)
-help : print this help message (-h)
-in none/filename : read input from file or stdin (default) (-i)
-kokkos on/off … : turn KOKKOS mode on or off (-k)
-log none/filename : where to send log output (-l)
-mdi ‘’ : pass flags to the MolSSI Driver Interface
-mpicolor color : which exe in a multi-exe mpirun cmd (-m)
-cite : select citation reminder style (-c)
-nocite : disable citation reminder (-nc)
-nonbuf : disable screen/logfile buffering (-nb)
-package style … : invoke package command (-pk)
-partition size1 size2 … : assign partition sizes (-p)
-plog basename : basename for partition logs (-pl)
-pscreen basename : basename for partition screens (-ps)
-restart2data rfile dfile … : convert restart to data file (-r2data)
-restart2dump rfile dgroup dstyle dfile …
: convert restart to dump file (-r2dump)
-restart2info rfile : print info about restart rfile (-r2info)
-reorder topology-specs : processor reordering (-r)
-screen none/filename : where to send screen output (-sc)
-skiprun : skip loops in run and minimize (-sr)
-suffix gpu/intel/kk/opt/omp: style suffix to apply (-sf)
-var varname value : set index style variable (-v)OS: Linux “Anolis OS 8.6” 4.19.91-26.an8.x86_64 x86_64
Compiler: GNU C++ 8.5.0 20210514 (Anolis 8.5.0-10.0.1) with OpenMP 4.5
C++ standard: C++11
MPI v3.1: Intel(R) MPI Library 2021.11 for Linux* OSAccelerator configuration:
OPENMP package API: OpenMP
OPENMP package precision: double
OpenMP standard: OpenMP 4.5FFT information:
FFT precision = double
FFT engine = mpiFFT
FFT library = FFTW3Active compile time flags:
-DLAMMPS_GZIP
-DLAMMPS_SMALLBIG
sizeof(smallint): 32-bit
sizeof(imageint): 32-bit
sizeof(tagint): 32-bit
sizeof(bigint): 64-bitAvailable compression formats:
Extension: .gz Command: gzip
Extension: .bz2 Command: bzip2
Extension: .zst Command: zstd
Extension: .xz Command: xz
Extension: .lzma Command: xz
Extension: .lz4 Command: lz4Installed packages:
MOLECULE KSPACE EXTRA-COMMAND EXTRA-COMPUTE EXTRA-DUMP EXTRA-FIX GRANULAR
MANYBODY OPENMP OPT RIGID
Compiler Information – Working Version (Platform Build)
Large-scale Atomic/Molecular Massively Parallel Simulator - 29 Aug 2024
Usage example: lmp -var t 300 -echo screen -in in.alloy
List of command line options supported by this LAMMPS executable:
-echo none/screen/log/both : echoing of input script (-e)
-help : print this help message (-h)
-in none/filename : read input from file or stdin (default) (-i)
-kokkos on/off … : turn KOKKOS mode on or off (-k)
-log none/filename : where to send log output (-l)
-mdi ‘’ : pass flags to the MolSSI Driver Interface
-mpicolor color : which exe in a multi-exe mpirun cmd (-m)
-cite : select citation reminder style (-c)
-nocite : disable citation reminder (-nc)
-nonbuf : disable screen/logfile buffering (-nb)
-package style … : invoke package command (-pk)
-partition size1 size2 … : assign partition sizes (-p)
-plog basename : basename for partition logs (-pl)
-pscreen basename : basename for partition screens (-ps)
-restart2data rfile dfile … : convert restart to data file (-r2data)
-restart2dump rfile dgroup dstyle dfile …
: convert restart to dump file (-r2dump)
-restart2info rfile : print info about restart rfile (-r2info)
-reorder topology-specs : processor reordering (-r)
-screen none/filename : where to send screen output (-sc)
-skiprun : skip loops in run and minimize (-sr)
-suffix gpu/intel/kk/opt/omp: style suffix to apply (-sf)
-var varname value : set index style variable (-v)OS: Linux “Rocky Linux 8.10 (Green Obsidian)” 4.18.0-553.el8_10.x86_64 x86_64
Compiler: Intel LLVM C++ 202402.0 / Intel(R) oneAPI DPC++/C++ Compiler 2024.2.1 (2024.2.1.20240711) with OpenMP 5.1
C++ standard: C++11
MPI v3.1: Intel(R) MPI Library 2021.13 for Linux* OSAccelerator configuration:
OPENMP package API: OpenMP
OPENMP package precision: double
OpenMP standard: OpenMP 5.1FFT information:
FFT precision = double
FFT engine = mpiFFT
FFT library = FFTW3Active compile time flags:
-DLAMMPS_GZIP
-DLAMMPS_CURL
-DLAMMPS_SMALLBIG
sizeof(smallint): 32-bit
sizeof(imageint): 32-bit
sizeof(tagint): 32-bit
sizeof(bigint): 64-bitAvailable compression formats:
Extension: .gz Command: gzip
Extension: .bz2 Command: bzip2
Extension: .zst Command: zstd
Extension: .xz Command: xz
Extension: .lzma Command: xz
Extension: .lz4 Command: lz4Installed packages:
AMOEBA ASPHERE BOCS BODY BPM BROWNIAN CG-DNA CG-SPICA CLASS2 COLLOID COLVARS
CORESHELL DIELECTRIC DIFFRACTION DIPOLE DPD-BASIC DPD-MESO DPD-REACT
DPD-SMOOTH DRUDE EFF EXTRA-COMMAND EXTRA-COMPUTE EXTRA-DUMP EXTRA-FIX
EXTRA-MOLECULE EXTRA-PAIR FEP GRANULAR INTERLAYER KSPACE MANYBODY MC MEAM MISC
ML-IAP ML-POD ML-SNAP ML-UF3 MOFFF MOLECULE OPENMP OPT ORIENT PERI PHONON
PLUGIN POEMS QEQ REACTION REAXFF REPLICA RIGID SHOCK SPH SPIN SRD TALLY UEF
YAFF
Question
Since the model, input, and parameters are identical but the results differ significantly, and the artifact only appears in my self-compiled version:
What compilation-related issues could cause this type of force discontinuity between successive run commands?
I would appreciate guidance on what to check.









