Compare commits

...

658 Commits

Author SHA1 Message Date
Axel Kohlmeyer 592bd770a8
flag as update 4 2024-08-01 10:52:46 -04:00
Axel Kohlmeyer 13c56473a2
make sure a dump with ID WRITE_DUMP does not exist (e.g. as a leftover from a previous crash) 2024-08-01 10:16:25 -04:00
Axel Kohlmeyer 3d7088a9d9
make LAMMPS python module compatible with mpi4py 4.x.x 2024-08-01 03:46:20 -04:00
k-harris27 2f6567ad76
Fix reading empty type label string in restart 2024-07-31 10:16:19 -04:00
Axel Kohlmeyer 910bb4e111
sphinx 7.4.x is the last series with compatbility for current breath 2024-07-30 22:29:34 -04:00
Axel Kohlmeyer 6e7e2b7aee
backport ValueTokenizer improvements from upstream 2024-07-30 16:43:46 -04:00
Axel Kohlmeyer bdbb391364
add Neighbor::get_xhold() required by fix ipi bugfixes 2024-07-27 00:42:45 -04:00
Axel Kohlmeyer ea67e3104d
backport bugfixes for fix ipi from development branch 2024-07-26 23:35:14 -04:00
Axel Kohlmeyer 6c94fb5eea
Backport of PR #4243 by @jtclemm which fixes issue #3831 2024-07-26 18:41:20 -04:00
Axel Kohlmeyer 84bfbe7936
make compatible with old and new style headers and make more specific 2024-07-25 17:05:52 -04:00
Axel Kohlmeyer 891e97ecf5
cosmetic 2024-07-25 17:00:35 -04:00
Axel Kohlmeyer 1fa18a45a8
re-align ReaxFF OpenMP version of ValidateLists with serial version 2024-07-25 08:46:39 -04:00
Axel Kohlmeyer 9a60dbbf31
apply version tag 2024-07-24 09:35:12 -04:00
Axel Kohlmeyer 92d07ceba4
Backport of commit 8bba2d12ec : Fix bug in GPU/CPU overlap 2024-07-24 08:28:17 -04:00
Axel Kohlmeyer fe90838843
fix typo in comment 2024-07-23 19:03:58 -04:00
Axel Kohlmeyer 2d0aa2daf5
backport of occasional neighbor list rebuilt bugfix 2024-07-23 05:44:42 -04:00
Axel Kohlmeyer 696c2d15da
warn about problematic compiler versions and C++ standard combinations 2024-07-15 18:24:20 -04:00
Richard Berger b570782d5e
bugfix for unittest/fortran/wrap_configuration.cpp 2024-07-15 17:45:49 -04:00
Axel Kohlmeyer 88cd314dc9
only print fix reaxff/bonds output during setup the first time 2024-07-15 06:58:50 -04:00
Axel Kohlmeyer 7e51d1e049
fix compilation issue with latest QUIP/libAtoms code 2024-07-15 06:48:54 -04:00
Axel Kohlmeyer d8c4115b86
update test since we have now one invocation also during setup 2024-07-11 15:03:10 -04:00
Axel Kohlmeyer baa3c8e98c
only call post_force() if it was selected as callback. 2024-07-11 15:03:02 -04:00
Axel Kohlmeyer 1a258d4349
The post_force callback should also be called during "setup" 2024-07-11 13:40:35 -04:00
Steve Plimpton 87bbd70fd2
ensure atom map is reset by fix pour and fix deposit 2024-07-03 00:39:21 -04:00
Axel Kohlmeyer 850e4d14cd
must use the "roots" communicator only on world->me == 0
Thanks to @joshuakempfert. See issue #4210
2024-06-28 14:19:31 -04:00
Axel Kohlmeyer 0717019b2d
remove INTEL package from cross-compiler config.
It doesn't do much goos since we're not using an Intel compiler
and we are running out of capacity for auto-exported symbols
for the LAMMPS shared library (limited to 65k).
2024-06-27 06:27:25 -04:00
Axel Kohlmeyer 0c7720843b
Make sure CMAKE_INSTALL_FULL_LIBDIR is defined when using it 2024-06-22 23:29:30 -04:00
Axel Kohlmeyer 4c18b2fe99
use suitable technical term 2024-06-22 14:26:07 -04:00
Axel Kohlmeyer 1d7b0b730f
avoid segfault in fix shake/rattle when timestep is changed before run 2024-06-22 14:20:38 -04:00
Axel Kohlmeyer 2946087b45
avoid access to uninitialized step_respa pointer in Nose-Hoover fixes 2024-06-22 04:19:23 -04:00
Axel Kohlmeyer 94b2cd7fc5
don't throw an error when reading QEq parameters from file 2024-06-19 18:27:47 -04:00
Axel Kohlmeyer dea53be1a5
error out when extracting non-existent QEq paramters from ReaxFF, e.g. when using pair style hybrid 2024-06-18 09:54:00 -04:00
Axel Kohlmeyer c3c72a3bff
always return initialized data when extracting per-type info 2024-06-18 09:48:54 -04:00
Axel Kohlmeyer 82b86031ef
update fix plumed API version check and add reminder comments to build files 2024-06-17 07:15:15 -04:00
Axel Kohlmeyer 3dda8d752c
avoid segfault trying to delete non-copied style 2024-06-16 01:28:44 -04:00
Axel Kohlmeyer e5809d8be1
update Plumed support for version 2.8.4 and 2.9.1 2024-06-10 09:58:20 -04:00
Axel Kohlmeyer 9861c93225
add OPENMP support for pair style hybrid/scaled 2024-06-10 08:02:22 -04:00
Axel Kohlmeyer 65b21b8772
must reset "eval_in_progress[]" flags to avoid bogus circular dependency errors 2024-06-03 07:50:16 -04:00
Axel Kohlmeyer 8d8f6c3efd
register build number for Windows 11 24H2 2024-05-30 19:41:42 -04:00
Axel Kohlmeyer 7d2238d7be
install runtime dlls for LAMMPS library only with -DBUILD_SHARED_LIBS=yes 2024-05-20 21:11:22 -04:00
Axel Kohlmeyer 638f6e9551
fix bug with newton_bond off 2024-05-20 21:08:44 -04:00
Axel Kohlmeyer a6979e5489
support that cmdargs is used multiple times and may be bytearrays directly 2024-05-20 21:08:32 -04:00
Germain Clavier 411574a39c
Changed alpha_init initialization to avoid infinite loop with 0 starting
value.
2024-04-27 02:43:50 -04:00
Germain Clavier 874f5577d4
Added a vectorstyle variable check for fix_ave_histo.cpp 2024-04-27 02:41:12 -04:00
Axel Kohlmeyer 456449d4ff
downgrade macOS to version 13 2024-04-27 02:40:41 -04:00
Axel Kohlmeyer 22cfd97f46
make pip install packages in virtual environment 2024-04-27 02:40:26 -04:00
Axel Kohlmeyer 453469d6fe
breathe is currently not compatible with sphinx 7.3
# Conflicts:
#	doc/utils/requirements.txt
2024-04-16 19:52:20 -04:00
Axel Kohlmeyer e699ced7bd
make PyLammps mass property compatible with per-atom masses. 2024-04-14 18:27:55 -04:00
yuhldr 6baa2f432c
pylammps: fix get atom.mass by atom.type 2024-04-14 18:27:42 -04:00
maitanemuba c114938867
Added symmetrization of cutoff in init_one() and fixed a print 2024-04-04 21:05:03 -04:00
Axel Kohlmeyer e8294aa207
Backport of PR #4098 from develop 2024-04-04 21:04:19 -04:00
Federico Williamson - WGPC5 6e32b0cada
Allow compute spin for groups other than `all` 2024-04-04 20:54:43 -04:00
Axel Kohlmeyer 6243735af4
Simplify output of windows version. If unknown build number just output "Windows Build #####" 2024-04-04 20:54:03 -04:00
Axel Kohlmeyer 5816c0875a
Fix bug in Kokkos when shrink-wrapping with no atoms 2024-04-04 20:53:29 -04:00
Axel Kohlmeyer a31617ef7b
disable references to cuFFT (which is not yet used) 2024-04-04 20:52:01 -04:00
Steve Plimpton d5c7da1b0e
fix bug in option arg parsing of fix ave/correlate, also update doc page for fix ave/correlate/long 2024-04-04 20:51:13 -04:00
Axel Kohlmeyer 0b1453f7ea
call alternate minimum image code from @stanmoore1 from fix rigid/small 2024-04-04 20:49:46 -04:00
Axel Kohlmeyer ba204b3989
alternate fix to PR #4116 2024-04-03 18:07:24 -04:00
Axel Kohlmeyer fd86bbd982
must always return nfaces=0 for less than 3 vertices 2024-04-03 15:08:59 -04:00
Axel Kohlmeyer 020a4f6ee7
update and refactor xdr support and update its license 2024-03-31 21:49:48 -04:00
Axel Kohlmeyer 36b9d93b52
fix memory leaks in lammps_gather*concat() functions of the library interface 2024-03-19 12:04:40 -04:00
Axel Kohlmeyer cbe2266e40
update electron radius velocities and radii in EFF NH fixes analog to fix nve/eff 2024-03-18 23:54:03 -04:00
Axel Kohlmeyer fb10881636
fix bug in f2c string conversion detected by bound checking 2024-03-18 10:28:18 -04:00
Axel Kohlmeyer dcbb09f321
improved revision of write_dump output frequency setting for 64-bit timesteps 2024-03-06 11:14:19 -05:00
Axel Kohlmeyer b00cb7e6bd
add missing symlink 2024-03-04 11:47:16 -05:00
Axel Kohlmeyer edfe752b2a
try a different workaround for "fix not computed at compatible time" with write_dump 2024-03-03 23:58:47 -05:00
Axel Kohlmeyer 6d28d53d60
fix missing thread initialization exposed by LAMMPS-GUI 2024-03-03 18:36:38 -05:00
Axel Kohlmeyer 9976d58b34
flag branch as maintenance version again 2024-03-02 15:14:08 -05:00
Axel Kohlmeyer 46265e36ce
Merge pull request #4044 from lammps/maintenance
Third Set of Collected Bug Fixes and Maintenance Updates for 2 August 2023 Stable release
2024-03-02 15:11:27 -05:00
Axel Kohlmeyer 2a8d16ee4b
update MS-MEAM examples 2024-03-01 18:56:43 -05:00
Axel Kohlmeyer 54035fba79
improve error messages for meam/ms 2024-03-01 18:56:16 -05:00
Axel Kohlmeyer 7ac835a12f
Revert "This example needs to be replaced as it is not correct"
This reverts commit 688f4f5288.
2024-03-01 18:34:13 -05:00
Axel Kohlmeyer 6058fcc37e
Revert "Removing because examples/meam/msmeam removed"
This reverts commit 573021b362.
2024-03-01 18:34:04 -05:00
Axel Kohlmeyer ee5ee22b47
Revert "Added comment about not using ialloy with meam/ms"
This reverts commit a6c5f3f714.

# Conflicts:
#	doc/src/pair_meam.rst
2024-03-01 18:33:30 -05:00
Axel Kohlmeyer 6138369079
Revert "must remove unit test for meam/ms since potentials were removed"
This reverts commit 50b8fe9c61.
2024-03-01 18:33:01 -05:00
Axel Kohlmeyer b7820bfd0e
whitespace 2024-03-01 17:22:18 -05:00
Axel Kohlmeyer 50b8fe9c61
must remove unit test for meam/ms since potentials were removed 2024-03-01 17:15:47 -05:00
Aidan Thompson 8fa42612e6 Added override for ialloy default with MS-MEAM 2024-03-01 17:12:33 -05:00
Aidan Thompson a6c5f3f714 Added comment about not using ialloy with meam/ms 2024-03-01 16:50:56 -05:00
Aidan Thompson 573021b362 Removing because examples/meam/msmeam removed 2024-03-01 16:46:55 -05:00
Aidan Thompson 688f4f5288 This example needs to be replaced as it is not correct 2024-03-01 16:42:13 -05:00
Axel Kohlmeyer 2831b904e9
cosmetic 2024-03-01 07:19:42 -05:00
Axel Kohlmeyer bff40d2add
flag as update 3 2024-03-01 03:06:19 -05:00
Axel Kohlmeyer 7d2b2ff776
restore correct formatting to meam_force.cpp and port changes to KOKKOS 2024-02-28 17:20:35 -05:00
Aidan P. Thompson 1d09911bdb
Fixed additional errors with multicomponent systems, making msmeamflag independent of ialloy 2024-02-28 17:20:27 -05:00
Aidan P. Thompson e446b17d41
Fixed error in forces that only affects non-zero t1m MS-MEAM models 2024-02-26 09:20:48 -05:00
Axel Kohlmeyer e7ce03aa0a
fix conversion bug when input is in radians 2024-02-26 07:54:46 -05:00
Axel Kohlmeyer a9eaa71f8c
make PLUGIN package compatible with static linkage of LAMMPS 2024-02-26 06:59:43 -05:00
Axel Kohlmeyer 6203c18ef0
add cuFFT presence error check to CMake script 2024-02-24 03:41:45 -05:00
Axel Kohlmeyer a7aacd2440
document requirement of per-type masses 2024-02-22 04:34:41 -05:00
Axel Kohlmeyer 2178ba2513
a few more corrections 2024-02-21 21:04:00 -05:00
Axel Kohlmeyer 8277218cbb
correct output 2024-02-21 20:52:27 -05:00
Axel Kohlmeyer 13d7178f95
monte carlo insertions require per-type masses 2024-02-21 20:46:52 -05:00
Axel Kohlmeyer 1255772864
use a more "CMake" way to link to cuFFT with check in CMake config run 2024-02-21 10:49:55 -05:00
Axel Kohlmeyer 0878fca16e
add detection for CrayClang to the OpenMP compatibility check 2024-02-13 11:09:53 -05:00
Axel Kohlmeyer 147ad3c67c
avoid installing libraries and headers from downloaded external libraries 2024-02-09 13:45:52 -05:00
Axel Kohlmeyer 05e4dded0f
fix bug with assigning molecule IDs in parallel 2024-02-09 11:08:21 -05:00
Axel Kohlmeyer 5739203ad3
small optimization and portability to Solaris/OpenIndiana 2024-02-07 23:01:47 -05:00
Axel Kohlmeyer 3c232ce6a6
ensure that the "timeremain" thermo keyword never reports a negative remaining time 2024-02-02 12:06:25 -05:00
Axel Kohlmeyer f24ced3bb6
fix uninitialized data bug when using a child class 2024-02-01 20:15:29 -05:00
Axel Kohlmeyer d8b74e907e
add workaround for Cray's Clang based compiler to compile fmtlib 2024-02-01 15:34:24 -05:00
Axel Kohlmeyer 039161112b
fix issues with reading and writing data files for systems without atom IDs 2024-01-31 20:32:41 -05:00
Axel Kohlmeyer 522608b59e
make compiling QUIP library more reliable
- replace any -std=f* flags when using GNU fortran with -std=gnu
- cancel parallel make and require serial compile to avoid race condition accessing modules
- increase maximum allowed size for arrays on the stack 100 times
2024-01-26 17:32:14 -05:00
Axel Kohlmeyer 24e65b618b
update external MDI library to version 1.4.26 2024-01-23 21:33:32 -05:00
Axel Kohlmeyer e22cea04e2
replace references to fix ave/spatial with correct equivalents 2024-01-21 12:27:45 -05:00
Axel Kohlmeyer a70aece450
make sure both NEB class constructors are consistently initialized 2024-01-20 14:49:27 -05:00
Axel Kohlmeyer 92d5772dfa
correctly determine when to create "rootworld" communicator 2024-01-20 10:54:23 -05:00
Axel Kohlmeyer 5f04990bc2
Avoid (harmless) errors when shutting down the GPU. 2024-01-19 00:33:10 -05:00
alphataubio d9a7365273
fixed indentations and add support for python 3 2024-01-18 14:54:26 -05:00
Axel Kohlmeyer eaa00c238a
backport fix bond/react bugfixes from upstream PR #3905 2024-01-18 14:50:26 -05:00
Axel Kohlmeyer 20dae33563
Fix bug in some Kokkos fixes' unpack exchange on device
# Conflicts:
#	src/KOKKOS/fix_spring_self_kokkos.cpp
#	src/KOKKOS/fix_spring_self_kokkos.h
2024-01-17 19:33:39 -05:00
Axel Kohlmeyer 9d360af2c5
this limitation no longer applies 2024-01-15 12:16:11 -05:00
Axel Kohlmeyer cafa9ccec2
backport of 32-bit integer overflow fixes for large molecular systems from develop 2024-01-15 11:16:12 -05:00
Axel Kohlmeyer 9296357851
update unit test data for corrected angle style cosine/periodic 2024-01-12 19:04:03 -05:00
Axel Kohlmeyer c53afef070
correct factor 2 force error for m=1 in angle style cosine/periodic 2024-01-12 19:03:48 -05:00
Axel Kohlmeyer 7bdac7eafd
Merge branch 'stable' into maintenance 2024-01-12 12:00:40 -05:00
Axel Kohlmeyer a01a6f3a27
silence compiler warning 2024-01-12 11:58:44 -05:00
Axel Kohlmeyer bfd15408ba
correct factor 2 force error for m=1 in angle style cosine/periodic 2024-01-12 11:49:31 -05:00
Axel Kohlmeyer 48e0859f0d
improve compatibility of oneapi.cmake preset 2024-01-04 11:22:39 -05:00
Axel Kohlmeyer 66930a4e5c
flag error if using INTEL package kspace styles with run style verlet/split 2023-12-22 13:37:38 -05:00
Axel Kohlmeyer c434b96a9b
remove cached copy of "layout" since this was not always initialized when used 2023-12-22 11:31:48 -05:00
Axel Kohlmeyer 6d3945d367
gracefully handle reaxff parameter files without hydrogen bond parameters 2023-12-21 16:08:19 -05:00
Axel Kohlmeyer 84443eb114
Backport cmap fixes for compatibility with charmm-gui from develop branch 2023-12-16 23:33:24 -05:00
Axel Kohlmeyer e37b579237
relax epsilon to be compatible with most recent GCC compilers on Fedora 39 2023-12-16 23:25:23 -05:00
Axel Kohlmeyer 58c2c89d1b
avoid that mliappy is initialized multiple times 2023-12-16 23:20:29 -05:00
Axel Kohlmeyer 023960e7d5
remove ineffective macOS hack 2023-12-14 23:29:59 -05:00
Axel Kohlmeyer 84975f31cb
flag as maintenance branch again 2023-12-14 21:13:56 -05:00
Axel Kohlmeyer 27e8d0f19c
Merge pull request #3933 from lammps/maintenance
Second Set of Collected Bug Fixes and Maintenance Updates for 2 August 2023 Stable release
2023-12-14 21:09:30 -05:00
Axel Kohlmeyer 9befd421ca
workaround hack for macOS 2023-12-14 18:07:50 -05:00
Axel Kohlmeyer b3e54549db
safely copy balance shift dimension string with proper termination 2023-12-14 17:32:20 -05:00
Axel Kohlmeyer 85393862af
fix typos 2023-12-14 16:48:25 -05:00
Axel Kohlmeyer ac1db251cb
recover compilation 2023-12-14 16:24:22 -05:00
Axel Kohlmeyer 3f48d48eea
add missing dependency 2023-12-14 16:00:10 -05:00
Stan Gerald Moore d9804d7590
Fix issues with sorting neigh list by cutoff distance 2023-12-14 15:46:32 -05:00
Stan Gerald Moore 4128d52e1c
Bugfix: port missed changes from #3846 2023-12-14 15:45:51 -05:00
Axel Kohlmeyer 2d961e76b3
flag update #2 to stable release 2023-12-13 00:32:59 -05:00
Richard Berger 016c9ef4b2
Use PyConfig to initialize Python 2023-12-13 00:30:49 -05:00
Axel Kohlmeyer e69c65431f
silence preprocessor warning from leaking internal define in cython generated code 2023-12-13 00:29:42 -05:00
Axel Kohlmeyer a40e9222aa
add valgrind suppressions for MPICH on Fedora 39 2023-12-13 00:29:05 -05:00
Axel Kohlmeyer 283e2103e3
update fix adapt/fep from fix adapt. only supports 2-d parameters for pair styles 2023-12-06 14:35:05 -05:00
Axel Kohlmeyer 2808e6fc52
fix typo 2023-12-06 06:58:55 -05:00
Axel Kohlmeyer c742b20c5a
update Purge.list and avoid redundant checks 2023-12-03 23:27:53 -05:00
Axel Kohlmeyer 530f487dd7
must do region check only when region is active 2023-12-03 11:22:35 -05:00
Axel Kohlmeyer ba8ca9258b
correct dpi to get proper image scaling in PDF output 2023-12-02 16:35:01 -05:00
Axel Kohlmeyer cd21f67cc6
avoid copying over terminating null 2023-12-02 16:22:43 -05:00
Axel Kohlmeyer 07257595ff
use r_c consistently 2023-12-01 05:52:49 -05:00
Axel Kohlmeyer 413d485617
recreate compute xrd mesh image with reasonable dpi setting and used PNG format 2023-12-01 01:32:28 -05:00
Axel Kohlmeyer 8759a18437
handle thermo_modify energy yes correctly 2023-11-30 10:33:54 -05:00
Axel Kohlmeyer f79e9a113f
error out when no per-type masses are set. warn if both per-type and per-atom masses are used. 2023-11-27 07:47:55 -05:00
Axel Kohlmeyer c1fa89186a
correct fix mvv/* compatibility checks in DPD-MESO package 2023-11-26 10:31:50 -05:00
Axel Kohlmeyer 609f5ec64b
restore using nvcc_wrapper with kokkos-cude.cmake preset 2023-11-25 05:58:05 -05:00
Axel Kohlmeyer 38b79eeb9b
some compilers require a code block to follow OpenMP pragmas, even if empty. 2023-11-24 14:53:53 -05:00
Axel Kohlmeyer 7035249abd
remove redundant code and fix memory leaks 2023-11-24 05:06:53 -05:00
Axel Kohlmeyer 816d74d80c
make compatible with Kokkos 3.7 2023-11-23 14:25:05 -05:00
Axel Kohlmeyer 4926164050
report Kokkos library version and OpenMP standard version 2023-11-23 12:38:59 -05:00
Axel Kohlmeyer a102d64a95
detect newer OpenMP standard versions 2023-11-23 12:38:46 -05:00
Axel Kohlmeyer 77db8e422a
add check and document that "scale yes" is not supported for scaling atomic parameters with fix adapt/fep 2023-11-23 12:38:27 -05:00
Axel Kohlmeyer ee0c5dc121
Update CODEOWNERS for cmake 2023-11-21 15:48:40 -05:00
Axel Kohlmeyer 184f5a7f5e
copy intel C++17 compiler hack to Kokkos makefiles 2023-11-21 13:00:09 -05:00
Axel Kohlmeyer 162b9c3ff3
tweak intel compiler makefile for traditional build 2023-11-21 12:59:54 -05:00
Axel Kohlmeyer 4d06a9928f
reduce warnings when compiling with intel classic compilers 2023-11-21 12:58:57 -05:00
Axel Kohlmeyer 938682a751
lower the C++ standard to 14 for some files when compiling with intel classic compiler 2023-11-21 12:58:33 -05:00
Axel Kohlmeyer 00bccbf067
check if creating unix domain socket failed 2023-11-17 03:20:23 -05:00
Axel Kohlmeyer 67085517ff
avoid segfault on command errors in force style unit tests and print error mesage instead 2023-11-16 22:10:15 -05:00
Axel Kohlmeyer 3a2d94822a
throw error for illegal replication values 2023-11-15 08:03:38 -05:00
Stan Gerald Moore c272e8f94f
Avoid integer division 2023-11-15 07:35:26 -05:00
Stan Gerald Moore 7f41eb6d9a
Need force_clear for atom_vec_spin_kokkos 2023-11-15 07:35:12 -05:00
Stan Gerald Moore a716df7e59
Fix bug in Kokkos minimize + fix deform 2023-11-15 07:34:57 -05:00
Axel Kohlmeyer 08eae40f9a
backport enforce2d with fix rigid bugfix 2023-11-15 07:10:55 -05:00
yury-lysogorskiy b6c031fd03
Update pair_pace_extrapolation.cpp
BUGFIX: pair_pace_extrapolation: setup flag aceimpl->ace->compute_projections = true before computing  extrapolation grade
2023-11-10 11:51:15 -05:00
Richard Berger 990c07a133
bugfix: correctly build argv when using Python interface 2023-11-10 11:47:04 -05:00
Richard Berger 4e94e697ec
bugfix: make copy of exename 2023-11-10 11:46:53 -05:00
Richard Berger 4526dccaca
Correctly build argv with nullptr at the end 2023-11-10 11:46:40 -05:00
Stan Gerald Moore 917606e40e
Forces are not modified 2023-11-02 17:46:19 -04:00
Stan Gerald Moore acaae8a36f
Fix bug in fix_dt_reset_kokkos 2023-11-02 17:46:10 -04:00
Axel Kohlmeyer 28803ee78d
add code to avoid deadlock 2023-11-02 02:17:23 -04:00
Steve Plimpton dd498fcbf8
add comm of ghost atom coords to compute cluster/atom and aggregate/atom 2023-11-02 02:16:42 -04:00
Axel Kohlmeyer 0f8af20d0b
limit the maximum number of iterations so the LAMMPS simulation will not stall 2023-10-27 20:33:44 -04:00
Axel Kohlmeyer 00ef4ca3f6
fix bug in not listing all not compiled-in styles 2023-10-27 11:10:31 -04:00
Axel Kohlmeyer 50fbe61616
Backport of PR #3954 to stable release 2023-10-26 20:43:59 -04:00
Axel Kohlmeyer 854c6d93e2
more checks for misformatted ReST roles 2023-10-26 05:07:45 -04:00
Stan Gerald Moore e8e2c5f986
Fix harmless compiler warnings 2023-10-24 17:23:42 -04:00
Axel Kohlmeyer cff21ce808
improve help and error messages 2023-10-24 10:41:10 -04:00
Axel Kohlmeyer 97c4875a08
add sanity check on path to LAMMPS python package folder 2023-10-24 10:41:01 -04:00
Axel Kohlmeyer c9aedf9df8
make sure liblinalg is built before linking phana 2023-10-23 14:58:04 -04:00
Axel Kohlmeyer 723dc17d80
must initialize deleted pointers to null since the following commands may fail 2023-10-23 07:35:10 -04:00
Axel Kohlmeyer c90f874a0d
avoid invalid escape warnings for regexp expressions with python 3.12 2023-10-22 20:01:55 -04:00
Yifan Li 4ed5243d9b
add the missing dividing by np in compute t_prim 2023-10-21 14:58:46 -04:00
Axel Kohlmeyer 71c7d143b7
fix logic bug 2023-10-20 07:01:48 -04:00
Stan Moore e944140ff2
whitespace 2023-10-19 15:29:45 -04:00
Stan Moore b54545d1a4
Fix bug in Kokkos SNAP on GPUs 2023-10-19 15:29:33 -04:00
Stan Gerald Moore fc7119982b
whitespace 2023-10-19 12:53:13 -04:00
Maria-Lesniewski 9e45df19c1
Barostat fix - see lammps PR 879 and 942 2023-10-19 12:25:24 -04:00
Stan Moore 8bfec75568
Add more error checks to Kokkos minimize 2023-10-19 10:11:42 -04:00
Axel Kohlmeyer 0f948e98f2
quote strings with special characters in keyword lists 2023-10-19 10:11:29 -04:00
Axel Kohlmeyer b9ce258935
Revert "make sure itag is initialized"
This reverts commit 058f87e019.
2023-10-18 09:32:44 -04:00
Axel Kohlmeyer 058f87e019
make sure itag is initialized 2023-10-18 09:24:31 -04:00
Axel Kohlmeyer 6c2e469f5d
copy-and-paste bugfix from @stanmoore1 2023-10-17 19:40:09 -04:00
Stan Gerald Moore 810e3e5fa5
Fix issues with trim lists 2023-10-16 13:57:28 -04:00
Axel Kohlmeyer a5374997d2
Revert "avoid issue with neighbor list trimming when used as a hybrid substyle"
This reverts commit 23691d4336.
2023-10-16 13:55:53 -04:00
Axel Kohlmeyer e65ed32ecd
Revert "disable neighbor list trimming by default for REBO pair styles for now"
This reverts commit 2ba7059c00.
2023-10-16 13:55:52 -04:00
Axel Kohlmeyer d326327bd7
Revert "disable neighbor list trimming for all other pair styles requesting neighbors of ghosts"
This reverts commit aa1c901f94.
2023-10-16 13:55:48 -04:00
Axel Kohlmeyer aa1c901f94
disable neighbor list trimming for all other pair styles requesting neighbors of ghosts 2023-10-16 00:02:10 -04:00
Axel Kohlmeyer 2ba7059c00
disable neighbor list trimming by default for REBO pair styles for now 2023-10-15 23:44:57 -04:00
Axel Kohlmeyer 23691d4336
avoid issue with neighbor list trimming when used as a hybrid substyle 2023-10-15 23:44:34 -04:00
Axel Kohlmeyer 78adc1727a
backport KOKKOS package fixes from PR #3930 by @stanmoore1 2023-10-13 16:32:36 -04:00
Axel Kohlmeyer 9def610c08
update PACE library 2023-10-13 16:31:09 -04:00
Axel Kohlmeyer a939e93a08
must re-initialized threads also for neigbor lists 2023-10-11 17:42:33 -04:00
Axel Kohlmeyer 308207d5f9
fix cut-n-paste error 2023-10-05 13:16:47 -04:00
Evangelos Voyiatzis 75d0d9be1d
Fixes #3925 in region_ellipsoid.cpp 2023-10-04 10:56:13 -04:00
Axel Kohlmeyer 2f71bc7886
step LAMMPS GUI patch level number to indicate included bugfixes 2023-10-04 08:55:07 -04:00
Axel Kohlmeyer ddbdaaafdc
make threads handling consistent. address issue that threads could not be increased 2023-10-04 08:46:01 -04:00
Axel Kohlmeyer 8946995199
enforce threads are reset properly for /omp styles 2023-10-04 08:39:58 -04:00
Axel Kohlmeyer d567fdae97
fix delete / delete[] mismatch 2023-10-04 08:37:53 -04:00
Axel Kohlmeyer ed9bfb433f
avoid segfaults when accessing lammps_last_thermo() 2023-10-04 08:35:42 -04:00
Axel Kohlmeyer f8493ed805
Recognize Windows 11 23H2 2023-09-27 18:03:09 -04:00
Axel Kohlmeyer f3beb206c9
support old ReaxFF force field files without ovcorr entry in bonds section 2023-09-27 00:06:15 -04:00
Axel Kohlmeyer b5480e4e1b
must also update CWD when *saving* a file, not only when loading 2023-09-25 08:55:22 -04:00
Axel Kohlmeyer f634b25e31
apply clang-format 2023-09-25 08:11:55 -04:00
Axel Kohlmeyer b21db641d9
check for compatible LAMMPS version when creating LAMMPS instance
This check must be done at runtime, since the LAMMPS shared library
may have been loaded dynamically and thus required library functions
may not be present or missing features with too only a LAMMPS version.
2023-09-25 08:08:00 -04:00
Axel Kohlmeyer 6ba94d1619
flag as maintenance branch again 2023-09-23 12:55:10 -04:00
Axel Kohlmeyer ce756540e8
recognize STL files starting with "solid binary" as binary files 2023-09-22 08:04:25 -04:00
Axel Kohlmeyer bb462b9ea3
plug memory leak 2023-09-22 08:04:18 -04:00
Axel Kohlmeyer 63eda98779
we don't need a lattice for creating atoms from a STL mesh 2023-09-22 08:04:09 -04:00
Axel Kohlmeyer 0ca72bb58e
silence uninitialized access valgrind warning 2023-09-21 07:33:24 -04:00
Axel Kohlmeyer a6bcf507e1
flag version as update 1 2023-09-19 14:37:13 -04:00
Nick Curtis a1621a7229
Apply fix for hipfft paths in ROCm >= 6.0 2023-09-19 10:45:21 -04:00
Axel Kohlmeyer 62d41c6afb
fix cut-n-paste issue 2023-09-14 00:29:00 -04:00
Axel Kohlmeyer 5480d25e36
add missing newline 2023-09-13 16:35:10 -04:00
Axel Kohlmeyer a4145ec852
reorder to have sections in alphabetical order again 2023-09-13 16:34:11 -04:00
Axel Kohlmeyer 5b16f15b25
change refereces to lib/smd and smd to lib/machdyn and machdyn 2023-09-13 16:33:55 -04:00
Axel Kohlmeyer e77aaba3a4
remove dead code 2023-09-13 16:33:33 -04:00
Architect0rr 7f08e8d11c
Initialize ADIOS dumps only the first time when
used in multiple runs (for custom/adios dump style)
2023-09-13 08:57:14 -04:00
Axel Kohlmeyer f62b129dec
update docs with settings for building tools with CMake 2023-09-01 18:54:42 -04:00
Axel Kohlmeyer db967a5bbf
there is no "thermo_extract" tool (anymore) 2023-09-01 18:54:28 -04:00
Axel Kohlmeyer f20af66312
update some tables and comments for the current state of LAMMPS 2023-09-01 18:54:01 -04:00
Taylor Barnes 01766c7631
Fix bug in MDI energy 2023-09-01 07:33:36 -04:00
Axel Kohlmeyer 7846bb59db
silence compiler warning 2023-08-31 15:25:03 -04:00
Axel Kohlmeyer c27951cb1f
update unit tests for change in read_restart 2023-08-31 04:45:38 -04:00
Axel Kohlmeyer 4ab82d76ad
make atom_modify map settings in restart file overridable 2023-08-30 23:52:14 -04:00
Steve Plimpton c6cbc1f965
list manual versions on Manual home page 2023-08-28 15:35:02 -04:00
Axel Kohlmeyer 88e58e9189
fix typo 2023-08-28 13:12:36 -04:00
Axel Kohlmeyer e14005c443
must initialize `typefirst` now after recent changes from @dsbolin 2023-08-25 10:19:30 -04:00
Axel Kohlmeyer 9570c2fb50
must use array delete and not scalar delete on char array 2023-08-25 10:05:32 -04:00
Dan S. Bolintineanu 180ce5277f
A few bug fixes for fix srd 2023-08-24 12:29:27 -04:00
Axel Kohlmeyer e81b86e114
clarify the documentation for the extract_atom numpy wrapper 2023-08-23 20:02:51 -04:00
Axel Kohlmeyer 6c6262a637
the MESONT package depends on the MOLECULE package since the last upgrade 2023-08-23 19:04:01 -04:00
Axel Kohlmeyer 062bb88561
fix element mapping bug in pair style hdnnp when used as a hybrid sub-style 2023-08-23 07:21:39 -04:00
Stan Gerald Moore cf5b653a9a
Fix bug in Kokkos ReaxFF on GPUs when border comm is on host 2023-08-22 16:48:59 -04:00
Axel Kohlmeyer c5a5e4a099
more fixes for file and pathnames with blanks 2023-08-21 16:11:03 -04:00
Axel Kohlmeyer ccab900342
enable/disable VDW mode pushbutton depending on whether valid element info is present 2023-08-21 13:25:41 -04:00
Axel Kohlmeyer fc400af724
avoid write_dump image failing when not all elements can be recognized 2023-08-21 12:27:30 -04:00
Axel Kohlmeyer b1ea4d9601
fix write_dump command string so it can handle paths with blanks 2023-08-21 09:08:16 -04:00
Axel Kohlmeyer 2ca3be7b16
workaround for imageviewer GUI glitch on macOS 2023-08-20 19:11:37 -04:00
Axel Kohlmeyer 31b94aa1b0
fix copy-n-paste bug 2023-08-20 00:24:30 -04:00
Axel Kohlmeyer b1b94980fa
make vdwfactor consistent and speed up rendering for VDW mode by skipping bonds 2023-08-20 00:12:58 -04:00
Axel Kohlmeyer 770ad34267
speed up SSAO with OpenMP multi-threading, if available 2023-08-19 20:12:33 -04:00
Axel Kohlmeyer 10c523a950
use more consistent way to update checkboxes and labels by assigning names 2023-08-19 17:58:30 -04:00
Axel Kohlmeyer 62ef884564
use more consistent way to update checkboxes by assigning names 2023-08-19 16:44:11 -04:00
Axel Kohlmeyer b3860a82de
add missing file for embedding icons into windows executable 2023-08-19 15:22:54 -04:00
Axel Kohlmeyer 1deb3d8865
correctly extract local file name from dropped URI 2023-08-19 15:14:08 -04:00
Axel Kohlmeyer 266e519013
consistently use bool for echo and cite flags 2023-08-19 14:13:04 -04:00
Axel Kohlmeyer fffb86cb02
automatically copy "About LAMMPS" dialog text to clipboard 2023-08-19 09:29:22 -04:00
Axel Kohlmeyer fcaabe510e
deleted one file too many 2023-08-18 01:56:53 -04:00
Axel Kohlmeyer a6043d92cb
remove obsolete files 2023-08-18 01:47:29 -04:00
Axel Kohlmeyer ee16f6503e
update LAMMPS GUI code with PR 3890 content 2023-08-17 22:50:10 -04:00
Axel Kohlmeyer 84168fc84d
use fastest zlib compression settings to reduce serial overhead when writing PNG images 2023-08-17 22:44:41 -04:00
Axel Kohlmeyer 8a5fd08fa1
update documentation for LAMMPS GUI v1.2 2023-08-16 03:42:12 -04:00
Axel Kohlmeyer 8944609419
make dark gray really dark gray 2023-08-16 02:58:56 -04:00
Axel Kohlmeyer e90478e932
update 2023-08-16 02:42:41 -04:00
Axel Kohlmeyer 52c23785c5
fix error with C++17 in AWPMD package 2023-08-16 02:42:35 -04:00
Axel Kohlmeyer 088ff4ad27
update LAMMPS GUI to version 1.2 2023-08-16 02:38:07 -04:00
Axel Kohlmeyer e32ae65aa1
add flag used by LAMMPS GUI 2023-08-16 02:24:45 -04:00
Steve Plimpton a5bf853c35
changes to make example script in ASPHERE/tri run 2023-08-15 23:50:53 -04:00
Axel Kohlmeyer b0a1b58c68
update clang-format detection for compatibility with Debian 2023-08-14 18:49:39 -04:00
Axel Kohlmeyer bdaf3c64a6
silence warning about a setting that was added to silence warnings 2023-08-14 12:06:09 -04:00
Axel Kohlmeyer ccc478ad96
flag if we are cross-compiling 2023-08-14 11:55:40 -04:00
Axel Kohlmeyer fadb210052
clean up all created files 2023-08-14 11:54:56 -04:00
Axel Kohlmeyer c105a187d9
fix duplicate implicit reference
# Conflicts:
#	doc/src/Speed_kokkos.rst
2023-08-14 11:54:22 -04:00
Axel Kohlmeyer d74f86f2cd
indexing bugfix for compute global/atom 2023-08-14 11:50:23 -04:00
Axel Kohlmeyer c5b35970dc
disable *all* MPI-IO related testing 2023-08-14 11:50:12 -04:00
Axel Kohlmeyer 5626836995
disable MPI-IO based restart writing (for now) 2023-08-14 11:50:02 -04:00
Axel Kohlmeyer 53111f8c0e
bugfix for pair style dpd/gpu from Trung 2023-08-14 11:47:49 -04:00
Axel Kohlmeyer e0ca512f50
avoid legacy compilation failures on recent ubuntu machines that only have python3-config 2023-08-14 11:40:26 -04:00
Axel Kohlmeyer e87bad43f9
flag maintenance branch 2023-08-03 14:26:47 -04:00
Axel Kohlmeyer 27d065a682
sync with develop 2023-08-03 11:33:14 -04:00
Axel Kohlmeyer f1dd7f1415 LAMMPS feature release 2 August 2023
-----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEE7qEDdkxsYz7cisQo2bROk78MN1oFAmTLmvMTHGFrb2hsbWV5
 QGdtYWlsLmNvbQAKCRDZtE6Tvww3WpcPEADHSeNttpsRRLub9XpZSEYEo1zEJXs1
 gIWWXzOnfTtNJf7+7BQU8ApZnOUyYJ7vaWZFkQEUJo65CPMlZu9WsjAcgiHEoNfA
 SRCqf/wIjqWklM//2uQTPBjJPQ2sIkHaPNRoTtp1hqSGQYrHPquAsR1TxPTZ9zQn
 aoZ1N4m+Fc2qjJWvdZd7lbVy3rXU3urBBdhEIHQ9npK95I4xbVHLW9+pxDy+ExJj
 cVPMsF/SXB8mWaOIdXX3MT2XvBzoLAjLub0Gp/GvKiTOXTn73HzZxwNMvuPIHIyP
 tgN8KH4DmAQq3pTc+cy+2eMDutscYhpNtPT/4rwX4fmIGC+W5A+fX2LPVYaC8it/
 Gro5S7p/1LMAfqisiGRQ2bFy1rtWBAn50fBGp6jI9Wt75mHMwdKGTQn2bR1yobY+
 o5AWLkpkwbBvonTZr3BCc23eM6LPRpbdFRxjzPQ3oZu7V8Vk/jnCp0bb/XDku+Jh
 O90omVnYsohrbNcIYY70wWzleyyEKR+RmLnkbvGeCGPAdeRHyuZPtNLY8zQwg/Pu
 t135dBaF7O0GWFgBvfeK03SL7csSt9kOwh8KyTkF1a84gdgrmeThQb8UniJtWkGm
 TL7dwNrrvTFAHKWN3ySg9eTORAWz0Y2XeAyG9+J8HA8/Olj/YyhMgQzpHyGv0nl8
 Fcpv4sOzRvDZ4g==
 =nABd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEE7qEDdkxsYz7cisQo2bROk78MN1oFAmTLxF0THGFrb2hsbWV5
 QGdtYWlsLmNvbQAKCRDZtE6Tvww3WiHKEACHnehMf0CwcjMFVrMNrzvkmltFTi8j
 GC+raWCMOWHt8OeF4FbuJHOtpetAL1DDQ0ArPtM2z54ErNiKk+5kOlKftPr7FN9b
 UuPbtmagO8kSLl6DGjPtWfsaCqriz0HOUH9uPzigPBgbzEkaHL7PeYfo+c9TFdVc
 QvhcreIDkgLYBRZs76N1fLBQSuIPb5+F+OqZxQLz70i5R8sPPa1NpUQKr3h5H+Nh
 Fat3ihL8BFIhaFRUP4lH0n+4pKksNwtboK3AKuJjd8IzSE2kJdGNqsxJUNH+CLxy
 DVnxt1ukEpdsLdcTaKEVEuYiobdkhpt1I+uSAuaF8WmP7ruaZbLVV4UGW6h6fptb
 9Z4L7yaMjC01Bvy/n9YrNwWWkWGfLuGPAGGdggiFwhhpxp3DpapizCgzsACabl+A
 4ASgERLdVMPMS7bFmnIMmcFRC8s2rm5AICfECmD7av/rpKAmj38DKBlWcL5AEiqi
 7HtCdoyo7/V5gHkwtIE/7EsSkdVhEEdz+mxk6BxA/eiAHz8+8UJQ8PgoLNC7Tnly
 SdDuako9pO/mtGBpdLNf6IrbLQB1O85RiAaWNZN3SLjISZqoVHdAzVWbCP2bmQy1
 9O0IBmRdrnxwXSzzHb+3puWmcsO/ZunKU1Ec1W6/l0WdTvVYVuyQCo+TLZUuTZ0D
 pqo9LdquB/masQ==
 =rtAe
 -----END PGP SIGNATURE-----

Merge tag 'patch_2Aug2023' into maintenance

LAMMPS feature release 2 August 2023
2023-08-03 11:14:29 -04:00
Axel Kohlmeyer 59e8b9370f
plug memory leak in FixNHIntel class 2023-04-24 20:58:33 -04:00
Axel Kohlmeyer 39fa2021e2
avoid 32-bit integer overflow when allocating memory for neighbor list copy 2023-04-24 20:45:49 -04:00
Axel Kohlmeyer 83f492a195
must initialize vest_temp to null to avoid segfaults 2023-04-24 20:44:44 -04:00
Branden Moore 933457acbe
Templated functions calling math libraries should use type-aware calls 2023-04-24 19:55:39 -04:00
Branden Moore 06f4099566
Vector masking is part of AVX512, not limited to Intel compiler 2023-04-24 19:54:19 -04:00
Branden Moore 5624a78b17
Fix uninitialized memebr 2023-04-24 19:53:57 -04:00
Axel Kohlmeyer 47e875142f
update version string 2023-04-22 18:37:52 -04:00
Axel Kohlmeyer 62c844d5ac
update version string for stable release update 2023-04-22 14:56:44 -04:00
Axel Kohlmeyer 263b6d4d6f
compilation fix for Fedora 38 from upstream 2023-04-22 14:32:11 -04:00
Axel Kohlmeyer 4acca38a65
remove text that only applies to newer LAMMPS versions 2023-04-22 12:19:37 -04:00
Axel Kohlmeyer 4cf642b526
correct docs for fix edpd/source and fix tdpd/source 2023-04-22 12:12:38 -04:00
Axel Kohlmeyer 52fc8f05ee
update CMake script for PLUMED package to support cross-compilation to Windows 2023-04-10 09:23:19 -04:00
Axel Kohlmeyer 047df9aa9e
mark as maintenance branch version 2023-03-31 09:52:58 -04:00
Axel Kohlmeyer fb3bd20dff
update fmtlib to version 9.1.0 to avoid compilation issues with PGI/NVHPC compilers 2023-03-23 18:34:42 -04:00
Steve Plimpton c7d62c4709
fix ids once bug in compute chunk/atom 2023-03-22 22:21:13 -04:00
Axel Kohlmeyer b18008c58d
add useful comments 2023-03-22 22:18:29 -04:00
agiliopadua 9469321e3d
Fixed bug in fep tools 2023-03-22 22:18:04 -04:00
agiliopadua a4a9efeefc
Fixed bug in fep tools 2023-03-22 22:17:55 -04:00
Axel Kohlmeyer 70744f10e0
backport fix property/atom bugfix for KOKKOS 2023-03-22 22:17:10 -04:00
Axel Kohlmeyer 9bea55bd77
update fix mscg example 2023-03-16 14:55:20 -04:00
Axel Kohlmeyer 73525b3bbc
Download the latest MSCG snapshot to address bug in library. 2023-03-16 14:55:05 -04:00
Axel Kohlmeyer 9cf67699cc
include fixes and updates from upstream 2023-03-16 12:44:18 -04:00
Axel Kohlmeyer 666fe4cfbe
fix two bugs in the ndx2group command 2023-03-16 12:35:53 -04:00
Axel Kohlmeyer ed7bd50500
must recompile main.o when MDI package is installed/uninstalled 2023-03-12 22:31:06 -04:00
Axel Kohlmeyer d241e26d03
allow dynamic groups with fix oneway 2023-02-25 12:03:40 -05:00
Axel Kohlmeyer 73e7163ed6
don't store topology information with ghost atoms. they will be ignored. 2023-02-24 22:56:17 -05:00
Norbert Podhorszki 5a5a86684a
Fix the adios2::ADIOS constructor calls that were deprecated in adios 2.8 and removed in 2.9. The fix is backward compatible with older adios2 versions as well. 2023-02-23 15:39:01 -05:00
Axel Kohlmeyer ae3f57e89a
fix bug in fix wall/morse that was computing forces incorrectly 2023-02-23 15:38:20 -05:00
Axel Kohlmeyer fff7b2a859
update unit test for correct fix wall/morse 2023-02-23 15:37:58 -05:00
Axel Kohlmeyer 83ba1c9d20
Merge pull request #3645 from akohlmey/more-backports-to-stable
More backports of fixes to stable release
2023-02-17 16:27:13 -05:00
Axel Kohlmeyer ce10614cab
backport region check move to init() function for fix gcmc and fix widom 2023-02-17 12:44:58 -05:00
Axel Kohlmeyer facbeac052
move definition of MAXBIGINT_DOUBLE to variable.cpp 2023-02-17 12:29:17 -05:00
Axel Kohlmeyer 188ee5af15
use MAXBIGINT_DOUBLE which does not overflow when casting back to bigint 2023-02-12 04:08:11 -05:00
Axel Kohlmeyer f176b8b14c
consistently support special_bonds settings in pair style gauss 2023-02-10 05:09:58 -05:00
Trung Nguyen 2396b2feea
Fixed bugs with gauss/gpu in bonded systems, including factor_lj in forces and energies 2023-02-10 05:02:43 -05:00
Axel Kohlmeyer 4399c1b6c1
Merge pull request #3593 from akohlmey/maintenance-2022-06-23
Third round of maintenance fixes and backports for the stable release
2023-02-09 22:53:11 -05:00
Axel Kohlmeyer fd046c8fd8
Merge branch 'maintenance' into maintenance-2022-06-23 2023-02-09 20:17:06 -05:00
Axel Kohlmeyer 09b7694601
Merge pull request #3595 from akohlmey/maintenance-many-files
Additional non-functional maintenance changes for the stable version
2023-02-09 20:09:28 -05:00
Axel Kohlmeyer df20503434
make fallback url function available to plugin compilations 2023-02-09 08:14:23 -05:00
Axel Kohlmeyer f4aa24a36a
roll back changes for vec3_scale() and vec3_scaleadd() and use temporary vector 2023-02-08 20:33:38 -05:00
Axel Kohlmeyer 007c04bc97
correct preprocessor logic for non-Linux machines 2023-02-08 16:45:48 -05:00
Axel Kohlmeyer 418d1e16e1
recover compilation of tersoff kernels with CUDA 2023-02-08 11:17:09 -05:00
Axel Kohlmeyer 6471d781d0
recover kernel failure for tersoff with mixed and single precision 2023-02-08 09:14:37 -05:00
Axel Kohlmeyer 97ddc5917c
another OpenCL bugfix attempt from Trung 2023-02-08 08:26:22 -05:00
Axel Kohlmeyer a95ff20647
swap nvcc default arch from Maxwell to Pascal
This is to avoid deprecation warnings with CUDA 11.6 and later
2023-02-07 08:34:01 -05:00
Axel Kohlmeyer 9e0a9e2601
correct logic 2023-02-07 00:00:17 -05:00
Axel Kohlmeyer 8b34d65970
add download fallback handling 2023-02-07 00:00:07 -05:00
Axel Kohlmeyer 0a1c2bcccc
fix failing unit tests with OpenCL 2023-02-06 18:40:07 -05:00
Axel Kohlmeyer c9442c591c
re-enable new neighbor lists for CUDA 12.0 and later 2023-02-05 03:01:46 -05:00
Axel Kohlmeyer b7d316031d
nullify freed pointers in list of dump data 2023-02-03 20:39:47 -05:00
Axel Kohlmeyer 361e9f3ea5
avoid illegal memory access in destructor after variables have been deleted 2023-02-03 20:26:42 -05:00
Axel Kohlmeyer 28120793b8
backport PR #3631 2023-02-02 22:21:15 -05:00
Axel Kohlmeyer f32ce8377e
change default arch in nvcc_wrapper, so it can still run with cuda 12 2023-02-01 11:35:59 -05:00
Axel Kohlmeyer 9021b8bc6a
implement download fallback for traditional make build 2023-02-01 06:53:53 -05:00
Axel Kohlmeyer 838fe3020d
add support for building a static lammps-shell executable with Linux/MUSL 2023-01-31 22:23:41 -05:00
Axel Kohlmeyer b4d4dcbcbc
simplify 2023-01-31 20:35:18 -05:00
Axel Kohlmeyer 52a892ec46
simplify 2023-01-31 20:32:41 -05:00
Axel Kohlmeyer 0ee3d9da5d
port triclinic region vs box check from fix gcmc to fix widom 2023-01-31 20:29:18 -05:00
Axel Kohlmeyer 50afb292b0
compare region extent with box bounds for triclinic 2023-01-31 20:28:25 -05:00
Axel Kohlmeyer 275ef9da17
update n2p2 lib version for traditional make, too. 2023-01-31 20:28:15 -05:00
Axel Kohlmeyer b6a87390a3
revert MD5 hash to current value after GitHub reversed its change 2023-01-31 20:28:04 -05:00
Axel Kohlmeyer 72178631c5
update N2P2 library to version 2.2.0 2023-01-31 20:27:57 -05:00
Axel Kohlmeyer f8859c5fca
implement download fallback URLs pointing to download.lammps.org for CMake 2023-01-31 20:22:06 -05:00
Axel Kohlmeyer 979119a29b
backport fixes to KOKKOS and REAXFF from PR #3621 2023-01-31 20:18:38 -05:00
Stan Gerald Moore bc66572275
Fix out of bounds access in pair_vashishta_kokkos with skip list 2023-01-31 20:00:45 -05:00
Stan Gerald Moore 609231675f
Allow neighbor class to set newton flag in Kokkos neigh list 2023-01-31 19:55:07 -05:00
Rémi Lacroix d9675b5da4
Fix QUIP compilation with Intel compilers. 2023-01-30 08:11:52 -05:00
Axel Kohlmeyer 7d32b4f42a
make Kokkos lib compatible with musl-libc
Note: this was adapted from https://github.com/kokkos/kokkos/pull/5678
to be usable without requiring C++17
2023-01-27 12:21:39 -05:00
Axel Kohlmeyer 697e5b15ec
forcibly disable COMPRESS package is zlib is not found 2023-01-27 07:29:25 -05:00
Axel Kohlmeyer ade0718c11
make compatible to non-glibc Linux 2023-01-27 07:26:23 -05:00
Axel Kohlmeyer 31033ff6e0
must initialize "np" in constructor 2023-01-26 18:34:21 -05:00
Axel Kohlmeyer 9a598ba5a8
backport fix pimd bugfix from develop 2023-01-26 15:59:26 -05:00
Axel Kohlmeyer ff20448b1d
add image to the cover page of the PDF version of the manual 2023-01-26 11:23:46 -05:00
Axel Kohlmeyer af5229ba58
swap constexpr back to const 2023-01-26 09:58:26 -05:00
Axel Kohlmeyer b180200c48
check if variable value is a valid number before converting it 2023-01-26 07:10:50 -05:00
Axel Kohlmeyer 27441cf2ea
update developer contact info in a few more files 2023-01-25 22:24:22 -05:00
Axel Kohlmeyer db61bf609b
plug memory leaks in couple examples 2023-01-25 21:48:29 -05:00
Axel Kohlmeyer 015fa4cb0a
update embedded docs 2023-01-25 21:44:04 -05:00
Shern Tee 62f6f91146
minor typo and rewording 2023-01-25 21:42:37 -05:00
Axel Kohlmeyer e163b0b1d7
portability improvements for Solaris/OpenIndiana 2023-01-25 21:40:23 -05:00
Axel Kohlmeyer 169a886898
cannot test PYTHON package if it is not installed 2023-01-25 21:37:22 -05:00
Axel Kohlmeyer cbd276c49d
correct prototype for documentation 2023-01-25 21:32:03 -05:00
Axel Kohlmeyer 183c6c06ff
small tweaks to the "breadcrumbs" part of the theme to avoid double inserting a separation character 2023-01-25 21:28:18 -05:00
Axel Kohlmeyer 93a46da58e
add image to the cover page of the PDF version of the manual 2023-01-25 21:24:27 -05:00
Stan Moore 6b6a47bd3c
Small tweaks 2023-01-25 21:21:08 -05:00
Stan Moore 4a0a98a0fd
Small bugfixes for Kokkos 2023-01-25 21:20:59 -05:00
Stan Moore 369ea4fd26
Add this 2023-01-25 21:17:30 -05:00
Stan Moore d63c002bf5
Use group for Kokkos nvt temp compute 2023-01-25 21:17:22 -05:00
Axel Kohlmeyer e931d3153b
small improvements from upstream 2023-01-13 17:52:28 -05:00
Axel Kohlmeyer 2913c063d4
whitespace 2023-01-13 14:51:21 -05:00
Aidan Thompson 5606b57646
Update SECURITY.md
I found the overlapping meanings of release/update/patch a bit confusing, especially when sometimes referring to a branch name and sometimes used as a general description.  So I reworked it, trying to preserve meaning. I deleted the last sentence, because I did not understand it, it may need to be added again.
2023-01-13 11:30:07 -07:00
Axel Kohlmeyer 0fafe34008
import updates to library plugin loader from upstream 2023-01-13 05:21:33 -05:00
Axel Kohlmeyer a9a1640d67
reorder 2023-01-12 18:28:17 -05:00
Axel Kohlmeyer 812363fb99
lammpsplugin bugfix from Stan 2023-01-12 18:24:04 -05:00
Axel Kohlmeyer b40e0be1c9
reset to current state of the library interface and remove parts from upstream that have crept in 2023-01-12 12:08:00 -05:00
Axel Kohlmeyer 1be973da07
update from upstream 2023-01-11 22:31:06 -05:00
Axel Kohlmeyer aca2c52795
update LAMMPS developer contact info 2023-01-11 22:25:25 -05:00
Axel Kohlmeyer 536b2ab7e5
restore accidentally deleted file 2023-01-11 22:16:31 -05:00
Axel Kohlmeyer ccef293161
remove obsolete comment 2023-01-11 22:11:53 -05:00
Axel Kohlmeyer 4b0de87813
silence compiler warning 2023-01-11 21:59:35 -05:00
Stan Gerald Moore fa22aef31b
Fix obscure bug in Kokkos neigh list build 2023-01-11 21:53:16 -05:00
Axel Kohlmeyer cb7544a615
import modernization from upstream 2023-01-11 21:41:58 -05:00
Axel Kohlmeyer a9be4906b7
import safer ghost cutoff determination for manybody GPU styles from upstream 2023-01-11 21:41:43 -05:00
Axel Kohlmeyer 6f36d21a04
GPU library updates 2023-01-11 21:34:42 -05:00
Axel Kohlmeyer c55a15c4dc
make AWPMD compatible with MSVC and c++-linalg on Windows 2023-01-11 21:23:03 -05:00
Axel Kohlmeyer 8f01dad1a9
add tools/tabulate 2023-01-11 21:21:51 -05:00
Axel Kohlmeyer db6e1aa20d
some more documentation updates 2023-01-11 21:21:03 -05:00
Axel Kohlmeyer 3cee69a077
correct Kokkos device/arch info ouput in CMake summary 2023-01-11 18:15:56 -05:00
Axel Kohlmeyer 69ffe71595
update unit tests for code corrections 2023-01-11 07:45:50 -05:00
Axel Kohlmeyer 16fa033111
fix issues with bundled meam/spline potentials 2023-01-11 06:40:54 -05:00
Axel Kohlmeyer 8e494aa771
updates and bugfixes for liblammpsplugin plugin loader for LAMMPS shared lib 2023-01-11 06:11:46 -05:00
Axel Kohlmeyer d203cce8b5
documentation updates from upstream 2023-01-11 06:07:19 -05:00
Axel Kohlmeyer f8de1b1a75
use official API for utils::logmesg(), stricter/consistent checking for integer and floats 2023-01-11 05:54:35 -05:00
Axel Kohlmeyer de89a25a25
final CMake sync with upstream 2023-01-11 05:03:00 -05:00
Axel Kohlmeyer f982e95267
update developer info in unittest tree 2023-01-11 01:28:52 -05:00
Axel Kohlmeyer 293d0cdb58
fix typo 2023-01-11 01:26:54 -05:00
Axel Kohlmeyer 011f2651ee
update 2023-01-11 01:26:48 -05:00
Axel Kohlmeyer a8d3c43a77
update version 2023-01-11 01:26:35 -05:00
Axel Kohlmeyer c19641f8b3
synchronize CMake scripting with upstream 2023-01-11 01:04:32 -05:00
Axel Kohlmeyer 6596b343ff
sync docs with fire minimizer code features 2023-01-10 21:55:56 -05:00
Axel Kohlmeyer b6dbb0330c
update list of commands in pygments LAMMPS lexer 2023-01-10 21:55:56 -05:00
Axel Kohlmeyer 0dd138666a
update for accelerated versions 2023-01-10 21:55:56 -05:00
Axel Kohlmeyer 33b9fec150
synchronize sphinx configuration with upstream 2023-01-10 21:55:56 -05:00
Axel Kohlmeyer 32b020a165
Increase communication cutoff for TIP4P pair styles, if needed
This avoids error of H atom not found when the O atom is a ghost.
2023-01-10 21:55:56 -05:00
Stan Gerald Moore c1db230331
Fix bug in Kokkos ReaxFF on GPUs 2023-01-10 21:55:56 -05:00
Stan Moore 254c052ecc
Fix GPU tag issues in other Kokkos styles 2023-01-10 21:55:56 -05:00
Axel Kohlmeyer 8e889dfa7c
offset is not used (by construction of the potential) 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer 5b6a52a646
correct suffix handling with compute fep 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer 55f56deb63
bugfix for minimization with KOKKOS when using fix box/relax 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer bfe127a720
cosmetic 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer d95c8911a3
tweak intel compiler settings 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer 0380f9d854
consistently prefix deep_copy() with Kokkos:: 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer 71b1d60363
bugfix for gaussian bond/angle styles to avoid premature truncation of potential 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer 8b1f92fabd
better error handling when reading table files 2023-01-10 21:55:55 -05:00
Axel Kohlmeyer 419af0cf28
dead code removal 2023-01-10 21:55:45 -05:00
Axel Kohlmeyer 9030c59932
bugfix for nm/cut argument parsing 2023-01-10 21:55:21 -05:00
Axel Kohlmeyer ee88078150
bugfix for DPD with exclusions other than 0.0 or 1.0 2023-01-10 21:55:21 -05:00
Axel Kohlmeyer 04451f6072
recover compilation 2023-01-10 21:55:21 -05:00
Axel Kohlmeyer 2364f7f08b
bugfix for incorrect stress tally in dihedral style table 2023-01-10 21:55:21 -05:00
Axel Kohlmeyer 7f82a58f51
auto loop optimizations 2023-01-10 21:55:21 -05:00
Axel Kohlmeyer 1caf074ba1
avoid excess string copy in auto loops 2023-01-10 21:55:20 -05:00
Axel Kohlmeyer 34677f78c2
initialize ADIOS dumps only the first time when used in multiple runs 2023-01-10 21:55:20 -05:00
Axel Kohlmeyer e095609ac6
update lammps theme base theme from read-the-docs version 1.0.0 to 1.1.1 2023-01-10 21:54:35 -05:00
Axel Kohlmeyer 1122408957
dynamic cast whitespace 2023-01-10 21:53:53 -05:00
Axel Kohlmeyer 5f9b78ca01
update developer reference text 2023-01-10 21:53:09 -05:00
Axel Kohlmeyer fe138fc75c
add support for building/using the ADIOS package without MPI
This needs the ADIOS2 installation being configured accordingly.
2023-01-10 12:38:20 -05:00
Axel Kohlmeyer 31c324ff61
remove references to long obsolete .d dependency files 2023-01-10 12:32:22 -05:00
Axel Kohlmeyer 30564ed8b7
import traditional build system updates and fixes from develop branch 2023-01-10 12:16:59 -05:00
Axel Kohlmeyer f05bfe45a8
Synchronize GitHub related files and settings with develop branch 2023-01-10 11:50:49 -05:00
Axel Kohlmeyer 88c8b6ec6f
Merge pull request #3460 from akohlmey/maintenance-2022-06-23
Second round of maintenance fixes and backports for the stable release
2022-11-03 12:21:59 -04:00
Axel Kohlmeyer f01e28f574
add missing parts to ELECTRODE package docs for traditional make. sync with upstream. 2022-10-27 16:29:28 -04:00
Axel Kohlmeyer 96627d27b1
add support to detect the BuildID of Windows 10 22H2 2022-10-27 12:56:30 -04:00
Axel Kohlmeyer b3fc574a6a
use googletest aliased targets consistently 2022-10-26 22:46:31 -04:00
Axel Kohlmeyer 8a3f7560c9
drop special OpenMP flags from presets. Will be detected by FindOpenMP. 2022-10-26 22:46:21 -04:00
Axel Kohlmeyer 8406e92a9a
downgrade KOKKOS OpenMP check to version 3.1
need to apply special exception for NVHPC/PGI compilers
2022-10-26 22:46:13 -04:00
Axel Kohlmeyer 3b376b4448
modernize OpenMP detection and check for omp.h in CMake 2022-10-26 22:46:03 -04:00
Axel Kohlmeyer ca3b7be623
add compatibility to VTK version 9.0 and above 2022-10-24 16:25:25 -04:00
Axel Kohlmeyer c825c52d2f
update required version 2022-10-23 03:45:57 -04:00
Axel Kohlmeyer 0ea0e4ce59
modernize calls to access the list of fixes in the Modify class 2022-10-23 03:16:26 -04:00
Axel Kohlmeyer d53d4b4d99
use inline insertion sort for short array 2022-10-23 03:16:13 -04:00
Axel Kohlmeyer b37cd14dd1
avoid superfluous calls to utils::strdup and improve error messages 2022-10-23 03:15:58 -04:00
Axel Kohlmeyer a921a6bdc1
silence compiler warning about not copying the final null byte 2022-10-23 03:15:47 -04:00
Jacob Gissinger 51a0345941
Update fix_bond_react.rst 2022-10-23 03:15:35 -04:00
Jacob Gissinger 8d70960e2d
bond/react: create atoms error check
check that post-reaction template has 'Coords' section if it has 'CreateIDs' section
2022-10-23 03:15:12 -04:00
Christoph Scherer 5661703b30
Update pair_threebody_table.cpp
Correcting for hard coded ntheta = 79 in the extreme case that theta is exactly equal to 180.0 degrees.
2022-10-23 03:13:50 -04:00
Axel Kohlmeyer bc30304f72
update plumed package version to 2.8.1 2022-10-22 23:01:47 -04:00
Axel Kohlmeyer c76da483fb
must bootstrap centos 7 from dockerhub now 2022-10-22 22:59:52 -04:00
Axel Kohlmeyer 036a1e47d2
replace one more suffix 2022-10-22 22:28:35 -04:00
Axel Kohlmeyer 5430c3b592
add workaround for missing links to fortran functions in sphinx output 2022-10-21 19:01:31 -04:00
Axel Kohlmeyer 9b7cb8200c
small sphinx tweaks. require sphinx 5.2 or later. 2022-10-21 19:01:24 -04:00
Axel Kohlmeyer 550eedbb1f
make Linux behavior default for loading Python shared lib
This adds portability to platforms like FreeBSD
2022-10-21 15:52:26 -04:00
Axel Kohlmeyer 3a058f278d
Python support in ML-IAP requires NumPy. Check for it if CMake supports it. 2022-10-21 15:50:08 -04:00
Axel Kohlmeyer 0f7f0b5f86
find cythonize executable on recent FreeBSD versions 2022-10-21 11:39:02 -04:00
Axel Kohlmeyer 3de7534b84
try to make more portable (in case this ever gets ported to windows) 2022-10-21 11:38:50 -04:00
Axel Kohlmeyer 7065462faf
add md5sums for plumed 2.7.5 and 2.8.1, update default version to 2.8.1 2022-10-21 11:38:40 -04:00
Axel Kohlmeyer 2e9d8e1ccb
preserve pair/only package setting during clear command 2022-10-19 14:50:27 -04:00
Axel Kohlmeyer 19b84f7cbd
delete atomfile variables when using the clear command 2022-10-19 14:44:10 -04:00
Axel Kohlmeyer 9b7c445a15
include non-buffered flag 2022-10-19 14:44:04 -04:00
Axel Kohlmeyer 91e56444ce
add CMake check that will refuse compilation of unit tests or skip tests
This is mainly because the default compilers on RHEL/CentOS 7.x are
not sufficient to compile googletest. Also some Fortran module test
requires a working F90 module and others are more recent Fortran compiler.
2022-10-17 18:12:21 -04:00
Axel Kohlmeyer 9b3c8c36bd
update version 2022-10-14 21:35:16 -04:00
Stan Gerald Moore 3403520967
Fix issue with KSpace slab correction energy with non-neutral systems 2022-10-11 16:37:45 -04:00
Axel Kohlmeyer d8f969f1df
update python package requirements for building the manual 2022-09-30 20:18:05 -04:00
Axel Kohlmeyer 3487deccb6
update broken URLs 2022-09-27 08:03:11 -04:00
Axel Kohlmeyer 0926fc627d
step update counter 2022-09-25 09:04:45 -04:00
Axel Kohlmeyer 7999778d94
initialize sllod fixes consistently 2022-09-25 07:02:35 -04:00
Axel Kohlmeyer b4ef4c1ff2
correct indentation 2022-09-25 07:02:35 -04:00
Axel Kohlmeyer 72b08e4b87
backport dump fixes from develop 2022-09-25 07:02:28 -04:00
Axel Kohlmeyer faa64a84e8
bugfixes and updates to the DIELECTRIC package from upstream 2022-09-09 19:42:01 -04:00
Axel Kohlmeyer 32b67fff2b
print an error if the filename before '*' is too long for the regex matcher 2022-09-07 21:06:19 -04:00
Axel Kohlmeyer f3dbf4122d
extend the length to which the regex matcher checks strings to 256 chars. 2022-09-07 20:47:16 -04:00
Axel Kohlmeyer e25ac786da
must apply bond/angle offsets when determining shake bond/angle types 2022-09-05 10:52:06 -04:00
Axel Kohlmeyer f30fba0061
support paths with blanks and avoid race condition when updating potentials 2022-09-02 21:33:30 -04:00
Axel Kohlmeyer 03f319604f
recover dump_modify every behavior 2022-08-31 17:26:09 -04:00
Axel Kohlmeyer 0782dab1ec
properly initialize result storage for per-chunk arrays 2022-08-29 13:04:40 -04:00
Axel Kohlmeyer c43cce54ab
re-initialize neighbor lists at end to clear out the occasional list entry 2022-08-28 11:47:27 -04:00
Axel Kohlmeyer 281a368702
correct pair coeff mixing diagnostic for CLASS2 pair styles 2022-08-28 05:51:38 -04:00
Axel Kohlmeyer f28d69b429
bugfix for writing data files with atom style dielectric 2022-08-19 16:18:38 -04:00
Axel Kohlmeyer e674e0c927
correctly handle the case where there are no atoms in the fix group 2022-08-14 03:53:02 -04:00
Axel Kohlmeyer eebabf99b8
adjust location of local ref targets for recent sphinx versions 2022-08-05 22:09:01 -04:00
Axel Kohlmeyer 23a19f4431
need new CSS hack to hide duplicate headers derived from the navigation bar 2022-08-05 21:46:38 -04:00
Axel Kohlmeyer d618b0ffc0
Merge pull request #3324 from akohlmey/maintenance-2022-06-23
First round of maintenance fixes for the stable release
2022-08-05 16:57:43 -04:00
Axel Kohlmeyer ffc71b8733
energy is not an array 2022-08-05 08:23:23 -04:00
Axel Kohlmeyer 564df78698
fix typo 2022-08-05 08:22:59 -04:00
Axel Kohlmeyer 8db0b5ca39
fix index copy-n-paste error 2022-08-05 08:22:09 -04:00
Axel Kohlmeyer 79e26fe829
correct bond style bpm/rotational example 2022-08-05 03:24:29 -04:00
Axel Kohlmeyer 523d4b0242
correct issues in fix adapt and fix adapt/fep related to using fix STORE 2022-08-04 10:19:26 -04:00
Steve Plimpton fe39a3e581
Documentation updates for simulations including dipoles 2022-08-03 16:47:29 -04:00
Axel Kohlmeyer 081cc1f992
clarification on what constituets single, double, and triple quotes. 2022-08-03 01:51:43 -04:00
Axel Kohlmeyer 53c80c2c00
match pow(0,0) = 1.0 behavior in powint() 2022-07-31 18:52:08 -04:00
Axel Kohlmeyer 554b64a147
avoid deprecation warning and update PyPy package requirements 2022-07-30 17:37:35 -04:00
Axel Kohlmeyer dc08dba592
update embedded search box 2022-07-28 18:58:58 -04:00
Axel Kohlmeyer 0eaa2775cd
document missing call 2022-07-27 22:13:33 -04:00
Axel Kohlmeyer 852673ce41
fix off-by-one bug 2022-07-27 21:44:22 -04:00
Axel Kohlmeyer 8c711e405a
correct make command line example 2022-07-27 08:38:37 -04:00
Axel Kohlmeyer 25b9f95061
add check on extracting elements twice from the library to avoid opaque error later 2022-07-26 15:01:03 -04:00
Axel Kohlmeyer ee66a6f8c1
correct formatting 2022-07-26 12:34:05 -04:00
Axel Kohlmeyer b694a5f582
add reference 2022-07-26 12:33:57 -04:00
Axel Kohlmeyer 7ab3fce93f
correct typos 2022-07-26 12:33:48 -04:00
Axel Kohlmeyer 1f9509cb6f
strip off -pendantic-errors flag when compiling with nvcc_wrapper to fix error compiling ML-PACE 2022-07-18 14:00:53 -04:00
Axel Kohlmeyer cad1d8ece4
correct unit tests for dump local 2022-07-17 12:16:01 -04:00
Axel Kohlmeyer b709d75f80
add support for dump_modify colname to dump local 2022-07-17 11:52:15 -04:00
Axel Kohlmeyer 5839909061
fix cut-n-paste error and improve error message 2022-07-17 11:46:51 -04:00
Axel Kohlmeyer 30f374de58
clarify 2022-07-16 06:42:19 -04:00
Axel Kohlmeyer 0f9fec05fb
disallow use of variable functions vdisplace(), swiggle(), and cwiggle() with fix dt/reset 2022-07-16 06:42:11 -04:00
Axel Kohlmeyer 972a86f0ec
fix cut-n-paste typo 2022-07-15 19:06:14 -04:00
Jacob Gissinger 7338ebfc94
Update Errors_warnings.rst 2022-07-15 12:28:07 -04:00
Jacob Gissinger 7132152693
Update Errors_messages.rst 2022-07-15 12:27:57 -04:00
Axel Kohlmeyer c9925f64f7
cosmetic changes, silence warnings, avoid temporary char buffers 2022-07-15 12:27:48 -04:00
jrgissing 6da523c8b8
very-small-templates bugfix 2022-07-15 12:27:36 -04:00
jrgissing 0522284589
bugfix: specials update corner case 2022-07-15 12:27:26 -04:00
Axel Kohlmeyer e10a66dabc
allow ramp(x,y) to be used in between runs (returning x) and avoid division by zero on run 0 2022-07-15 05:41:12 -04:00
AkosSeres 51dd631a76
Fix bug in vtk dump 2022-07-15 04:29:54 -04:00
Axel Kohlmeyer d37249787e
work around issues with Intel compilers compiling the GPU package 2022-07-12 00:38:51 -04:00
Axel Kohlmeyer f44841de69
update unit test 2022-07-07 10:32:47 -04:00
Axel Kohlmeyer 54c5337d2d
apply clang-format 2022-07-07 10:32:32 -04:00
Axel Kohlmeyer efb0e63bf6
correct force and energy for excluded pairs 2022-07-07 10:32:20 -04:00
Stan Gerald Moore 13d78c3afa
Update Kokkos version in CMake 2022-07-04 10:49:03 -04:00
Stan Gerald Moore f2910b1d9c
Update Kokkos library in LAMMPS to v3.6.1 2022-07-04 10:48:51 -04:00
Axel Kohlmeyer 78b22a64aa
formatting corrections and minor tweaks to the Argon viscosity howto 2022-07-01 09:27:43 -04:00
Aidan Thompson 8bb1880c9d
Fixed temperature in argon GK example 2022-07-01 09:27:36 -04:00
Axel Kohlmeyer e7b36c7b90
make certain to switch to the expected source folder when building n2p2 lib 2022-07-01 05:49:07 -04:00
Axel Kohlmeyer d7804e3770
MPI may need to include multiple folders (e.g. on Ubuntu with OpenMPI) 2022-06-30 23:53:57 -04:00
Axel Kohlmeyer 8d0f9695d2
update googletest to version 1.12.1 2022-06-30 14:57:22 -04:00
Axel Kohlmeyer 52b2e4f364
add Update 1 string to version info 2022-06-29 17:44:29 -04:00
Axel Kohlmeyer 41140149ea
whitespace 2022-06-29 17:06:11 -04:00
Axel Kohlmeyer 85e556ac8f
add more unit tests for boolean expressions 2022-06-29 17:05:37 -04:00
Axel Kohlmeyer cd5437a7e2
fix bug in recent bugfix 2022-06-29 17:05:27 -04:00
Axel Kohlmeyer 00cc82ac94
update and expand unit tests for if() command boolean evaluation 2022-06-29 17:04:49 -04:00
Steve Plimpton 20f87e3f1d
change boolean = single string to an error 2022-06-29 17:04:34 -04:00
Steve Plimpton 97e34f0667
better error strings 2022-06-29 17:04:23 -04:00
Steve Plimpton 3e5da9b09a
more consistency checks 2022-06-29 17:04:12 -04:00
Steve Plimpton a62fcca7a4
Boolean expression corner case 2022-06-29 17:04:01 -04:00
Axel Kohlmeyer 778d59fa6b
whitespace 2022-06-29 05:19:10 -04:00
Stan Gerald Moore 3833a85d7a
Add missing grow to Kokkos unpack_exchange 2022-06-29 05:17:55 -04:00
Stan Gerald Moore 6d961ab29f
Fix small memory leak in SNAP 2022-06-29 05:17:46 -04:00
Stan Gerald Moore 001824e0f6
Small tweaks 2022-06-29 05:17:36 -04:00
Stan Moore 953d32f9b3
Prevent view bounds error when a proc has no atoms 2022-06-29 05:17:26 -04:00
Stan Moore edba922665
Add missing GPU <--> CPU data transfer in minimize Kokkos 2022-06-29 05:17:17 -04:00
Stan Moore 53806d4601
Add more missing Kokkos data movement 2022-06-29 05:17:06 -04:00
Axel Kohlmeyer 67597722d5
intergrate references to dump cfg/uef into the dump command docs 2022-06-25 06:19:04 -04:00
Axel Kohlmeyer 337794a9e9
add crosscompiling with MPI support to plugins package 2022-06-24 06:52:08 -04:00
Axel Kohlmeyer 5f5fb895ff
add "package" target to support building a windows installer with NSIS 2022-06-24 01:25:54 -04:00
Axel Kohlmeyer 0302d03bc6
must set thirdparty download URL variable for downloading MPICH4Win 2022-06-23 23:20:49 -04:00
Axel Kohlmeyer 0a4fef369f
may check for MPI library Fortran support only if MPI is enabled 2022-06-23 15:57:54 -04:00
Axel Kohlmeyer 7d5fc356fe
Merge pull request #3311 from akohlmey/next-stable-release
Update stable branch to next stable release
2022-06-22 17:33:34 -04:00
Axel Kohlmeyer 8103e5a18f
Merge branch 'release' into next-stable-release 2022-06-22 16:29:19 -04:00
Axel Kohlmeyer e5b56b67fe
Merge branch 'next_patch_release' into next-stable-release 2022-06-21 09:00:40 -04:00
Axel Kohlmeyer 8ffb7e5f89
Merge branch 'collected-small-fixes' into next-stable-release 2022-06-21 09:00:31 -04:00
Axel Kohlmeyer cb9ab48ce7
Merge branch 'develop' into next-stable-release 2022-06-21 09:00:12 -04:00
Axel Kohlmeyer 1ebb1cee40
Merge branch 'release' into next-stable-release 2022-06-02 21:49:47 -04:00
Axel Kohlmeyer f0e7101bd2
Merge branch 'develop' into next-stable-release 2022-05-18 06:35:57 -04:00
Axel Kohlmeyer 6fd8b2b177
Merge pull request #3122 from akohlmey/maintenance-2021-09-29
Third round of maintenance fixes for the stable release
2022-03-24 14:20:52 -04:00
Axel Kohlmeyer 6edaf42b3d
fix temperature initialization bug in KOKKOS nose-hoover code 2022-03-24 11:44:24 -04:00
Axel Kohlmeyer 79c047487d
fix parallel execution bug for shell command 2022-03-24 07:38:44 -04:00
Axel Kohlmeyer ac5acb9abf
update threebody example 2022-03-24 07:31:02 -04:00
Axel Kohlmeyer 87fbbd3b13
small kokkos fixes from upstream 2022-03-24 07:18:24 -04:00
Stan Moore 8ac0ec6473
Changes needed to compile LAMMPS with latest Kokkos develop 2022-03-24 06:09:03 -04:00
Axel Kohlmeyer 8acba74c4d
correct input to load potential file from local folder 2022-03-22 22:32:39 -04:00
Axel Kohlmeyer 34bcbdf41d
update extep potential file 2022-03-22 22:31:48 -04:00
Axel Kohlmeyer d519ca0213
add missing reaxff files to purge list 2022-03-21 14:34:14 -04:00
Axel Kohlmeyer a392e8dc09
accept infile with 0 lines, so we can create a template from the restart 2022-03-21 00:33:40 -04:00
Axel Kohlmeyer a4d4f77bc2
run setup_bodies_dynamic() before processing infile in case that is not resetting all data 2022-03-21 00:32:49 -04:00
Axel Kohlmeyer 83a8f72d83
fix off-by-one bug when writing restart files for rigid bodies 2022-03-20 19:14:13 -04:00
Axel Kohlmeyer 3c54b56cfe
update overlooked date stamp 2022-03-19 21:00:14 -04:00
Axel Kohlmeyer ff1a08f148
fixes to CMake build for ML-QUIP package from upstream 2022-03-17 18:07:12 -04:00
Axel Kohlmeyer 5a53b0fc03
import python3 compatibility changes to tools/python from upstream 2022-03-16 13:24:53 -04:00
Olav Galteland e550600ebe
Error fixed. Epsilon and sigma must also be symmetric 2022-03-16 09:09:52 -04:00
Axel Kohlmeyer 7cb13be52a
fix bug where it was not possible to use an absolute path for write_coeff 2022-03-16 09:08:47 -04:00
Axel Kohlmeyer ab56d7ecd7
augment cmake library search path to include the CUDA stubs library folder
this will help configuring and compiling LAMMPS with CUDA support on
machines where there is no CUDA driver installed
2022-03-10 23:02:57 -05:00
Axel Kohlmeyer bd6ac3ee6d
for 2d systems, rigid bodies always have a moment of inertia and no DOFs need to be subtracted 2022-03-02 16:41:35 -05:00
Axel Kohlmeyer 27ca0a8f41
trigger building an "intel" style neighbor list so that buffers are allocated 2022-02-27 14:50:48 -05:00
Axel Kohlmeyer f688b9b6b5
use consistent names, avoid memory leaks, fix off-by-1 error in fourier dihedral 2022-02-27 12:25:32 -05:00
Axel Kohlmeyer 16c61b3cc0
add support for plumed 2.6.5, 2.6.6, 2.7.3, 2.7.4, and 2.8.0 (default 2.7.4) 2022-02-25 16:37:00 -05:00
Axel Kohlmeyer fb480f22fc
make cythonize detection compatible with /bin/dash on ubunutu 2022-02-24 21:24:04 -05:00
Axel Kohlmeyer d0507559a4
when updating ML-IAP due to adding/removing PYTHON we need to delete and re-add cythonize support 2022-02-24 20:40:55 -05:00
ali 58eb331b08
Python 3 compatibility for log commands in tools/python 2022-02-23 10:22:29 -05:00
Michael Brown c68015ca87
Bug fix for Intel package skip lists with multiple runs. 2022-02-18 05:11:34 -05:00
Axel Kohlmeyer 583c22d6e0
update tools/eam_database from upstream 2022-02-16 11:46:11 -05:00
Stan Gerald Moore 58a4694d92
Remove incorrect error check in ReaxFF 2022-02-11 16:19:00 -05:00
Axel Kohlmeyer 97cf345528
don't allow exceptions to "escape" a destructor 2022-02-10 21:13:26 -05:00
Axel Kohlmeyer 0658abbdd4
silence possible warnings about missing files on "make clean-all" 2022-02-10 21:10:34 -05:00
Axel Kohlmeyer 72026a58bf
make certain that "offset" is always initialized 2022-02-10 21:05:12 -05:00
Axel Kohlmeyer 7152231a10
plug memory leak 2022-02-10 20:56:51 -05:00
Axel Kohlmeyer 8fe8a667b6
update create.f with changes from NIST database
also add parameters for Cr and document in README file and change
the code to create output files with .eam.alloy extension
2022-02-10 20:45:16 -05:00
Axel Kohlmeyer 560c543e69
add extra communication of special neighbors when using angle constraints 2022-02-10 20:44:39 -05:00
Axel Kohlmeyer c5e6650924
import bugfixes for crashes and memory leaks in MSM kspace style from develop 2022-02-10 20:36:35 -05:00
Axel Kohlmeyer 10373ea5c9
avoid failures with "most" presets 2022-02-10 20:11:00 -05:00
Axel Kohlmeyer 992b1cf582
label as update #3 2022-01-25 07:42:00 -05:00
Axel Kohlmeyer 1505f3de06
fix tag caching issue in INTEL package 2022-01-25 07:41:37 -05:00
Axel Kohlmeyer 566efe04f2
always fall back to using the .so extension if available in the LAMMPS module folder 2022-01-19 10:12:50 -05:00
Axel Kohlmeyer 7586adbb6a
Merge pull request #3029 from akohlmey/maintenance-2021-09-29
Second round of maintenance fixes for the stable release
2022-01-06 19:58:51 -05:00
Axel Kohlmeyer 69d6ddccc5
create missing de,df table elements from linear extrapolation 2022-01-05 15:34:30 -05:00
Axel Kohlmeyer 5ae496dcef
backport array dimension bugfix for NETCDF package in simplified form 2022-01-03 19:55:23 -05:00
Axel Kohlmeyer bc5d742623
explain that the computed force in python pair is force/r same as in Pair:single() 2022-01-03 10:12:38 -05:00
Axel Kohlmeyer 882e699163
Incorporate bugfixes from issue #3074, a few additional cleanups 2022-01-03 10:11:18 -05:00
Axel Kohlmeyer 9c725d79d6
correct code example for current code 2022-01-01 16:42:28 -05:00
Axel Kohlmeyer 79fbf437a3
correct format string for Error::one() 2021-12-29 16:19:10 -05:00
Axel Kohlmeyer d130aa4289
address segfault issue with fix nve/gpu when group is not "all" 2021-12-29 14:06:52 -05:00
Axel Kohlmeyer 5d8b83a251
backport GPU package build system updates from upstream 2021-12-27 20:30:43 -05:00
Axel Kohlmeyer 5a2548a83d
have internal fix/compute ids include the fix id for fix reaxff/species
this allows using the fix multiple times
also remove code and warning that checks for multiple fix instances

# Conflicts:
#	src/REAXFF/fix_reaxff_species.cpp
2021-12-23 11:36:28 -05:00
Axel Kohlmeyer a85b310e1f
add missing fclose() 2021-12-23 11:28:24 -05:00
Axel Kohlmeyer e51fd40547
correct names of the pack/unpack routines for forward communication 2021-12-09 18:33:13 -05:00
Axel Kohlmeyer 62f271658b
correct setting forward/reverse buffer size info 2021-12-08 13:58:12 -05:00
Axel Kohlmeyer 0aa742934f
correct docs for pair style local/density 2021-12-08 00:51:52 -05:00
Axel Kohlmeyer a26a709a7b
correct handling of data packing for forward and reverse communication 2021-12-08 00:51:52 -05:00
Axel Kohlmeyer 027293d285
whitespace 2021-11-24 15:47:05 -05:00
Axel Kohlmeyer f7d049ac2d
generate atom tags for newly created atoms, if tags are enabled. triclinic support. 2021-11-24 15:36:16 -05:00
Richard Berger ea0ff1c8f7
Update CMake utility function get_lammps_version()
With the introduction of LAMMPS_UPDATE, version.h is no longer a single line
file. With this change the CMake utility will only process the LAMMPS_VERSION
line. Fixes issue #3038
2021-11-23 10:44:40 -05:00
Stan Gerald Moore 5c1bb5f13a
Write dump header after sort to fix incorrect atom count for multiproc 2021-11-22 15:52:27 -05:00
Axel Kohlmeyer 24d9b4b611
Update lebedeva potential file and docs based on email on mailing list
https://matsci.org/t/lammps-users-webpage-and-parameter-file-for-the-lebedeva-potential/39059
2021-11-17 08:45:55 -05:00
Axel Kohlmeyer a0e75c9006
correct unit description of eta_n0 parameters. fixes #3016 2021-11-17 08:38:09 -05:00
Axel Kohlmeyer 2435b953e1
increment update counter 2021-11-17 07:04:44 -05:00
Axel Kohlmeyer c042e12323
clarifications and corrections for the discussion of the main git branches 2021-11-17 07:04:13 -05:00
Axel Kohlmeyer e9efe46db9
update branch names 2021-11-17 07:03:56 -05:00
Axel Kohlmeyer ecc14b7308
update documentation to refer to the new branch names (develop, release) 2021-11-17 07:03:27 -05:00
Axel Kohlmeyer 0152fe5cdf
fix segfault when using atom style smd as part of a hybrid style
also remove redundant for clearing
2021-11-16 21:49:56 -05:00
Axel Kohlmeyer 892d17af22
plug memory leaks 2021-11-16 21:49:41 -05:00
Axel Kohlmeyer 2cca00203e
Avoid file name collisions in dump unit tests
# Conflicts:
#	unittest/formats/test_dump_atom.cpp
2021-11-16 15:08:27 -05:00
Axel Kohlmeyer 9f4626a62a
correct uninitialized data access bug due to shadowing of a base class member 2021-11-16 10:51:46 -05:00
Axel Kohlmeyer e890a0b45e
Merge pull request #2999 from akohlmey/maintenance-2021-09-29
Maintenance fixes for the stable release
2021-11-09 15:11:19 -05:00
Axel Kohlmeyer 68223f0385
mention that dump sorting is limited to less than 2 billion atoms 2021-11-07 08:31:15 -05:00
Axel Kohlmeyer 1291a88bff
skip MPI tests if they would be oversubscribing the available processors 2021-11-07 08:30:19 -05:00
Axel Kohlmeyer d9b687450a
account for increased floating point errors when summing numbers to zero 2021-11-07 08:30:04 -05:00
Axel Kohlmeyer bd950b37d7
change git:// protocol for accessing github to https:// protocol
https://github.blog/2021-09-01-improving-git-protocol-security-github/
2021-11-02 15:30:27 -04:00
Stan Moore 21fcdf8c56
Fix bug in Kokkos neighborlist where stencil wasn't updated for occasional list 2021-11-02 13:17:28 -04:00
Axel Kohlmeyer 6b400fb4bf
fix indexing bug 2021-10-31 16:19:17 -04:00
Axel Kohlmeyer d982298ab2
update new LAMMPS paper citation info 2021-10-28 10:09:01 -04:00
Richard Berger 765fd7f763
Use correct sizeof in memset 2021-10-27 17:46:37 -04:00
Axel Kohlmeyer 0325047c01
update a few GPU kernels so they can be compiled on GPUs without double precisions support 2021-10-21 07:34:05 -04:00
Axel Kohlmeyer 2dce8923ee
more direct version of clearing out loaded plugins 2021-10-19 08:28:19 -04:00
Axel Kohlmeyer 8d1ba074be
wipe out all loaded plugins before destroying the LAMMPS instance 2021-10-18 18:06:09 -04:00
Richard Berger 4675a3b560
Only check for GPU double precision support if a GPU is present 2021-10-18 13:44:37 -04:00
Axel Kohlmeyer 8999b1f69f
add a LAMMPS_UPDATE string define to signal updates to stable releases 2021-10-17 18:06:04 -04:00
Axel Kohlmeyer 6c2b19c11b
Add support for an "Update #" appendix to the version string
This is for informative output only, so that any code depending
on the LAMMPS_VERSION define will not have to be changed and no
warnings will be printed etc.
2021-10-17 18:05:29 -04:00
Axel Kohlmeyer a425334928
port dump vtk to correctly support custom per-atom arrays and fix some bugs 2021-10-17 11:00:33 -04:00
Axel Kohlmeyer db2faf2789
fix bugs related to custom per-atom properties in dump style custom 2021-10-17 11:00:21 -04:00
Axel Kohlmeyer fdbb7d0da4
Report only compatible GPU, i.e. no GPU if mixed/double precision is requested by the hardware does not support it 2021-10-15 20:26:47 -04:00
Axel Kohlmeyer 52cd99918f
pppm kspace styles also require -DFFT_SINGLE when using GPUs in single precision 2021-10-15 20:24:47 -04:00
Axel Kohlmeyer a3e6a95ffb
allow single precision FFT introspection 2021-10-15 20:24:47 -04:00
Axel Kohlmeyer 5b65169997
correct expansion of fix/compute/variable arguments to avoid bogus thermo outpu 2021-10-15 20:23:57 -04:00
Axel Kohlmeyer 5f3bf69e30
plug memory leaks 2021-10-15 17:00:46 -04:00
Axel Kohlmeyer 507c02b9af
must set define to "see" the lammps_open() library function 2021-10-09 10:21:31 -04:00
Stan Moore b7fe47ba48
Fix bugs and compilation issues in KOKKOS 2021-10-08 09:39:53 -04:00
Axel Kohlmeyer 7dfd11da4b
re-freeze Sphinx and other pip installed packages for doc build
The change relative to the stable release fixes a bug with python 3.10 support
2021-10-05 10:52:34 -04:00
Axel Kohlmeyer 97ba95f30e
fix a couple more bugs like in 5246cedda6 2021-10-05 10:39:03 -04:00
Axel Kohlmeyer c1945b4ec9
Fix misplaced MPI calls bug in pair style drip 2021-10-04 07:12:50 -04:00
Axel Kohlmeyer c4291a4b8e
unfreeze versions of python packages used to build the documentation 2021-10-02 23:57:23 -04:00
Axel Kohlmeyer 5b5dfa86c5
also update eigen download for traditional build 2021-10-02 23:56:28 -04:00
Axel Kohlmeyer 3ca3f6959f
update eigen3 to the latest release and move download to our own server 2021-10-02 22:55:06 -04:00
Richard Berger f7b7bfa406
Avoid assertions in PythonCapabilities check when using external KOKKOS 2021-10-01 12:05:59 -04:00
Axel Kohlmeyer 3d2f29c92d
fix memory allocation bug causing memory corruption on 32-bit arches 2021-10-01 01:16:45 -04:00
494 changed files with 11441 additions and 6016 deletions

6
.github/CODEOWNERS vendored
View File

@ -151,12 +151,12 @@ tools/vim/* @hammondkd
unittest/* @akohlmey
# cmake
cmake/* @rbberger
cmake/* @akohlmey
cmake/Modules/LAMMPSInterfacePlugin.cmake @akohlmey
cmake/Modules/MPI4WIN.cmake @akohlmey
cmake/Modules/OpenCLLoader.cmake @akohlmey
cmake/Modules/Packages/COLVARS.cmake @rbberger @giacomofiorin
cmake/Modules/Packages/KIM.cmake @rbberger @ellio167
cmake/Modules/Packages/COLVARS.cmake @giacomofiorin
cmake/Modules/Packages/KIM.cmake @ellio167
cmake/presets/*.cmake @akohlmey
# python

View File

@ -15,7 +15,7 @@ jobs:
build:
name: MacOS Unit Test
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: macos-latest
runs-on: macos-13
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
@ -43,6 +43,8 @@ jobs:
working-directory: build
run: |
ccache -z
python3 -m venv macosenv
source macosenv/bin/activate
python3 -m pip install numpy
python3 -m pip install pyyaml
cmake -C ../cmake/presets/clang.cmake \

View File

@ -1,7 +1,7 @@
# -*- CMake -*- master configuration file for building LAMMPS
########################################
# CMake build system
# This file is part of LAMMPS
# Created by Christoph Junghans and Richard Berger
cmake_minimum_required(VERSION 3.10)
########################################
# set policy to silence warnings about ignoring <PackageName>_ROOT but use it
@ -12,11 +12,6 @@ endif()
if(POLICY CMP0075)
cmake_policy(SET CMP0075 NEW)
endif()
# set policy to silence warnings about missing executable permissions in
# pythonx.y-config when cross-compiling. review occasionally if it may be set to NEW
if(POLICY CMP0109)
cmake_policy(SET CMP0109 OLD)
endif()
# set policy to silence warnings about timestamps of downloaded files. review occasionally if it may be set to NEW
if(POLICY CMP0135)
cmake_policy(SET CMP0135 OLD)
@ -34,6 +29,7 @@ project(lammps CXX)
set(SOVERSION 0)
get_property(BUILD_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
include(GNUInstallDirs)
get_filename_component(LAMMPS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE)
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
# collect all executables and shared libs in the top level build folder
@ -116,7 +112,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
else()
set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=2196")
set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=11074 -diag-disable=11076 -diag-disable=2196")
endif()
endif()
endif()
@ -131,6 +127,19 @@ if((CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC") OR (CMAKE_CXX_COMPILER_ID STREQUAL "
set(CMAKE_TUNE_DEFAULT "-Minform=severe")
endif()
# this hack is required to compile fmt lib with CrayClang version 15.0.2
# CrayClang is only directly recognized by version 3.28 and later
if(CMAKE_VERSION VERSION_LESS 3.28)
get_filename_component(_exe "${CMAKE_CXX_COMPILER}" NAME)
if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (_exe STREQUAL "crayCC"))
set(CMAKE_TUNE_DEFAULT "-DFMT_STATIC_THOUSANDS_SEPARATOR")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang")
set(CMAKE_TUNE_DEFAULT "-DFMT_STATIC_THOUSANDS_SEPARATOR")
endif()
endif()
# silence nvcc warnings
if((PKG_KOKKOS) AND (Kokkos_ENABLE_CUDA) AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
set(CMAKE_TUNE_DEFAULT "${CMAKE_TUNE_DEFAULT} -Xcudafe --diag_suppress=unrecognized_pragma")
@ -155,11 +164,28 @@ if(MSVC)
add_compile_options(/Zc:__cplusplus)
add_compile_options(/wd4244)
add_compile_options(/wd4267)
add_compile_options(/wd4250)
add_compile_options(/EHsc)
endif()
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
# warn about potentially problematic GCC compiler versions
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_STANDARD GREATER_EQUAL 17)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
message(WARNING "Using ${CMAKE_CXX_COMPILER_ID} compiler version ${CMAKE_CXX_COMPILER_VERSION} "
"with C++17 is not recommended. Please use ${CMAKE_CXX_COMPILER_ID} compiler version 9.x or later")
endif()
endif()
if (CMAKE_CXX_STANDARD GREATER_EQUAL 11)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
message(WARNING "Using ${CMAKE_CXX_COMPILER_ID} compiler version ${CMAKE_CXX_COMPILER_VERSION} "
"with C++11 is not recommended. Please use ${CMAKE_CXX_COMPILER_ID} compiler version 5.x or later")
endif()
endif()
endif()
# export all symbols when building a .dll file on windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
@ -202,7 +228,6 @@ else()
unset(CMAKE_CXX_CLANG_TIDY CACHE)
endif()
include(GNUInstallDirs)
file(GLOB ALL_SOURCES ${CONFIGURE_DEPENDS} ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
file(GLOB MAIN_SOURCES ${CONFIGURE_DEPENDS} ${LAMMPS_SOURCE_DIR}/main.cpp)
list(REMOVE_ITEM ALL_SOURCES ${MAIN_SOURCES})
@ -216,6 +241,10 @@ endif()
add_executable(lmp ${MAIN_SOURCES})
target_link_libraries(lmp PRIVATE lammps)
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
# re-export all symbols for plugins
if(PKG_PLUGIN AND (NOT ((CMAKE_SYSTEM_NAME STREQUAL "Windows"))))
set_target_properties(lmp PROPERTIES ENABLE_EXPORTS TRUE)
endif()
install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
@ -404,6 +433,7 @@ pkg_depends(CG-DNA MOLECULE)
pkg_depends(CG-DNA ASPHERE)
pkg_depends(ELECTRODE KSPACE)
pkg_depends(EXTRA-MOLECULE MOLECULE)
pkg_depends(MESONT MOLECULE)
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
@ -429,6 +459,7 @@ if(BUILD_OMP)
(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM") OR (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang") OR
((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
# Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe.
@ -441,6 +472,18 @@ if(BUILD_OMP)
target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX)
endif()
# lower C++ standard for fmtlib sources when using Intel classic compiler
if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_STANDARD GREATER_EQUAL 17)
AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2021.10))
message(STATUS "Lowering C++ standard for compiling fmtlib sources with Intel Classic compiler")
get_filename_component(LMP_UTILS_SRC "${LAMMPS_SOURCE_DIR}/utils.cpp" ABSOLUTE)
get_filename_component(LMP_VARIABLE_SRC "${LAMMPS_SOURCE_DIR}/variable.cpp" ABSOLUTE)
get_filename_component(FMT_FORMAT_SRC "${LAMMPS_SOURCE_DIR}/fmtlib_format.cpp" ABSOLUTE)
get_filename_component(FMT_OS_SRC "${LAMMPS_SOURCE_DIR}/fmtlib_os.cpp" ABSOLUTE)
set_source_files_properties("${FMT_FORMAT_SRC}" "${FMT_OS_SRC}" "${LMP_VARIABLE_SRC}" "${LMP_UTILS_SRC}"
PROPERTIES COMPILE_OPTIONS "-std=c++14")
endif()
if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR BUILD_TOOLS)
enable_language(C)
if (NOT USE_INTERNAL_LINALG)
@ -893,13 +936,23 @@ else()
endif()
include(FeatureSummary)
feature_summary(DESCRIPTION "The following tools and libraries have been found and configured:" WHAT PACKAGES_FOUND)
if(GIT_FOUND AND EXISTS ${LAMMPS_DIR}/.git)
execute_process(COMMAND ${GIT_EXECUTABLE} describe --dirty=-modified --always
OUTPUT_VARIABLE GIT_DESCRIBE
ERROR_QUIET
WORKING_DIRECTORY ${LAMMPS_DIR}
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
message(STATUS "<<< Build configuration >>>
LAMMPS Version: ${PROJECT_VERSION}
LAMMPS Version: ${PROJECT_VERSION} ${GIT_DESCRIBE}
Operating System: ${CMAKE_SYSTEM_NAME} ${CMAKE_LINUX_DISTRO} ${CMAKE_DISTRO_VERSION}
CMake Version: ${CMAKE_VERSION}
Build type: ${LAMMPS_BUILD_TYPE}
Install path: ${CMAKE_INSTALL_PREFIX}
Generator: ${CMAKE_GENERATOR} using ${CMAKE_MAKE_PROGRAM}")
if(CMAKE_CROSSCOMPILING)
message(STATUS "Cross compiling on ${CMAKE_HOST_SYSTEM}")
endif()
###############################################################################
# Print package summary
###############################################################################
@ -1028,6 +1081,14 @@ endif()
if(BUILD_LAMMPS_SHELL)
message(STATUS "<<< Building LAMMPS Shell >>>")
endif()
if(BUILD_LAMMPS_GUI)
message(STATUS "<<< Building LAMMPS GUI >>>")
if(LAMMPS_GUI_USE_PLUGIN)
message(STATUS "Loading LAMMPS library as plugin at run time")
else()
message(STATUS "Linking LAMMPS library at compile time")
endif()
endif()
if(ENABLE_TESTING)
message(STATUS "<<< Building Unit Tests >>>")
if(ENABLE_COVERAGE)

View File

@ -43,5 +43,5 @@ function(ExternalCMakeProject target url hash basedir cmakedir cmakefile)
"${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}/CMakeLists.txt")
endif()
add_subdirectory("${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}"
"${CMAKE_BINARY_DIR}/_deps/${target}-build")
"${CMAKE_BINARY_DIR}/_deps/${target}-build" EXCLUDE_FROM_ALL)
endfunction(ExternalCMakeProject)

View File

@ -1,5 +1,7 @@
# Find clang-format
find_program(ClangFormat_EXECUTABLE NAMES clang-format
clang-format-17.0
clang-format-16.0
clang-format-15.0
clang-format-14.0
clang-format-13.0
@ -19,7 +21,7 @@ if(ClangFormat_EXECUTABLE)
OUTPUT_VARIABLE clang_format_version
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(clang_format_version MATCHES "^(Ubuntu |)clang-format version .*")
if(clang_format_version MATCHES "^(Ubuntu |Debian |)clang-format version .*")
# Arch Linux output:
# clang-format version 10.0.0
#
@ -32,9 +34,15 @@ if(ClangFormat_EXECUTABLE)
# Ubuntu 22.04 LTS output:
# Ubuntu clang-format version 14.0.0-1ubuntu1
#
# Debian 11 output:
# Debian clang-format version 11.0.1-2
#
# Debian 12 output:
# Debian clang-format version 14.0.6
#
# Fedora 36 output:
# clang-format version 14.0.5 (Fedora 14.0.5-1.fc36)
string(REGEX REPLACE "^(Ubuntu |)clang-format version ([0-9.]+).*"
string(REGEX REPLACE "^(Ubuntu |Debian |)clang-format version ([0-9.]+).*"
"\\2"
ClangFormat_VERSION
"${clang_format_version}")

View File

@ -83,17 +83,17 @@ function(check_for_autogen_files source_dir)
file(GLOB SRC_AUTOGEN_FILES ${CONFIGURE_DEPENDS} ${source_dir}/style_*.h)
file(GLOB SRC_AUTOGEN_PACKAGES ${CONFIGURE_DEPENDS} ${source_dir}/packages_*.h)
list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${source_dir}/lmpinstalledpkgs.h ${source_dir}/lmpgitversion.h)
list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${source_dir}/mliap_model_python_couple.h ${source_dir}/mliap_model_python_couple.cpp)
list(APPEND SRC_AUTOGEN_FILES ${source_dir}/mliap_model_python_couple.h ${source_dir}/mliap_model_python_couple.cpp)
foreach(_SRC ${SRC_AUTOGEN_FILES})
get_filename_component(FILENAME "${_SRC}" NAME)
if(EXISTS ${source_dir}/${FILENAME})
message(FATAL_ERROR "\n########################################################################\n"
"Found header file(s) generated by the make-based build system\n"
"\n"
"Please run\n"
"make -C ${source_dir} purge\n"
"to remove\n"
"########################################################################")
"Found header file ${source_dir}/${FILENAME} generated by the make-based build system\n"
"\n"
"Please run\n"
"make -C ${source_dir} purge\n"
"to remove\n"
"########################################################################")
endif()
endforeach()
endfunction()

View File

@ -132,8 +132,12 @@ if(PKG_KSPACE)
${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp)
if(Kokkos_ENABLE_CUDA)
if(NOT (FFT STREQUAL "KISS"))
find_library(CUFFT_LIBRARY cufft)
if (CUFFT_LIBRARY STREQUAL "CUFFT_LIBRARY-NOTFOUND")
message(FATAL_ERROR "Required cuFFT library not found. Check your environment or set CUFFT_LIBRARY to its location")
endif()
target_compile_definitions(lammps PRIVATE -DFFT_CUFFT)
target_link_libraries(lammps PRIVATE cufft)
target_link_libraries(lammps PRIVATE ${CUFFT_LIBRARY})
endif()
elseif(Kokkos_ENABLE_HIP)
if(NOT (FFT STREQUAL "KISS"))

View File

@ -8,8 +8,8 @@ option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an al
if(DOWNLOAD_MDI)
message(STATUS "MDI download requested - we will build our own")
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.16.tar.gz" CACHE STRING "URL for MDI tarball")
set(MDI_MD5 "407db44e2d79447ab5c1233af1965f65" CACHE STRING "MD5 checksum for MDI tarball")
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.26.tar.gz" CACHE STRING "URL for MDI tarball")
set(MDI_MD5 "3124bb85259471e2a53a891f04bf697a" CACHE STRING "MD5 checksum for MDI tarball")
mark_as_advanced(MDI_URL)
mark_as_advanced(MDI_MD5)
GetFallbackURL(MDI_URL MDI_FALLBACK)

View File

@ -1,6 +1,6 @@
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.01.3.fix.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.10.04.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "4f0b3b5b14456fe9a73b447de3765caa" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
set(PACELIB_MD5 "70ff79f4e59af175e55d24f3243ad1ff" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
mark_as_advanced(PACELIB_URL)
mark_as_advanced(PACELIB_MD5)
GetFallbackURL(PACELIB_URL PACELIB_FALLBACK)

View File

@ -18,14 +18,14 @@ if(DOWNLOAD_QUIP)
set(temp "${temp}F77FLAGS += -fpp -fixed -fPIC\n")
set(temp "${temp}F95_PRE_FILENAME_FLAG = -Tf\n")
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E -x f95-cpp-input\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n")
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E -x f95-cpp-input\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}} -fmax-stack-var-size=6553600\n")
set(temp "${temp}DEFINES += -DGETARG_F2003 -DGETENV_F2003 -DGFORTRAN -DFORTRAN_UNDERSCORE\n")
set(temp "${temp}F95FLAGS += -x f95-cpp-input -ffree-line-length-none -ffree-form -fno-second-underscore -fPIC\n")
set(temp "${temp}F77FLAGS += -x f77-cpp-input -fno-second-underscore -fPIC\n")
else()
message(FATAL_ERROR "The ${CMAKE_Fortran_COMPILER_ID} Fortran compiler is not (yet) supported for building QUIP")
endif()
set(temp "${temp}CFLAGS += -fPIC \nCPLUSPLUSFLAGS += -fPIC\nAR_ADD=src\n")
set(temp "${temp}CFLAGS += -fPIC -Wno-return-mismatch \nCPLUSPLUSFLAGS += -fPIC -Wno-return-mismatch\nAR_ADD=src\n")
set(temp "${temp}MATH_LINKOPTS=")
foreach(flag ${BLAS_LIBRARIES})
set(temp "${temp} ${flag}")
@ -41,6 +41,11 @@ if(DOWNLOAD_QUIP)
set(temp "${temp}HAVE_TURBOGAP=0\nHAVE_QR=1\nHAVE_THIRDPARTY=0\nHAVE_FX=0\nHAVE_SCME=0\nHAVE_MTP=0\n")
set(temp "${temp}HAVE_MBD=0\nHAVE_TTM_NF=0\nHAVE_CH4=0\nHAVE_NETCDF4=0\nHAVE_MDCORE=0\nHAVE_ASAP=0\n")
set(temp "${temp}HAVE_CGAL=0\nHAVE_METIS=0\nHAVE_LMTO_TBE=0\nHAVE_SCALAPACK=0\n")
# for gfortran, the -std= flag, if present, *must* be -std=gnu or else the compilation will fail.
if(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
string(REGEX REPLACE -std=f[0-9]+ -std=gnu newtemp "${temp}")
set(temp "${newtemp}")
endif()
file(WRITE ${CMAKE_BINARY_DIR}/quip.config "${temp}")
message(STATUS "QUIP download via git requested - we will build our own")
@ -56,7 +61,7 @@ if(DOWNLOAD_QUIP)
GIT_SUBMODULES "src/fox;src/GAP"
PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/quip.config <SOURCE_DIR>/arch/Makefile.lammps
CONFIGURE_COMMAND env QUIP_ARCH=lammps make config
BUILD_COMMAND env QUIP_ARCH=lammps make libquip
BUILD_COMMAND env QUIP_ARCH=lammps make -j1 libquip
INSTALL_COMMAND ""
BUILD_IN_SOURCE YES
BUILD_BYPRODUCTS <SOURCE_DIR>/build/lammps/${CMAKE_STATIC_LIBRARY_PREFIX}quip${CMAKE_STATIC_LIBRARY_SUFFIX}

View File

@ -21,9 +21,11 @@ else()
set(PLUMED_CONFIG_OMP "--disable-openmp")
endif()
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.8.2/plumed-src-2.8.2.tgz"
# Note: must also adjust check for supported API versions in
# fix_plumed.cpp when version changes from v2.n.x to v2.n+1.y
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.9.1/plumed-src-2.9.1.tgz"
CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "599092b6a0aa6fff992612537ad98994" CACHE STRING "MD5 checksum of PLUMED tarball")
set(PLUMED_MD5 "c3b2d31479c1e9ce211719d40e9efbd7" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5)

View File

@ -1,26 +1,64 @@
#!/bin/bash -vx
#!/bin/bash
APP_NAME=lammps-gui
DESTDIR=${PWD}/../LAMMPS_GUI
DESTDIR=${PWD}/LAMMPS_GUI
SYSROOT="$1"
echo "Delete old files, if they exist"
rm -rvf ${DESTDIR} LAMMPS-Win10-amd64.zip
rm -rvf ${DESTDIR}/LAMMPS_GUI ${DESTDIR}/LAMMPS-Win10-amd64.zip
echo "Create staging area for deployment and populate"
DESTDIR=${DESTDIR} cmake --install . --prefix "/"
echo "Add required dependencies for Qt"
for dll in Qt5Core.dll Qt5Gui.dll Qt5Widgets.dll
# no static libs needed
rm -rvf ${DESTDIR}/lib
# but the LAMMPS lib
echo "Copying required DLL files"
for dll in $(objdump -p *.exe *.dll | sed -n -e '/DLL Name:/s/^.*DLL Name: *//p' | sort | uniq)
do \
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/${dll} ${DESTDIR}/bin/
done
for dir in styles platforms imageformats
do \
mkdir -p ${DESTDIR}/${dir}
cp -r /usr/x86_64-w64-mingw32/sys-root/mingw/lib/qt5/plugins/${dir}/*.dll ${DESTDIR}/${dir}
doskip=0
for skip in ADVAPI32 CFGMGR32 GDI32 KERNEL32 MPR NETAPI32 PSAPI SHELL32 USER32 USERENV UxTheme VERSION WS2_32 WSOCK32 d3d11 dwmapi liblammps msvcrt_ole32
do \
test ${dll} = ${skip}.dll && doskip=1
done
test ${doskip} -eq 1 && continue
test -f ${DESTDIR}/bin/${dll} || cp -v ${SYSROOT}/bin/${dll} ${DESTDIR}/bin
done
pushd ..
zip -9rv LAMMPS-Win10-amd64.zip LAMMPS_GUI
popd
exit 0
echo "Copy required Qt plugins"
mkdir -p ${DESTDIR}/qt5plugins
for plugin in imageformats platforms styles
do \
cp -r ${SYSROOT}/lib/qt5/plugins/${plugin} ${DESTDIR}/qt5plugins/
done
echo "Check dependencies of DLL files"
for dll in $(objdump -p ${DESTDIR}/bin/*.dll ${DESTDIR}/qt5plugins/*/*.dll | sed -n -e '/DLL Name:/s/^.*DLL Name: *//p' | sort | uniq)
do \
doskip=0
for skip in ADVAPI32 CFGMGR32 GDI32 KERNEL32 MPR NETAPI32 PSAPI SHELL32 USER32 USERENV UxTheme VERSION WS2_32 WSOCK32 d3d11 dwmapi liblammps msvcrt_ole32
do \
test ${dll} = ${skip}.dll && doskip=1
done
test ${doskip} -eq 1 && continue
test -f ${DESTDIR}/bin/${dll} || cp -v ${SYSROOT}/bin/${dll} ${DESTDIR}/bin
done
for dll in $(objdump -p ${DESTDIR}/bin/*.dll ${DESTDIR}/qt5plugins/*/*.dll | sed -n -e '/DLL Name:/s/^.*DLL Name: *//p' | sort | uniq)
do \
doskip=0
for skip in ADVAPI32 CFGMGR32 GDI32 KERNEL32 MPR NETAPI32 PSAPI SHELL32 USER32 USERENV UxTheme VERSION WS2_32 WSOCK32 d3d11 dwmapi liblammps msvcrt_ole32
do \
test ${dll} = ${skip}.dll && doskip=1
done
test ${doskip} -eq 1 && continue
test -f ${DESTDIR}/bin/${dll} || cp -v ${SYSROOT}/bin/${dll} ${DESTDIR}/bin
done
cat > ${DESTDIR}/bin/qt.conf <<EOF
[Paths]
Plugins = ../qt5plugins
EOF
zip -9rvD LAMMPS-Win10-amd64.zip LAMMPS_GUI

View File

@ -1,6 +1,9 @@
#!/bin/sh
# wrapper for bundled executables
# reset locale to avoid problems with decimal numbers
export LC_ALL=C
BASEDIR=$(dirname "$0")
EXENAME=$(basename "$0")

View File

@ -6,6 +6,8 @@ set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_PASCAL60 ON CACHE BOOL "" FORCE)
set(BUILD_OMP ON CACHE BOOL "" FORCE)
get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokkos/bin/nvcc_wrapper ABSOLUTE)
set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)

View File

@ -32,7 +32,6 @@ set(WIN_PACKAGES
FEP
GPU
GRANULAR
INTEL
INTERLAYER
KSPACE
LEPTON

View File

@ -18,11 +18,11 @@ set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "icx" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "icpx" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_Fortran_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_Fortran_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libiomp5.so" CACHE PATH "" FORCE)

View File

@ -32,6 +32,7 @@ set(WIN_PACKAGES
INTERLAYER
KSPACE
LEPTON
MACHDYN
MANIFOLD
MANYBODY
MC
@ -45,6 +46,7 @@ set(WIN_PACKAGES
MOLECULE
MOLFILE
OPENMP
OPT
ORIENT
PERI
PHONON

View File

@ -63,6 +63,7 @@ help:
@echo " anchor_check scan for duplicate anchor labels"
@echo " style_check check for complete and consistent style lists"
@echo " package_check check for complete and consistent package lists"
@echo " role_check check for misformatted role keywords"
@echo " spelling spell-check the manual"
# ------------------------------------------
@ -98,6 +99,7 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\
$(PYTHON) $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\
deactivate ;\
@ -179,6 +181,7 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\
$(PYTHON) utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\
deactivate ;\
@ -227,6 +230,7 @@ char_check :
role_check :
@( env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst && exit 1 || : )
@( env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst && exit 1 || : )
@( env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst && exit 1 || : )
link_check : $(VENV) html
@(\

View File

@ -489,8 +489,9 @@ using CMake or Make.
.. code-block:: bash
-D BUILD_TOOLS=value # yes or no (default)
-D BUILD_LAMMPS_SHELL=value # yes or no (default)
-D BUILD_TOOLS=value # yes or no (default). Build binary2txt, chain.x, micelle2d.x, msi2lmp, phana, stl_bin2txt
-D BUILD_LAMMPS_SHELL=value # yes or no (default). Build lammps-shell
-D BUILD_LAMMPS_GUI=value # yes or no (default). Build lammps-gui
The generated binaries will also become part of the LAMMPS installation
(see below).
@ -504,7 +505,6 @@ using CMake or Make.
make binary2txt # build only binary2txt tool
make chain # build only chain tool
make micelle2d # build only micelle2d tool
make thermo_extract # build only thermo_extract tool
cd lammps/tools/lammps-shell
make # build LAMMPS shell

View File

@ -881,6 +881,50 @@ included in the LAMMPS source distribution in the ``lib/lepton`` folder.
----------
.. _machdyn:
MACHDYN package
-------------------------------
To build with this package, you must download the Eigen3 library.
Eigen3 is a template library, so you do not need to build it.
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location)
If ``DOWNLOAD_EIGEN3`` is set, the Eigen3 library will be
downloaded and inside the CMake build directory. If the Eigen3
library is already on your system (in a location where CMake
cannot find it), set ``EIGEN3_INCLUDE_DIR`` to the directory the
``Eigen3`` include file is in.
.. tab:: Traditional make
You can download the Eigen3 library manually if you prefer; follow
the instructions in ``lib/machdyn/README``. You can also do it in one
step from the ``lammps/src`` dir, using a command like these,
which simply invokes the ``lib/machdyn/Install.py`` script with the
specified args:
.. code-block:: bash
make lib-machdyn # print help message
make lib-machdyn args="-b" # download to lib/machdyn/eigen3
make lib-machdyn args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3
Note that a symbolic (soft) link named ``includelink`` is created
in ``lib/machdyn`` to point to the Eigen dir. When LAMMPS builds it
will use this link. You should not need to edit the
``lib/machdyn/Makefile.lammps`` file.
----------
.. _mliap:
ML-IAP package
@ -1479,6 +1523,55 @@ ML-POD package
----------
.. _ml-quip:
ML-QUIP package
---------------------------------
To build with this package, you must download and build the QUIP
library. It can be obtained from GitHub. For support of GAP
potentials, additional files with specific licensing conditions need
to be downloaded and configured. The automatic download will from
within CMake will download the non-commercial use version.
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D DOWNLOAD_QUIP=value # download QUIP library for build, value = no (default) or yes
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
-D USE_INTERNAL_LINALG=value # Use the internal linear algebra library instead of LAPACK
# value = no (default) or yes
CMake will try to download and build the QUIP library from GitHub,
if it is not found on the local machine. This requires to have git
installed. It will use the same compilers and flags as used for
compiling LAMMPS. Currently this is only supported for the GNU
and the Intel compilers. Set the ``QUIP_LIBRARY`` variable if you
want to use a previously compiled and installed QUIP library and
CMake cannot find it.
The QUIP library requires LAPACK (and BLAS) and CMake can identify
their locations and pass that info to the QUIP build script. But
on some systems this triggers a (current) limitation of CMake and
the configuration will fail. Try enabling ``USE_INTERNAL_LINALG`` in
those cases to use the bundled linear algebra library and work around
the limitation.
.. tab:: Traditional make
The download/build procedure for the QUIP library, described in
``lib/quip/README`` file requires setting two environment
variables, ``QUIP_ROOT`` and ``QUIP_ARCH``. These are accessed by
the ``lib/quip/Makefile.lammps`` file which is used when you
compile and link LAMMPS with this package. You should only need
to edit ``Makefile.lammps`` if the LAMMPS build can not use its
settings to successfully build on your system.
----------
.. _plumed:
PLUMED package
@ -2000,55 +2093,6 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to
----------
.. _ml-quip:
ML-QUIP package
---------------------------------
To build with this package, you must download and build the QUIP
library. It can be obtained from GitHub. For support of GAP
potentials, additional files with specific licensing conditions need
to be downloaded and configured. The automatic download will from
within CMake will download the non-commercial use version.
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D DOWNLOAD_QUIP=value # download QUIP library for build, value = no (default) or yes
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
-D USE_INTERNAL_LINALG=value # Use the internal linear algebra library instead of LAPACK
# value = no (default) or yes
CMake will try to download and build the QUIP library from GitHub,
if it is not found on the local machine. This requires to have git
installed. It will use the same compilers and flags as used for
compiling LAMMPS. Currently this is only supported for the GNU
and the Intel compilers. Set the ``QUIP_LIBRARY`` variable if you
want to use a previously compiled and installed QUIP library and
CMake cannot find it.
The QUIP library requires LAPACK (and BLAS) and CMake can identify
their locations and pass that info to the QUIP build script. But
on some systems this triggers a (current) limitation of CMake and
the configuration will fail. Try enabling ``USE_INTERNAL_LINALG`` in
those cases to use the bundled linear algebra library and work around
the limitation.
.. tab:: Traditional make
The download/build procedure for the QUIP library, described in
``lib/quip/README`` file requires setting two environment
variables, ``QUIP_ROOT`` and ``QUIP_ARCH``. These are accessed by
the ``lib/quip/Makefile.lammps`` file which is used when you
compile and link LAMMPS with this package. You should only need
to edit ``Makefile.lammps`` if the LAMMPS build can not use its
settings to successfully build on your system.
----------
.. _scafacos:
SCAFACOS package
@ -2096,50 +2140,6 @@ To build with this package, you must download and build the
----------
.. _machdyn:
MACHDYN package
-------------------------------
To build with this package, you must download the Eigen3 library.
Eigen3 is a template library, so you do not need to build it.
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location)
If ``DOWNLOAD_EIGEN3`` is set, the Eigen3 library will be
downloaded and inside the CMake build directory. If the Eigen3
library is already on your system (in a location where CMake
cannot find it), set ``EIGEN3_INCLUDE_DIR`` to the directory the
``Eigen3`` include file is in.
.. tab:: Traditional make
You can download the Eigen3 library manually if you prefer; follow
the instructions in ``lib/smd/README``. You can also do it in one
step from the ``lammps/src`` dir, using a command like these,
which simply invokes the ``lib/smd/Install.py`` script with the
specified args:
.. code-block:: bash
make lib-smd # print help message
make lib-smd args="-b" # download to lib/smd/eigen3
make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3
Note that a symbolic (soft) link named ``includelink`` is created
in ``lib/smd`` to point to the Eigen dir. When LAMMPS builds it
will use this link. You should not need to edit the
``lib/smd/Makefile.lammps`` file.
----------
.. _vtk:
VTK package

View File

@ -100,6 +100,7 @@ Tutorials howto
Howto_cmake
Howto_github
Howto_lammps_gui
Howto_pylammps
Howto_wsl

View File

@ -0,0 +1,402 @@
Using the LAMMPS GUI
====================
LAMMPS GUI is a simple graphical text editor that is linked to the
:ref:`LAMMPS C-library interface <lammps_c_api>` and thus can run LAMMPS
directly using the contents of the editor's text buffer as input.
This is similar to what people traditionally would do to run LAMMPS:
using a regular text editor to edit the input and run the necessary
commands, possibly including the text editor, too, from a command line
terminal window. That is quite effective when running LAMMPS on
high-performance computing facilities and when you are very proficient
in using the command line. The main benefit of a GUI application is
that this integrates well with graphical desktop environments and many
basic tasks can be done directly from within the GUI without switching
to a text console or requiring external programs or scripts to extract
data from the generated output. This makes it easier for beginners to
get started running simple LAMMPS simulations and thus very suitable for
tutorials on LAMMPS. But also makes it easier to switch to a full
featured text editor and more sophisticated visualization and analysis
tools.
-----
The following text provides a detailed tour of the features and
functionality of the LAMMPS GUI. This document describes LAMMPS GUI
version 1.2.
Main window
-----------
When LAMMPS GUI starts, it will show the main window with either an
empty buffer, or have a file loaded. In the latter case it may look like
the following:
.. image:: JPG/lammps-gui-main.png
:align: center
:scale: 50%
There is the menu bar at the top, then the main editor buffer with the
input file contents in the center with line numbers on the left and the
input colored according to the LAMMPS input file syntax. At the bottom
is the status bar, which shows the status of LAMMPS execution on the
left ("Ready." when idle) and the current working directory on the
right. The size of the main window will be stored when exiting and
restored when starting again. The name of the current file in the
buffer is shown in the window title and the text `*modified*` is added
in case the buffer has modifications that are not yet saved to a file.
Opening Files
^^^^^^^^^^^^^
The LAMMPS GUI application will try to open the first command line
argument as input file, further arguments are ignored. When no
argument is given LAMMPS GUI will start with an empty buffer.
Files can also be opened via the ``File`` menu or by drag-and-drop
of a file from a file manager to the editor window. Only one
file can be open at a time, so opening a new file with a filled
buffer will close this buffer and in case the buffer has unsaved
modifications will ask to either cancel the load, discard the
changes or save them.
Running LAMMPS
^^^^^^^^^^^^^^
From within the LAMMPS GUI main window LAMMPS can be started either from
the ``Run`` menu, by the hotkey `Ctrl-Enter` (`Command-Enter` on macOS),
or by clicking on the green button in the status bar. LAMMPS runs in a
separate thread, so the GUI stays responsive and thus it is able to
interact with the calculation and access its data. It is important to
note, that LAMMPS is using the contents of the input buffer for the run,
**not** the file it was read from. If there are unsaved changes in the
buffer, they *will* be used.
.. image:: JPG/lammps-gui-running.png
:align: center
:scale: 75%
While LAMMPS is running, the contents of the status bar change: on the
left side there is a text indicating that LAMMPS is running, which will
contain the selected number of threads, if thread-parallel acceleration
was selected in the ``Preferences`` dialog. On the right side, a
progress bar is shown that displays the estimated progress on the
current :doc:`run command <run>`. Additionally, two windows will open:
the log window with the captured screen output and the chart window with
a line graph created from the thermodynamic output of the run.
The run can be stopped cleanly by using either the ``Stop LAMMPS`` entry
in the ``Run`` menu, the hotkey `Ctrl-/` (`Command-/` on macOS), or
clicking on the red button in the status bar. This will cause that the
running LAMMPS process will complete the current iteration and then
stop. This is equivalent to the command :doc:`timer timeout 0 <timer>`
and implemented by calling the :cpp:func:`lammps_force_timeout()` function
of the LAMMPS C-library interface.
Viewing Snapshot Images
^^^^^^^^^^^^^^^^^^^^^^^
By selecting the ``View Image`` entry in the ``Run`` menu, by hitting
the `Ctrl-I` (`Command-I` on macOS) hotkey or by clicking on the
"palette" button in the status bar, LAMMPS GUI will issue a
:doc:`write_dump image <dump_image>` command and read the resulting
snapshot image into an image viewer window. When possible, LAMMPS
GUI will try to detect which elements the atoms correspond to (via
their mass) and then colorize them accordingly. Otherwise just some
predefined sequence of colors are assigned to different atom types.
.. image:: JPG/lammps-gui-image.png
:align: center
:scale: 50%
The default image size, some default image quality settings, the view
style and some colors can be changed in the ``Preferences`` dialog
window. From the image viewer window further adjustments can be made:
actual image size, high-quality rendering, anti-aliasing, view style,
display of box or axes, zoom factor. The the image can be rotated
horizontally and vertically and it is possible to only display the atoms
within a predefined group (default is "all"). After each change, the
image is rendered again and the display updated. The small palette icon
on the top left will be colored while LAMMPS is running to render the
image and it will be grayed out again, when it is done. When there are
many items to show and high quality images with anti-aliasing are
requested, re-rendering can take several seconds. From the ``File``
menu, the shown image can be saved to a file permanently or copied into
the cut-n-paste buffer for pasting into another application.
Editor Functions
^^^^^^^^^^^^^^^^
The editor has most the usual functionality that similar programs have:
text selection via mouse or with cursor moves while holding the Shift
key, Cut, Copy, Paste, Undo, Redo. All of these editing functions are
available via hotkeys. When trying to exit the editor with a modified
buffer, a dialog will pop up asking whether to cancel the quit, or don't
save or save the buffer's contents to a file.
Context Specific Help
^^^^^^^^^^^^^^^^^^^^^
.. image:: JPG/lammps-gui-popup-help.png
:align: center
:scale: 50%
A unique feature of the LAMMPS GUI is the option to look up the
documentation for the command in the current line. This can be achieved
by either clicking the right mouse button or by using the `Ctrl-?`
hotkey. When clicking the mouse there are additional entries in the
context menu that will open the corresponding documentation page in the
online LAMMPS documentation. When using the hotkey, the first of those
entries will be chosen directly.
Menu
----
The menu bar the entries ``File``, ``Edit``, ``Run``, ``View``, and ``About``.
Instead of using the mouse to click on them, the individual menus can also
be activated by hitting the `Alt` key together with the corresponding underlined
letter, that is `Alt-f` will activate the ``File`` menu. For the corresponding
activated sub-menus, also the underlined letter, together with the `Alt` key can
be used to select instead of the mouse.
File
^^^^
The ``File`` menu offers the usual options:
- ``New`` will clear the current buffer and reset the file name to ``*unknown*``
- ``Open`` will open a dialog to select a new file
- ``Save`` will save the current file; if the file name is ``*unknown*``
a dialog will open to select a new file name
- ``Save As`` will open a dialog to select and new file name and save
the buffer to it
- ``Quit`` will exit LAMMPS GUI. If there are unsaved changes, a dialog
will appear to either cancel the quit, save or don't save the file.
In addition, up to 5 recent file names will be listed after the ``Open``
entry that allows to re-open recent files. This list is stored when
quitting and recovered when starting again.
Edit
^^^^
The ``Edit`` menu offers the usual editor functions like ``Undo``,
``Redo``, ``Cut``, ``Copy``, ``Paste``, but also offers to open the
``Preferences`` dialog and to delete all stored preferences so they
will be reset to their defaults.
Run
^^^
The ``Run`` menu allows to start and stop a LAMMPS process. Rather than
calling the LAMMPS executable as a separate executable, the LAMMPS GUI
is linked to the LAMMPS library and thus can run LAMMPS internally
through the :ref:`LAMMPS C-library interface <lammps_c_api>`.
Specifically, a LAMMPS instance will be created by calling
:cpp:func:`lammps_open_no_mpi` and then the buffer contents run by
calling :cpp:func:`lammps_commands_string`. Certain commands and
features are only available, after a LAMMPS instance is created. Its
presence is indicated by a small LAMMPS ``L`` logo in the status bar at
the bottom left of the main window.
The LAMMPS calculation will be run in a concurrent thread so that the
GUI will stay responsive and will be updated during the run. This can
be used to tell the running LAMMPS instance to stop at the next
timestep. The ``Stop LAMMPS`` entry will do this by calling
:cpp:func:`lammps_force_timeout`, which is equivalent to a :doc:`timer
timeout 0 <timer>` command.
The ``Set Variables`` entry will open a dialog box where :doc:`index style variables <variable>`
can be set. Those variables will be passed to the LAMMPS instance when
it is created and are thus set *before* a run is started.
.. image:: JPG/lammps-gui-variables.png
:align: center
:scale: 75%
The ``Set Variables`` dialog will be pre-populated with entries that are
set as index variables in the input and any variables that are used but
not defined as far as the built-in parser can detect them. New rows for
additional variables can be added through the ``Add Row`` button and
existing rows deleted by clicking on the ``X`` icons on the right.
The ``View Image`` entry will send a :doc:`dump image <dump_image>`
command to the LAMMPS instance, read the resulting file, and show it in
an ``Image Viewer`` window.
The ``View in OVITO`` entry will launch `OVITO <https://ovito.org>`_
with a :doc:`data file <write_data>` of the current state of the system.
This option is only available, if the LAMMPS GUI can find the OVITO
executable in the system path.
The ``View in VMD`` entry will instead launch VMD, also to load a
:doc:`data file <write_data>` of the current state of the system. This
option is only available, if the LAMMPS GUI can find the VMD executable
in the system path.
View
^^^^
The ``View`` menu offers to show or hide the three optional windows
with log output, graphs, or images. The default settings for those
can be changed in the ``Preferences dialog``.
About
^^^^^
The ``About`` menu finally offers a couple of dialog windows and an
option to launch the LAMMPS online documentation in a web browser. The
``About LAMMPS GUI`` entry displays a dialog with a summary of the
configuration settings of the LAMMPS library in use and the version
number of LAMMPS GUI itself. The ``Quick Help`` displays a dialog with
a minimal description of LAMMPS GUI. And ``LAMMPS Manual`` will open
the main page of this LAMMPS documentation at https://docs.lammps.org/.
Preferences
-----------
The ``Preferences`` dialog allows to customize some of the behavior
and looks of the LAMMPS GUI application. The settings are grouped
and each group is displayed within a tab.
.. |guiprefs1| image:: JPG/lammps-gui-prefs-general.png
:width: 25%
.. |guiprefs2| image:: JPG/lammps-gui-prefs-accel.png
:width: 25%
.. |guiprefs3| image:: JPG/lammps-gui-prefs-image.png
:width: 25%
|guiprefs1| |guiprefs2| |guiprefs3|
General Settings:
^^^^^^^^^^^^^^^^^
- *Echo input to log:* when checked, all input commands, including
variable expansions, will be echoed to the log window. This is
equivalent to using `-echo screen` at the command line. There is no
log *file* produced since it always uses `-log none`.
- *Include citation details:* when checked full citation info will be
included to the log window. This is equivalent to using `-cite
screen` on the command line.
- *Show log window by default:* when checked, the screen output of a
LAMMPS run will be collected in a log window during the run
- *Show chart window by default:* when checked, the thermodynamic
output of a LAMMPS run will be collected and displayed in a chart
window as line graphs.
- *Replace log window on new run:* when checked, an existing log
window will be replaced on a new LAMMPS run, otherwise each run will
create a new log window.
- *Replace chart window on new run:* when checked, an existing chart
window will be replaced on a new LAMMPS run, otherwise each run will
create a new chart window.
- *Replace image window on new render:* when checked, an existing
chart window will be replaced when a new snapshot image is requested,
otherwise each command will create a new image window.
- *Path to LAMMPS Shared Library File:* this options is only available
when LAMMPS GUI was compiled to load the LAMMPS library at run time
instead of being linked to it directly. With the ``Browse..`` button
or by changing the text, a different shared library file with a
different compilation of LAMMPS with different settings or from a
different version can be loaded. After this setting was changed,
LAMMPS GUI needs to be re-launched.
- *Select Default Font:* Opens a font selection dialog where the type
and size for the default font (used for everything but the editor and
log) of the application can be set.
- *Select Text Font:* Opens a font selection dialog where the type and
size for the text editor and log font of the application can be set.
Accelerators:
^^^^^^^^^^^^^
This tab enables to select which accelerator package is used and is
equivalent to using the `-suffix` and `-package` flags on the command
line. Only settings supported by the LAMMPS library and local hardware
are available. The `Number of threads` field allows to set the maximum
number of threads for the accelerator packages that use threads.
Snapshot Image:
^^^^^^^^^^^^^^^
This tab allows to set some defaults for the snapshot images displayed
in the ``Image Viewer`` window, like its dimensions and the zoom factor
applied. The *Antialias* switch requests to render images with twice
the number of pixels for width and height and then smoothly scales the
image back to the requested size. This produces higher quality images
with smoother edges at the expense of requiring more CPU time to render
the image. The *HQ Image mode* option turns on using a screen space
ambient occlusion mode (SSAO) when rendering images. This is also more
time consuming, but produces a more 'spatial' representation of the
system. The *VDW Style* checkbox selects whether atoms are represented
by space filling spheres when checked or by smaller spheres and stick.
Finally there are a couple of drop down lists to select the background
and box color.
Hotkeys
-------
Almost all functionality is accessible from the menu or via hotkeys.
The following hotkeys are available (On macOS use the Command key
instead of Ctrl/Control).
.. list-table::
:header-rows: 1
:widths: auto
* - Hotkey
- Function
- Hotkey
- Function
- Hotkey
- Function
- Hotkey
- Function
* - Ctrl+N
- New File
- Ctrl+Z
- Undo edit
- Ctrl+Enter
- Run LAMMPS
- Ctrl+Shift+A
- About LAMMPS GUI
* - Ctrl+O
- Open File
- Ctrl+Shift+Z
- Redo edit
- Ctrl+/
- Stop Active Run
- Ctrl+Shift+H
- Quick Help
* - CTRL+S
- Save File
- Ctrl+C
- Copy text
- Ctrl+Shift+V
- Set Variables
- Ctrl+Shift+G
- LAMMPS GUI Howto
* - Ctrl+Shift+S
- Save File As
- Ctrl+X
- Cut text
- Ctrl+I
- Create Snapshot Image
- Ctrl+Shift+M
- LAMMPS Manual
* - Ctrl+Q
- Quit
- Ctrl+V
- Paste text
- Ctrl+P
- Preferences
- Ctrl+?
- Context Help
Further editing keybindings `are documented with the Qt documentation
<https://doc.qt.io/qt-5/qplaintextedit.html#editing-key-bindings>`_. In
case of conflicts the list above takes precedence.

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -23,10 +23,23 @@ coordinated.
----------
The content for this manual is part of the LAMMPS distribution. The
online version always corresponds to the latest feature release version.
If needed, you can build a local copy of the manual as HTML pages or a
PDF file by following the steps on the :doc:`Build_manual` page. If you
The content for this manual is part of the LAMMPS distribution in its
doc directory.
* The version of the manual on the LAMMPS website corresponds to the
latest LAMMPS feature release. It is available at:
`https://docs.lammps.org/ <https://docs.lammps.org/>`_.
* A version of the manual corresponding to the latest LAMMPS stable
release (state of the *stable* branch on GitHub) is available online
at: `https://docs.lammps.org/stable/
<https://docs.lammps.org/stable/>`_
* A version of the manual with the features most recently added to
LAMMPS (state of the *develop* branch on GitHub) is available at:
`https://docs.lammps.org/latest/ <https://docs.lammps.org/latest/>`_
If needed, you can build a copy on your local machine of the manual
(HTML pages or PDF file) for the version of LAMMPS you have
downloaded. Follow the steps on the :doc:`Build_manual` page. If you
have difficulties viewing the pages, please :ref:`see this note
<webbrowser>`.

View File

@ -18,7 +18,7 @@ package was developed primarily by Christian Trott (Sandia) and Stan
Moore (Sandia) with contributions of various styles by others,
including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez
(Sandia). For more information on developing using Kokkos abstractions
see the Kokkos `Wiki <https://github.com/kokkos/kokkos/wiki>`_.
see the `Kokkos Wiki <https://github.com/kokkos/kokkos/wiki>`_.
Kokkos currently provides support for 4 modes of execution (per MPI
task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP
@ -29,11 +29,12 @@ produce an executable compatible with a specific hardware.
.. admonition:: C++14 support
:class: note
Kokkos requires using a compiler that supports the c++14 standard. For
some compilers, it may be necessary to add a flag to enable c++14 support.
Kokkos version 3.x requires using a compiler that supports the c++14 standard.
For some compilers, it may be necessary to add a flag to enable c++14 support.
For example, the GNU compiler uses the -std=c++14 flag. For a list of
compilers that have been tested with the Kokkos library, see the Kokkos
`README <https://github.com/kokkos/kokkos/blob/master/README.md>`_.
compilers that have been tested with the Kokkos library, see the
`requirements document of the Kokkos Wiki
<https://kokkos.github.io/kokkos-core-wiki/requirements.html>`_.
.. admonition:: NVIDIA CUDA support
:class: note

View File

@ -645,106 +645,49 @@ LAMMPS GUI
Overview
^^^^^^^^
LAMMPS GUI is essentially a small graphical text editor that is linked
to the :ref:`LAMMPS C-library interface <lammps_c_api>` and thus can run
LAMMPS directly using the contents of the editor's text buffer as input.
This is similar to what people usually would do using a text editor to
edit the input and then a command line terminal window to run the input
commands. The main benefit is that this integrates very well with
graphical desktop environments and that it is easier to use for
beginners in running computations and thus very suitable for tutorials
on LAMMPS. A small difference is that for the LAMMPS GUI it is not
require to first commit its buffer of the text editor to a file.
LAMMPS GUI is a simple graphical text editor that is linked to the
:ref:`LAMMPS C-library interface <lammps_c_api>` and thus can run LAMMPS
directly using the contents of the editor's text buffer as input.
This is similar to what people traditionally would do to run LAMMPS:
using a regular text editor to edit the input and run the necessary
commands, possibly including the text editor, too, from a command line
terminal window. This similarity is a design goal. While making it easy
for beginners to start with LAMMPS, it is also the intention to simplify
the transition to workflows like most experienced LAMMPS users do.
All features have been extensively exposed to hotkeys, so that there is
also appeal for experienced LAMMPS users, too, especially for
prototyping and testing simulations setups.
Features
^^^^^^^^
The main window of the LAMMPS GUI is a generic text editor window with
line numbers and syntax highlighting set up for LAMMPS input files. It
can be used to edit any kind of text file, though. The output of a run
is captured and displayed in a separate dialog window and *not* sent to
the console or a log file (unless the :doc:`log command <log>` is used
in the input. The log window is regularly updated during the run and a
progress bar for the run command shown at the bottom of the main window.
Starting a new run will open another log windows. The state of LAMMPS
will be reset between two runs. After the simulation is finished, an
image of the simulated system can be created and shown in an image
viewer window. Ongoing runs can be stopped at the next iteration via
triggering a timeout.
A detailed discussion and explanation of all features and functionality
are in the :doc:`Howto_lammps_gui` tutorial Howto page.
When opening a file, the editor will determine the directory where the
file resides and switch its current working directory to the folder of
that file. Many LAMMPS inputs contain commands that read other files,
typically from the folder of the input file. The GUI will always show
the current working directory in the bottom. The editor window can also
receive (entire) files via drag-n-drop from a file manager GUI or a
desktop environment. When exiting the GUI with a modified buffer, a
dialog asking to either cancel, ignore the modifications, or save the
file with show up. Same when attempting to load a new file into a
modified buffer.
Here are a few highlights of LAMMPS GUI
Hotkeys
^^^^^^^
Almost all functionality is accessible from the menu or via hotkeys.
The following hotkeys are available (On macOS use the Command key
instead of Ctrl (aka Control)).
.. list-table::
:header-rows: 1
:widths: auto
* - Hotkey
- Function
- Hotkey
- Function
- Hotkey
- Function
- Hotkey
- Function
* - Ctrl+N
- New File
- Ctrl+Z
- Undo edit
- Ctrl+V
- Paste text
- Ctrl+Q
- Quit (Main Window only)
* - Ctrl+O
- Open File
- Ctrl+Shift+Z
- Redo edit
- Ctrl+Enter
- Run LAMMPS
- Ctrl+W
- Close (Log and Image Window only)
* - CTRL+S
- Save File
- Ctrl+C
- Copy text
- Ctrl+/
- Stop Active Run
- Ctrl+P
- Preferences
* - Ctrl+Shift+S
- Save File As
- Ctrl+X
- Cut text
- Ctrl+I
- Create Snapshot Image
- Ctrl+Shift+/
- Quick Help
Further editing keybindings `are documented with the Qt documentation
<https://doc.qt.io/qt-5/qplaintextedit.html#editing-key-bindings>`_. In
case of conflicts the list above takes precedence.
- Text editor with syntax highlighting customized for LAMMPS
- Text editor will switch working directory to folder of file in buffer
- Text editor will remember up to 5 recent files
- Context specific LAMMPS command help via online documentation
- LAMMPS is running in a concurrent thread, so the GUI remains responsive
- Support for accelerator packages
- Progress bar indicates that LAMMPS is running
- LAMMPS can be started and stopped with a hotkey
- Screen output is captured in a Log Window
- Thermodynamic output is captured and displayed as line graph in a Chart Window
- Visualization of current state in Image Viewer (via :doc:`dump image <dump_image>`)
- Many adjustable settings and preferences that are persistent
- Dialog to set variables from the LAMMPS command line
Parallelization
^^^^^^^^^^^^^^^
Due to its nature as a graphical application, it is not possible to use
the LAMMPS GUI in parallel with MPI, but OpenMP multi-threading is
available and enabled by default.
the LAMMPS GUI in parallel with MPI, but OpenMP multi-threading and GPU
acceleration is available and enabled by default.
Prerequisites and portability
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -752,63 +695,65 @@ Prerequisites and portability
LAMMPS GUI is programmed in C++ based on the C++11 standard and using
the `Qt GUI framework <https://www.qt.io/product/framework>`_.
Currently, Qt version 5.12 or later is required; Qt 5.15LTS is
recommended Qt 6.x not (yet) supported. Furthermore, CMake version 3.16
is required and LAMMPS must be configured with ``-D
LAMMPS_EXCETIONS=on`` and ``-D BUILD_MPI=off``. It has been successfully
compiled and tested on:
recommended; Qt 6.x not (yet) supported. Building LAMMPS with CMake 3.16
or later is required. The LAMMPS GUI has been successfully compiled and tested on:
- Ubuntu Linux 20.04LTS x86_64 using GCC 9, Qt version 5.12
- Fedora Linux 38 x86\_64 using GCC 13 and Clang 16, Qt version 5.15LTS
- Apple macOS 12 (Monterey) and macOS 13 (Ventura) with Xcode on arm64 and x86\_64, Qt version 5.15LTS
- Windows 10 and 11 x86_64 with Visual Studio 2022 and Visual C++ 14.36, Qt version 5.15LTS
- Windows 10 and 11 x86_64 with MinGW / GCC 10.0 cross-compiler on Fedora 38, Qt version 5.15LTS
Pre-compiled executables
^^^^^^^^^^^^^^^^^^^^^^^^
Pre-compiled LAMMPS executables including the GUI are currently
available from https://download.lammps.org/static. You can unpack the
archive (or mount the macOS disk image) and run the GUI directly in
place. The folder may also be moved around and added to the ``PATH``
environment variable so the executables will be found automatically. The
LAMMPS GUI executable is called ``lammps-gui`` and takes no arguments or
will interpret the first argument as filename to load.
available from https://download.lammps.org/static or
https://github.com/lammps/lammps/releases. You can unpack the archives
(or mount the macOS disk image) and run the GUI directly in place. The
folder may also be moved around and added to the ``PATH`` environment
variable so the executables will be found automatically. The LAMMPS GUI
executable is called ``lammps-gui`` and either takes no arguments or
attempts to load the first argument as LAMMPS input file.
Compilation
^^^^^^^^^^^
The source for the LAMMPS GUI is included with the LAMMPS source code
distribution in the folder `tools/lammps-gui` and thus it can be can be
built as part of a regular LAMMPS compilation.
:doc:`Using CMake <Howto_cmake>` is required.
To enable its compilation the CMake variable ``-D BUILD_LAMMPS_GUI=on``
must be set when creating the CMake configuration. All other settings
(compiler, flags, compile type) for LAMMPS GUI are then inherited from
the regular LAMMPS build. If the Qt library is packaged for Linux
distributions, then its location is typically auto-detected since the
required CMake configuration files are stored in a location where CMake
can find them without additional help. Otherwise, the location of the
Qt library installation must be indicated by setting
``-D Qt5_DIR=/path/to/qt5/lib/cmake/Qt5``, which is a path to a folder inside
the Qt installation that contains the file ``Qt5Config.cmake``.
distribution in the folder ``tools/lammps-gui`` and thus it can be can
be built as part of a regular LAMMPS compilation. :doc:`Using CMake
<Howto_cmake>` is required. To enable its compilation, the CMake
variable ``-D BUILD_LAMMPS_GUI=on`` must be set when creating the CMake
configuration. All other settings (compiler, flags, compile type) for
LAMMPS GUI are then inherited from the regular LAMMPS build. If the Qt
library is packaged for Linux distributions, then its location is
typically auto-detected since the required CMake configuration files are
stored in a location where CMake can find them without additional help.
Otherwise, the location of the Qt library installation must be indicated
by setting ``-D Qt5_DIR=/path/to/qt5/lib/cmake/Qt5``, which is a path to
a folder inside the Qt installation that contains the file
``Qt5Config.cmake``.
It is also possible to build the LAMMPS GUI as a standalone executable
(e.g. when LAMMPS has been compiled with traditional make), then the
CMake configuration needs to be told where to find the LAMMPS headers
and the LAMMPS library, via `-D LAMMPS_SOURCE_DIR=/path/to/lammps/src`.
CMake will try to guess a build folder with the LAMMPS library from that
path, but it can also be set with `-D LAMMPS_LIB_DIR=/path/to/lammps/lib`.
It should be possible to build the LAMMPS GUI as a standalone
compilation (e.g. when LAMMPS has been compiled with traditional make),
then the CMake configuration needs to be told where to find the LAMMPS
headers and the LAMMPS library, via ``-D
LAMMPS_SOURCE_DIR=/path/to/lammps/src``. CMake will try to guess a
build folder with the LAMMPS library from that path, but it can also be
set with ``-D LAMMPS_LIB_DIR=/path/to/lammps/lib``.
Rather than linking to the LAMMPS library during compilation, it is also
possible to compile the GUI with a plugin loader library that will load
the LAMMPS library dynamically at runtime during the start of the GUI
from a shared library; e.g. `liblammps.so` or `liblammps.dylib` or
`liblammps.dll` (depending on the operating system). This has the
from a shared library; e.g. ``liblammps.so`` or ``liblammps.dylib`` or
``liblammps.dll`` (depending on the operating system). This has the
advantage that the LAMMPS library can be updated LAMMPS without having
to recompile the GUI. The ABI of the LAMMPS C-library interface is very
stable and generally backward compatible. This feature is enabled by
setting ``-D LAMMPS_GUI_USE_PLUGIN=on`` and then
``-D LAMMPS_PLUGINLIB_DIR=/path/to/lammps/plugin/loader``. Typically, this
would be the ``examples/COUPLE/plugin`` folder of the LAMMPS distribution.
setting ``-D LAMMPS_GUI_USE_PLUGIN=on`` and then ``-D
LAMMPS_PLUGINLIB_DIR=/path/to/lammps/plugin/loader``. Typically, this
would be the ``examples/COUPLE/plugin`` folder of the LAMMPS
distribution.
Platform notes
^^^^^^^^^^^^^^
@ -818,7 +763,7 @@ macOS
When building on macOS, the build procedure will try to manufacture a
drag-n-drop installer, LAMMPS-macOS-multiarch.dmg, when using the 'dmg'
target (i.e. `cmake --build <build dir> --target dmg` or `make dmg`.
target (i.e. ``cmake --build <build dir> --target dmg`` or ``make dmg``.
To build multi-arch executables that will run on both, arm64 and x86_64
architectures natively, it is necessary to set the CMake variable ``-D
@ -831,29 +776,50 @@ version.
Windows
"""""""
On Windows currently only compilation from within Visual Studio 2022 is
supported and tested. Using CMake and Ninja as build system is
required. Qt needs to be installed, tested was a package downloaded from
https://www.qt.io, into the ``C:\\Qt`` folder. There is a custom
`x64-GUI-MSVC` build configuration provided that will activate building
the `lammps-gui.exe` executable in addition to LAMMPS. When requesting
an installation from the `Build` menu, it will create a compressed zip
file with the executables and required dependent .dll files. This zip
file can be uncompressed and ``lammps-gui.exe`` run directly from there.
The uncompressed folder can be added to the ``PATH`` environment and
LAMMPS and LAMMPS GUI can be launched from anywhere from the command
line.
On Windows either native compilation from within Visual Studio 2022 with
Visual C++ is supported and tested, or compilation with the MinGW / GCC
cross-compiler environment on Fedora Linux.
**Visual Studio**
Using CMake and Ninja as build system are required. Qt needs to be
installed, tested was a binary package downloaded from
https://www.qt.io, which installs into the ``C:\\Qt`` folder by default.
There is a custom `x64-GUI-MSVC` build configuration provided in the
``CMakeSettings.json`` file that Visual Studio uses to store different
compilation settings for project. Choosing this configuration will
activate building the `lammps-gui.exe` executable in addition to LAMMPS
through importing package selection from the ``windows.cmake`` preset
file and enabling building the LAMMPS GUI and disabling building with MPI.
When requesting an installation from the `Build` menu in Visual Studio,
it will create a compressed ``LAMMPS-Win10-amd64.zip`` zip file with the
executables and required dependent .dll files. This zip file can be
uncompressed and ``lammps-gui.exe`` run directly from there. The
uncompressed folder can be added to the ``PATH`` environment and LAMMPS
and LAMMPS GUI can be launched from anywhere from the command line.
**MinGW64 Cross-compiler**
The standard CMake build procedure can be applied and the
``mingw-cross.cmake`` preset used. By using ``mingw64-cmake`` the CMake
command will automatically include a suitable CMake toolchain file (the
regular cmake command can be used after that). After building the
libraries and executables, you can build the target 'zip'
(i.e. ``cmake --build <build dir> --target zip`` or ``make zip``
to stage all installed files into a LAMMPS_GUI folder and then
run a script to copy all required dependencies, some other files,
and create a zip file from it.
Linux
"""""
Version 5.12 or later of the Qt library and CMake version 3.16 are
required and those are provided by, e.g., Ubuntu 20.04LTS. Thus older
Linux distributions are not likely to be supported, while more recent
ones will work, even for pre-compiled executables (see above). After
compiling with ``cmake --build <build folder>``, use
``cmake --build <build folder> --target tgz`` or ``make tgz`` to build
a ``LAMMPS-Linux-amd64.tar.gz`` file with the executables and their
Version 5.12 or later of the Qt library is required. Those are provided
by, e.g., Ubuntu 20.04LTS. Thus older Linux distributions are not
likely to be supported, while more recent ones will work, even for
pre-compiled executables (see above). After compiling with
``cmake --build <build folder>``, use ``cmake --build <build
folder> --target tgz`` or ``make tgz`` to build a
``LAMMPS-Linux-amd64.tar.gz`` file with the executables and their
support libraries.
----------

View File

@ -68,7 +68,7 @@ reciprocal lattice nodes. The mesh spacing is defined either (a) by
the entire simulation domain or (b) manually using selected values as
shown in the 2D diagram below.
.. image:: img/saed_mesh.jpg
.. image:: img/saed_mesh.png
:scale: 75%
:align: center

View File

@ -223,7 +223,7 @@ result. I.e. the last 2 columns of thermo output will be the same:
system pressure.
The compute stress/atom can be used in a number of ways. Here is an
example to compute a 1-d pressure profile in z-direction across the
example to compute a 1-d pressure profile in x-direction across the
complete simulation box. You will need to adjust the number of bins and the
selections for time averaging to your specific simulation. This assumes
that the dimensions of the simulation cell does not change.

View File

@ -72,7 +72,7 @@ reciprocal lattice nodes. The mesh spacing is defined either (a) by the entire
simulation domain or (b) manually using selected values as
shown in the 2D diagram below.
.. image:: img/xrd_mesh.jpg
.. image:: img/xrd_mesh.png
:scale: 75%
:align: center

View File

@ -307,7 +307,9 @@ the :doc:`run <run>` command. This fix is not invoked during
Restrictions
""""""""""""
none
The keyword "scale yes" is not supported for scaling per-atom parameters
diameter and change. You can use :doc:`fix adapt <fix_adapt>` for those.
Related commands
""""""""""""""""

View File

@ -181,6 +181,12 @@ This fix is part of the MC package. It is only enabled if LAMMPS was
built with that package. See the :doc:`Build package <Build_package>`
doc page for more info.
This fix cannot be used with systems that do not have per-type masses
(e.g. atom style sphere) since the implemented algorithm pre-computes
velocity rescaling factors from per-type masses and ignores any per-atom
masses, if present. In case both, per-type and per-atom masses are
present, a warning is printed.
Related commands
""""""""""""""""

View File

@ -541,10 +541,10 @@ Restrictions
Related commands
""""""""""""""""
:doc:`compute <compute>`, :doc:`fix ave/atom <fix_ave_atom>`, `fix
:doc:ave/histo <fix_ave_histo>`, :doc:`fix ave/time <fix_ave_time>`,
:doc:`variable <variable>`, :doc:`fix ave/correlate
:doc:<fix_ave_correlate>`, `fix ave/atogrid <fix_ave_grid>`
:doc:`compute <compute>`, :doc:`fix ave/atom <fix_ave_atom>`,
:doc:`fix ave/histo <fix_ave_histo>`, :doc:`fix ave/time <fix_ave_time>`,
:doc:`variable <variable>`, :doc:`fix ave/correlate <fix_ave_correlate>`,
:doc:`fix ave/grid <fix_ave_grid>`
Default

View File

@ -65,7 +65,6 @@ Examples
fix 1 all ave/correlate 1 50 10000 &
c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
type upper ave running title1 "My correlation data"
fix 1 all ave/correlate 1 50 10000 c_thermo_press[*]
Description

View File

@ -20,11 +20,11 @@ Syntax
.. parsed-literal::
c_ID = global scalar calculated by a compute with ID
c_ID[I] = Ith component of global vector calculated by a compute with ID
c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below)
f_ID = global scalar calculated by a fix with ID
f_ID[I] = Ith component of global vector calculated by a fix with ID
f_ID[I] = Ith component of global vector calculated by a fix with ID, I can include wildcard (see below)
v_name = global value calculated by an equal-style variable with name
v_name[I] = Ith component of global vector calculated by a vector-style variable with name
v_name[I] = Ith component of a vector-style variable with name, I can include wildcard (see below)
* zero or more keyword/arg pairs may be appended
* keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *nlen* or *ncount*
@ -63,6 +63,7 @@ Examples
fix 1 all ave/correlate/long 1 10000 &
c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
type upper title1 "My correlation data" nlen 15 ncount 3
fix 1 all ave/correlate/long 1 10000 c_thermo_press[*]
Description
"""""""""""
@ -80,8 +81,10 @@ specified values may represent calculations performed by computes and
fixes which store their own "group" definitions.
Each listed value can be the result of a compute or fix or the
evaluation of an equal-style variable. See the
:doc:`fix ave/correlate <fix_ave_correlate>` page for details.
evaluation of an equal-style or vector-style variable. For
vector-style variables, the specified indices can include a wildcard
character. See the :doc:`fix ave/correlate <fix_ave_correlate>` page
for details.
The *Nevery* and *Nfreq* arguments specify on what time steps the input
values will be used to calculate correlation data and the frequency

View File

@ -253,11 +253,11 @@ built with that package. See the :doc:`Build package <Build_package>`
page for more info.
The :doc:`atom_style <atom_style>`, used must contain the charge
property, for example, the style could be *charge* or *full*. Only
usable for 3D simulations. Atoms specified as free ions cannot be part
of rigid bodies or molecules and cannot have bonding interactions. The
scheme is limited to integer charges, any atoms with non-integer charges
will not be considered by the fix.
property and have per atom type masses, for example, the style could be
*charge* or *full*. Only usable for 3D simulations. Atoms specified as
free ions cannot be part of rigid bodies or molecules and cannot have
bonding interactions. The scheme is limited to integer charges, any
atoms with non-integer charges will not be considered by the fix.
All interaction potentials used must be continuous, otherwise the MD
integration and the particle exchange MC moves do not correspond to the

View File

@ -440,8 +440,11 @@ This fix is part of the MC package. It is only enabled if LAMMPS was
built with that package. See the :doc:`Build package <Build_package>`
doc page for more info.
This fix style requires an :doc:`atom style <atom_style>` with per atom
type masses.
Do not set "neigh_modify once yes" or else this fix will never be
called. Reneighboring is required.
called. Reneighboring is **required**.
Only usable for 3D simulations.

View File

@ -62,7 +62,7 @@ performed using the :doc:`fix deform <fix_deform>`, :doc:`fix nvt/sllod
<fix_nvt_sllod>`, and :doc:`compute temp/deform <compute_temp_deform>`
commands.
The applied flow field is set by the *eps* keyword. The values
The applied flow field is set by the *erate* keyword. The values
*edot_x* and *edot_y* correspond to the strain rates in the xx and yy
directions. It is implicitly assumed that the flow field is
traceless, and therefore the strain rate in the zz direction is eqal

View File

@ -24,7 +24,7 @@ Examples
.. code-block:: LAMMPS
fix pl all plumed all plumed plumedfile plumed.dat outfile p.log
fix pl all plumed plumedfile plumed.dat outfile p.log
Description
"""""""""""

View File

@ -232,8 +232,6 @@ These fixes are part of the QEQ package. They are only enabled if
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
These qeq fixes are not compatible with the GPU and USER-INTEL packages.
These qeq fixes will ignore electric field contributions from
:doc:`fix efield <fix_efield>`.

View File

@ -155,6 +155,9 @@ This fix is part of the MC package. It is only enabled if LAMMPS was
built with that package. See the :doc:`Build package <Build_package>`
page for more info.
This fix style requires an :doc:`atom style <atom_style>` with per atom
type masses.
At present the fix provides optimized subroutines for EAM type
potentials (see above) that calculate potential energy changes due to
*local* atom type swaps very efficiently. Other potentials are

View File

@ -195,8 +195,11 @@ doc page for more info.
Do not set "neigh_modify once yes" or else this fix will never be
called. Reneighboring is **required**.
Can be run in parallel, but aspects of the GCMC part will not scale well
in parallel. Only usable for 3D simulations.
This fix style requires an :doc:`atom style <atom_style>` with per atom
type masses.
Can be run in parallel, but some aspects of the insertion procedure
will not scale well in parallel. Only usable for 3D simulations.
Related commands

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

BIN
doc/src/img/saed_mesh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

BIN
doc/src/img/xrd_mesh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -68,8 +68,8 @@ for more info.
Related commands
""""""""""""""""
:doc:`improper_coeff <improper_coeff>`, `improper_harmonic
:doc:<improper_harmonic>`
:doc:`improper_coeff <improper_coeff>`,
:doc:`improper_harmonic <improper_harmonic>`
Default
"""""""

View File

@ -30,11 +30,11 @@ Description
Style *beck* computes interactions based on the potential by
:ref:`(Beck) <Beck>`, originally designed for simulation of Helium. It
includes truncation at a cutoff distance Rc.
includes truncation at a cutoff distance :math:`r_c`.
.. math::
E(r) &= A \exp\left[-\alpha r - \beta r^6\right] - \frac{B}{\left(r^2+a^2\right)^3} \left(1+\frac{2.709+3a^2}{r^2+a^2}\right) \qquad r < R_c \\
E(r) &= A \exp\left[-\alpha r - \beta r^6\right] - \frac{B}{\left(r^2+a^2\right)^3} \left(1+\frac{2.709+3a^2}{r^2+a^2}\right) \qquad r < r_c \\
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
@ -50,7 +50,7 @@ commands.
* cutoff (distance units)
The last coefficient is optional. If not specified, the global cutoff
:math:`R_c` is used.
:math:`r_c` is used.
----------

View File

@ -138,8 +138,12 @@ This pair style can only be used via the *pair* keyword of the
Restrictions
""""""""""""
This style is part of the MC package. It is only enabled if LAMMPS
was built with that package. See the :doc:`Build package <Build_package>` page for more info.
This pair style is part of the MC package. It is only enabled if LAMMPS
was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
This pair style requires an :doc:`atom style <atom_style>` with per
atom type masses.
Related commands
""""""""""""""""

View File

@ -31,13 +31,13 @@ Style *lj/smooth/linear* computes a truncated and force-shifted LJ
interaction (aka Shifted Force Lennard-Jones) that combines the
standard 12/6 Lennard-Jones function and subtracts a linear term based
on the cutoff distance, so that both, the potential and the force, go
continuously to zero at the cutoff Rc :ref:`(Toxvaerd) <Toxvaerd>`:
continuously to zero at the cutoff :math:`r_c` :ref:`(Toxvaerd) <Toxvaerd>`:
.. math::
\phi\left(r\right) & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
\left(\frac{\sigma}{r}\right)^6 \right] \\
E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c
E\left(r\right) & = \phi\left(r\right) - \phi\left(r_c\right) - \left(r - r_c\right) \left.\frac{d\phi}{d r} \right|_{r=r_c} \qquad r < r_c
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
@ -77,8 +77,9 @@ tail option for adding long-range tail corrections to energy and
pressure, since the energy of the pair interaction is smoothed to 0.0
at the cutoff.
This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need
to be specified in an input script that reads a restart file.
This pair style writes its information to :doc:`binary restart files <restart>`,
so pair_style and pair_coeff commands do not need to be specified
in an input script that reads a restart file.
This pair style can only be used via the *pair* keyword of the
:doc:`run_style respa <run_style>` command. It does not support the

View File

@ -35,7 +35,7 @@ The *mie/cut* style computes the Mie potential, given by
E = C \epsilon \left[ \left(\frac{\sigma}{r}\right)^{\gamma_{rep}} - \left(\frac{\sigma}{r}\right)^{\gamma_{att}} \right]
\qquad r < r_c
Rc is the cutoff and C is a function that depends on the repulsive and
:math:`r_c` is the cutoff and C is a function that depends on the repulsive and
attractive exponents, given by:
.. math::

View File

@ -53,7 +53,7 @@ Style *morse* computes pairwise interactions with the formula
E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right]
\qquad r < r_c
Rc is the cutoff.
:math:`r_c` is the cutoff.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
@ -78,7 +78,7 @@ so that both, potential energy and force, go to zero at the cut-off:
.. math::
\phi\left(r\right) & = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c \\
E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c
E\left(r\right) & = \phi\left(r\right) - \phi\left(r_c\right) - \left(r - r_c\right) \left.\frac{d\phi}{d r} \right|_{r=r_c} \qquad r < r_c
The syntax of the pair_style and pair_coeff commands are the same for
the *morse* and *morse/smooth/linear* styles.

View File

@ -44,8 +44,9 @@ It is useful for pushing apart overlapping atoms, since it does not
blow up as r goes to 0. A is a prefactor that can be made to vary in
time from the start to the end of the run (see discussion below),
e.g. to start with a very soft potential and slowly harden the
interactions over time. Rc is the cutoff. See the :doc:`fix nve/limit <fix_nve_limit>` command for another way to push apart
overlapping atoms.
interactions over time. :math:`r_c` is the cutoff.
See the :doc:`fix nve/limit <fix_nve_limit>` command for another way
to push apart overlapping atoms.
The following coefficients must be defined for each pair of atom types
via the :doc:`pair_coeff <pair_coeff>` command as in the examples above,

View File

@ -81,7 +81,7 @@ given by
as required for the SPICA (formerly called SDK) and the pSPICA Coarse-grained MD parameterization discussed in
:ref:`(Shinoda) <Shinoda3>`, :ref:`(DeVane) <DeVane>`, :ref:`(Seo) <Seo>`, and :ref:`(Miyazaki) <Miyazaki>`.
Rc is the cutoff.
:math:`r_c` is the cutoff.
Summary information on these force fields can be found at https://www.spica-ff.org
Style *lj/spica/coul/long* computes the adds Coulombic interactions

View File

@ -1,4 +1,4 @@
Sphinx >= 5.3.0, <7.2.0
Sphinx >= 5.3.0, <7.5
sphinxcontrib-spelling
sphinxcontrib-jquery
git+https://github.com/akohlmey/sphinx-fortran@parallel-read

View File

@ -76,12 +76,12 @@ class LAMMPSLexer(RegexLexer):
include('conditionals'),
include('keywords'),
(r'#.*?\n', Comment),
('"', String, 'string'),
('\'', String, 'single_quote_string'),
(r'"', String, 'string'),
(r'\'', String, 'single_quote_string'),
(r'[0-9]+:[0-9]+(:[0-9]+)?', Number),
(r'[0-9]+(\.[0-9]+)?([eE]\-?[0-9]+)?', Number),
('\$?\(', Name.Variable, 'expression'),
('\$\{', Name.Variable, 'variable'),
(r'\$?\(', Name.Variable, 'expression'),
(r'\$\{', Name.Variable, 'variable'),
(r'[\w_\.\[\]]+', Name),
(r'\$[\w_]+', Name.Variable),
(r'\s+', Whitespace),
@ -97,21 +97,21 @@ class LAMMPSLexer(RegexLexer):
]
,
'variable' : [
('[^\}]+', Name.Variable),
('\}', Name.Variable, '#pop'),
(r'[^\}]+', Name.Variable),
(r'\}', Name.Variable, '#pop'),
],
'string' : [
('[^"]+', String),
('"', String, '#pop'),
(r'[^"]+', String),
(r'"', String, '#pop'),
],
'single_quote_string' : [
('[^\']+', String),
('\'', String, '#pop'),
(r'[^\']+', String),
(r'\'', String, '#pop'),
],
'expression' : [
('[^\(\)]+', Name.Variable),
('\(', Name.Variable, 'expression'),
('\)', Name.Variable, '#pop'),
(r'[^\(\)]+', Name.Variable),
(r'\(', Name.Variable, 'expression'),
(r'\)', Name.Variable, '#pop'),
],
'modify_cmd' : [
(r'[\w_\-\.\[\]]+', Name.Variable.Identifier),

View File

@ -2,7 +2,7 @@
units lj
atom_style tri
atom_modify first big
atom_modify first big map yes
read_data data.tri.srd
@ -52,12 +52,12 @@ pair_coeff 1 2 0.0 1.0 0.0
timestep 0.001
fix 1 big rigid molecule #langevin 1.0 1.0 0.1 12398
fix 2 small srd 20 big 1.0 0.25 49894 &
fix 1 big rigid/small molecule #langevin 1.0 1.0 0.1 12398
fix 2 small srd 20 big 1.0 1.0 49894 &
search 0.2 cubic warn 0.0001 shift yes 49829 &
overlap yes collision noslip
overlap yes collision noslip inside ignore
fix 3 all deform 1 x scale 0.6 y scale 0.6 z scale 0.6
fix 3 all deform 1 x scale 0.8 y scale 0.8 z scale 0.8
# diagnostics
@ -73,8 +73,8 @@ compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 1000
thermo_style custom step f_1 c_tsmall f_2[9] temp press
thermo 100
thermo_style custom step f_1 c_tsmall temp press f_2[9] f_2[4]
thermo_modify temp tbig
compute 10 all property/atom corner1x corner1y corner1z &
@ -93,9 +93,9 @@ unfix 3
change_box all triclinic
fix 2 small srd 20 big 1.0 0.25 49894 &
fix 2 small srd 20 big 1.0 1.0 49894 &
search 0.2 cubic warn 0.0001 shift yes 49829 &
overlap yes collision noslip tstat yes
overlap yes collision noslip tstat yes inside ignore
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.tri.srd id type &

View File

@ -0,0 +1,812 @@
LAMMPS (2 Aug 2023 - Development - patch_2Aug2023-114-gdad8081d55-modified)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:537)
# Aspherical shear demo - 3d triangle boxes, solvated by SRD particles
units lj
atom_style tri
atom_modify first big map yes
read_data data.tri.srd
Reading data file ...
orthogonal box = (-8.4373405 -8.4373405 -8.4373405) to (8.4373405 8.4373405 8.4373405)
2 by 2 by 2 MPI processor grid
reading atoms ...
1500 atoms
1500 triangles
read_data CPU = 0.007 seconds
# add small particles as hi density lattice
lattice sc 0.4
Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088
region box block INF INF INF INF INF INF
lattice sc 20.0
Lattice spacing in x,y,z = 0.36840315 0.36840315 0.36840315
create_atoms 2 region box
Created 91125 atoms
using lattice units in orthogonal box = (-8.4373405 -8.4373405 -8.4373405) to (8.4373405 8.4373405 8.4373405)
create_atoms CPU = 0.002 seconds
group big type 1
1500 atoms in group big
group small type 2
91125 atoms in group small
set group small mass 0.01
Setting atom values ...
91125 settings made for mass
# delete overlaps
# must set 1-2 cutoff to non-zero value
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 0.0 1.0
delete_atoms overlap 1.5 small big
System init for delete_atoms ...
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.8
ghost atom cutoff = 1.8
binsize = 0.9, bins = 19 19 19
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
WARNING: Delete_atoms cutoff > minimum neighbor cutoff (../delete_atoms.cpp:312)
Deleted 76354 atoms, new total = 16271
# SRD run
reset_timestep 0
velocity small create 1.44 87287 loop geom
neighbor 0.3 multi
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra big include big
comm_modify mode multi group big vel yes
neigh_modify include big
# no pairwise interactions with small particles
pair_style tri/lj 3.5
pair_coeff 1 1 0.1 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 0.0 1.0 0.0
# use fix SRD to push small particles out from inside big ones
# if comment out, big particles won't see SRD particles
timestep 0.001
fix 1 big rigid/small molecule #langevin 1.0 1.0 0.1 12398
create bodies CPU = 0.000 seconds
125 rigid bodies with 1500 atoms
1.8601881 = max distance from body owner to body atom
fix 2 small srd 20 big 1.0 1.0 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip inside ignore
fix 3 all deform 1 x scale 0.8 y scale 0.8 z scale 0.8
# diagnostics
compute tsmall small temp/deform
compute tbig big temp
variable pebig equal pe*atoms/count(big)
variable ebig equal etotal*atoms/count(big)
compute_modify tbig extra/dof -4500
compute 1 big erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 100
thermo_style custom step f_1 c_tsmall temp press f_2[9] f_2[4]
thermo_modify temp tbig
WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:527)
compute 10 all property/atom corner1x corner1y corner1z corner2x corner2y corner2z corner3x corner3y corner3z
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump1.tri.srd id type # c_10[1] c_10[2] c_10[3] c_10[4] c_10[5] c_10[6] # c_10[7] c_10[8] c_10[9]
run 10000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
@Article{Intveld08,
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
title = {Accurate and Efficient Methods for Modeling Colloidal
Mixtures in an Explicit Solvent using Molecular Dynamics},
journal = {Comput.\ Phys.\ Commut.},
year = 2008,
volume = 179,
pages = {320--329}
}
@article{Shire2020,
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
Detection Applied to Investigate the Quasi-Static Limit},
journal = {Computational Particle Mechanics},
year = {2020}
@article{Monti2022,
author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava,
Ishan and Silbert, Leonardo E. and Grest, Gary S.
and Lechman, Jeremy B.},
title = {Large-scale frictionless jamming with power-law particle
size distributions},
journal = {Phys. Rev. E},
volume = {106}
issue = {3}
year = {2022}
}
- fix srd command: doi:10.1063/1.3419070
@Article{Petersen10,
author = {M. K. Petersen and J. B. Lechman and S. J. Plimpton and
G. S. Grest and in 't Veld, P. J. and P. R. Schunk},
title = {Mesoscale Hydrodynamics via Stochastic Rotation
Dynamics: Comparison with {L}ennard-{J}ones Fluid},
journal = {J.~Chem.\ Phys.},
year = 2010,
volume = 132,
pages = 174106
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
WARNING: Using compute temp/deform with inconsistent fix deform remap option (../compute_temp_deform.cpp:71)
WARNING: Using fix srd with box deformation but no SRD thermostat (../fix_srd.cpp:405)
SRD info:
SRD/big particles = 14771 1500
big particle diameter max/min = 2.9202881 0.87320391
SRD temperature & lamda = 1 0.2
SRD max distance & max velocity = 0.8 40
SRD grid counts: 17 17 17
SRD grid size: request, actual (xyz) = 1, 0.99262829 0.99262829 0.99262829
SRD per actual grid cell = -3.9971745
SRD viscosity = -34.162587
big/SRD mass density ratio = -3.3753691
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2805)
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2826)
WARNING: Fix srd viscosity < 0.0 due to low SRD density (../fix_srd.cpp:2828)
# of rescaled SRD velocities = 0
ave/max small velocity = 19.970837 35.150443
ave/max big velocity = 0 0
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.8
ghost atom cutoff = 3.8
binsize = 16.874681, bins = 1 1 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair tri/lj, perpetual
attributes: half, newton on
pair build: half/multi/newton
stencil: half/multi/3d
bin: multi
Per MPI rank memory allocation (min/avg/max) = 125.9 | 126.4 | 126.7 Mbytes
Step f_1 c_tsmall Temp Press f_2[9] f_2[4]
0 0 1.4401779 0 -0.15917996 0 0
100 0.36662911 1.1475389 0.24585067 1.0290503 1.1382325 18
200 0.73133134 1.0558153 0.49986673 0.73932383 1.049638 34
300 1.1229361 1.0218621 0.82641583 0.7589689 1.0205369 40
400 1.5826262 0.99541508 1.2201293 0.69171726 0.99190857 52
500 1.8834563 0.99351667 1.4778822 1.0147794 1.0005581 63
600 2.4225372 0.98954834 1.8740966 1.1362893 0.99760042 61
700 3.0172772 0.99153625 2.3351502 1.3284877 0.98731355 39
800 3.5307913 1.0012521 2.6477224 1.1404922 0.9846605 52
900 3.757064 0.99743944 2.7220653 1.4078087 0.97538456 55
1000 4.3165268 1.002214 3.055501 1.2252972 0.99123745 63
1100 4.2796945 1.0075233 3.1022956 1.1893685 1.0139864 69
1200 4.3719315 1.0037271 3.0054509 1.3886162 1.002661 64
1300 4.5628012 0.99368316 3.2690604 1.3621012 0.9810568 56
1400 4.6954389 0.99365088 3.1940001 1.8485712 0.99571089 71
1500 5.0270163 0.99455258 3.4120396 1.5992539 0.98294263 77
1600 5.5897797 1.0021621 3.647347 1.7796904 0.98967622 66
1700 5.5330194 1.0130853 3.6407996 1.8005429 1.0068955 62
1800 5.3606928 1.0090284 3.5863618 1.3308757 1.0214092 59
1900 5.6086195 1.0071865 3.7427101 1.5296314 0.99886937 55
2000 5.3726474 1.0064207 3.603621 1.9473142 0.99999816 54
2100 5.836183 1.0124553 3.7321841 1.7889397 1.0188986 59
2200 5.5090061 1.0113832 3.5884963 1.6617781 1.0071583 59
2300 5.4011211 1.0095947 3.520406 1.8937582 0.99689983 61
2400 5.2219281 1.0053246 3.3699458 1.7231672 0.99899754 59
2500 5.7695275 1.0141459 3.6211469 1.7767598 1.0143133 65
2600 5.4206253 1.0182828 3.521774 2.0800518 1.0081603 70
2700 5.1401099 1.0085209 3.4200563 2.4019836 1.0107652 59
2800 6.5420721 1.0159876 4.1996904 1.863842 1.0160738 61
2900 5.9082962 1.0106921 3.7223419 2.0586998 1.0073885 67
3000 5.6556123 1.0099021 3.6768976 1.921987 1.0068962 76
3100 5.2913762 1.0008567 3.4103831 1.9831969 0.99187526 80
3200 5.1032361 0.99756662 3.1967156 2.2448433 0.99743574 93
3300 5.2622386 1.0024934 3.3325614 2.0078097 1.0047789 86
3400 5.1247527 0.99810102 3.1363556 1.8907269 0.98936508 82
3500 4.9424333 1.0009344 3.2153968 1.9002728 0.99161849 71
3600 5.1243735 1.0037377 3.3117313 2.1267438 1.0078943 65
3700 5.5045819 1.0006119 3.5686193 2.3466538 0.99876164 68
3800 5.5355384 1.0022639 3.6701457 2.0383269 1.0008683 76
3900 6.4915796 1.0137733 4.3225864 2.6996933 1.0064787 79
4000 6.6631737 1.0236248 4.3057163 2.6352666 1.0255232 75
4100 6.2999507 1.0263876 4.0101385 2.5479077 1.0168303 79
4200 6.7902489 1.0247392 4.4616158 2.4926177 1.0191403 91
4300 6.505908 1.0182073 4.0675428 2.168754 1.0177101 74
4400 5.9554283 1.0115938 3.5787297 2.9258144 1.0133896 72
4500 6.2276609 1.0202416 3.8211204 2.5308249 1.0174385 74
4600 6.0485727 1.0195757 3.8217434 2.6421797 1.0201441 78
4700 6.511063 1.0220764 3.933486 2.8591093 1.0147269 83
4800 6.9478172 1.0106414 4.345402 3.3257663 1.00469 85
4900 6.7547045 1.0211842 4.1874576 3.6503845 1.022873 94
5000 7.2603949 1.0234313 4.5393985 3.4667806 1.0222306 105
5100 7.1899652 1.0256566 4.5421834 3.8137207 1.0317242 99
5200 7.1960739 1.026746 4.4288606 3.5523675 1.0242269 97
5300 7.1294458 1.017883 4.5799808 3.3917274 1.0145317 99
5400 6.2810892 1.0291953 4.0109229 2.8604571 1.0289438 97
5500 6.15246 1.0288734 3.8714587 3.2760394 1.0210757 89
5600 6.5860526 1.0192882 4.0272883 3.3124298 1.0096258 93
5700 7.0296116 1.0097293 4.2652722 3.6049788 1.012463 82
5800 6.8372302 1.0140065 4.2205065 4.3686183 1.0088542 93
5900 7.8887098 1.0090612 4.9724078 4.457317 1.0045137 92
6000 10.120663 1.0312443 6.3025192 4.72018 1.0374722 91
6100 9.1318265 1.0304199 5.7084296 4.244548 1.0259056 97
6200 8.9758903 1.0295285 5.1842704 4.870955 1.0178851 95
6300 9.0088218 1.022484 5.3742805 5.1554352 1.0138365 101
6400 10.470322 1.0287848 6.4602103 4.5461489 1.0335978 105
6500 11.100779 1.0347405 6.9630121 4.9840664 1.0339044 99
6600 10.139333 1.0476079 6.4284839 4.5523893 1.0433517 104
6700 8.9706766 1.0386262 5.8387485 4.247024 1.0408151 101
6800 7.7799532 1.0362651 4.9946283 4.6093924 1.0274763 102
6900 8.0866551 1.0337743 4.9942769 4.1679939 1.0454805 102
7000 8.0224277 1.0193598 4.9380527 3.9173115 1.0185001 109
7100 7.8361001 1.0211143 4.872673 5.3471479 1.024779 110
7200 7.8542147 1.0057183 4.8666653 4.668317 0.99980296 122
7300 7.9313852 1.0159181 5.0062527 4.1410294 1.0195705 114
7400 7.2769846 1.0155245 4.6349779 4.9138895 1.0005886 119
7500 7.5974523 1.0196295 4.7918247 4.2525935 1.0211412 124
7600 6.7835063 1.0203187 4.2674694 4.9251624 1.0218296 113
7700 6.4039017 1.0119494 4.1086667 5.5240525 1.0078246 118
7800 7.0715134 1.0149015 4.2450776 4.8796778 1.0164737 125
7900 6.3626535 1.02294 4.202778 4.482164 1.0235878 136
8000 6.2423869 1.0212553 4.0460303 5.2753307 1.0124884 132
8100 6.550891 1.0223318 4.2993545 5.2634985 1.0163244 143
8200 6.9122202 1.008347 4.3551124 5.4108909 1.0084913 142
8300 6.9104634 1.0103936 4.4622206 5.6762373 0.99559355 143
8400 6.4918879 1.0084381 4.1050732 5.8389788 1.0036021 135
8500 7.4377218 1.0216662 4.5229841 5.5431311 1.0260799 123
8600 7.572198 1.0228381 4.9058913 7.1028185 1.0015164 116
8700 8.204675 1.03457 5.2231696 6.4790244 1.0214635 132
8800 8.3118914 1.0381333 5.1795799 6.7437722 1.0290086 132
8900 8.2559198 1.0268665 5.218352 7.2191395 1.019804 138
9000 8.0403128 1.0339414 4.9310394 6.4942331 1.041527 156
9100 7.1773079 1.0397062 4.4993688 7.0272109 1.0388012 167
9200 7.1793935 1.0373589 4.3481663 7.4894459 1.0078785 157
9300 8.3705146 1.0248112 5.1036971 8.2173072 1.010168 156
9400 9.4935002 1.0252907 5.7846951 9.7466018 1.028941 170
9500 9.5208037 1.0371093 5.9635099 7.6444933 1.022673 165
9600 8.9992217 1.0292895 5.6224192 8.8071452 1.0101362 169
9700 8.682661 1.0422224 5.3997636 8.6827834 1.0337928 149
9800 7.6191562 1.0350948 4.7198842 8.6125595 1.0300395 151
9900 8.0910913 1.0319432 4.8843183 7.9013334 1.0272495 167
10000 7.4438347 1.0186098 4.7184985 8.999795 0.99762661 177
Loop time of 162.325 on 8 procs for 10000 steps with 16271 atoms
Performance: 5322.658 tau/day, 61.605 timesteps/s, 1.002 Matom-step/s
99.3% CPU use with 8 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 33.647 | 64.106 | 79.639 | 169.5 | 39.49
Neigh | 0.30808 | 0.44033 | 0.50863 | 9.8 | 0.27
Comm | 26.611 | 43.438 | 74.998 | 215.7 | 26.76
Output | 0.0072573 | 0.0087791 | 0.0097993 | 0.9 | 0.01
Modify | 53.171 | 54.121 | 55.362 | 12.3 | 33.34
Other | | 0.2104 | | | 0.13
Nlocal: 2033.88 ave 2601 max 1413 min
Histogram: 1 2 0 0 0 0 2 1 1 1
Nghost: 1647.25 ave 1714 max 1617 min
Histogram: 4 0 1 0 0 1 1 0 0 1
Neighs: 12482.8 ave 17009 max 8679 min
Histogram: 1 1 1 0 1 1 2 0 0 1
Total # of neighbors = 99862
Ave neighs/atom = 6.1374224
Neighbor list builds = 562
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
Changing box ...
triclinic box = (-6.7498724 -6.7498724 -6.7498724) to (6.7498724 6.7498724 6.7498724) with tilt (0 0 0)
fix 2 small srd 20 big 1.0 1.0 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip tstat yes inside ignore
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.tri.srd id type # c_10[1] c_10[2] c_10[3] c_10[4] c_10[5] c_10[6] # c_10[7] c_10[8] c_10[9]
fix 3 all deform 1 xy erate 0.05 units box remap v
run 40000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
SRD info:
SRD/big particles = 14771 1500
big particle diameter max/min = 2.9202881 0.87320391
SRD temperature & lamda = 1 0.2
SRD max distance & max velocity = 0.8 40
SRD grid counts: 13 13 13
SRD grid size: request, actual (xyz) = 1, 1.0384419 1.0384419 1.0384419
SRD per actual grid cell = -2.775698
SRD viscosity = -12.180602
big/SRD mass density ratio = -5.5653033
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2805)
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2826)
WARNING: Fix srd viscosity < 0.0 due to low SRD density (../fix_srd.cpp:2828)
# of rescaled SRD velocities = 1
ave/max small velocity = 16.14994 40
ave/max big velocity = 1.6952661 5.2200074
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.8
ghost atom cutoff = 3.8
binsize = 13.499745, bins = 1 1 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair tri/lj, perpetual
attributes: half, newton on
pair build: half/multi/newton/tri
stencil: half/multi/3d/tri
bin: multi
Per MPI rank memory allocation (min/avg/max) = 106.9 | 107.5 | 107.7 Mbytes
Step f_1 c_tsmall Temp Press f_2[9] f_2[4]
10000 7.4438347 1.0189789 4.7184481 7.9505614 0 0
10100 7.0770142 1.0021471 4.4491455 6.606701 1 141
10200 6.7628072 1.002308 4.152988 8.5190386 1 125
10300 6.5333319 1.0007472 4.1295404 8.2341747 1 109
10400 6.3237519 1.0024029 3.8636034 9.4058128 1 95
10500 6.6411054 1.0026261 4.2975997 7.6122304 1 82
10600 5.7470775 1.0004827 3.7959947 7.3091777 1 67
10700 5.9744919 1.0014977 3.6885649 7.5517197 1 59
10800 5.8028731 1.0029627 3.7553961 6.2787087 1 49
10900 5.3755286 1.0019318 3.5334739 7.1318348 1 41
11000 5.3915962 1.001463 3.483172 7.6362496 1 40
11100 5.8683672 1.0022459 3.6697589 6.9711866 1 33
11200 5.4351801 0.99956703 3.4548447 7.0745257 1 29
11300 4.9397513 1.0008287 3.1990325 6.0917337 1 27
11400 4.9159845 1.0017862 3.0005677 7.653817 1 26
11500 4.9243103 1.0013135 3.1799841 7.744414 1 23
11600 5.2036357 1.0017984 3.2963749 7.540477 1 22
11700 4.8991892 1.0020757 3.1773032 8.7218471 1 27
11800 4.9489399 1.003438 3.1679764 7.1605486 1 26
11900 4.82398 1.0019946 3.1939566 7.1397869 1 21
12000 4.3531411 1.000532 2.8321416 7.6672501 1 23
12100 4.8226081 1.0018898 3.0382137 6.8343432 1 25
12200 4.7456418 1.0032116 2.9186038 7.3067818 1 20
12300 4.4280468 1.0005857 2.734593 8.0365684 1 22
12400 4.7311239 1.0000982 2.8898839 7.9231831 1 22
12500 4.7261054 1.0016127 2.9090517 7.6085854 1 24
12600 4.7719025 1.0016702 2.9736761 7.6101796 1 26
12700 4.386248 1.001394 2.8508378 6.4765102 1 28
12800 4.3313538 1.0019737 2.6258221 6.3164681 1 19
12900 4.2219861 1.0007469 2.5345699 7.0901077 1 22
13000 4.1775643 1.0011891 2.5807017 7.3579938 1 25
13100 4.3060837 1.0008671 2.5974066 6.9301328 1 22
13200 4.3529062 0.99996469 2.7571632 6.7806287 1 21
13300 4.2178709 1.000673 2.7819091 7.6449064 1 18
13400 4.2714169 1.0021294 2.7280794 8.0986691 1 18
13500 4.3430969 1.0037732 2.6768429 8.1267941 1 18
13600 4.3664374 1.0016083 2.6470186 6.2797727 1 20
13700 4.4904769 1.0008993 2.7885718 7.7410193 1 22
13800 4.2966193 1.001532 2.73862 7.9651302 1 21
13900 4.4003185 1.0009984 2.7484129 8.7160439 1 24
14000 4.5948292 1.0011748 2.9051777 7.842121 1 22
14100 4.6901122 1.0001265 2.9404111 8.9953816 1 20
14200 4.8517518 0.99998743 2.9647625 6.6450509 1 22
14300 4.889628 1.0018051 3.0891097 7.2671824 1 20
14400 4.578862 1.0010629 2.8239776 6.1317183 1 23
14500 4.0865406 1.0013917 2.5119661 6.864665 1 19
14600 4.30688 1.0009041 2.6817814 6.9007433 1 18
14700 4.1295726 1.002342 2.6032093 7.1441648 1 15
14800 4.2176021 1.0015157 2.7332903 6.8394683 1 16
14900 4.2012664 0.99986345 2.6498409 7.4568241 1 15
15000 4.6124269 1.0014751 2.9584178 7.9341875 1 16
15100 4.947327 1.0010615 3.0784409 7.6241305 1 21
15200 5.253281 1.002095 3.3093754 8.1872718 1 25
15300 5.2642369 1.0017799 3.1511136 7.4668389 1 25
15400 5.1967916 1.0029407 3.247548 8.0840111 1 23
15500 5.7465412 1.001896 3.468834 9.5990471 1 15
15600 6.2245772 1.0021086 3.6127689 7.8242016 1 19
15700 5.5626191 0.99984979 3.3893723 7.8124588 1 20
15800 5.5945727 1.0010291 3.3442448 7.0116922 1 17
15900 5.4450219 1.0006248 3.3132381 8.4803413 1 15
16000 5.7800459 1.001449 3.5002534 8.7989456 1 19
16100 6.1168718 1.0008109 3.8081142 8.0119729 1 18
16200 5.4901649 1.0020643 3.3673653 7.3483134 1 17
16300 5.4051694 1.0015652 3.3560012 7.4641983 1 19
16400 5.4237612 1.0012686 3.3816406 7.3845086 1 14
16500 5.1935593 1.001754 3.3340381 7.8607712 1 16
16600 5.539343 1.0021073 3.4164309 8.1541097 1 12
16700 5.8922923 1.0013792 3.553426 7.5220576 1 14
16800 5.956937 1.0005959 3.7630589 8.7417987 1 13
16900 5.469721 1.0016219 3.5531223 8.6721994 1 13
17000 5.3110154 1.001142 3.4167244 7.4644182 1 15
17100 5.9226035 0.99918238 4.0244287 6.5172028 1 16
17200 5.4897042 0.99981565 3.4350691 5.6840394 1 20
17300 5.4302636 1.0021571 3.421473 6.4317025 1 21
17400 5.5559131 1.0013807 3.4951403 6.874191 1 24
17500 5.4068006 1.0010448 3.4506835 7.7069504 1 22
17600 4.9283792 1.0007628 3.1736308 7.3098058 1 20
17700 4.9319722 0.99935896 3.0956257 8.2120111 1 15
17800 4.6842391 1.00037 2.9602433 7.4116352 1 17
17900 4.7714682 1.0009332 2.9666778 7.5925131 1 17
18000 4.7233188 1.0035687 3.0991778 7.1636357 1 10
18100 4.6487958 1.0020255 3.10781 6.8468658 1 12
18200 4.6284129 1.0012617 3.089724 6.3082275 1 13
18300 4.7136404 0.99962415 3.1261978 7.3359556 1 15
18400 5.0367681 1.0011016 3.2413493 8.3910633 1 14
18500 4.9658104 1.0025407 3.2420827 7.4701216 1 17
18600 4.6100059 1.0014508 3.0216884 6.553483 1 17
18700 4.3246452 1.0016721 2.7810363 6.7450293 1 19
18800 4.9415788 1.0012406 3.1661907 7.5544034 1 18
18900 5.3930915 1.000138 3.2557456 7.350955 1 21
19000 5.1938599 1.0007364 3.2398733 6.5397956 1 22
19100 5.4433048 1.0019191 3.2699245 8.3625772 1 22
19200 6.1303261 1.0004005 3.7823203 8.0537369 1 22
19300 5.5762518 1.0008117 3.5689121 8.3714373 1 22
19400 5.1316743 0.9999834 3.099381 7.405287 1 23
19500 5.2064799 1.0012007 3.3059455 7.3499127 1 25
19600 5.1650099 1.0023314 3.3759492 7.3637616 1 21
19700 5.8316278 1.0023317 3.601564 7.153887 1 19
19800 5.6435147 1.0010657 3.4967581 6.8899334 1 21
19900 5.4071193 0.99961357 3.4977894 6.1068438 1 20
20000 5.5058495 1.000982 3.5185057 8.5657603 1 19
20100 5.6551271 1.0025852 3.5672369 7.8242273 1 20
20200 5.7196886 1.002283 3.6010925 7.1449072 1 22
20300 5.5593553 1.0009987 3.4363398 8.4141755 1 21
20400 5.5550247 1.001081 3.3950874 8.0222131 1 20
20500 5.4510415 0.99997273 3.5505093 7.5243655 1 18
20600 5.8014064 1.0007611 3.8084579 7.6583499 1 18
20700 5.7337315 1.0020309 3.7973684 8.7376766 1 17
20800 5.2512898 0.99901254 3.5027763 7.8902791 1 14
20900 5.3245034 1.0014504 3.3354615 6.7030716 1 17
21000 5.2071731 1.0020459 3.3881369 5.8616999 1 20
21100 5.3187535 1.0010762 3.2845672 8.1422146 1 21
21200 5.5298545 0.99942313 3.4393978 7.1183144 1 22
21300 5.8430744 1.0008652 3.719408 7.8522038 1 20
21400 5.8190457 1.0017046 3.5624252 7.8150165 1 20
21500 6.004585 1.0035276 3.9161914 7.7719377 1 21
21600 6.7202635 0.99970072 3.9642141 8.7934294 1 18
21700 6.8590346 1.0007883 4.4285217 8.9014638 1 20
21800 6.627638 1.0012117 4.1154082 8.3153026 1 22
21900 7.8281047 1.0008299 4.8842343 8.4016227 1 20
22000 7.200038 1.0014681 4.4141419 9.4091956 1 18
22100 7.7442011 1.0018051 4.7850371 8.9885489 1 15
22200 7.4770203 1.0033558 4.7512643 8.4898148 1 17
22300 8.1080801 1.0000019 5.2725185 9.2314625 1 14
22400 7.8068311 1.0020672 4.9055683 8.4064748 1 12
22500 7.4594636 1.0008427 4.6586396 8.5102986 1 11
22600 6.9380609 1.0024634 4.2435619 10.395118 1 16
22700 6.9338066 1.001056 4.3436179 7.9126284 1 18
22800 6.8049493 1.0020052 4.1443407 7.8228868 1 18
22900 6.2280158 1.0021474 3.7695343 7.3179647 1 20
23000 5.649403 1.0017128 3.5941976 7.2964709 1 19
23100 5.3203116 1.001912 3.3807399 6.6454551 1 15
23200 5.8172882 1.0005742 3.6625896 8.4256312 1 15
23300 5.9647182 1.0015466 3.9106019 8.3303303 1 14
23400 5.9784055 1.0034542 3.7229235 7.7934273 1 14
23500 5.377627 1.00192 3.5481778 6.8195124 1 17
23600 5.4807136 1.0014662 3.563123 7.6356376 1 18
23700 5.8896329 1.0013553 3.7990694 8.5513408 1 13
23800 6.3463707 0.9999403 3.9609397 8.5741923 1 11
23900 6.656669 1.0014998 4.1993183 9.0862996 1 13
24000 7.583723 1.0025057 4.7628652 7.5007245 1 20
24100 6.9868359 1.0014089 4.4369841 7.692833 1 25
24200 7.1966062 1.0013149 4.4384528 9.5264821 1 18
24300 6.7765706 1.0007065 4.3500477 9.4974154 1 16
24400 7.0853466 1.0013246 4.409163 9.2215823 1 17
24500 6.9603823 1.0004247 4.4866051 7.7870058 1 20
24600 6.9208291 0.99953329 4.2298144 6.5732392 1 21
24700 6.5005518 1.0026848 4.0003505 7.8094715 1 22
24800 5.8421948 1.0012055 3.6686768 7.6078157 1 26
24900 5.8410604 1.0023428 3.746177 6.8971309 1 22
25000 5.8728511 1.0001747 3.7170134 7.4456816 1 19
25100 6.0217168 1.000624 3.7756108 6.6542452 1 20
25200 6.1939015 1.0017861 3.8943084 9.395821 1 25
25300 6.161998 1.0010373 3.9255122 6.2228884 1 28
25400 5.5850406 1.0018505 3.5129832 7.2551309 1 24
25500 6.0286276 1.0009028 3.8580887 6.8065265 1 24
25600 5.6262228 1.0005097 3.4574446 7.5061246 1 21
25700 6.1348187 1.0009828 3.8073512 7.4818375 1 17
25800 6.09781 1.0026426 3.9585383 9.0915939 1 21
25900 6.2673667 1.0002269 3.8182813 9.2134822 1 21
26000 6.6001776 1.0020444 4.041386 8.0403555 1 18
26100 6.3063025 1.0016633 3.8649839 8.8149734 1 19
26200 6.0046983 1.002332 3.5380766 8.6145656 1 17
26300 5.9627788 1.0005401 3.56864 6.7821213 1 15
26400 5.0547314 0.9998295 3.2106781 9.2935351 1 15
26500 5.256781 1.0013131 3.2946631 8.8590275 1 15
26600 5.6250355 1.0023929 3.5243033 8.8985058 1 17
26700 6.0197165 1.0018323 3.7973947 7.3093402 1 17
26800 5.4556541 1.0015309 3.4295107 8.2342049 1 18
26900 5.420428 1.0024996 3.4374201 7.1444636 1 16
27000 6.165624 1.0019174 3.8726016 8.6588275 1 20
27100 6.7131697 1.0006541 4.266264 8.7063389 1 24
27200 6.4855163 1.0016139 4.2029778 7.667611 1 29
27300 6.0525608 1.000478 3.9169723 7.4515279 1 25
27400 6.1426194 1.0014522 3.9176108 6.8689671 1 24
27500 6.5981349 1.0001143 4.0620686 8.6804552 1 27
27600 6.7827138 1.0016694 4.2764286 9.3912843 1 21
27700 6.6368902 1.0025149 4.1452128 9.1814523 1 24
27800 6.9791025 1.0019486 4.3989933 7.9446882 1 24
27900 6.617142 1.0015736 4.360571 9.3732108 1 26
28000 7.2818263 1.0014101 4.6041512 8.2398587 1 28
28100 7.2543709 1.0007625 4.5724787 7.7373488 1 22
28200 7.0631847 1.0023922 4.4021705 8.3290554 1 29
28300 7.2999952 1.0012593 4.4655563 8.612666 1 27
28400 7.4124538 1.0014043 4.5011335 8.379391 1 29
28500 7.0350937 1.0011392 4.3528091 7.8167375 1 24
28600 7.9659642 1.0031684 4.8732467 8.0661929 1 30
28700 7.2865919 1.0010958 4.6650146 8.0325989 1 32
28800 7.7039529 1.0027912 4.8299888 9.5471747 1 30
28900 8.3288847 1.0012438 5.0785288 8.8964877 1 31
29000 7.9348665 1.0021794 4.9393968 9.5531767 1 31
29100 8.2473389 1.0013795 4.9890359 9.7697184 1 29
29200 8.6383362 1.0018356 4.9856954 7.6402719 1 25
29300 8.2504592 1.0011048 4.9631793 7.9466724 1 24
29400 8.0502922 1.0010516 5.2521065 8.4515028 1 26
29500 7.9475896 1.0012951 4.8584644 9.1225463 1 19
29600 8.5641641 1.0016228 5.4361335 9.2045399 1 23
29700 8.9932021 1.0011848 5.5727205 8.6045729 1 23
29800 8.0320178 1.0019073 5.2837013 8.9335413 1 22
29900 8.2676522 1.0012734 5.2213798 8.8966896 1 24
30000 9.1848984 1.001747 5.9147628 12.096129 1 27
30100 10.184519 0.99977427 6.4260136 11.140491 1 27
30200 9.271472 1.0023983 6.0252189 9.6954338 1 30
30300 9.0751572 1.000851 5.6010295 9.734426 1 28
30400 9.4581261 1.0018449 5.6987258 9.70456 1 34
30500 9.1574751 0.99944001 5.582217 9.300318 1 27
30600 8.619312 1.001388 5.3503985 8.2759155 1 26
30700 7.9370031 1.0026674 5.0702831 8.5368014 1 28
30800 7.9221619 1.0019077 5.1278637 11.046922 1 26
30900 9.9722884 1.0025903 6.4055506 10.167311 1 25
31000 8.8648667 0.99962676 5.4777514 10.142102 1 21
31100 8.576344 1.000906 5.3216342 8.7984921 1 18
31200 7.8480974 1.0010341 4.9584917 9.0696437 1 16
31300 8.3536183 1.0005758 5.208516 9.7971514 1 15
31400 8.5301933 1.0007603 5.2241536 9.0257241 1 17
31500 8.5196226 1.0018215 5.0576064 8.8847294 1 19
31600 8.1470823 1.0023147 4.9182956 9.0205413 1 20
31700 8.1475888 1.0005764 5.1814113 9.0603162 1 16
31800 7.8629717 1.0014194 4.9221218 9.366291 1 16
31900 7.7206559 1.0021082 4.9167636 7.4136735 1 16
32000 7.5152809 1.0004752 4.6330638 8.830959 1 16
32100 8.2693974 1.0011751 4.9094804 9.427636 1 13
32200 8.3067661 0.9997006 4.9036865 9.0374633 1 17
32300 7.2068514 1.0007866 4.3580755 8.6445065 1 17
32400 6.885063 1.0011887 4.1528011 8.1199454 1 16
32500 6.9147014 1.0020825 4.160405 7.5398034 1 19
32600 6.8809668 1.000971 4.3312782 8.2157688 1 16
32700 6.4818892 1.0000885 3.9433899 7.309605 1 22
32800 6.6875555 1.0018674 4.1017504 7.2327183 1 22
32900 7.6118502 0.99975736 4.4498951 8.5072395 1 19
33000 7.7576909 1.0022061 4.7239551 9.2132467 1 22
33100 7.8616235 1.000482 5.0031322 9.349805 1 20
33200 8.2620563 1.0015059 5.2482188 10.286446 1 17
33300 8.0217099 1.0015466 5.1166876 9.1381844 1 20
33400 7.6565746 1.0024855 4.7594208 9.2646824 1 22
33500 7.9633887 1.0010334 4.6754116 9.1085184 1 23
33600 7.9566834 1.0024542 4.6712679 9.2046594 1 25
33700 8.2639384 1.0003021 5.1326892 8.0930215 1 24
33800 8.5648917 1.0000947 5.2099387 8.8127486 1 21
33900 8.3593557 1.0002488 5.1291354 8.5938391 1 25
34000 8.1922068 1.0030011 5.1441189 7.1529563 1 24
34100 8.4260308 1.0004639 5.5876122 9.0450303 1 28
34200 8.3014654 1.0002204 5.1964772 8.4920822 1 33
34300 7.4736545 1.0010306 4.7932244 7.8442244 1 30
34400 7.0023126 1.0024002 4.5665168 8.4702188 1 29
34500 7.3797703 1.000813 4.7224014 8.4098954 1 30
34600 7.7158761 0.99973161 4.7441628 8.5818592 1 29
34700 7.6135895 1.0015768 4.6612844 7.2195952 1 28
34800 7.0458078 0.99992638 4.2805357 7.4162305 1 32
34900 7.6190708 1.0007146 4.8064968 8.2709405 1 27
35000 7.4614294 1.0006051 4.7807207 7.7137359 1 28
35100 7.7008336 1.0008263 4.6823621 7.0208513 1 26
35200 8.1510766 1.000271 5.1781834 7.3231692 1 24
35300 7.5106275 1.0010438 4.6988185 8.9418343 1 25
35400 7.8116652 1.0009688 4.8622216 7.4624002 1 17
35500 7.2159785 1.0027484 4.543984 8.3177043 1 21
35600 7.6978875 1.0004834 4.7021203 8.3706905 1 20
35700 7.7827655 1.0019919 4.775879 8.6083292 1 15
35800 7.8433537 1.001844 4.7506574 7.3250009 1 15
35900 7.9456497 1.0004336 4.7925775 7.9824359 1 18
36000 8.1044513 1.0022261 5.1213755 9.211699 1 16
36100 7.6657532 1.0025661 4.751804 8.9770412 1 19
36200 7.909323 1.0035462 4.8435293 10.232493 1 21
36300 8.4188244 1.0016775 5.4337725 9.2060079 1 24
36400 8.7352689 1.0011274 5.6313351 8.6202832 1 24
36500 8.3459273 1.0005659 5.187336 6.9333716 1 21
36600 7.7118105 1.0018769 4.9293347 8.2789615 1 14
36700 7.8069879 1.0014021 4.7782709 8.4841233 1 15
36800 7.862085 1.0005342 4.8680692 8.1055023 1 16
36900 7.9469362 1.0027815 4.9339095 9.157722 1 16
37000 7.9085375 1.0024851 5.0921374 8.9374239 1 16
37100 8.9464869 1.0005734 5.6837772 8.806998 1 16
37200 8.1482632 1.0021175 5.1266453 8.5772094 1 18
37300 7.7958072 1.0026336 4.788431 8.3233372 1 19
37400 7.3647655 1.0015482 4.4786134 9.6606112 1 23
37500 7.3071882 1.0003912 4.681549 8.6319438 1 17
37600 7.8672509 1.0000478 4.7981944 8.3051478 1 14
37700 7.9306696 0.99923102 4.9316544 9.3672856 1 15
37800 7.7397949 0.99948557 5.1168552 8.5978047 1 17
37900 7.9121039 1.0020122 4.9866234 7.640888 1 14
38000 7.433451 1.0007901 4.6254894 8.0853539 1 14
38100 7.4636908 1.0021552 4.8472833 8.1975615 1 10
38200 7.4453077 1.0010305 4.6910943 7.8192603 1 13
38300 7.0488536 1.0012587 4.5490462 8.190036 1 16
38400 8.0686748 1.0016782 5.0747029 7.7242015 1 15
38500 7.9575875 1.0007137 4.8361776 8.05268 1 15
38600 7.6690498 1.0027522 4.8823286 9.1926516 1 20
38700 7.1567 1.002374 4.5600354 10.098089 1 19
38800 6.9100518 1.0008695 4.4101446 7.8832032 1 19
38900 6.8021882 1.0017647 4.1844125 8.1858761 1 21
39000 8.3996464 1.0010263 4.8183813 8.0997387 1 16
39100 8.4533834 1.0021643 5.074254 11.291904 1 19
39200 8.2406701 1.002062 5.0117425 8.778159 1 24
39300 8.3134114 1.0008218 5.0067136 7.9871787 1 22
39400 7.4307571 1.0014205 4.5858283 8.8596594 1 25
39500 7.1146821 1.0016367 4.5021057 7.4890018 1 22
39600 8.0048978 0.99992107 4.9235747 7.8770845 1 24
39700 8.070853 1.0029024 5.0842957 9.020664 1 21
39800 7.6939108 1.0012543 4.8986595 8.3306129 1 20
39900 7.2915444 1.00267 4.5038291 8.3844384 1 20
40000 7.3023994 1.0020441 4.4960911 8.1023709 1 18
40100 7.0221648 1.0033695 4.6374149 8.3756822 1 24
40200 7.4114756 1.0019246 4.6733475 7.6547258 1 23
40300 7.5323108 1.0005472 4.8284493 8.2820085 1 26
40400 7.3890772 1.0010491 4.6599273 8.9203575 1 19
40500 7.5786764 1.0016114 4.8166885 8.6760107 1 25
40600 8.165763 1.0006961 5.1488995 7.9321524 1 22
40700 8.1277597 0.99933464 5.0441567 10.069551 1 16
40800 8.1050904 1.0024705 5.4408599 8.3244459 1 21
40900 7.805318 1.0022992 4.9965408 9.7193723 1 21
41000 9.0130932 1.0006842 5.7931112 6.1646073 1 20
41100 8.0387975 1.0017359 5.3355655 9.6123191 1 21
41200 8.4484723 1.0014151 5.4461007 8.5146504 1 27
41300 8.6181909 1.0007562 5.2963876 9.1122306 1 30
41400 9.6762899 1.0010931 5.950456 9.2851025 1 25
41500 9.9414226 1.0016186 6.1433384 10.741453 1 24
41600 9.3348435 1.0003483 5.9291766 11.460717 1 20
41700 9.6125587 1.0013661 5.8530052 9.2105722 1 19
41800 11.383056 1.0032034 7.1988684 10.312945 1 22
41900 10.884524 1.0034888 6.9126707 10.775457 1 20
42000 11.071218 1.0026753 7.0004189 10.740627 1 20
42100 11.054304 1.0008347 6.9602414 8.9885498 1 22
42200 22.478691 1.0020466 14.997099 12.72513 1 19
42300 18.303508 1.0027626 11.336523 12.638769 1 18
42400 15.998712 1.0030312 9.4092725 11.070501 1 24
42500 15.034488 1.0024472 9.3543751 11.48052 1 28
42600 14.538257 1.0033153 9.2523745 10.909576 1 27
42700 13.986613 1.001458 8.5544184 10.765136 1 29
42800 13.240256 1.0027899 8.2014429 10.506497 1 32
42900 12.784336 1.0001406 8.0823431 12.258209 1 33
43000 13.374145 1.0012996 8.4207155 10.32817 1 31
43100 13.142334 1.0022503 8.5908808 10.152205 1 32
43200 12.669284 1.0018944 7.8511966 10.580104 1 32
43300 13.155032 1.001144 8.0337768 10.6652 1 39
43400 12.155928 1.0019472 7.5886584 11.234772 1 35
43500 12.385603 1.0007639 7.8865245 9.3868914 1 32
43600 12.236179 1.0027456 7.7521353 10.456701 1 42
43700 11.49535 1.0008758 7.3633144 8.8490079 1 40
43800 11.469157 1.0015845 7.0035577 10.594522 1 41
43900 11.228266 1.0013014 7.0137223 8.0653711 1 38
44000 10.56742 1.0016631 6.6908938 8.1094154 1 35
44100 9.8964699 1.0008351 6.3550438 8.6578181 1 36
44200 9.041539 1.0019541 5.6721401 8.6518043 1 38
44300 9.0767434 1.0034191 5.7446596 8.3838528 1 38
44400 9.2299608 1.0019526 5.7117964 8.3106491 1 37
44500 9.458981 1.0030409 5.7612138 7.7679755 1 37
44600 8.9611997 1.0014848 5.6490756 6.9224078 1 37
44700 8.0853184 1.0018894 5.2288749 8.0910912 1 32
44800 7.9999755 1.0015853 4.8088312 7.1854304 1 30
44900 7.6598023 1.0009751 4.6690664 7.1999858 1 28
45000 7.4939315 1.0010307 4.8119666 7.9615769 1 26
45100 7.4690079 0.99913423 4.9704428 7.6026835 1 32
45200 7.7001199 1.001626 4.9315953 7.4926686 1 25
45300 7.8794405 1.0011648 4.8624857 8.0804457 1 26
45400 7.493909 1.0016257 4.7631808 8.0330626 1 26
45500 7.5963141 1.0005825 4.7220659 7.0971298 1 23
45600 7.9028612 1.0017008 4.9561022 8.440428 1 23
45700 7.2285584 1.0006033 4.5521456 9.385579 1 23
45800 7.5687284 1.0024318 4.8557498 8.3052658 1 23
45900 7.8938604 1.0013937 5.1393944 5.5323667 1 26
46000 8.318466 1.0020803 5.4761811 8.2227801 1 25
46100 7.9169512 1.0024598 5.0406355 8.64365 1 27
46200 7.5535458 1.0016318 4.8010133 9.370726 1 26
46300 7.8926896 1.0001525 5.18463 7.9830196 1 27
46400 7.487145 1.002671 4.7718312 8.300134 1 29
46500 7.3564658 1.0006114 4.6762189 7.34947 1 26
46600 7.2261291 1.0005569 4.4751221 6.5847138 1 27
46700 7.2943203 1.0020164 4.3335327 7.7296507 1 25
46800 8.5849411 1.0014634 5.4501531 9.0933014 1 25
46900 10.176752 1.0023799 6.0456779 9.4050423 1 16
47000 9.1913098 1.0029076 5.7577256 9.1826215 1 22
47100 9.5479771 1.0022102 6.1100973 8.9440056 1 28
47200 9.9944172 1.0004924 6.3649417 9.1507264 1 25
47300 9.3543283 1.0013246 6.0873147 10.41657 1 24
47400 8.594101 1.0020068 5.6864295 9.2388304 1 24
47500 9.3191964 1.002411 6.0537511 9.3506828 1 23
47600 8.1615734 1.001364 5.3757905 10.303962 1 30
47700 8.3615046 1.0003075 5.2727936 9.3162209 1 32
47800 8.3566467 1.0026031 5.4379524 7.7644422 1 33
47900 8.4062556 1.0006471 5.3098736 8.0181121 1 33
48000 8.2233307 1.0012304 4.9650027 9.2644288 1 34
48100 8.4495256 1.000088 4.9940422 10.01023 1 27
48200 8.8068097 1.0014275 5.4732649 8.410093 1 31
48300 8.0008187 1.0017459 4.7732764 9.25726 1 27
48400 7.7242529 1.0026909 4.9084505 8.7147295 1 30
48500 8.3752816 1.001333 5.1071228 8.2267308 1 32
48600 9.0777805 1.0019328 5.7331841 9.6679383 1 29
48700 9.3623061 1.0001767 5.7117062 8.396895 1 25
48800 8.1186637 1.0013185 5.2697427 8.6058372 1 27
48900 7.3685497 1.0007173 4.6097553 7.8047228 1 24
49000 7.1661421 1.0023152 4.5389038 8.8759552 1 22
49100 6.9857144 1.0016394 4.6489319 8.2022359 1 24
49200 6.7160336 1.0018413 4.2488082 8.3393245 1 25
49300 7.9703755 1.0010628 5.2328567 7.968278 1 28
49400 8.2628465 1.0010877 5.2292977 8.0196533 1 27
49500 8.1436558 1.0015175 5.0344712 8.0712037 1 30
49600 8.5182498 1.0021589 5.1029028 8.6869789 1 28
49700 8.3604444 1.0015016 5.0333696 9.4861656 1 25
49800 7.336335 1.0020055 4.6365173 8.7210022 1 30
49900 7.432996 1.0016415 4.7090587 8.7033033 1 29
50000 7.4937053 1.001014 4.7212573 9.0890363 1 29
Loop time of 999.576 on 8 procs for 40000 steps with 16271 atoms
Performance: 3457.466 tau/day, 40.017 timesteps/s, 651.116 katom-step/s
99.3% CPU use with 8 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 293.48 | 403.7 | 545.29 | 357.5 | 40.39
Neigh | 2.4176 | 3.2721 | 3.8303 | 25.2 | 0.33
Comm | 163.58 | 305.88 | 419.83 | 416.7 | 30.60
Output | 0.032483 | 0.034794 | 0.040514 | 1.2 | 0.00
Modify | 281.15 | 285.67 | 293.8 | 24.3 | 28.58
Other | | 1.023 | | | 0.10
Nlocal: 2033.88 ave 2657 max 1198 min
Histogram: 2 0 0 0 0 2 1 0 1 2
Nghost: 1628.12 ave 1719 max 1569 min
Histogram: 2 0 1 1 2 1 0 0 0 1
Neighs: 13566 ave 18212 max 8488 min
Histogram: 1 0 0 1 2 1 2 0 0 1
Total # of neighbors = 108528
Ave neighs/atom = 6.6700264
Neighbor list builds = 2447
Dangerous builds = 2
Total wall time: 0:19:22

View File

@ -1,243 +0,0 @@
LAMMPS (1 Feb 2014)
# Aspherical shear demo - 3d triangle boxes, solvated by SRD particles
units lj
atom_style tri
atom_modify first big
read_data data.tri.srd
orthogonal box = (-8.43734 -8.43734 -8.43734) to (8.43734 8.43734 8.43734)
2 by 2 by 2 MPI processor grid
reading atoms ...
1500 atoms
1500 triangles
# add small particles as hi density lattice
lattice sc 0.4
Lattice spacing in x,y,z = 1.35721 1.35721 1.35721
region box block INF INF INF INF INF INF
lattice sc 20.0
Lattice spacing in x,y,z = 0.368403 0.368403 0.368403
create_atoms 2 region box
Created 91125 atoms
group big type 1
1500 atoms in group big
group small type 2
91125 atoms in group small
set group small mass 0.01
91125 settings made for mass
# delete overlaps
# must set 1-2 cutoff to non-zero value
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 0.0 1.0
delete_atoms overlap 1.5 small big
Deleted 76354 atoms, new total = 16271
# SRD run
reset_timestep 0
velocity small create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule big include big
communicate multi group big vel yes
neigh_modify include big
# no pairwise interactions with small particles
pair_style tri/lj 3.5
pair_coeff 1 1 0.1 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 0.0 1.0 0.0
# use fix SRD to push small particles out from inside big ones
# if comment out, big particles won't see SRD particles
timestep 0.001
fix 1 big rigid molecule #langevin 1.0 1.0 0.1 12398
125 rigid bodies with 1500 atoms
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
fix 3 all deform 1 x scale 0.6 y scale 0.6 z scale 0.6
# diagnostics
compute tsmall small temp/deform
compute tbig big temp
variable pebig equal pe*atoms/count(big)
variable ebig equal etotal*atoms/count(big)
compute 1 big erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 1000
thermo_style custom step f_1 c_tsmall f_2[9] temp press
thermo_modify temp tbig
WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:439)
compute 10 all property/atom corner1x corner1y corner1z corner2x corner2y corner2z corner3x corner3y corner3z
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump1.tri.srd id type # c_10[1] c_10[2] c_10[3] c_10[4] c_10[5] c_10[6] # c_10[7] c_10[8] c_10[9]
run 10000
WARNING: Using fix srd with box deformation but no SRD thermostat (../fix_srd.cpp:385)
SRD info:
SRD/big particles = 14771 1500
big particle diameter max/min = 1.46014 0.436602
SRD temperature & lamda = 1 0.2
SRD max distance & max velocity = 0.8 40
SRD grid counts: 67 67 67
SRD grid size: request, actual (xyz) = 0.25, 0.251861 0.251861 0.251861
SRD per actual grid cell = 0.0647662
SRD viscosity = -1.09837
big/SRD mass density ratio = 24.668
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2853)
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875)
WARNING: Fix srd viscosity < 0.0 due to low SRD density (../fix_srd.cpp:2877)
# of rescaled SRD velocities = 0
ave/max small velocity = 19.9708 35.1504
ave/max big velocity = 0 0
WARNING: Using compute temp/deform with inconsistent fix deform remap option (../compute_temp_deform.cpp:76)
Memory usage per processor = 116.135 Mbytes
Step 1 tsmall 2[9] Temp Press
0 0 1.4405441 0 0 -0.15917996
1000 1.0535509 1.1241378 1.1224038 0 0.15526438
2000 2.4635987 1.0240667 0.94231519 0 0.011069846
3000 3.1093028 1.0070585 1.0176028 0 0.34124888
4000 2.9524179 1.0101774 1.0311733 0 -0.22118101
5000 2.9175438 1.0109144 1.0284445 0 0.1839507
6000 3.3200928 0.99108983 0.95968219 0 1.0229339
7000 3.3020156 0.99661428 0.98000621 0 2.3333851
8000 4.1500999 0.99129645 0.99723707 0 4.3054414
9000 6.537028 1.0074533 1.0251098 0 18.782913
10000 16.233245 1.0145766 1.0219787 0 147.83787
Loop time of 228.558 on 8 procs for 10000 steps with 16271 atoms
Pair time (%) = 145.018 (63.4492)
Neigh time (%) = 32.6283 (14.2757)
Comm time (%) = 43.3283 (18.9572)
Outpt time (%) = 0.000848889 (0.00037141)
Other time (%) = 7.58254 (3.31755)
Nlocal: 2033.88 ave 2092 max 1902 min
Histogram: 1 0 0 0 1 1 0 1 1 3
Nghost: 2805 ave 2855 max 2751 min
Histogram: 1 0 2 1 0 0 0 2 1 1
Neighs: 30026.5 ave 38700 max 24367 min
Histogram: 1 0 2 1 3 0 0 0 0 1
Total # of neighbors = 240212
Ave neighs/atom = 14.7632
Neighbor list builds = 501
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
triclinic box = (-5.0624 -5.0624 -5.0624) to (5.0624 5.0624 5.0624) with tilt (0 0 0)
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip tstat yes
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.tri.srd id type # c_10[1] c_10[2] c_10[3] c_10[4] c_10[5] c_10[6] # c_10[7] c_10[8] c_10[9]
fix 3 all deform 1 xy erate 0.05 units box remap v
run 40000
SRD info:
SRD/big particles = 14771 1500
big particle diameter max/min = 1.46014 0.436602
SRD temperature & lamda = 1 0.2
SRD max distance & max velocity = 0.8 40
SRD grid counts: 40 40 40
SRD grid size: request, actual (xyz) = 0.25, 0.25312 0.25312 0.25312
SRD per actual grid cell = -1.93929
SRD viscosity = -0.36972
big/SRD mass density ratio = -0.836253
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2853)
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875)
WARNING: Fix srd viscosity < 0.0 due to low SRD density (../fix_srd.cpp:2877)
# of rescaled SRD velocities = 1
ave/max small velocity = 16.0639 40
ave/max big velocity = 2.05735 6.73052
Memory usage per processor = 65.2471 Mbytes
Step 1 tsmall 2[9] Temp Press
10000 16.233245 1.0144194 0 0 146.27032
11000 17.301043 1.0619209 1 0 84.226323
12000 13.481177 1.063945 1 0 80.42834
13000 12.616615 1.0536125 1 0 68.365053
14000 12.16592 1.0581344 1 0 59.709941
15000 10.811557 1.0650453 1 0 59.869798
16000 9.9303081 1.0641012 1 0 59.289126
17000 10.452639 1.0589904 1 0 52.680235
18000 9.2488947 1.0556713 1 0 51.044123
19000 8.7179788 1.0566791 1 0 50.927924
20000 7.8641299 1.0668891 1 0 53.961014
21000 8.4333975 1.0628003 1 0 54.677068
22000 8.554623 1.0591872 1 0 51.784737
23000 7.895462 1.0598512 1 0 53.26885
24000 7.7014869 1.055569 1 0 54.236941
25000 7.508138 1.0581539 1 0 53.297709
26000 8.0707381 1.0586451 1 0 51.411341
27000 8.224223 1.0585509 1 0 52.775784
28000 8.8720461 1.0648837 1 0 49.681447
29000 8.503895 1.0538278 1 0 52.478556
30000 8.2272425 1.0625583 1 0 52.795709
31000 8.4626161 1.0599557 1 0 52.905343
32000 7.7410527 1.0587681 1 0 57.464472
33000 7.2765481 1.0677531 1 0 59.46728
34000 7.036016 1.0640728 1 0 60.636828
35000 8.497203 1.0577458 1 0 55.257312
36000 8.9218761 1.0585038 1 0 55.668201
37000 8.0469115 1.0561193 1 0 58.711565
38000 8.6456966 1.0663818 1 0 53.691658
39000 8.566667 1.0616928 1 0 52.866468
40000 7.7081259 1.0577046 1 0 54.105829
41000 7.4051952 1.0570277 1 0 56.094997
42000 7.331432 1.0632261 1 0 55.661067
43000 7.5587053 1.0602077 1 0 54.30762
44000 7.4521497 1.0594391 1 0 52.993548
45000 7.6234559 1.0641992 1 0 53.352202
46000 8.0659693 1.0609367 1 0 50.302682
47000 7.5227882 1.0563543 1 0 50.43551
48000 8.0798684 1.0628968 1 0 48.419201
49000 7.130784 1.0594143 1 0 50.656081
50000 7.3219268 1.0608236 1 0 54.808358
Loop time of 1651.84 on 8 procs for 40000 steps with 16271 atoms
Pair time (%) = 1232.76 (74.6296)
Neigh time (%) = 171.893 (10.4061)
Comm time (%) = 193.625 (11.7218)
Outpt time (%) = 0.00338289 (0.000204795)
Other time (%) = 53.5578 (3.24231)
Nlocal: 2033.88 ave 2229 max 1953 min
Histogram: 2 1 2 2 0 0 0 0 0 1
Nghost: 2757.88 ave 2810 max 2692 min
Histogram: 1 1 1 0 1 0 0 1 1 2
Neighs: 30098.6 ave 37369 max 25592 min
Histogram: 1 3 0 1 0 1 1 0 0 1
Total # of neighbors = 240789
Ave neighs/atom = 14.7987
Neighbor list builds = 2007
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation

View File

@ -22,22 +22,26 @@
"""
Import basic modules
"""
# for python2/3 compatibility
from __future__ import print_function
import sys, os, timeit
from timeit import default_timer as timer
start_time = timer()
"""
Try to import numpy; if failed, import a local version mynumpy
Try to import numpy; if failed, import a local version mynumpy
which needs to be provided
"""
try:
import numpy as np
except:
print >> sys.stderr, "numpy not found. Exiting."
print("numpy not found. Exiting.", file=sys.stderr)
sys.exit(1)
"""
Check that the required arguments (box offset and size in simulation units
Check that the required arguments (box offset and size in simulation units
and the sequence file were provided
"""
try:
@ -45,8 +49,8 @@ try:
box_length = float(sys.argv[2])
infile = sys.argv[3]
except:
print >> sys.stderr, "Usage: %s <%s> <%s> <%s>" % (sys.argv[0], \
"box offset", "box length", "file with sequences")
print( "Usage: %s <%s> <%s> <%s>" % (sys.argv[0], \
"box offset", "box length", "file with sequences"), file=sys.stderr)
sys.exit(1)
box = np.array ([box_length, box_length, box_length])
@ -57,8 +61,7 @@ try:
inp = open (infile, 'r')
inp.close()
except:
print >> sys.stderr, "Could not open file '%s' for reading. \
Aborting." % infile
print( "Could not open file '%s' for reading. Aborting." % infile, file=sys.stderr)
sys.exit(2)
# return parts of a string
@ -86,7 +89,7 @@ Define auxiliary variables for the construction of a helix
# center of the double strand
CM_CENTER_DS = POS_BASE + 0.2
# ideal distance between base sites of two nucleotides
# ideal distance between base sites of two nucleotides
# which are to be base paired in a duplex
BASE_BASE = 0.3897628551303122
@ -118,7 +121,7 @@ strandnum = []
bonds = []
"""
"""
Convert local body frame to quaternion DOF
"""
def exyz_to_quat (mya1, mya3):
@ -135,25 +138,25 @@ def exyz_to_quat (mya1, mya3):
# compute other components from it
if q0sq >= 0.25:
myquat[0] = np.sqrt(q0sq)
myquat[1] = (mya2[2] - mya3[1]) / (4.0*myquat[0])
myquat[2] = (mya3[0] - mya1[2]) / (4.0*myquat[0])
myquat[3] = (mya1[1] - mya2[0]) / (4.0*myquat[0])
myquat[0] = np.sqrt(q0sq)
myquat[1] = (mya2[2] - mya3[1]) / (4.0*myquat[0])
myquat[2] = (mya3[0] - mya1[2]) / (4.0*myquat[0])
myquat[3] = (mya1[1] - mya2[0]) / (4.0*myquat[0])
elif q1sq >= 0.25:
myquat[1] = np.sqrt(q1sq)
myquat[0] = (mya2[2] - mya3[1]) / (4.0*myquat[1])
myquat[2] = (mya2[0] + mya1[1]) / (4.0*myquat[1])
myquat[3] = (mya1[2] + mya3[0]) / (4.0*myquat[1])
myquat[1] = np.sqrt(q1sq)
myquat[0] = (mya2[2] - mya3[1]) / (4.0*myquat[1])
myquat[2] = (mya2[0] + mya1[1]) / (4.0*myquat[1])
myquat[3] = (mya1[2] + mya3[0]) / (4.0*myquat[1])
elif q2sq >= 0.25:
myquat[2] = np.sqrt(q2sq)
myquat[0] = (mya3[0] - mya1[2]) / (4.0*myquat[2])
myquat[1] = (mya2[0] + mya1[1]) / (4.0*myquat[2])
myquat[3] = (mya3[1] + mya2[2]) / (4.0*myquat[2])
myquat[2] = np.sqrt(q2sq)
myquat[0] = (mya3[0] - mya1[2]) / (4.0*myquat[2])
myquat[1] = (mya2[0] + mya1[1]) / (4.0*myquat[2])
myquat[3] = (mya3[1] + mya2[2]) / (4.0*myquat[2])
elif q3sq >= 0.25:
myquat[3] = np.sqrt(q3sq)
myquat[0] = (mya1[1] - mya2[0]) / (4.0*myquat[3])
myquat[1] = (mya3[0] + mya1[2]) / (4.0*myquat[3])
myquat[2] = (mya3[1] + mya2[2]) / (4.0*myquat[3])
myquat[3] = np.sqrt(q3sq)
myquat[0] = (mya1[1] - mya2[0]) / (4.0*myquat[3])
myquat[1] = (mya3[0] + mya1[2]) / (4.0*myquat[3])
myquat[2] = (mya3[1] + mya2[2]) / (4.0*myquat[3])
norm = 1.0/np.sqrt(myquat[0]*myquat[0] + myquat[1]*myquat[1] + \
myquat[2]*myquat[2] + myquat[3]*myquat[3])
@ -169,62 +172,62 @@ Adds a strand to the system by appending it to the array of previous strands
"""
def add_strands (mynewpositions, mynewa1s, mynewa3s):
overlap = False
# This is a simple check for each of the particles where for previously
# placed particles i we check whether it overlaps with any of the
# This is a simple check for each of the particles where for previously
# placed particles i we check whether it overlaps with any of the
# newly created particles j
print >> sys.stdout, "## Checking for overlaps"
print( "## Checking for overlaps", file=sys.stdout)
for i in xrange(len(positions)):
for i in range(len(positions)):
p = positions[i]
pa1 = a1s[i]
p = positions[i]
pa1 = a1s[i]
for j in xrange (len(mynewpositions)):
for j in range (len(mynewpositions)):
q = mynewpositions[j]
qa1 = mynewa1s[j]
q = mynewpositions[j]
qa1 = mynewa1s[j]
# skip particles that are anyway too far away
dr = p - q
dr -= box * np.rint (dr / box)
if np.dot(dr, dr) > RC2:
continue
# skip particles that are anyway too far away
dr = p - q
dr -= box * np.rint(dr / box)
if np.dot(dr, dr) > RC2:
continue
# base site and backbone site of the two particles
# base site and backbone site of the two particles
p_pos_back = p + pa1 * POS_BACK
p_pos_base = p + pa1 * POS_BASE
q_pos_back = q + qa1 * POS_BACK
q_pos_base = q + qa1 * POS_BASE
# check for no overlap between the two backbone sites
# check for no overlap between the two backbone sites
dr = p_pos_back - q_pos_back
dr -= box * np.rint (dr / box)
dr -= box * np.rint(dr / box)
if np.dot(dr, dr) < RC2_BACK:
overlap = True
# check for no overlap between the two base sites
# check for no overlap between the two base sites
dr = p_pos_base - q_pos_base
dr -= box * np.rint (dr / box)
dr -= box * np.rint(dr / box)
if np.dot(dr, dr) < RC2_BASE:
overlap = True
# check for no overlap between backbone site of particle p
# with base site of particle q
# check for no overlap between backbone site of particle p
# with base site of particle q
dr = p_pos_back - q_pos_base
dr -= box * np.rint (dr / box)
if np.dot(dr, dr) < RC2_BACK_BASE:
overlap = True
# check for no overlap between base site of particle p and
# backbone site of particle q
# check for no overlap between base site of particle p and
# backbone site of particle q
dr = p_pos_base - q_pos_back
dr -= box * np.rint (dr / box)
if np.dot(dr, dr) < RC2_BACK_BASE:
overlap = True
# exit if there is an overlap
# exit if there is an overlap
if overlap:
return False
@ -237,10 +240,10 @@ def add_strands (mynewpositions, mynewa1s, mynewa3s):
a1s.append (p)
for p in mynewa3s:
a3s.append (p)
# calculate quaternion from local body frame and append
for ia in xrange(len(mynewpositions)):
mynewquaternions = exyz_to_quat(mynewa1s[ia],mynewa3s[ia])
quaternions.append(mynewquaternions)
# calculate quaternion from local body frame and append
for ia in range(len(mynewpositions)):
mynewquaternions = exyz_to_quat(mynewa1s[ia],mynewa3s[ia])
quaternions.append(mynewquaternions)
return True
@ -281,7 +284,7 @@ def get_rotation_matrix(axis, anglest):
[olc*x*z-st*y, olc*y*z+st*x, olc*z*z+ct]])
"""
Generates the position and orientation vectors of a
Generates the position and orientation vectors of a
(single or double) strand from a sequence string
"""
def generate_strand(bp, sequence=None, start_pos=np.array([0, 0, 0]), \
@ -295,76 +298,75 @@ def generate_strand(bp, sequence=None, start_pos=np.array([0, 0, 0]), \
# overall direction of the helix
dir = np.array(dir, dtype=float)
if sequence == None:
sequence = np.random.randint(1, 5, bp)
sequence = np.random.randint(1, 5, bp)
# the elseif here is most likely redundant
# the elseif here is most likely redundant
elif len(sequence) != bp:
n = bp - len(sequence)
sequence += np.random.randint(1, 5, n)
print >> sys.stderr, "sequence is too short, adding %d random bases" % n
n = bp - len(sequence)
sequence += np.random.randint(1, 5, n)
print( "sequence is too short, adding %d random bases" % n, file=sys.stderr)
# normalize direction
dir_norm = np.sqrt(np.dot(dir,dir))
if dir_norm < 1e-10:
print >> sys.stderr, "direction must be a valid vector, \
defaulting to (0, 0, 1)"
dir = np.array([0, 0, 1])
print( "direction must be a valid vector, defaulting to (0, 0, 1)", file=sys.stderr)
dir = np.array([0, 0, 1])
else: dir /= dir_norm
# find a vector orthogonal to dir to act as helix direction,
# if not provided switch off random orientation
if perp is None or perp is False:
v1 = np.random.random_sample(3)
v1 -= dir * (np.dot(dir, v1))
v1 /= np.sqrt(sum(v1*v1))
v1 = np.random.random_sample(3)
v1 -= dir * (np.dot(dir, v1))
v1 /= np.sqrt(sum(v1*v1))
else:
v1 = perp;
v1 = perp;
# generate rotational matrix representing the overall rotation of the helix
R0 = get_rotation_matrix(dir, rot)
# rotation matrix corresponding to one step along the helix
R = get_rotation_matrix(dir, [1, "bp"])
# set the vector a1 (backbone to base) to v1
# set the vector a1 (backbone to base) to v1
a1 = v1
# apply the global rotation to a1
# apply the global rotation to a1
a1 = np.dot(R0, a1)
# set the position of the fist backbone site to start_pos
rb = np.array(start_pos)
# set a3 to the direction of the helix
a3 = dir
for i in range(bp):
# work out the position of the centre of mass of the nucleotide
rcdm = rb - CM_CENTER_DS * a1
# append to newpositions
mynewpositions.append(rcdm)
mynewa1s.append(a1)
mynewa3s.append(a3)
# if we are not at the end of the helix, we work out a1 and rb for the
# next nucleotide along the helix
if i != bp - 1:
a1 = np.dot(R, a1)
rb += a3 * BASE_BASE
rcdm = rb - CM_CENTER_DS * a1
# if we are working on a double strand, we do a cycle similar
# append to newpositions
mynewpositions.append(rcdm)
mynewa1s.append(a1)
mynewa3s.append(a3)
# if we are not at the end of the helix, we work out a1 and rb for the
# next nucleotide along the helix
if i != bp - 1:
a1 = np.dot(R, a1)
rb += a3 * BASE_BASE
# if we are working on a double strand, we do a cycle similar
# to the previous one but backwards
if double == True:
a1 = -a1
a3 = -dir
R = R.transpose()
for i in range(bp):
rcdm = rb - CM_CENTER_DS * a1
mynewpositions.append (rcdm)
mynewa1s.append (a1)
mynewa3s.append (a3)
a1 = np.dot(R, a1)
rb += a3 * BASE_BASE
a1 = -a1
a3 = -dir
R = R.transpose()
for i in range(bp):
rcdm = rb - CM_CENTER_DS * a1
mynewpositions.append (rcdm)
mynewa1s.append (a1)
mynewa3s.append (a3)
a1 = np.dot(R, a1)
rb += a3 * BASE_BASE
assert (len (mynewpositions) > 0)
@ -391,10 +393,10 @@ def read_strands(filename):
try:
infile = open (filename)
except:
print >> sys.stderr, "Could not open file '%s'. Aborting." % filename
print( "Could not open file '%s'. Aborting." % filename, file=sys.stderr )
sys.exit(2)
# This block works out the number of nucleotides and strands by reading
# This block works out the number of nucleotides and strands by reading
# the number of non-empty lines in the input file and the number of letters,
# taking the possible DOUBLE keyword into account.
nstrands, nnucl, nbonds = 0, 0, 0
@ -406,30 +408,29 @@ def read_strands(filename):
if line[:6] == 'DOUBLE':
line = line.split()[1]
length = len(line)
print >> sys.stdout, "## Found duplex of %i base pairs" % length
print( "## Found duplex of %i base pairs" % length, file=sys.stdout)
nnucl += 2*length
nstrands += 2
nbonds += (2*length-2)
nbonds += (2*length-2)
else:
line = line.split()[0]
length = len(line)
print >> sys.stdout, \
"## Found single strand of %i bases" % length
print( "## Found single strand of %i bases" % length, file=sys.stdout)
nnucl += length
nstrands += 1
nbonds += length-1
nbonds += length-1
# rewind the sequence input file
infile.seek(0)
print >> sys.stdout, "## nstrands, nnucl = ", nstrands, nnucl
print( "## nstrands, nnucl = ", nstrands, nnucl, file=sys.stdout)
# generate the data file in LAMMPS format
try:
out = open ("data.oxdna", "w")
except:
print >> sys.stderr, "Could not open data file for writing. Aborting."
print( "Could not open data file for writing. Aborting.", file=sys.stderr)
sys.exit(2)
lines = infile.readlines()
nlines = len(lines)
i = 1
@ -440,115 +441,114 @@ def read_strands(filename):
line = line.upper().strip()
# skip empty lines
if len(line) == 0:
i += 1
continue
if len(line) == 0:
i += 1
continue
# block for duplexes: last argument of the generate function
# is set to 'True'
# block for duplexes: last argument of the generate function
# is set to 'True'
if line[:6] == 'DOUBLE':
line = line.split()[1]
length = len(line)
seq = [(base_to_number[x]) for x in line]
myns += 1
for b in xrange(length):
basetype.append(seq[b])
strandnum.append(myns)
myns += 1
for b in range(length):
basetype.append(seq[b])
strandnum.append(myns)
for b in xrange(length-1):
bondpair = [noffset + b, noffset + b + 1]
bonds.append(bondpair)
noffset += length
for b in range(length-1):
bondpair = [noffset + b, noffset + b + 1]
bonds.append(bondpair)
noffset += length
# create the sequence of the second strand as made of
# complementary bases
seq2 = [5-s for s in seq]
seq2.reverse()
# create the sequence of the second strand as made of
# complementary bases
seq2 = [5-s for s in seq]
seq2.reverse()
myns += 1
for b in xrange(length):
basetype.append(seq2[b])
strandnum.append(myns)
myns += 1
for b in range(length):
basetype.append(seq2[b])
strandnum.append(myns)
for b in xrange(length-1):
bondpair = [noffset + b, noffset + b + 1]
bonds.append(bondpair)
noffset += length
print >> sys.stdout, "## Created duplex of %i bases" % (2*length)
for b in range(length-1):
bondpair = [noffset + b, noffset + b + 1]
bonds.append(bondpair)
noffset += length
# generate random position of the first nucleotide
print( "## Created duplex of %i bases" % (2*length), file=sys.stdout)
# generate random position of the first nucleotide
cdm = box_offset + np.random.random_sample(3) * box
# generate the random direction of the helix
# generate the random direction of the helix
axis = np.random.random_sample(3)
axis /= np.sqrt(np.dot(axis, axis))
# use the generate function defined above to create
# the position and orientation vector of the strand
# use the generate function defined above to create
# the position and orientation vector of the strand
newpositions, newa1s, newa3s = generate_strand(len(line), \
sequence=seq, dir=axis, start_pos=cdm, double=True)
sequence=seq, dir=axis, start_pos=cdm, double=True)
# generate a new position for the strand until it does not overlap
# with anything already present
start = timer()
# with anything already present
start = timer()
while not add_strands(newpositions, newa1s, newa3s):
cdm = box_offset + np.random.random_sample(3) * box
axis = np.random.random_sample(3)
axis /= np.sqrt(np.dot(axis, axis))
newpositions, newa1s, newa3s = generate_strand(len(line), \
sequence=seq, dir=axis, start_pos=cdm, double=True)
print >> sys.stdout, "## Trying %i" % i
end = timer()
print >> sys.stdout, "## Added duplex of %i bases (line %i/%i) in %.2fs, now at %i/%i" % \
(2*length, i, nlines, end-start, len(positions), nnucl)
sequence=seq, dir=axis, start_pos=cdm, double=True)
print( "## Trying %i" % i, file=sys.stdout)
end = timer()
print( "## Added duplex of %i bases (line %i/%i) in %.2fs, now at %i/%i" % \
(2*length, i, nlines, end-start, len(positions), nnucl), file=sys.stdout)
# block for single strands: last argument of the generate function
# is set to 'False'
# block for single strands: last argument of the generate function
# is set to 'False'
else:
length = len(line)
seq = [(base_to_number[x]) for x in line]
myns += 1
for b in xrange(length):
basetype.append(seq[b])
strandnum.append(myns)
myns += 1
for b in range(length):
basetype.append(seq[b])
strandnum.append(myns)
for b in xrange(length-1):
bondpair = [noffset + b, noffset + b + 1]
bonds.append(bondpair)
noffset += length
for b in range(length-1):
bondpair = [noffset + b, noffset + b + 1]
bonds.append(bondpair)
noffset += length
# generate random position of the first nucleotide
# generate random position of the first nucleotide
cdm = box_offset + np.random.random_sample(3) * box
# generate the random direction of the helix
# generate the random direction of the helix
axis = np.random.random_sample(3)
axis /= np.sqrt(np.dot(axis, axis))
print >> sys.stdout, \
"## Created single strand of %i bases" % length
print("## Created single strand of %i bases" % length, file=sys.stdout)
newpositions, newa1s, newa3s = generate_strand(length, \
sequence=seq, dir=axis, start_pos=cdm, double=False)
start = timer()
start = timer()
while not add_strands(newpositions, newa1s, newa3s):
cdm = box_offset + np.random.random_sample(3) * box
axis = np.random.random_sample(3)
axis /= np.sqrt(np.dot(axis, axis))
axis /= np.sqrt(np.dot(axis, axis))
newpositions, newa1s, newa3s = generate_strand(length, \
sequence=seq, dir=axis, start_pos=cdm, double=False)
sequence=seq, dir=axis, start_pos=cdm, double=False)
print >> sys.stdout, "## Trying %i" % (i)
end = timer()
print >> sys.stdout, "## Added single strand of %i bases (line %i/%i) in %.2fs, now at %i/%i" % \
(length, i, nlines, end-start,len(positions), nnucl)
end = timer()
print( "## Added single strand of %i bases (line %i/%i) in %.2fs, now at %i/%i" % \
(length, i, nlines, end-start,len(positions), nnucl), file=sys.stdout)
i += 1
# sanity check
if not len(positions) == nnucl:
print len(positions), nnucl
print( len(positions), nnucl )
raise AssertionError
out.write('# LAMMPS data file\n')
@ -580,44 +580,41 @@ def read_strands(filename):
out.write('Atoms\n')
out.write('\n')
for i in xrange(nnucl):
out.write('%d %d %22.15le %22.15le %22.15le %d 1 1\n' \
% (i+1, basetype[i], \
positions[i][0], positions[i][1], positions[i][2], \
strandnum[i]))
for i in range(nnucl):
out.write('%d %d %22.15le %22.15le %22.15le %d 1 1\n' \
% (i+1, basetype[i], positions[i][0], positions[i][1], positions[i][2], strandnum[i]))
out.write('\n')
out.write('# Atom-ID, translational, rotational velocity\n')
out.write('Velocities\n')
out.write('\n')
for i in xrange(nnucl):
out.write("%d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le\n" \
% (i+1,0.0,0.0,0.0,0.0,0.0,0.0))
for i in range(nnucl):
out.write("%d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le\n" \
% (i+1,0.0,0.0,0.0,0.0,0.0,0.0))
out.write('\n')
out.write('# Atom-ID, shape, quaternion\n')
out.write('Ellipsoids\n')
out.write('\n')
for i in xrange(nnucl):
out.write(\
"%d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le\n" \
% (i+1,1.1739845031423408,1.1739845031423408,1.1739845031423408, \
quaternions[i][0],quaternions[i][1], quaternions[i][2],quaternions[i][3]))
for i in range(nnucl):
out.write("%d %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le %22.15le\n" \
% (i+1,1.1739845031423408,1.1739845031423408,1.1739845031423408, \
quaternions[i][0],quaternions[i][1], quaternions[i][2],quaternions[i][3]))
out.write('\n')
out.write('# Bond topology\n')
out.write('Bonds\n')
out.write('\n')
for i in xrange(nbonds):
out.write("%d %d %d %d\n" % (i+1,1,bonds[i][0],bonds[i][1]))
for i in range(nbonds):
out.write("%d %d %d %d\n" % (i+1,1,bonds[i][0],bonds[i][1]))
out.close()
print >> sys.stdout, "## Wrote data to 'data.oxdna'"
print >> sys.stdout, "## DONE"
print("## Wrote data to 'data.oxdna'", file=sys.stdout)
print("## DONE", file=sys.stdout)
# call the above main() function, which executes the program
read_strands (infile)
@ -627,4 +624,6 @@ runtime = end_time-start_time
hours = runtime/3600
minutes = (runtime-np.rint(hours)*3600)/60
seconds = (runtime-np.rint(hours)*3600-np.rint(minutes)*60)%60
print >> sys.stdout, "## Total runtime %ih:%im:%.2fs" % (hours,minutes,seconds)
print( "## Total runtime %ih:%im:%.2fs" % (hours,minutes,seconds), file=sys.stdout)

View File

@ -1,5 +1,8 @@
# Setup tool for oxDNA input in LAMMPS format.
# for python2/3 compatibility
from __future__ import print_function
import math,numpy as np,sys,os
# system size
@ -250,59 +253,59 @@ def duplex_array():
qrot3=math.sin(0.5*twist)
for letter in strand[2]:
temp1=[]
temp2=[]
temp1=[]
temp2=[]
temp1.append(nt2num[letter])
temp2.append(compnt2num[letter])
temp1.append(nt2num[letter])
temp2.append(compnt2num[letter])
temp1.append([posx1,posy1,posz1])
temp2.append([posx2,posy2,posz2])
temp1.append([posx1,posy1,posz1])
temp2.append([posx2,posy2,posz2])
vel=[0,0,0,0,0,0]
temp1.append(vel)
temp2.append(vel)
vel=[0,0,0,0,0,0]
temp1.append(vel)
temp2.append(vel)
temp1.append(shape)
temp2.append(shape)
temp1.append(shape)
temp2.append(shape)
temp1.append(quat1)
temp2.append(quat2)
temp1.append(quat1)
temp2.append(quat2)
quat1_0 = quat1[0]*qrot0 - quat1[1]*qrot1 - quat1[2]*qrot2 - quat1[3]*qrot3
quat1_1 = quat1[0]*qrot1 + quat1[1]*qrot0 + quat1[2]*qrot3 - quat1[3]*qrot2
quat1_2 = quat1[0]*qrot2 + quat1[2]*qrot0 + quat1[3]*qrot1 - quat1[1]*qrot3
quat1_3 = quat1[0]*qrot3 + quat1[3]*qrot0 + quat1[1]*qrot2 + quat1[2]*qrot1
quat1_0 = quat1[0]*qrot0 - quat1[1]*qrot1 - quat1[2]*qrot2 - quat1[3]*qrot3
quat1_1 = quat1[0]*qrot1 + quat1[1]*qrot0 + quat1[2]*qrot3 - quat1[3]*qrot2
quat1_2 = quat1[0]*qrot2 + quat1[2]*qrot0 + quat1[3]*qrot1 - quat1[1]*qrot3
quat1_3 = quat1[0]*qrot3 + quat1[3]*qrot0 + quat1[1]*qrot2 + quat1[2]*qrot1
quat1 = [quat1_0,quat1_1,quat1_2,quat1_3]
quat1 = [quat1_0,quat1_1,quat1_2,quat1_3]
posx1=axisx - dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
posy1=axisy - dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
posz1=posz1+risez
posx1=axisx - dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
posy1=axisy - dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
posz1=posz1+risez
quat2_0 = quat2[0]*qrot0 - quat2[1]*qrot1 - quat2[2]*qrot2 + quat2[3]*qrot3
quat2_1 = quat2[0]*qrot1 + quat2[1]*qrot0 - quat2[2]*qrot3 - quat2[3]*qrot2
quat2_2 = quat2[0]*qrot2 + quat2[2]*qrot0 + quat2[3]*qrot1 + quat2[1]*qrot3
quat2_3 =-quat2[0]*qrot3 + quat2[3]*qrot0 + quat2[1]*qrot2 + quat2[2]*qrot1
quat2_0 = quat2[0]*qrot0 - quat2[1]*qrot1 - quat2[2]*qrot2 + quat2[3]*qrot3
quat2_1 = quat2[0]*qrot1 + quat2[1]*qrot0 - quat2[2]*qrot3 - quat2[3]*qrot2
quat2_2 = quat2[0]*qrot2 + quat2[2]*qrot0 + quat2[3]*qrot1 + quat2[1]*qrot3
quat2_3 =-quat2[0]*qrot3 + quat2[3]*qrot0 + quat2[1]*qrot2 + quat2[2]*qrot1
quat2 = [quat2_0,quat2_1,quat2_2,quat2_3]
quat2 = [quat2_0,quat2_1,quat2_2,quat2_3]
posx2=axisx + dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
posy2=axisy + dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
posz2=posz1
posx2=axisx + dcomh*(quat1[0]**2+quat1[1]**2-quat1[2]**2-quat1[3]**2)
posy2=axisy + dcomh*(2*(quat1[1]*quat1[2]+quat1[0]*quat1[3]))
posz2=posz1
if (len(nucleotide)+1 > strandstart):
topology.append([1,len(nucleotide),len(nucleotide)+1])
comptopo.append([1,len(nucleotide)+len(strand[2]),len(nucleotide)+len(strand[2])+1])
if (len(nucleotide)+1 > strandstart):
topology.append([1,len(nucleotide),len(nucleotide)+1])
comptopo.append([1,len(nucleotide)+len(strand[2]),len(nucleotide)+len(strand[2])+1])
nucleotide.append(temp1)
compstrand.append(temp2)
nucleotide.append(temp1)
compstrand.append(temp2)
for ib in range(len(compstrand)):
nucleotide.append(compstrand[len(compstrand)-1-ib])
nucleotide.append(compstrand[len(compstrand)-1-ib])
for ib in range(len(comptopo)):
topology.append(comptopo[ib])
topology.append(comptopo[ib])
return

View File

@ -1,30 +0,0 @@
bkgd_dyn = 1
emb_lin_neg = 1
augt1=0
ialloy=1
rc = 5.9
#H
attrac(1,1)=0.460
repuls(1,1)=0.460
Cmin(1,1,1)=1.3 # PuMS
Cmax(1,1,1)= 2.80
nn2(1,1)=1
#Ga
rho0(2) = 0.6
attrac(2,2)=0.097
repuls(2,2)=0.097
nn2(2,2)=1
#HGa
attrac(1,2)=0.300
repuls(1,2)=0.300
lattce(1,2)=l12
re(1,2)=3.19
delta(1,2)=-0.48
alpha(1,2)=6.6
Cmin(1,1,2)=2.0
Cmin(2,1,2)= 2.0
Cmin(1,2,1)=2.0
Cmin(2,2,1) = 1.4
Cmin(1,2,2) = 1.4
Cmin(1,1,2) = 1.4
nn2(1,2)=1

View File

@ -0,0 +1 @@
../../../potentials/HGa.msmeam

View File

@ -1,25 +0,0 @@
LAMMPS data file via write_data, version 16 Feb 2016, timestep = 1
3 atoms
2 atom types
-4.0000000000000000e+00 4.0000000000000000e+00 xlo xhi
-4.0000000000000000e+00 4.0000000000000000e+00 ylo yhi
-4.0000000000000000e+00 4.0000000000000000e+00 zlo zhi
Masses
1 1.0079
2 69.723
Atoms # atomic
1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
2 2 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0
3 2 2.9999999999999999e-01 2.2999999999999998e+00 0.0000000000000000e+00 0 0 0
Velocities
1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00

View File

@ -1,5 +1,3 @@
echo both
log log.msmeam
# Test of MEAM potential for HGa
# ------------------------ INITIALIZATION ----------------------------
@ -21,11 +19,11 @@ create_atoms 1 single 0 0 0 units box
create_atoms 2 single 2.2 0 0 units box
create_atoms 2 single 0.3 2.3 0 units box
# ---------- Define Settings ---------------------
variable teng equal "c_eatoms"
variable teng equal "c_eatoms"
compute pot_energy all pe/atom
compute stress all stress/atom NULL
dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
run 1
write_data data.msmeam
run 1
#write_data data.msmeam
print "All done!"

View File

@ -1,14 +0,0 @@
# DATE: 2018-09-22 UNITS: metal CONTRIBUTOR: Steve Valone, smv@lanl.gov CITATION: Baskes, PRB 1992; smv, sr, mib, JNM 2010
# ms-meam data format May 2010
# elt lat z ielement atwt
# alpha b0 b1 b2 b3 b1m b2m b3m alat esub asub
# - t0 t1 t2 t3 t1m t2m t3m rozero ibar
# NOTE: leading character cannot be a space
'H' 'dim' 1.0 1 1.0079
2.960 2.960 3.0 1.0 1.0 1.0 3.0 1.0 0.741 2.235 2.50
1.0 0.44721 0.0 0.00 0.0 0.31623 0 6.70 0
'Ga4' 'fcc' 12.0 31 69.723
4.42 4.80 3.10 6.00 0.00 0.0 0.0 0.5 4.247 2.897 0.97
1.0 1.649 1.435 0.00 0.0 0.0 2.0 0.70 0

View File

@ -0,0 +1 @@
../../../potentials/library.msmeam

View File

@ -0,0 +1,126 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Test of MEAM potential for HGa
# ------------------------ INITIALIZATION ----------------------------
units metal
dimension 3
boundary p p p
atom_style atomic
variable latparam equal 4.646
variable ncell equal 3
# ----------------------- ATOM DEFINITION ----------------------------
region box block -4 4 -4 4 -4 4
create_box 2 box
Created orthogonal box = (-4 -4 -4) to (4 4 4)
1 by 1 by 1 MPI processor grid
#
include potential.mod
# NOTE: This script can be modified for different pair styles
# See in.elastic for more info.
variable Pu string H
print "potential chosen ${Pu}"
potential chosen H
# Choose potential
pair_style meam/ms
print "we just executed"
we just executed
pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4
pair_coeff * * library.msmeam H Ga4 HGa.msmeam ${Pu} Ga4
pair_coeff * * library.msmeam H Ga4 HGa.msmeam H Ga4
Reading MEAM library file library.msmeam with DATE: 2018-09-22
# Setup neighbor style
neighbor 1.0 bin
neigh_modify once no every 1 delay 0 check yes
# Setup minimization style
variable dmax equal 1.0e-2
min_style cg
min_modify dmax ${dmax} line quadratic
min_modify dmax 0.01 line quadratic
compute eng all pe/atom
compute eatoms all reduce sum c_eng
# Setup output
thermo 100
thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms
thermo_modify norm yes
create_atoms 1 single 0 0 0 units box
Created 1 atoms
using box units in orthogonal box = (-4 -4 -4) to (4 4 4)
create_atoms CPU = 0.000 seconds
create_atoms 2 single 2.2 0 0 units box
Created 1 atoms
using box units in orthogonal box = (-4 -4 -4) to (4 4 4)
create_atoms CPU = 0.000 seconds
create_atoms 2 single 0.3 2.3 0 units box
Created 1 atoms
using box units in orthogonal box = (-4 -4 -4) to (4 4 4)
create_atoms CPU = 0.000 seconds
# ---------- Define Settings ---------------------
variable teng equal "c_eatoms"
compute pot_energy all pe/atom
compute stress all stress/atom NULL
# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
run 1
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.9
ghost atom cutoff = 6.9
binsize = 3.45, bins = 3 3 3
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair meam/ms, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair meam/ms, perpetual, half/full from (1)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 8.587 | 8.587 | 8.587 Mbytes
Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms
0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
Loop time of 4.4446e-05 on 1 procs for 1 steps with 3 atoms
Performance: 1943.932 ns/day, 0.012 hours/ns, 22499.213 timesteps/s, 67.498 katom-step/s
31.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.9908e-05 | 2.9908e-05 | 2.9908e-05 | 0.0 | 67.29
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.033e-06 | 1.033e-06 | 1.033e-06 | 0.0 | 2.32
Output | 9.347e-06 | 9.347e-06 | 9.347e-06 | 0.0 | 21.03
Modify | 2.02e-07 | 2.02e-07 | 2.02e-07 | 0.0 | 0.45
Other | | 3.956e-06 | | | 8.90
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 78 ave 78 max 78 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 7 ave 7 max 7 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 14 ave 14 max 14 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 14
Ave neighs/atom = 4.6666667
Neighbor list builds = 0
Dangerous builds = 0
#write_data data.msmeam
print "All done!"
All done!
Total wall time: 0:00:00

View File

@ -0,0 +1,126 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Test of MEAM potential for HGa
# ------------------------ INITIALIZATION ----------------------------
units metal
dimension 3
boundary p p p
atom_style atomic
variable latparam equal 4.646
variable ncell equal 3
# ----------------------- ATOM DEFINITION ----------------------------
region box block -4 4 -4 4 -4 4
create_box 2 box
Created orthogonal box = (-4 -4 -4) to (4 4 4)
1 by 2 by 2 MPI processor grid
#
include potential.mod
# NOTE: This script can be modified for different pair styles
# See in.elastic for more info.
variable Pu string H
print "potential chosen ${Pu}"
potential chosen H
# Choose potential
pair_style meam/ms
print "we just executed"
we just executed
pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4
pair_coeff * * library.msmeam H Ga4 HGa.msmeam ${Pu} Ga4
pair_coeff * * library.msmeam H Ga4 HGa.msmeam H Ga4
Reading MEAM library file library.msmeam with DATE: 2018-09-22
# Setup neighbor style
neighbor 1.0 bin
neigh_modify once no every 1 delay 0 check yes
# Setup minimization style
variable dmax equal 1.0e-2
min_style cg
min_modify dmax ${dmax} line quadratic
min_modify dmax 0.01 line quadratic
compute eng all pe/atom
compute eatoms all reduce sum c_eng
# Setup output
thermo 100
thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms
thermo_modify norm yes
create_atoms 1 single 0 0 0 units box
Created 1 atoms
using box units in orthogonal box = (-4 -4 -4) to (4 4 4)
create_atoms CPU = 0.000 seconds
create_atoms 2 single 2.2 0 0 units box
Created 1 atoms
using box units in orthogonal box = (-4 -4 -4) to (4 4 4)
create_atoms CPU = 0.000 seconds
create_atoms 2 single 0.3 2.3 0 units box
Created 1 atoms
using box units in orthogonal box = (-4 -4 -4) to (4 4 4)
create_atoms CPU = 0.000 seconds
# ---------- Define Settings ---------------------
variable teng equal "c_eatoms"
compute pot_energy all pe/atom
compute stress all stress/atom NULL
# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
run 1
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.9
ghost atom cutoff = 6.9
binsize = 3.45, bins = 3 3 3
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair meam/ms, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair meam/ms, perpetual, half/full from (1)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 7.965 | 8.123 | 8.594 Mbytes
Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms
0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
Loop time of 8.70645e-05 on 4 procs for 1 steps with 3 atoms
Performance: 992.368 ns/day, 0.024 hours/ns, 11485.738 timesteps/s, 34.457 katom-step/s
29.0% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 4.3957e-05 | 4.67e-05 | 5.1056e-05 | 0.0 | 53.64
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.105e-05 | 1.3822e-05 | 1.7033e-05 | 0.0 | 15.88
Output | 1.5765e-05 | 1.9045e-05 | 2.5216e-05 | 0.0 | 21.87
Modify | 2.58e-07 | 3.465e-07 | 3.81e-07 | 0.0 | 0.40
Other | | 7.151e-06 | | | 8.21
Nlocal: 0.75 ave 3 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Nghost: 38.25 ave 42 max 36 min
Histogram: 2 0 0 0 0 1 0 0 0 1
Neighs: 1.75 ave 7 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
FullNghs: 3.5 ave 14 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Total # of neighbors = 14
Ave neighs/atom = 4.6666667
Neighbor list builds = 0
Dangerous builds = 0
#write_data data.msmeam
print "All done!"
All done!
Total wall time: 0:00:00

View File

@ -1,107 +0,0 @@
# Test of MEAM potential for HGa
# ------------------------ INITIALIZATION ----------------------------
units metal
dimension 3
boundary p p p
atom_style atomic
variable latparam equal 4.646
variable ncell equal 3
# ----------------------- ATOM DEFINITION ----------------------------
region box block -4 4 -4 4 -4 4
create_box 2 box
Created orthogonal box = (-4 -4 -4) to (4 4 4)
1 by 1 by 1 MPI processor grid
#
include potential.mod
# NOTE: This script can be modified for different pair styles
# See in.elastic for more info.
variable Pu string H
print "potential chosen ${Pu}"
potential chosen H
# Choose potential
pair_style MSmeam
print "we just executed"
we just executed
pair_coeff * * library.MSmeam ${Pu} Ga4 HGaMS.meam ${Pu} Ga4
pair_coeff * * library.MSmeam H Ga4 HGaMS.meam ${Pu} Ga4
pair_coeff * * library.MSmeam H Ga4 HGaMS.meam H Ga4
Reading potential file library.MSmeam with DATE: 2018-09-22
# Setup neighbor style
neighbor 1.0 nsq
neigh_modify once no every 1 delay 0 check yes
# Setup minimization style
variable dmax equal 1.0e-2
min_style cg
min_modify dmax ${dmax} line quadratic
min_modify dmax 0.01 line quadratic
compute eng all pe/atom
compute eatoms all reduce sum c_eng
# Setup output
thermo 100
thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms
thermo_modify norm yes
create_atoms 1 single 0 0 0 units box
Created 1 atoms
create_atoms 2 single 2.2 0 0 units box
Created 1 atoms
create_atoms 2 single 0.3 2.3 0 units box
Created 1 atoms
# ---------- Define Settings ---------------------
variable teng equal "c_eatoms"
compute pot_energy all pe/atom
compute stress all stress/atom NULL
dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
run 1
WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
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 = 6.9
ghost atom cutoff = 6.9
Memory usage per processor = 12.9295 Mbytes
Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume eatoms
0 0 15.433079 491354.68 838670.91 635393.13 0 80195.793 0 0 8 8 8 512 15.433079
1 0 15.433079 491354.68 838670.91 635393.13 0 80195.793 0 0 8 8 8 512 15.433079
Loop time of 0.000172138 on 1 procs for 1 steps with 3 atoms
Performance: 501.922 ns/day, 0.048 hours/ns, 5809.285 timesteps/s
81.3% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 6.6996e-05 | 6.6996e-05 | 6.6996e-05 | 0.0 | 38.92
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.9073e-06 | 1.9073e-06 | 1.9073e-06 | 0.0 | 1.11
Output | 9.7036e-05 | 9.7036e-05 | 9.7036e-05 | 0.0 | 56.37
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 6.199e-06 | | | 3.60
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 78 ave 78 max 78 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 7 ave 7 max 7 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 14 ave 14 max 14 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 14
Ave neighs/atom = 4.66667
Neighbor list builds = 0
Dangerous builds = 0
write_data data.msmeam
print "All done!"
All done!
Total wall time: 0:00:00

View File

@ -1,24 +0,0 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
3
ITEM: BOX BOUNDS pp pp pp
-4 4
-4 4
-4 4
ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0
2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0
3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0
ITEM: TIMESTEP
1
ITEM: NUMBER OF ATOMS
3
ITEM: BOX BOUNDS pp pp pp
-4 4
-4 4
-4 4
ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0
2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0
3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0

View File

@ -7,7 +7,7 @@ print "potential chosen ${Pu}"
pair_style meam/ms
print "we just executed"
pair_coeff * * library.msmeam ${Pu} Ga4 HGa.meam ${Pu} Ga4
pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4
# Setup neighbor style
neighbor 1.0 bin
neigh_modify once no every 1 delay 0 check yes

View File

@ -3633,7 +3633,7 @@ CONTAINS
n = LEN_TRIM(f_string)
ptr = lammps_malloc(n+1)
CALL C_F_POINTER(ptr, c_string, [1])
CALL C_F_POINTER(ptr, c_string, [n+1])
DO i=1, n
c_string(i) = f_string(i:i)
END DO

View File

@ -23,7 +23,7 @@ class WavePacket;
///\en Template for v=der operation in \ref Wavepacket::int2phys_der()
template<class Type>
struct eq_second : public binary_function <Type, Type, Type> {
struct eq_second {
Type operator()(const Type& /* _Left */, const Type& _Right) const{
return _Right;
}
@ -31,7 +31,7 @@ struct eq_second : public binary_function <Type, Type, Type> {
///\en Template for v=-der operation in \ref Wavepacket::int2phys_der()
template<class Type>
struct eq_minus_second : public binary_function <Type, Type, Type> {
struct eq_minus_second {
Type operator()(const Type& /* _Left */, const Type& _Right) const{
return -_Right;
}

View File

@ -30,6 +30,7 @@ colvar::colvar()
after_restart = false;
kinetic_energy = 0.0;
potential_energy = 0.0;
period = 0.0;
#ifdef LEPTON
dev_null = 0.0;

View File

@ -138,7 +138,7 @@ class UCL_Device {
/** \note You cannot delete the default stream **/
inline void pop_command_queue() {
if (_cq.size()<2) return;
CU_SAFE_CALL_NS(cuStreamDestroy(_cq.back()));
cuStreamDestroy(_cq.back());
_cq.pop_back();
}
@ -426,8 +426,8 @@ void UCL_Device::clear() {
if (_device>-1) {
for (int i=1; i<num_queues(); i++) pop_command_queue();
#if GERYON_NVD_PRIMARY_CONTEXT
CU_SAFE_CALL_NS(cuCtxSetCurrent(_old_context));
CU_SAFE_CALL_NS(cuDevicePrimaryCtxRelease(_cu_device));
cuCtxSetCurrent(_old_context);
cuDevicePrimaryCtxRelease(_cu_device);
#else
cuCtxDestroy(_context);
#endif

View File

@ -33,6 +33,7 @@
//#define ASYNC_DEVICE_COPY
#if 0
#if !defined(USE_OPENCL) && !defined(USE_HIP)
// temporary workaround for int2 also defined in cufft
#ifdef int2
@ -40,6 +41,7 @@
#endif
#include "cufft.h"
#endif
#endif
namespace LAMMPS_AL {
@ -313,10 +315,11 @@ class BaseAmoeba {
virtual int fphi_mpole();
virtual int polar_real(const int eflag, const int vflag) = 0;
#if 0
#if !defined(USE_OPENCL) && !defined(USE_HIP)
cufftHandle plan;
#endif
#endif
bool fft_plan_created;
};

View File

@ -301,9 +301,10 @@ __kernel void k_dpd_fast(const __global numtyp4 *restrict x_,
__local numtyp4 coeff[MAX_SHARED_TYPES*MAX_SHARED_TYPES];
__local numtyp sp_lj[4];
__local numtyp sp_sqrt[4];
if (tid<4)
if (tid<4) {
sp_lj[tid]=sp_lj_in[tid];
sp_sqrt[tid]=sp_sqrt_in[tid];
}
if (tid<MAX_SHARED_TYPES*MAX_SHARED_TYPES) {
coeff[tid]=coeff_in[tid];
}

View File

@ -31,8 +31,8 @@ checksums = { \
# help message
HELP = """
Syntax from src dir: make lib-smd args="-b"
or: make lib-smd args="-p /usr/include/eigen3"
Syntax from src dir: make lib-machdyn args="-b"
or: make lib-machdyn args="-p /usr/include/eigen3"
Syntax from lib dir: python Install.py -b
or: python Install.py -p /usr/include/eigen3"
@ -40,8 +40,8 @@ Syntax from lib dir: python Install.py -b
Example:
make lib-smd args="-b" # download/build in default lib/smd/eigen-eigen-*
make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3
make lib-machdyn args="-b" # download/build in default lib/machdyn/eigen-eigen-*
make lib-machdyn args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3
"""
pgroup = parser.add_mutually_exclusive_group()
@ -105,7 +105,7 @@ if buildflag:
edir = os.path.join(homepath, "eigen-%s" % version)
os.rename(edir, eigenpath)
# create link in lib/smd to Eigen src dir
# create link in lib/machdyn to Eigen src dir
print("Creating link to Eigen include folder")
if os.path.isfile("includelink") or os.path.islink("includelink"):

View File

@ -4,7 +4,7 @@ to use the MACHDYN package in a LAMMPS input script.
The Eigen library is available at http://eigen.tuxfamily.org. It's
a general C++ template library for linear algebra.
You can type "make lib-smd" from the src directory to see help on how
You can type "make lib-machdyn" from the src directory to see help on how
to download build this library via make commands, or you can do the
same thing by typing "python Install.py" from within this directory,
or you can do it manually by following the instructions below.
@ -12,13 +12,13 @@ or you can do it manually by following the instructions below.
Instructions:
1. Download the Eigen tarball at http://eigen.tuxfamily.org and
unpack the tarball either in this /lib/smd directory or somewhere
unpack the tarball either in this lib/machdyn directory or somewhere
else on your system. It should unpack with into a directory with
a name similar to eigen-eigen-bdd17ee3b1b3. You can rename
the directory to just "eigen" if you wish. Note that Eigen is a
template library, so you do not have to build it.
2. Create a soft link in this dir (lib/smd)
2. Create a soft link in this dir (lib/machdyn)
to the eigen directory. E.g if you unpacked Eigen in this dir:
% ln -s eigen-eigen-bdd17ee3b1b3 includelink
If you unpacked Eigen somewhere else and renamed

View File

@ -32,7 +32,7 @@ make lib-mdi args="-m mpi" # build MDI lib with same settings as in the mpi Make
# settings
version = "1.4.16"
version = "1.4.26"
url = "https://github.com/MolSSI-MDI/MDI_Library/archive/v%s.tar.gz" % version
# known checksums for different MDI versions. used to validate the download.
@ -41,6 +41,7 @@ checksums = { \
'1.4.12' : '7a222353ae8e03961d5365e6cd48baee', \
'1.4.14' : '7a059bb12535360fdcb7de8402f9a0fc', \
'1.4.16' : '407db44e2d79447ab5c1233af1965f65', \
'1.4.26' : '3124bb85259471e2a53a891f04bf697a', \
}
# print error message or help

View File

@ -18,11 +18,11 @@ from install_helpers import fullpath, geturl, checkmd5sum, getfallback
# settings
thisdir = fullpath('.')
version ='v.2023.01.3.fix'
version ='v.2023.10.04'
# known checksums for different PACE versions. used to validate the download.
checksums = { \
'v.2023.01.3.fix': '4f0b3b5b14456fe9a73b447de3765caa'
'v.2023.10.04': '70ff79f4e59af175e55d24f3243ad1ff'
}
parser = ArgumentParser(prog='Install.py', description="LAMMPS library build wrapper script")

View File

@ -16,8 +16,10 @@ parser = ArgumentParser(prog='Install.py',
description="LAMMPS library build wrapper script")
# settings
# Note: must also adjust check for supported API versions in
# fix_plumed.cpp when version changes from v2.n.x to v2.n+1.y
version = "2.8.2"
version = "2.9.1"
mode = "static"
# help message
@ -45,6 +47,10 @@ checksums = { \
'2.7.6' : 'fb8c0ec10f97a9353eb123a5c4c35aa6', \
'2.8.1' : '6bfe72ebdae63dc38a9ca27d9b0e08f8', \
'2.8.2' : '599092b6a0aa6fff992612537ad98994', \
'2.8.3' : '76d23cd394eba9e6530316ed1184e219', \
'2.8.4' : '9f59c4f9bda86fe5bef19543c295a981', \
'2.9.0' : '661eabeebee05cf84bbf9dc23d7d5f46', \
'2.9.1' : 'c3b2d31479c1e9ce211719d40e9efbd7', \
}
# parse and process arguments

View File

@ -1,7 +1,14 @@
# Settings that the LAMMPS build will import when this package library is used
# See the README file for more explanation
python_SYSINC = $(shell which python-config > /dev/null 2>&1 && python-config --includes || :)
python_SYSLIB = $(shell which python-config > /dev/null 2>&1 && python-config --ldflags --embed > /dev/null 2>&1 && python-config --ldflags --embed || (which python-config > /dev/null 2>&1 && python-config --ldflags || :) )
python_SYSPATH =
ifeq ($(shell type python3 >/dev/null 2>&1; echo $$?), 0)
PYTHON=python3
PYTHONCONFIG = python3-config
else
PYTHONCONFIG = python-config
PYTHON=python
endif
python_SYSINC = $(shell which $(PYTHONCONFIG) > /dev/null 2>&1 && $(PYTHONCONFIG) --includes || :)
python_SYSLIB = $(shell which $(PYTHONCONFIG) > /dev/null 2>&1 && $(PYTHONCONFIG) --ldflags --embed > /dev/null 2>&1 && $(PYTHONCONFIG) --ldflags --embed || (which $(PYTHONCONFIG) > /dev/null 2>&1 && $(PYTHONCONFIG) --ldflags || :) )
python_SYSPATH =

View File

@ -1,29 +1,29 @@
bkgd_dyn = 1
emb_lin_neg = 1
augt1=0
ialloy=1
rc = 5.9
augt1=0
ialloy=1
rc = 5.9
#H
attrac(1,1)=0.460
repuls(1,1)=0.460
attrac(1,1)=0.460
repuls(1,1)=0.460
Cmin(1,1,1)=1.3 # PuMS
Cmax(1,1,1)= 2.80
Cmax(1,1,1)= 2.80
nn2(1,1)=1
#Ga
rho0(2) = 0.6
attrac(2,2)=0.097
repuls(2,2)=0.097
attrac(2,2)=0.097
repuls(2,2)=0.097
nn2(2,2)=1
#HGa
attrac(1,2)=0.300
repuls(1,2)=0.300
lattce(1,2)=l12
re(1,2)=3.19
delta(1,2)=-0.48
alpha(1,2)=6.6
Cmin(1,1,2)=2.0
Cmin(2,1,2)= 2.0
Cmin(1,2,1)=2.0
attrac(1,2)=0.300
repuls(1,2)=0.300
lattce(1,2)=l12
re(1,2)=3.19
delta(1,2)=-0.48
alpha(1,2)=6.6
Cmin(1,1,2)=2.0
Cmin(2,1,2)= 2.0
Cmin(1,2,1)=2.0
Cmin(2,2,1) = 1.4
Cmin(1,2,2) = 1.4
Cmin(1,1,2) = 1.4

View File

@ -18,7 +18,7 @@ parser = ArgumentParser(prog='install.py',
description='LAMMPS python package installer script')
parser.add_argument("-p", "--package", required=True,
help="path to the LAMMPS Python package")
help="path to the LAMMPS Python package folder")
parser.add_argument("-l", "--lib", required=True,
help="path to the compiled LAMMPS shared library")
parser.add_argument("-n", "--noinstall", action="store_true", default=False,
@ -34,15 +34,21 @@ args = parser.parse_args()
if args.package:
if not os.path.exists(args.package):
print("ERROR: LAMMPS package folder %s does not exist" % args.package)
print("\nERROR: LAMMPS package folder %s does not exist\n" % args.package)
parser.print_help()
sys.exit(1)
else:
args.package = os.path.abspath(args.package)
if ((os.path.basename(args.package) != "lammps")
and ((os.path.basename(os.path.dirname(args.package)) != "python"))):
print("\nERROR: LAMMPS package folder path %s does not end in %s\n"
% (args.package, os.path.join("python", "lammps")))
parser.print_help()
sys.exit(1)
if args.lib:
if not os.path.exists(args.lib):
print("ERROR: LAMMPS shared library %s does not exist" % args.lib)
print("\nERROR: LAMMPS shared library %s does not exist\n" % args.lib)
parser.print_help()
sys.exit(1)
else:
@ -50,7 +56,7 @@ if args.lib:
if args.wheeldir:
if not os.path.exists(args.wheeldir):
print("ERROR: directory %s to store the wheel does not exist" % args.wheeldir)
print("\nERROR: directory %s to store the wheel does not exist\n" % args.wheeldir)
parser.print_help()
sys.exit(1)
else:
@ -58,7 +64,7 @@ if args.wheeldir:
if args.versionfile:
if not os.path.exists(args.versionfile):
print("ERROR: LAMMPS version file at %s does not exist" % args.versionfile)
print("\nERROR: LAMMPS version file at %s does not exist\n" % args.versionfile)
parser.print_help()
sys.exit(1)
else:

View File

@ -334,8 +334,8 @@ class lammps(object):
if self.has_mpi_support:
try:
from mpi4py import __version__ as mpi4py_version
# tested to work with mpi4py versions 2 and 3
self.has_mpi4py = mpi4py_version.split('.')[0] in ['2','3']
# tested to work with mpi4py versions 2, 3, and 4
self.has_mpi4py = mpi4py_version.split('.')[0] in ['2','3','4']
except ImportError:
# ignore failing import
pass
@ -361,7 +361,7 @@ class lammps(object):
if not self.has_mpi_support:
raise Exception('LAMMPS not compiled with real MPI library')
if not self.has_mpi4py:
raise Exception('Python mpi4py version is not 2 or 3')
raise Exception('Python mpi4py version is not 2, 3, or 4')
if self.MPI._sizeof(self.MPI.Comm) == sizeof(c_int):
MPI_Comm = c_int
else:
@ -374,13 +374,18 @@ class lammps(object):
narg = 0
cargs = None
if cmdargs is not None:
cmdargs.insert(0,"lammps")
narg = len(cmdargs)
for i in range(narg):
if type(cmdargs[i]) is str:
cmdargs[i] = cmdargs[i].encode()
cargs = (c_char_p*narg)(*cmdargs)
self.lib.lammps_open.argtypes = [c_int, c_char_p*narg, MPI_Comm, c_void_p]
myargs = ["lammps".encode()]
narg = len(cmdargs) + 1
for arg in cmdargs:
if type(arg) is str:
myargs.append(arg.encode())
elif type(arg) is bytes:
myargs.append(arg)
else:
raise TypeError('Unsupported cmdargs type ', type(arg))
cargs = (c_char_p*(narg+1))(*myargs)
cargs[narg] = None
self.lib.lammps_open.argtypes = [c_int, c_char_p*(narg+1), MPI_Comm, c_void_p]
else:
self.lib.lammps_open.argtypes = [c_int, c_char_p, MPI_Comm, c_void_p]
@ -394,13 +399,18 @@ class lammps(object):
self.comm = self.MPI.COMM_WORLD
self.opened = 1
if cmdargs is not None:
cmdargs.insert(0,"lammps")
narg = len(cmdargs)
for i in range(narg):
if type(cmdargs[i]) is str:
cmdargs[i] = cmdargs[i].encode()
cargs = (c_char_p*narg)(*cmdargs)
self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p*narg, c_void_p]
myargs = ["lammps".encode()]
narg = len(cmdargs) + 1
for arg in cmdargs:
if type(arg) is str:
myargs.append(arg.encode())
elif type(arg) is bytes:
myargs.append(arg)
else:
raise TypeError('Unsupported cmdargs type ', type(arg))
cargs = (c_char_p*(narg+1))(*myargs)
cargs[narg] = None
self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p*(narg+1), c_void_p]
self.lmp = c_void_p(self.lib.lammps_open_no_mpi(narg,cargs,None))
else:
self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p, c_void_p]

View File

@ -63,12 +63,16 @@ class numpy_wrapper:
.. note::
While the returned arrays of per-atom data are dimensioned
for the range [0:nmax] - as is the underlying storage -
the data is usually only valid for the range of [0:nlocal],
unless the property of interest is also updated for ghost
atoms. In some cases, this depends on a LAMMPS setting, see
for example :doc:`comm_modify vel yes <comm_modify>`.
The returned arrays of per-atom data are by default dimensioned
for the range [0:nlocal] since that data is *always* valid. The
underlying storage for the data, however, is typically allocated
for the range of [0:nmax]. Whether there is valid data in the range
[nlocal:nlocal+nghost] depends on whether the property of interest
is also updated for ghost atoms. This is not often the case. In
some cases, it depends on a LAMMPS setting, see for example
:doc:`comm_modify vel yes <comm_modify>`. By using the optional
*nelem* parameter the size of the returned NumPy can be overridden.
There is no check whether the number of elements chosen is valid.
:param name: name of the property
:type name: string

View File

@ -192,11 +192,23 @@ class Atom(object):
@property
def mass(self):
"""
Return the atom mass
Return the atom mass as a per-atom property.
This returns either the per-type mass or the per-atom
mass (AKA 'rmass') depending on what is available with
preference for the per-atom mass.
.. versionchanged:: 2Aug2023_update_4
Support both per-type and per-atom masses. With
per-type return "mass[type[i]]" else return "rmass[i]".
Per-atom mass is preferred if available.
:type: float
"""
return self.get("mass", self.index)
if self._pylmp.lmp.extract_setting('rmass_flag'):
return self.get("rmass", self.index)
else:
return self.get("mass", self.type)
@property
def radius(self):

View File

@ -281,8 +281,8 @@ void DumpAtomADIOS::init_style()
auto nstreams = std::to_string(num_aggregators);
internal->io.SetParameters({{"substreams", nstreams}});
if (me == 0)
utils::logmesg(lmp, "ADIOS method for {} is n-to-m (aggregation with {} writers)\n", filename,
nstreams);
utils::logmesg(lmp, "ADIOS method for {} is n-to-m (aggregation with {} writers)\n",
filename, nstreams);
}
internal->io.DefineVariable<uint64_t>("ntimestep");
@ -325,6 +325,6 @@ void DumpAtomADIOS::init_style()
// it will be correctly defined at the moment of write
size_t UnknownSizeYet = 1;
internal->varAtoms = internal->io.DefineVariable<double>(
"atoms", {UnknownSizeYet, nColumns}, {UnknownSizeYet, 0}, {UnknownSizeYet, nColumns});
"atoms", {UnknownSizeYet, nColumns}, {UnknownSizeYet, 0}, {UnknownSizeYet, nColumns});
}
}

View File

@ -290,58 +290,60 @@ void DumpCustomADIOS::init_style()
/* Define the group of variables for the atom style here since it's a fixed
* set */
internal->io = internal->ad->DeclareIO(internal->ioName);
if (!internal->io.InConfigFile()) {
// if not defined by user, we can change the default settings
// BPFile is the default writer
internal->io.SetEngine("BPFile");
int num_aggregators = multiproc;
if (num_aggregators == 0) num_aggregators = 1;
auto nstreams = std::to_string(num_aggregators);
internal->io.SetParameters({{"substreams", nstreams}});
if (me == 0)
utils::logmesg(lmp, "ADIOS method for {} is n-to-m (aggregation with {} writers)\n", filename,
nstreams);
if (!internal->io) {
internal->io = internal->ad->DeclareIO(internal->ioName);
if (!internal->io.InConfigFile()) {
// if not defined by user, we can change the default settings
// BPFile is the default writer
internal->io.SetEngine("BPFile");
int num_aggregators = multiproc;
if (num_aggregators == 0) num_aggregators = 1;
auto nstreams = std::to_string(num_aggregators);
internal->io.SetParameters({{"substreams", nstreams}});
if (me == 0)
utils::logmesg(lmp, "ADIOS method for {} is n-to-m (aggregation with {} writers)\n",
filename, nstreams);
}
internal->io.DefineVariable<uint64_t>("ntimestep");
internal->io.DefineVariable<uint64_t>("natoms");
internal->io.DefineVariable<int>("nprocs");
internal->io.DefineVariable<int>("ncolumns");
internal->io.DefineVariable<double>("boxxlo");
internal->io.DefineVariable<double>("boxxhi");
internal->io.DefineVariable<double>("boxylo");
internal->io.DefineVariable<double>("boxyhi");
internal->io.DefineVariable<double>("boxzlo");
internal->io.DefineVariable<double>("boxzhi");
internal->io.DefineVariable<double>("boxxy");
internal->io.DefineVariable<double>("boxxz");
internal->io.DefineVariable<double>("boxyz");
internal->io.DefineAttribute<int>("triclinic", domain->triclinic);
int *boundaryptr = reinterpret_cast<int *>(domain->boundary);
internal->io.DefineAttribute<int>("boundary", boundaryptr, 6);
auto nColumns = static_cast<size_t>(size_one);
internal->io.DefineAttribute<std::string>("columns", internal->columnNames.data(), nColumns);
internal->io.DefineAttribute<std::string>("columnstr", columns);
internal->io.DefineAttribute<std::string>("boundarystr", boundstr);
internal->io.DefineAttribute<std::string>("LAMMPS/dump_style", "custom");
internal->io.DefineAttribute<std::string>("LAMMPS/version", lmp->version);
internal->io.DefineAttribute<std::string>("LAMMPS/num_ver", std::to_string(lmp->num_ver));
internal->io.DefineVariable<uint64_t>("nme",
{adios2::LocalValueDim}); // local dimension variable
internal->io.DefineVariable<uint64_t>("offset",
{adios2::LocalValueDim}); // local dimension variable
// atom table size is not known at the moment
// it will be correctly defined at the moment of write
size_t UnknownSizeYet = 1;
internal->varAtoms = internal->io.DefineVariable<double>(
"atoms", {UnknownSizeYet, nColumns}, {UnknownSizeYet, 0}, {UnknownSizeYet, nColumns});
}
internal->io.DefineVariable<uint64_t>("ntimestep");
internal->io.DefineVariable<uint64_t>("natoms");
internal->io.DefineVariable<int>("nprocs");
internal->io.DefineVariable<int>("ncolumns");
internal->io.DefineVariable<double>("boxxlo");
internal->io.DefineVariable<double>("boxxhi");
internal->io.DefineVariable<double>("boxylo");
internal->io.DefineVariable<double>("boxyhi");
internal->io.DefineVariable<double>("boxzlo");
internal->io.DefineVariable<double>("boxzhi");
internal->io.DefineVariable<double>("boxxy");
internal->io.DefineVariable<double>("boxxz");
internal->io.DefineVariable<double>("boxyz");
internal->io.DefineAttribute<int>("triclinic", domain->triclinic);
int *boundaryptr = reinterpret_cast<int *>(domain->boundary);
internal->io.DefineAttribute<int>("boundary", boundaryptr, 6);
auto nColumns = static_cast<size_t>(size_one);
internal->io.DefineAttribute<std::string>("columns", internal->columnNames.data(), nColumns);
internal->io.DefineAttribute<std::string>("columnstr", columns);
internal->io.DefineAttribute<std::string>("boundarystr", boundstr);
internal->io.DefineAttribute<std::string>("LAMMPS/dump_style", "custom");
internal->io.DefineAttribute<std::string>("LAMMPS/version", lmp->version);
internal->io.DefineAttribute<std::string>("LAMMPS/num_ver", std::to_string(lmp->num_ver));
internal->io.DefineVariable<uint64_t>("nme",
{adios2::LocalValueDim}); // local dimension variable
internal->io.DefineVariable<uint64_t>("offset",
{adios2::LocalValueDim}); // local dimension variable
// atom table size is not known at the moment
// it will be correctly defined at the moment of write
size_t UnknownSizeYet = 1;
internal->varAtoms = internal->io.DefineVariable<double>(
"atoms", {UnknownSizeYet, nColumns}, {UnknownSizeYet, 0}, {UnknownSizeYet, nColumns});
}

View File

@ -300,6 +300,7 @@ double PairYLZ::init_one(int i, int j)
zeta[j][i] = zeta[i][j];
mu[j][i] = mu[i][j];
beta[j][i] = beta[i][j];
cut[j][i] = cut[i][j];
return cut[i][j];
}
@ -409,7 +410,7 @@ void PairYLZ::write_data_all(FILE *fp)
{
for (int i = 1; i <= atom->ntypes; i++)
for (int j = i; j <= atom->ntypes; j++)
fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][i], sigma[i][i], cut[i][j],
fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][j], sigma[i][j], cut[i][j],
zeta[i][j], mu[i][j], beta[i][j]);
}

Some files were not shown because too many files have changed in this diff Show More