Compare commits

..

226 Commits

Author SHA1 Message Date
a52ddf8759 patch 29Jun18 2018-06-30 08:03:24 -06:00
0f71ed1fec Merge pull request #983 from akohlmey/python-module-typo
fix typo in python module
2018-06-29 17:23:45 -06:00
43ffee980d fix typo in python module 2018-06-29 19:07:14 -04:00
560b34aad0 Merge pull request #982 from lammps/doc-tweak-again
couple more doc tweaks - sigh
2018-06-29 16:35:46 -06:00
ea35235ca0 couple more doc tweaks - sigh 2018-06-29 16:12:25 -06:00
474b59a1f3 Merge pull request #981 from lammps/latte-tweak
fix glitch in ABIVERSION in fix latte
2018-06-29 16:03:45 -06:00
c63d77d0b8 Merge pull request #980 from lammps/spin-doc
added SPIN package to Section_packages doc
2018-06-29 15:26:36 -06:00
bf9646cbbe fix glitch in ABIVERSION in fix latte 2018-06-29 15:08:19 -06:00
d2dd76e655 added SPIN package to Section_packages doc 2018-06-29 14:56:27 -06:00
d649a6fe38 Merge pull request #979 from rbberger/small-python-fix
Fixes issue #975
2018-06-29 14:55:25 -06:00
a8b7153f4e Fixes issue #975 2018-06-29 16:03:38 -04:00
c3fe26a614 Merge pull request #977 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2018-06-29 13:57:14 -06:00
bbe77e4c31 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2018-06-29 15:33:23 -04:00
b819018084 Revert change to CMakeLists.txt which only works with 3.9+ 2018-06-29 15:31:15 -04:00
6900f9edf9 Merge branch 'master' into collected-small-changes 2018-06-29 14:59:02 -04:00
11a8d4e1c3 Merge pull request #978 from lammps/new-makefiles
new ARM makefiles, also some doc tweaks
2018-06-29 12:53:58 -06:00
d9396df5b9 Merge pull request #976 from akohlmey/collected-cmake-changes
Collected cmake changes
2018-06-29 12:53:18 -06:00
0e047f2786 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2018-06-29 12:05:28 -04:00
ec99b0957c new ARM makefiles, also some doc tweaks 2018-06-29 08:06:51 -06:00
75a3968039 multiple small tweaks to compute entropy/atom
- improve error detection and messages
- avoid sigma/cutoff to be zero (and thus division by zero)
- move new/delete of temporary storage outside of loop
2018-06-29 06:48:11 -04:00
a3a2981cd2 remove unused class member 2018-06-29 01:22:35 -04:00
4f9c0456e6 eliminate variable length arrays from compute entropy/atom 2018-06-29 01:22:26 -04:00
ad4720ef00 make various compiler instrumentation flags "advanced" options 2018-06-29 01:00:20 -04:00
946bca82c5 add options to support GNU gcc sanitizers 2018-06-29 00:56:35 -04:00
85d7f7ddc9 Merge branch 'cmake_presets' of https://github.com/rbberger/lammps into collected-cmake-changes 2018-06-29 00:23:52 -04:00
ee0e9f94f1 Merge branch 'cmake_misc' of https://github.com/junghans/lammps into collected-cmake-changes 2018-06-29 00:16:19 -04:00
9f1aabea50 Merge branch 'cmake-fix-check-for-installed' of https://github.com/akohlmey/lammps into collected-cmake-changes 2018-06-29 00:13:23 -04:00
b3bc5fd823 Merge branch 'record-compile-flags' of https://github.com/akohlmey/lammps into collected-cmake-changes 2018-06-29 00:09:51 -04:00
e0dc53ab3f Simplify CreateStyleHeader CMake utility 2018-06-28 14:22:37 -04:00
206d349d5b Simplify DetectBuildSystemConflict CMake utility 2018-06-28 14:16:56 -04:00
4d629872d8 CMake preset docs wording 2018-06-28 14:05:25 -04:00
7a783870e2 Merge remote-tracking branch 'origin/master' into cmake_misc 2018-06-28 11:19:54 -06:00
0df8587c18 cmake: make GPU_ARCH free form 2018-06-28 11:13:51 -06:00
ad3d049edd Merge pull request #974 from akohlmey/moltemplate-2.8.6
Update moltemplate tool to version 2.8.6
2018-06-28 07:34:52 -06:00
7abc960d39 import moltemplate 2.8.6 from andrew jewett 2018-06-28 08:18:35 -04:00
23fb0370a9 Update CMake documentation 2018-06-28 00:39:24 -04:00
a043ddcb82 Merge branch 'master' into cmake_misc 2018-06-27 21:12:25 -04:00
a2b2507121 cmake: remove ENABLE_ALL option 2018-06-27 19:02:10 -06:00
6bd5a3d69b Merge pull request #935 from julient31/spin_origin
Spin origin
2018-06-27 16:58:27 -06:00
086e83456b Merge pull request #970 from jrgissing/bond/react-optional-EdgeIDs
Bond/react: edge IDs optional
2018-06-27 16:52:41 -06:00
1db4705a3d Merge pull request #966 from wmbrownIntel/user-intel-2018Jun
Intel Package: Bug fix when using LRT with minimize and for virial calculation with GNU...
2018-06-27 16:52:16 -06:00
8e77be0848 Merge pull request #967 from lammps/latte-tweak2
small changes to last LATTE PR, including xControl to upper case
2018-06-27 16:44:25 -06:00
fc3694189e update CODEOWNERS file for LATTE 2018-06-27 17:01:49 -04:00
75aacfd17f add explanation comment to ABIVERSION define 2018-06-27 16:58:58 -04:00
08552fefe9 add md5 checksum support to Install.py for LATTE 2018-06-27 16:52:28 -04:00
20fe0cd9d0 Define CMake presets 2018-06-27 16:41:10 -04:00
8f4b7161c5 README: add cmake 2018-06-27 14:12:34 -06:00
38cdc1828d insert spin package into make and cmake build system 2018-06-27 15:29:24 -04:00
9353569d30 cmake: add KOKKOS_ARCH to summary 2018-06-27 13:25:56 -06:00
868f5711a2 cmake: fix summary for GPU 2018-06-27 13:23:35 -06:00
7ffab9a228 cmake: added INJECT_KNL_FLAG option 2018-06-27 13:22:22 -06:00
58559d9e62 update src/.gitignor for SPIN package sources 2018-06-27 14:08:54 -04:00
3eed23d3f7 whitespace cleanup 2018-06-27 14:07:09 -04:00
d3b83885d1 make SPIN package examples consistent with other examples and add reference logs 2018-06-27 14:06:56 -04:00
3549345830 whitespace cleanup 2018-06-27 12:30:19 -04:00
244963aa19 fix incorrect scaling of emag bug 2018-06-27 12:29:34 -04:00
264f832b18 fix formatting of dump_modify docs 2018-06-27 07:58:57 -04:00
5c4bf8ac47 bond/react: optional EdgeIDs take2 2018-06-26 20:40:02 -06:00
6008cee6aa ...and replace with symbolic links 2018-06-26 16:02:56 -04:00
f33a2c982c remove redundant potential files 2018-06-26 16:01:54 -04:00
8e14143908 Merge pull request #925 from PabloPiaggi/pair_entropy
Pair entropy fingerprint
2018-06-26 13:16:09 -06:00
e6ef8ce5ee Merge pull request #968 from oywg11/github-tutorial-update
New paramteters for potential #839
2018-06-26 13:14:22 -06:00
ebe622ff7d make edge atoms optional 2018-06-26 09:35:38 -06:00
f94cdf856c Merge pull request #18 from lammps/master
rebase
2018-06-26 10:15:52 -05:00
e2622f0230 Remap the paragraph 2018-06-26 17:27:55 +03:00
e4dd6dec40 Refine the documentation 2018-06-26 16:36:16 +03:00
b0126dd9d6 updata potential file CH.KC 2018-06-26 16:09:42 +03:00
f36e1a2cdc Changed default deltabin from 2 to 3 2018-06-26 13:06:04 +02:00
c9d147c366 New paramteters for potential #839 2018-06-26 11:09:48 +03:00
19f81e0802 Add library functions for accessing LAMMPS configuration 2018-06-25 23:56:18 -04:00
49a91db0b2 small changes to last LATTE PR, including xControl to upper case 2018-06-25 17:43:31 -06:00
bad750eb2b move LATTE ABI version constant into a define at the top of fix latte, as suggested by @sjplimp 2018-06-25 19:34:10 -04:00
5e48565761 Merge pull request #961 from cnegre/newsystem
Added newsystem flag to be passed to latte
2018-06-25 17:20:57 -06:00
af91f7fa5d LAMMPS does not build on windows without this one 2018-06-25 18:13:41 -04:00
0cd86bab22 Added new checksum value 2018-06-25 14:58:49 -06:00
bec82e4045 Added new checksum value 2018-06-25 14:23:44 -06:00
06b3209ad8 Commit JT 062518 2018-06-25 09:56:39 -06:00
2fd45050cd Merge branch 'newsystem' of https://github.com/cnegre/lammps into newsystem 2018-06-25 08:44:57 -06:00
8ffa96c9e9 Added fix latte 2018-06-25 08:43:00 -06:00
6a9251245c update MD5 sum for latte-v1.2.0.tar.gz src archive 2018-06-25 09:43:37 -04:00
cb2cf5b773 cmake: fixed comment 2018-06-25 06:31:09 -06:00
c4d0994d5e cmake: fixed a typo 2018-06-25 06:29:24 -06:00
e2c03f0596 Simplify build system conflict checks
- removes redundant code for conflict checks
- updates and expands original check to report fatal error instead of ignoring
  files
- removes obsolete DetectAndRemovePackageHeader and RemovePackageHeader utility
  functions which are no longer needed
- adds utility function DetectBuildSystemConflict, which loops over files and
  reports an error if they exist in the lammps src directory.
- updates definition of LAMMPS_SOURCE_DIR, LAMMPS_LIB_SOURCE_DIR and
  LAMMPS_LIB_BINARY_DIR to be absolute paths. This improves instructions in
  error messages
2018-06-25 03:09:42 -04:00
9108306c11 Shorter entropy/atom example 2018-06-24 00:36:09 +02:00
86519ce213 Rename compute to entropy/atom 2018-06-24 00:25:07 +02:00
0b1d4a1696 liblammps.pc: fix lib suffix 2018-06-22 17:06:39 -06:00
264e4fd3b1 cmake: fix for <cmake-3.4 2018-06-22 17:05:55 -06:00
ce0f3daad6 cmake: don't include quiet packages in summary 2018-06-22 11:43:52 -06:00
cb7b23e220 cmake: add BUILD_EXE option 2018-06-22 11:11:09 -06:00
3f17d33fbe cmake: add BUILD_LIB option 2018-06-22 11:06:12 -06:00
2165a2aa9b Changed version on cmakelist and install.py 2018-06-22 10:04:20 -06:00
ac41cc2c9a cmake: add GPU_PREC status output 2018-06-22 09:02:10 -06:00
35f5a685f6 small change to preempt a possible merge conflict 2018-06-22 08:19:49 -04:00
62984c1de0 small tweaks: improve messages and comments 2018-06-22 08:02:17 -04:00
04d040b863 update make purge list and fix checking for styles and installed package files in cmake 2018-06-22 07:57:03 -04:00
92f0f19df6 make info config output of compile time defines consistent with lmp_<machine> -h 2018-06-22 07:26:33 -04:00
dcdc7877a4 make compile time output more consistent and complete 2018-06-22 07:05:09 -04:00
2f11f2d7b2 query compile time settings in Info class 2018-06-22 06:59:09 -04:00
e25b6c81ee use a more conventional way to generate and include the lmpinstalledpkgs.h file 2018-06-22 06:58:31 -04:00
80cca7c4c1 make has_XXX_support functions static, so they can be called without having to create an instance of Info, which requires a fully instantiation of the LAMMPS and Pointers classes 2018-06-22 06:57:05 -04:00
2fe0eabc09 Intel Package: Bug fix when using LRT with minimize. Bug fix for virial calculation when using GNU compilers. Most of framework for adding hybrid support is now in place. 2018-06-22 01:52:55 -07:00
7da8e69b45 add code to create lmpinstalledpkgs.h file with cmake 2018-06-21 19:08:09 -04:00
e8e1349da4 make the list of installed packages a static const class member of the LAMMPS class
through this change, the list of packages becomes accessible for the
library interface and the python wrapper, e.g. to check whether a
prerequisite packages is installed (simpler/faster for quick highlevel
check than having to try instantiating a specific style).
2018-06-21 19:07:16 -04:00
dc132c8bf1 Added newsystem flag to be passed to latte 2018-06-21 15:40:20 -06:00
9f3cb83fb3 use a list instead of a string to store the names of installed packages 2018-06-20 17:57:17 -04:00
9f3fae1c47 record 3d-FFT array packaging algorithm 2018-06-20 17:23:37 -04:00
0e603493af fix bug that made compilation fail with no packages installed 2018-06-20 17:23:37 -04:00
7f0c88c74b refactor the gathering of compile time settings after discussion with @sjplimp
- remove feature to record the compilation time and date
- remove 'echo -n' based "progress bar"
- update output format for "lmp_machine -h" to be consistent with help output
- move generation of lmpinstalledpkgs.h to be a separate target depending on
  all sources and headers in src folder. this way it is only regenerated
  when files are modified or packages installed
2018-06-20 17:23:37 -04:00
1f770a6a8f print information about serial/parallel and MPI version for known libraries 2018-06-20 17:23:37 -04:00
596acaf4d2 give visual feedback on when the compile starts since gathering the package information can take time 2018-06-20 17:23:37 -04:00
472a1a501d add lmpinstalledpks.h to the list of purgable files 2018-06-20 17:23:37 -04:00
eb485afc45 fix logic bug that would not create lmpinstalledpkgs.h when there was none 2018-06-20 17:23:37 -04:00
4265e68ff8 record installed packages 2018-06-20 17:23:37 -04:00
90f0586c9e include compilation date as an example for embedding info, that is not a define 2018-06-20 17:23:37 -04:00
c371ce1005 include date when LAMMPS was compiled 2018-06-20 17:23:37 -04:00
e3a528a493 report compile time options (-DLAMMPS_XXX) in help output and info config 2018-06-20 17:23:37 -04:00
4a88f53d22 adjust input files for changed paths 2018-06-18 19:17:25 -04:00
d4861e71d2 integrate SPIN package into documentation, fix links and make it consistent 2018-06-18 18:36:30 -04:00
605b4dca22 fix overlooked merge conflict 2018-06-18 18:09:59 -04:00
dade67664d restore bugfix for refrences 2018-06-18 18:07:26 -04:00
93d6510d34 restore deleted file 2018-06-18 18:02:40 -04:00
4f8d1893e9 restore fix for formatting cleanup 2018-06-18 18:01:28 -04:00
7c7a80b31a restore deleted file 2018-06-18 17:59:22 -04:00
da5931d65d whitespace cleanup 2018-06-18 17:55:12 -04:00
83ae0ad26f remove unused code 2018-06-18 17:47:59 -04:00
b189a328ed source code formatting cleanups 2018-06-18 17:00:23 -04:00
469b67a39b remove bogus file 2018-06-18 17:00:01 -04:00
1d0773d10d remove redundant statement 2018-06-18 16:50:24 -04:00
b2e6863d93 add reference log file. 2018-06-15 17:01:26 -04:00
cb887d48a1 include compute pentropy/atom in src/USER-MISC/README 2018-06-15 16:55:05 -04:00
9ef1bfe814 whitespace cleanup 2018-06-15 16:44:07 -04:00
76b85e4d25 rename source files for compute pentropy/atom to match the command name 2018-06-15 16:43:19 -04:00
8a2faff541 integrate compute pentropy/atom into the documentation tree 2018-06-15 16:40:25 -04:00
4c28827aa1 JT commit 060518 2018-06-05 12:32:18 -06:00
9dda907f7d Commit JT 060118 Changes Stan 2018-06-01 15:19:27 -06:00
f2a6aa249f Commit2 JT 052918: doc 2018-05-29 17:18:45 -06:00
6457e5eedb Commit1 JT 052918 modifs files 2018-05-29 14:51:21 -06:00
5f0e6d0aa7 Commit JT2 052418 2018-05-24 12:55:39 -06:00
99f4274483 Commit JT 052418 rm comments 2018-05-24 06:59:40 -06:00
102be8dd8b Commit JT 052318 2018-05-23 11:23:39 -06:00
6de4569483 Removed unused variables - corrected documentation 2018-05-22 17:29:51 +02:00
fbc435a0cb Formatted according to Lammps guidelines 2018-05-22 16:40:25 +02:00
108c31e24a Moved to USER-MISC 2018-05-22 14:56:26 +02:00
e550f5120b Updated docs 2018-05-22 12:44:40 +02:00
1641f78e3e Merge from lammps master 2018-05-21 16:06:53 -06:00
124641dc8a Examples - new local option 2018-05-18 15:13:48 +02:00
437e854741 Commit JT 051118 before CEA 2018-05-11 15:24:26 -06:00
59b59573a7 Added documentation for compute_pair_entropy_atom 2018-05-02 16:10:31 +02:00
51d2625daf First fully working version of compute_pair_entropy_atom 2018-04-30 19:40:18 +02:00
4e6188cff6 pair_entropy_atom workin - avg missing 2018-04-28 09:01:09 +02:00
d504dcc465 Some changes to compute_pair_entropy_atom 2018-04-27 17:50:35 +02:00
eaaad3f6d5 Commit JT-2 042618
- commit after after rebase
- some #include were needed
2018-04-26 15:48:34 -06:00
75069ec55b Commit JT-1 042618
- new version DMI
2018-04-26 15:26:31 -06:00
392816a807 Commit JT 042418
- adding the README
- some corrects pair_spin*.cpp/h
2018-04-26 15:26:31 -06:00
1b8669c620 Commit JT 042018, new spin/precession and pair/spin (peru virtual) 2018-04-26 15:26:31 -06:00
ce80d1a3ea Commit JT 041618
Enabling multiple exchange interactions
2018-04-26 15:26:31 -06:00
8709f6044b Commit modifs before release 2 (04/02/18) 2018-04-26 15:26:31 -06:00
a315599bac Commit modifs before release 1 (03/26/18) 2018-04-26 15:26:31 -06:00
08bc115380 Commit before meeting 032218 2018-04-26 15:26:13 -06:00
65b7e43a91 Examples and docs 2018-04-26 15:25:23 -06:00
436a5de3a6 Documentation V1 2018-04-26 15:25:23 -06:00
f0cca6fb9d rm pdf equations 2018-04-26 15:21:41 -06:00
3ed640666f Delete pair_spin_exchange_function.pdf 2018-04-26 15:21:41 -06:00
6a9ecde742 rm one file 2018-04-26 15:21:41 -06:00
2a3b93ca3d First commits last version doc 2018-04-26 15:21:41 -06:00
e4c6c46b4c Commit JT 010318 (before APS) 2018-04-26 15:21:41 -06:00
7990826ca2 Commit JT 021518 2018-04-26 15:21:41 -06:00
fa499ff95d Commit JT 021318 2018-04-26 15:21:41 -06:00
86cfbb3010 Delete in.spin.read_data 2018-04-26 15:15:16 -06:00
f409f4ff53 Commit JT 021318 2018-04-26 15:02:15 -06:00
eab737a45c Delete Co_PurjaPun_2012.eam.alloy 2018-04-26 15:01:43 -06:00
b422480002 Commit JT 021318 2018-04-26 15:01:43 -06:00
3d18f55155 commit JT 020818
- adding files for doc and reorg.
2018-04-26 15:01:43 -06:00
10b38cda93 commit JT 020818
- documentation v1.0
- reorg. of examples
2018-04-26 15:01:43 -06:00
6490ee46b7 Commit JT 020618
- Documentation
- Memory leaks solved
2018-04-26 14:58:43 -06:00
642c8f9859 Commit JT 020518
Begin work documentation
2018-04-26 14:58:43 -06:00
755bda2275 Commit JT 020118 2018-04-26 14:58:43 -06:00
05a7e5011f Commit JT 012318 2018-04-26 14:58:43 -06:00
3abb7f0eaf Commit JT 011718
Correction bug in fix/integration/spin
2018-04-26 14:58:43 -06:00
5b93fc6a27 Commit JT 011617 2018-04-26 14:58:43 -06:00
1e096d77ef Commit JT 011518 2018-04-26 14:58:43 -06:00
38e940a392 beautyfy shell script 2018-04-26 14:58:43 -06:00
7cc62f4234 minor updates on examples/SPIN 2018-04-26 14:58:43 -06:00
01f378d265 minor updates on examples/SPIN 2018-04-26 14:58:43 -06:00
ab200cff06 - linked list in the integration algorithm
- new version of the coord2sector function
- possible to read_data a spin .data file
2018-04-26 14:58:43 -06:00
5fe0b0a2cc Delete in.cobalt_dev 2018-04-26 14:58:42 -06:00
6df54ac3ec Delete in.cobalt_SD 2018-04-26 14:58:42 -06:00
1e9d91bd8f Delete in.co_magnetomech 2018-04-26 14:58:42 -06:00
749336ae1f Delete in.kagome 2018-04-26 14:58:42 -06:00
925e647acf Commit integ 2018-04-26 14:58:42 -06:00
148d26d943 Delete in.cobalt 2018-04-26 14:58:42 -06:00
2bfd30f7d7 Delete in.BFO 2018-04-26 14:58:42 -06:00
f4bb33de4b Memory corrections 2018-04-26 14:58:42 -06:00
49f0a7a89a New MPI algorithm (still to be checked) 2018-04-26 14:58:42 -06:00
f1182df776 Commit MPI algorithm 2018-04-26 14:58:42 -06:00
1828274a99 new vmd shell to prepare vmd runs 2018-04-26 14:58:42 -06:00
813343928a moving files into proper directories 2018-04-26 14:58:42 -06:00
cc44a8863c Commit 11/06/17 2018-04-26 14:58:42 -06:00
f3e58440a2 Commit 11/6/17 2018-04-26 14:58:42 -06:00
4cbda74df4 Commit new serial algorithms 2018-04-26 14:58:42 -06:00
c6bb9586ef Commit before new serial algo 2018-04-26 14:58:41 -06:00
b219392d59 Commit before pull on SOLO 2018-04-26 14:58:41 -06:00
f6b4587fe8 Commit Julien 10/24/17
Correction in the pair/exchange for energy preservation
2018-04-26 14:58:41 -06:00
72d9795d7f Commit Julien 10/19/2017
- New files for the pair interactions
- New files for the documentation
- Spin orbit coupling via Neel approach
2018-04-26 14:58:41 -06:00
54832a8fe4 Commit Julien 09/14/17
- Changes and corrections in the computation of the energy
- Issue with newton_pair in the compute of pair
2018-04-26 14:58:41 -06:00
d144ab0164 Commit Julien 09/06/17
- units of J1_mag and J1_mech
- correct of pack and unpack in atom_vec_spin
- add conditions in fix_integration_spin
2018-04-26 14:58:41 -06:00
87993368f9 Commit Julien 08/24/17
- in pair_spin, magneto-mech force for exchange
- compute and added in integration_spin
2018-04-26 14:58:41 -06:00
3de0cf5ab4 Commit Julien 2 08/23/17
- reorganized includes
- start work on magneto-mechanic potential (adding function)
- renamed fix_nve_spin into fix_integration_spin
2018-04-26 14:58:41 -06:00
f5ff30df83 Changes for coupling magnetomech:
- hybrid_overlay friend with fix_nve_spin
- modif of the allocation of pair classes in fix_nve_spin
- modif input file for hybrid/overlay eam - spin/pair
- new file for cobalt eam potentials
2018-04-26 14:58:41 -06:00
45ea7b3cc7 First version of the spin tutorial (2)
Examples (example/SPIN), for BFO and Co
2018-04-26 14:58:41 -06:00
023b018ed2 First version of the tutorial for spin simulations 2018-04-26 14:58:41 -06:00
98a22c2b55 Simple test in fix_nve_spin 2018-04-26 13:08:55 -06:00
b88f7aac32 Begining work on test for sectoring (works only if sectoring possible when mpi option is on) 2018-04-26 13:08:55 -06:00
7519dee502 Changes 2 (modif/corrects parallel) 2018-04-26 13:08:55 -06:00
8746ab547e Small modif and correc of the parallel implemetation 2018-04-26 13:08:54 -06:00
2c5597ae4b Commit with last changes (sectoring parallel implementation) 2018-04-26 13:08:54 -06:00
8a56b8ad3a First version of the parallel algorithm
Performed by sectoring (1, 2, 4, or 8 chuncks) each process.
2018-04-26 13:08:54 -06:00
b934621651 Implementation of SeqNei V1 (Real)
Still both Seq and SeqNei versions
In SeqNei, loop on Neighb not working yet
2018-04-26 13:08:54 -06:00
bf5b3f96e9 Implemetation of SeqNei Algo 1
Still Seq and SeqNei versions
Loop on Neigh in SeqNei not working yet
2018-04-26 13:08:54 -06:00
4d375e72f0 Changes: - DMI and ME interactions
- Computation optimisations
         - lot of removed prints

Next work: - Sequential algo implemetation
           - temperature simulations (check)
           - Work on parallelization
2018-04-26 13:08:54 -06:00
7cc59fbbbe Same commit, beginning removing prints/checks and pushing 2018-04-26 13:08:54 -06:00
d53def5853 Field compute error apparently corrected. The issue was related to the reverse communication.
To do:
- Remove all checks/prints used to debug
- Check all the flag set in the atom_vec_spin creator (very important for the reverse comm)
- Code DMI/ME interactions
- Start to work on parallel implementation of the integration
2018-04-26 13:08:54 -06:00
af45d55b3f Added:
- For Paramag. simulations, the option "atom_modify" has to be set
ex: atom_modify sort 1000 4.0 (Freq,Dist).
- Actual time is now printed (c_mag[0] in compute_spin)
- Value of Gilbert's damping corrected
- Now even results for SD/Lammps comp. in purely paramg. or aniso. situations
- Pack and unpack reverse needed corrections (f only was set, not fm)
- Spin temperature is now computed (data c_mag[7] in spin_compute)

To do:
- Fcc with p p p bc is still not working
- If Zeeman/Aniso force not defined, error => to be removed
- Add DMI and ME (see if new file or add in the exchange file)
2018-04-26 13:08:54 -06:00
3168704858 For paramagnetic simulation (no pair interaction declared), the "atom_modify" command has to be used (in order to initialize the bin).
example: atom_modify sort 1000 4.0 (Freq. of sorting, Cutoff distance)

In order to print the actual time with the total mag., the vector associated to the mag. compute was modified. It is now: [time, Mx, My, Mz, |M|, En_mag]

Optimization of the spin_compute routine: energy and mag. have been gathered in a same loop.
2018-04-26 13:08:54 -06:00
bf18d84273 Same commit, with input (mag. cobalt) and vmd files 2018-04-26 13:08:54 -06:00
9b0f8a0c55 First commit for the SPIN package.
Changes to come:
-Exchange interaction computation to check (loop on neighbors),
-Temperature/random fluctuations to correct (effects too strong),
-Physical results to check,
-Add final interactions (DMI, ME, Dipolar),
-Compute spin temperature (Nurdin and Ma formslisms),
-Work on MPI parallelization,
-Ewald sums to implement (see with Stan's pakage),
-See for prefered magnetic axis (Mitchell's idea),
2018-04-26 13:08:54 -06:00
449 changed files with 126854 additions and 9459 deletions

1
.github/CODEOWNERS vendored
View File

@ -16,6 +16,7 @@ src/COMPRESS/* @akohlmey
src/GPU/* @ndtrung81
src/KOKKOS/* @stanmoore1
src/KIM/* @ellio167
src/LATTE/* @cnegre
src/USER-CGDNA/* @ohenrich
src/USER-CGSDK/* @akohlmey
src/USER-COLVARS/* @giacomofiorin

2
README
View File

@ -25,7 +25,7 @@ The LAMMPS distribution includes the following files and directories:
README this file
LICENSE the GNU General Public License (GPL)
bench benchmark problems
couple code coupling examples using LAMMPS as a library
cmake CMake build system
doc documentation
examples simple test problems
lib libraries LAMMPS can be linked with

View File

@ -6,11 +6,12 @@ cmake_minimum_required(VERSION 2.8.12)
project(lammps CXX)
set(SOVERSION 0)
set(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src)
set(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib)
set(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib)
get_filename_component(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src ABSOLUTE)
get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib ABSOLUTE)
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
#To not conflict with old Makefile build system, we build everything here
# To avoid conflicts with the conventional Makefile build system, we build everything here
file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp)
file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp)
list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES})
@ -23,21 +24,23 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
file(GLOB SRC_FILES ${LAMMPS_SOURCE_DIR}/*.cpp)
list(SORT SRC_FILES)
# check for files installed by make-based buildsystem
# only run this time consuming check if there are new files
if(NOT SRC_FILES STREQUAL SRC_FILES_CACHED)
file(GLOB SRC_PKG_FILES ${LAMMPS_SOURCE_DIR}/*/*.cpp)
message(STATUS "Running check for installed package (this might take a while)")
foreach(_SRC SRC_PKG_FILES)
get_filename_component(FILENAME "${_SRC}" NAME)
if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME})
message(FATAL_ERROR "Found packages installed by the make-based buildsystem, please run 'make -C ${LAMMPS_SOURCE_DIR} no-all purge'")
endif()
endforeach()
set(SRC_FILES_CACHED "${SRC_FILES}" CACHE INTERNAL "List of file in LAMMPS_SOURCE_DIR" FORCE)
endif()
# check for files auto-generated by make-based buildsystem
# this is fast, so check for it all the time
message(STATUS "Running check for auto-generated files from make-based build system")
file(GLOB SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/style_*.h)
list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h)
foreach(_SRC ${SRC_AUTOGEN_FILES})
get_filename_component(FILENAME "${_SRC}" NAME)
if(EXISTS ${LAMMPS_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 ${LAMMPS_SOURCE_DIR} purge\n"
"to remove\n"
"########################################################################")
endif()
endforeach()
######################################################################
# compiler tests
@ -49,18 +52,59 @@ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
endif()
option(ENABLE_COVERAGE "Enable code coverage" OFF)
if(ENABLE_COVERAGE)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
# GNU compiler features
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
option(ENABLE_COVERAGE "Enable code coverage" OFF)
mark_as_advanced(ENABLE_COVERAGE)
if(ENABLE_COVERAGE)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
endif()
option(ENABLE_SANITIZE_ADDRESS "Enable address sanitizer" OFF)
mark_as_advanced(ENABLE_SANITIZE_ADDRESS)
if(ENABLE_SANITIZE_ADDRESS)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
endif()
option(ENABLE_SANITIZE_UNDEFINED "Enable undefined behavior sanitizer" OFF)
mark_as_advanced(ENABLE_SANITIZE_UNDEFINED)
if(ENABLE_SANITIZE_UNDEFINED)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined")
endif()
option(ENABLE_SANITIZE_THREAD "Enable thread sanitizer" OFF)
mark_as_advanced(ENABLE_SANITIZE_THREAD)
if(ENABLE_SANITIZE_THREAD)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread")
endif()
endif()
########################################################################
# User input options #
########################################################################
option(BUILD_SHARED_LIBS "Build shared libs" OFF)
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
option(BUILD_EXE "Build lmp binary" ON)
if(BUILD_EXE)
set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically")
mark_as_advanced(LAMMPS_MACHINE)
if(LAMMPS_MACHINE)
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
endif()
endif()
option(BUILD_LIB "Build LAMMPS library" OFF)
if(BUILD_LIB)
option(BUILD_SHARED_LIBS "Build shared library" OFF)
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
set(LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
mark_as_advanced(LIB_SUFFIX)
if(LIB_SUFFIX)
set(LIB_SUFFIX "_${LIB_SUFFIX}")
endif()
endif()
if(NOT BUILD_EXE AND NOT BUILD_LIB)
message(FATAL_ERROR "You need to at least enable one of two following options: BUILD_LIB or BUILD_EXE")
endif()
option(DEVELOPER_MODE "Enable developer mode" OFF)
mark_as_advanced(DEVELOPER_MODE)
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
@ -102,12 +146,6 @@ if(LAMMPS_EXCEPTIONS)
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_EXCEPTIONS")
endif()
set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary and liblammps (WON'T enable any features automatically")
mark_as_advanced(LAMMPS_MACHINE)
if(LAMMPS_MACHINE)
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
endif()
option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF)
option(ENABLE_TESTING "Enable testing" OFF)
@ -115,19 +153,16 @@ if(ENABLE_TESTING)
enable_testing()
endif(ENABLE_TESTING)
option(ENABLE_ALL "Build all default packages" OFF)
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR
KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ
REAX REPLICA RIGID SHOCK SNAP SRD)
set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE
USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO
USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF
USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC
KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP
SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS
USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE
USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC
USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM)
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
foreach(PKG ${DEFAULT_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" ${ENABLE_ALL})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
@ -213,7 +248,7 @@ if(PKG_PYTHON)
add_definitions(-DLMP_PYTHON)
include_directories(${PYTHON_INCLUDE_DIR})
list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY})
if(BUILD_SHARED_LIBS)
if(BUILD_LIB AND BUILD_SHARED_LIBS)
if(NOT PYTHON_INSTDIR)
execute_process(COMMAND ${PYTHON_EXECUTABLE}
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
@ -296,8 +331,8 @@ if(PKG_LATTE)
message(STATUS "LATTE not found - we will build our own")
include(ExternalProject)
ExternalProject_Add(latte_build
URL https://github.com/lanl/LATTE/archive/v1.1.1.tar.gz
URL_MD5 cb86f1d2473ce00aa61ff6a023154b03
URL https://github.com/lanl/LATTE/archive/v1.2.1.tar.gz
URL_MD5 bed76e7e76c545c36dd848a8f1fd35eb
SOURCE_SUBDIR cmake
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
)
@ -445,6 +480,9 @@ endforeach(HEADER)
set(MATH_LIBRARIES "m" CACHE STRING "math library")
mark_as_advanced( MATH_LIBRARIES )
include(CheckLibraryExists)
if (CMAKE_VERSION VERSION_LESS "3.4")
enable_language(C) # check_library_exists isn't supported without a c compiler before v3.4
endif()
foreach(FUNC sin cos)
check_library_exists(${MATH_LIBRARIES} ${FUNC} "" FOUND_${FUNC}_${MATH_LIBRARIES})
if(NOT FOUND_${FUNC}_${MATH_LIBRARIES})
@ -462,23 +500,14 @@ RegisterStyles(${LAMMPS_SOURCE_DIR})
##############################################
# add sources of enabled packages
############################################
foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES})
foreach(PKG ${DEFAULT_PACKAGES})
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
# ignore PKG files which were manually installed in src folder
# headers are ignored during RegisterStyles
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp)
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h)
foreach(PKG_FILE in ${${PKG}_SOURCES})
get_filename_component(FNAME ${PKG_FILE} NAME)
list(REMOVE_ITEM LIB_SOURCES ${LAMMPS_SOURCE_DIR}/${FNAME})
endforeach()
foreach(PKG_FILE in ${${PKG}_HEADERS})
get_filename_component(FNAME ${PKG_FILE} NAME)
DetectAndRemovePackageHeader(${LAMMPS_SOURCE_DIR}/${FNAME})
endforeach()
# check for package files in src directory due to old make system
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
if(PKG_${PKG})
# detects styles in package and adds them to global list
@ -489,6 +518,17 @@ foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES})
endif()
endforeach()
# dedicated check for entire contents of accelerator packages
foreach(PKG ${ACCEL_PACKAGES})
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp)
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h)
# check for package files in src directory due to old make system
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
endforeach()
##############################################
# add lib sources of (simple) enabled packages
############################################
@ -623,6 +663,10 @@ if(PKG_USER-INTEL)
message(FATAL_ERROR "USER-INTEL is needed at least 2016 intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
endif()
endif()
option(INJECT_KNL_FLAG "Inject flags for KNL build" OFF)
if(INJECT_KNL_FLAG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xMIC-AVX512")
endif()
option(INJECT_INTEL_FLAG "Inject OMG fast flags for USER-INTEL" ON)
if(INJECT_INTEL_FLAG AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
@ -687,8 +731,7 @@ if(PKG_GPU)
endif()
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture")
set_property(CACHE GPU_ARCH PROPERTY STRINGS sm_10 sm_20 sm_30 sm_60)
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture (e.g. sm_60)")
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu)
@ -797,35 +840,64 @@ GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR})
include_directories(${LAMMPS_SOURCE_DIR})
include_directories(${LAMMPS_STYLE_HEADERS_DIR})
######################################
# Generate lmpinstalledpkgs.h
######################################
set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n")
set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n")
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
if(PKG_${PKG})
set(temp "${temp} \"${PKG}\",\n")
endif()
endforeach()
set(temp "${temp} NULL\n};\n#endif\n\n")
message(STATUS "Generating lmpinstalledpkgs.h...")
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h")
###########################################
# Actually add executable and lib to build
############################################
add_library(lammps ${LIB_SOURCES})
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
list (FIND LANGUAGES "Fortran" _index)
if (${_index} GREATER -1)
list(APPEND LAMMPS_LINK_LIBS ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
endif()
list(REMOVE_DUPLICATES LAMMPS_LINK_LIBS)
target_link_libraries(lammps ${LAMMPS_LINK_LIBS})
if(LAMMPS_DEPS)
add_dependencies(lammps ${LAMMPS_DEPS})
endif()
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_MACHINE})
if(BUILD_SHARED_LIBS)
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
if(BUILD_LIB)
add_library(lammps ${LIB_SOURCES})
target_link_libraries(lammps ${LAMMPS_LINK_LIBS})
if(LAMMPS_DEPS)
add_dependencies(lammps ${LAMMPS_DEPS})
endif()
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX})
if(BUILD_SHARED_LIBS)
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()
else()
list(APPEND LMP_SOURCES ${LIB_SOURCES})
endif()
add_executable(lmp ${LMP_SOURCES})
target_link_libraries(lmp lammps)
set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE})
install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
if(ENABLE_TESTING)
add_test(ShowHelp lmp${LAMMPS_MACHINE} -help)
if(BUILD_EXE)
add_executable(lmp ${LMP_SOURCES})
if(BUILD_LIB)
target_link_libraries(lmp lammps)
else()
target_link_libraries(lmp ${LAMMPS_LINK_LIBS})
if(LAMMPS_DEPS)
add_dependencies(lmp ${LAMMPS_DEPS})
endif()
endif()
set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE})
install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
if(ENABLE_TESTING)
add_test(ShowHelp lmp${LAMMPS_MACHINE} -help)
endif()
endif()
###############################################################################
@ -860,7 +932,7 @@ endif()
###############################################################################
# Print package summary
###############################################################################
foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES} ${ACCEL_PACKAGES})
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
if(PKG_${PKG})
message(STATUS "Building package: ${PKG}")
endif()
@ -869,7 +941,7 @@ endforeach()
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
get_directory_property(CPPFLAGS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
include(FeatureSummary)
feature_summary(INCLUDE_QUIET_PACKAGES WHAT ALL)
feature_summary(DESCRIPTION "The following packages have been found:" WHAT PACKAGES_FOUND)
message(STATUS "<<< Build configuration >>>
Build type ${CMAKE_BUILD_TYPE}
Install path ${CMAKE_INSTALL_PREFIX}
@ -907,13 +979,17 @@ message(STATUS "Link libraries: ${LAMMPS_LINK_LIBS}")
if(BUILD_MPI)
message(STATUS "Using mpi with headers in ${MPI_CXX_INCLUDE_PATH} and ${MPI_CXX_LIBRARIES}")
endif()
if(ENABLED_GPU)
if(PKG_GPU)
message(STATUS "GPU Api: ${GPU_API}")
if(GPU_API STREQUAL "CUDA")
message(STATUS "GPU Arch: ${GPU_ARCH}")
elseif(GPU_API STREQUAL "OpenCL")
message(STATUS "OCL Tune: ${OCL_TUNE}")
endif()
message(STATUS "GPU Precision: ${GPU_PREC}")
endif()
if(PKG_KOKKOS)
message(STATUS "Kokkos Arch: ${KOKKOS_ARCH}")
endif()
if(PKG_KSPACE)
message(STATUS "Using ${FFT} as FFT")

View File

@ -45,14 +45,10 @@ function(FindStyleHeadersExt path style_class extension headers sources)
endfunction(FindStyleHeadersExt)
function(CreateStyleHeader path filename)
math(EXPR N "${ARGC}-2")
set(temp "")
if(N GREATER 0)
math(EXPR ARG_END "${ARGC}-1")
foreach(IDX RANGE 2 ${ARG_END})
list(GET ARGV ${IDX} FNAME)
if(ARGC GREATER 2)
list(REMOVE_AT ARGV 0 1)
foreach(FNAME ${ARGV})
get_filename_component(FNAME ${FNAME} NAME)
set(temp "${temp}#include \"${FNAME}\"\n")
endforeach()
@ -107,35 +103,6 @@ function(RegisterStyles search_path)
FindStyleHeaders(${search_path} REGION_CLASS region_ REGION ) # region ) # domain
endfunction(RegisterStyles)
function(RemovePackageHeader headers pkg_header)
get_property(hlist GLOBAL PROPERTY ${headers})
list(REMOVE_ITEM hlist ${pkg_header})
set_property(GLOBAL PROPERTY ${headers} "${hlist}")
endfunction(RemovePackageHeader)
function(DetectAndRemovePackageHeader fname)
RemovePackageHeader(ANGLE ${fname})
RemovePackageHeader(ATOM_VEC ${fname})
RemovePackageHeader(BODY ${fname})
RemovePackageHeader(BOND ${fname})
RemovePackageHeader(COMMAND ${fname})
RemovePackageHeader(COMPUTE ${fname})
RemovePackageHeader(DIHEDRAL ${fname})
RemovePackageHeader(DUMP ${fname})
RemovePackageHeader(FIX ${fname})
RemovePackageHeader(IMPROPER ${fname})
RemovePackageHeader(INTEGRATE ${fname})
RemovePackageHeader(KSPACE ${fname})
RemovePackageHeader(MINIMIZE ${fname})
RemovePackageHeader(NBIN ${fname})
RemovePackageHeader(NPAIR ${fname})
RemovePackageHeader(NSTENCIL ${fname})
RemovePackageHeader(NTOPO ${fname})
RemovePackageHeader(PAIR ${fname})
RemovePackageHeader(READER ${fname})
RemovePackageHeader(REGION ${fname})
endfunction(DetectAndRemovePackageHeader)
function(RegisterStylesExt search_path extension sources)
FindStyleHeadersExt(${search_path} ANGLE_CLASS ${extension} ANGLE ${sources})
FindStyleHeadersExt(${search_path} ATOM_CLASS ${extension} ATOM_VEC ${sources})
@ -181,3 +148,21 @@ function(GenerateStyleHeaders output_path)
GenerateStyleHeader(${output_path} READER reader ) # read_dump
GenerateStyleHeader(${output_path} REGION region ) # domain
endfunction(GenerateStyleHeaders)
function(DetectBuildSystemConflict lammps_src_dir)
if(ARGC GREATER 1)
list(REMOVE_AT ARGV 0)
foreach(SRC_FILE ${ARGV})
get_filename_component(FILENAME ${SRC_FILE} NAME)
if(EXISTS ${lammps_src_dir}/${FILENAME})
message(FATAL_ERROR "\n########################################################################\n"
"Found package(s) installed by the make-based build system\n"
"\n"
"Please run\n"
"make -C ${lammps_src_dir} no-all purge\n"
"to uninstall\n"
"########################################################################")
endif()
endforeach()
endif()
endfunction(DetectBuildSystemConflict)

View File

@ -22,6 +22,7 @@ tasks, act as a reference and provide examples of typical use cases.
* [Building LAMMPS using cmake](#building-lammps-using-cmake-1)
* [Prerequisites](#prerequisites)
* [Build directory vs. Source Directory](#build-directory-vs-source-directory)
* [Defining and using presets](#defining-and-using-presets)
* [Reference](#reference)
* [Common CMAKE Configuration Options](#common-cmake-configuration-options)
* [LAMMPS Configuration Options](#lammps-configuration-options)
@ -150,6 +151,31 @@ build directory.
```
make
```
# Defining and using presets
The CMake build exposes a lot of different options. In the old build system
some of the package selections were possible by using special make target like
`make yes-std` or `make no-lib`. Achieving the same result with cmake requires
specifying all options manually. This can quickly become a very long command
line that is hard to handle. While these could be stored in a simple script
file, there is another way of defining "presets" to compile LAMMPS in a certain
way.
A preset is a regular CMake script file that can use constructs such as
variables, lists and for-loops to manipulate configuration options and create
an [*initial cache*](https://cmake.org/cmake/help/v3.12/manual/cmake.1.html).
Options must be set with the `CACHE` and `FORCE` flag to ensure they are
considered even during a second cmake run.
Such a file can then be passed to cmake via the `-C` flag. Several examples of
presets can be found in the `cmake/presets` folder.
```bash
# build LAMMPS with all "standard" packages which don't use libraries and enable GPU package
mkdir build
cd build
cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on
```
# Reference
@ -374,16 +400,6 @@ make
</tr>
</thead>
<tbody>
<tr>
<td><code>ENABLE_ALL</code></td>
<td>Enable all default packages</td>
<td>
<dl>
<dt><code>off</code> (default)</dt>
<dt><code>on</code></dt>
</dl>
</td>
</tr>
<tr>
<td><code>PKG_ASPHERE</code></td>
<td>Computes, time-integration fixes, and pair styles for aspherical particle models including ellipsoids, 2d lines, and 3d triangles.</td>

View File

@ -13,6 +13,6 @@ Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library
URL: http://lammps.sandia.gov
Version:
Requires:
Libs: -L${libdir} -llammps@LAMMPS_MACHINE@
Libs: -L${libdir} -llammps@LIB_SUFFIX@@
Libs.private: -lm
Cflags: -I${includedir} @LAMMPS_API_DEFINES@

View File

@ -0,0 +1,22 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
endforeach()

View File

@ -0,0 +1,22 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()

View File

@ -0,0 +1,69 @@
set(PKG_ASPHERE OFF CACHE BOOL "" FORCE)
set(PKG_BODY OFF CACHE BOOL "" FORCE)
set(PKG_CLASS2 OFF CACHE BOOL "" FORCE)
set(PKG_COLLOID OFF CACHE BOOL "" FORCE)
set(PKG_COMPRESS OFF CACHE BOOL "" FORCE)
set(PKG_CORESHELL OFF CACHE BOOL "" FORCE)
set(PKG_DIPOLE OFF CACHE BOOL "" FORCE)
set(PKG_GPU OFF CACHE BOOL "" FORCE)
set(PKG_GRANULAR OFF CACHE BOOL "" FORCE)
set(PKG_KIM OFF CACHE BOOL "" FORCE)
set(PKG_KOKKOS OFF CACHE BOOL "" FORCE)
set(PKG_KSPACE OFF CACHE BOOL "" FORCE)
set(PKG_LATTE OFF CACHE BOOL "" FORCE)
set(PKG_LIB OFF CACHE BOOL "" FORCE)
set(PKG_MANYBODY OFF CACHE BOOL "" FORCE)
set(PKG_MC OFF CACHE BOOL "" FORCE)
set(PKG_MEAM OFF CACHE BOOL "" FORCE)
set(PKG_MISC OFF CACHE BOOL "" FORCE)
set(PKG_MOLECULE OFF CACHE BOOL "" FORCE)
set(PKG_MPIIO OFF CACHE BOOL "" FORCE)
set(PKG_MSCG OFF CACHE BOOL "" FORCE)
set(PKG_OPT OFF CACHE BOOL "" FORCE)
set(PKG_PERI OFF CACHE BOOL "" FORCE)
set(PKG_POEMS OFF CACHE BOOL "" FORCE)
set(PKG_PYTHOFF OFF CACHE BOOL "" FORCE)
set(PKG_QEQ OFF CACHE BOOL "" FORCE)
set(PKG_REAX OFF CACHE BOOL "" FORCE)
set(PKG_REPLICA OFF CACHE BOOL "" FORCE)
set(PKG_RIGID OFF CACHE BOOL "" FORCE)
set(PKG_SHOCK OFF CACHE BOOL "" FORCE)
set(PKG_SNAP OFF CACHE BOOL "" FORCE)
set(PKG_SRD OFF CACHE BOOL "" FORCE)
set(PKG_VOROFFOI OFF CACHE BOOL "" FORCE)
set(PKG_USER OFF CACHE BOOL "" FORCE)
set(PKG_USER-ATC OFF CACHE BOOL "" FORCE)
set(PKG_USER-AWPMD OFF CACHE BOOL "" FORCE)
set(PKG_USER-BOCS OFF CACHE BOOL "" FORCE)
set(PKG_USER-CGDNA OFF CACHE BOOL "" FORCE)
set(PKG_USER-CGSDK OFF CACHE BOOL "" FORCE)
set(PKG_USER-COLVARS OFF CACHE BOOL "" FORCE)
set(PKG_USER-DIFFRACTIOFF OFF CACHE BOOL "" FORCE)
set(PKG_USER-DPD OFF CACHE BOOL "" FORCE)
set(PKG_USER-DRUDE OFF CACHE BOOL "" FORCE)
set(PKG_USER-EFF OFF CACHE BOOL "" FORCE)
set(PKG_USER-FEP OFF CACHE BOOL "" FORCE)
set(PKG_USER-H5MD OFF CACHE BOOL "" FORCE)
set(PKG_USER-INTEL OFF CACHE BOOL "" FORCE)
set(PKG_USER-LB OFF CACHE BOOL "" FORCE)
set(PKG_USER-MANIFOLD OFF CACHE BOOL "" FORCE)
set(PKG_USER-MEAMC OFF CACHE BOOL "" FORCE)
set(PKG_USER-MESO OFF CACHE BOOL "" FORCE)
set(PKG_USER-MGPT OFF CACHE BOOL "" FORCE)
set(PKG_USER-MISC OFF CACHE BOOL "" FORCE)
set(PKG_USER-MOFFF OFF CACHE BOOL "" FORCE)
set(PKG_USER-MOLFILE OFF CACHE BOOL "" FORCE)
set(PKG_USER-NETCDF OFF CACHE BOOL "" FORCE)
set(PKG_USER-OMP OFF CACHE BOOL "" FORCE)
set(PKG_USER-PHOFFOFF OFF CACHE BOOL "" FORCE)
set(PKG_USER-QMMM OFF CACHE BOOL "" FORCE)
set(PKG_USER-QTB OFF CACHE BOOL "" FORCE)
set(PKG_USER-QUIP OFF CACHE BOOL "" FORCE)
set(PKG_USER-REAXC OFF CACHE BOOL "" FORCE)
set(PKG_USER-SMD OFF CACHE BOOL "" FORCE)
set(PKG_USER-SMTBQ OFF CACHE BOOL "" FORCE)
set(PKG_USER-SPH OFF CACHE BOOL "" FORCE)
set(PKG_USER-TALLY OFF CACHE BOOL "" FORCE)
set(PKG_USER-UEF OFF CACHE BOOL "" FORCE)
set(PKG_USER-VTK OFF CACHE BOOL "" FORCE)

22
cmake/presets/nolib.cmake Normal file
View File

@ -0,0 +1,22 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${PACKAGES_WITH_LIB})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
endforeach()

22
cmake/presets/std.cmake Normal file
View File

@ -0,0 +1,22 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${STANDARD_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()

View File

@ -0,0 +1,26 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${STANDARD_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()
foreach(PKG ${PACKAGES_WITH_LIB})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
endforeach()

22
cmake/presets/user.cmake Normal file
View File

@ -0,0 +1,22 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${USER_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -0,0 +1,40 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm,tikz}
\usetikzlibrary{automata,arrows,shapes,snakes}
\begin{document}
\begin{varwidth}{50in}
\begin{tikzpicture}
%Global
\node (v1) at (0,6.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{v} \leftarrow \bm{v}+L_v.\Delta t/2$ };
\node (s1) at (0,4.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{s} \leftarrow \bm{s}+L_s.\Delta t/2$ };
\node (r) at (0,3.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{r} \leftarrow \bm{r}+L_r.\Delta t$ };
\node (s2) at (0,1.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{s} \leftarrow \bm{s}+L_s.\Delta t/2$ };
\node (v2) at (0,0.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{v} \leftarrow \bm{v}+L_v.\Delta t/2$ };
\draw[line width=2pt, ->] (v1) -- (s1);
\draw[line width=2pt, ->] (s1) -- (r);
\draw[line width=2pt, ->] (r) -- (s2);
\draw[line width=2pt, ->] (s2) -- (v2);
%Spin
\node (s01) at (6,6.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_0 \leftarrow \bm{s}_0+L_{s_0}.\Delta t/4$ };
\node (sN1) at (6,4.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N-1}\leftarrow\bm{s}_{\rm N-1}+L_{s_{\rm N-1}}.\Delta t/4$};
\node (sN) at (6,3.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N} \leftarrow \bm{s}_{\rm N}+L_{s_{\rm N}}.\Delta t/2$ };
\node (sN2) at (6,1.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N-1}\leftarrow\bm{s}_{\rm N-1}+L_{s_{\rm N-1}}.\Delta t/4$};
\node (s02) at (6,0.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_0 \leftarrow \bm{s}_0+L_{s_0}.\Delta t/4$ };
\draw[line width=2pt,dashed, ->] (s01) -- (sN1);
\draw[line width=2pt, ->] (sN1) -- (sN);
\draw[line width=2pt, ->] (sN) -- (sN2);
\draw[line width=2pt,dashed, ->] (sN2) -- (s02);
%from Global to Spin
\draw[line width=2pt, dashed, ->] (s1) -- (s01.west);
\draw[line width=2pt, dashed, ->] (s1) -- (s02.west);
\end{tikzpicture}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -0,0 +1,14 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\frac{d \vec{s}_{i}}{dt} = \frac{1}{\left(1+\lambda^2 \right)} \left( \left(
\vec{\omega}_{i} +\vec{\eta} \right) \times \vec{s}_{i} + \lambda\, \vec{s}_{i}
\times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right) \right), \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -0,0 +1,11 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\bm{H}_{aniso} = -\sum_{{ i}=1}^{N} K_{an}(\bm{r}_{i})\, \left( \vec{s}_{i} \cdot \vec{n}_{i} \right)^2, \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -0,0 +1,11 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\bm{H}_{zeeman} = -\mu_{B}\mu_0\sum_{i=0}^{N}g_{i} \vec{s}_{i} \cdot \vec{H}_{ext} \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,10 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
s_S^i=-2\pi\rho k_B \int\limits_0^{r_m} \left [ g(r) \ln g(r) - g(r) + 1 \right ] r^2 dr ,
$$
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@ -0,0 +1,10 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
g_m^i(r) = \frac{1}{4 \pi \rho r^2} \sum\limits_{j} \frac{1}{\sqrt{2 \pi \sigma^2}} e^{-(r-r_{ij})^2/(2\sigma^2)} ,
$$
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,10 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
\bar{s}_S^i = \frac{\sum_j s_S^j + s_S^i}{N + 1} ,
$$
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -0,0 +1,16 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\bm{H}_{dm} = -\sum_{{ i,j}=1,i\neq j}^{N}
\left( \vec{e}_{ij} \times \vec{D} \right)
\cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right),
\nonumber
\end{equation}
\end{varwidth}
\end{document}
\vec{D}\left(r_{ij}\right)
{\rm ~and~} \vec{D}\left(r_{ij}\right) = \vec{e}_{ij} \times \vec{D}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,14 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{F}^{i} = \sum_{j}^{Neighbor} \frac{\partial {J} \left(r_{ij} \right)}{
\partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{r}_{ij}
~~{\rm and}~~ \vec{\omega}^{i} = \frac{1}{\hbar} \sum_{j}^{Neighbor} {J}
\left(r_{ij} \right)\,\vec{s}_{j} \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,13 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
{J}\left( r_{ij} \right) = 4 a \left( \frac{r_{ij}}{d} \right)^2 \left( 1 - b \left( \frac{r_{ij}}{d} \right)^2 \right) e^{-\left( \frac{r_{ij}}{d}
\right)^2 }\Theta (R_c - r_{ij}) \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -0,0 +1,11 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\bm{H}_{exchange} ~=~ -\sum_{i,j,i\neq j}^{N} {J} \left(r_{ij} \right)\, \vec{s}_{i}\cdot \vec{s}_{j} \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,13 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{F}^{i} = -\sum_{j}^{Neighbor} \left( \vec{s}_{i}\times \vec{s}_{j} \right)
\times \vec{E} ~~{\rm and}~~ \vec{\omega}^{i} = -\frac{1}{\hbar}
\sum_{j}^{Neighbor} \vec{s}_j \times \left(\vec{E}\times r_{ij} \right),\nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,12 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times\vec{D}(r_{ij}) ~~{\rm and}~~
\vec{F}_i = -\sum_{j}^{Neighb} \frac{\partial D(r_{ij})}{\partial r_{ij}} \left(\vec{s}_{i}\times \vec{s}_{j} \right) \cdot \vec{r}_{ij}, \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -0,0 +1,13 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{eqnarray}
g_1(r_{ij}) &=& g(r_{ij}) + \frac{12}{35} q(r_{ij}) \nonumber \\
q_1(r_{ij}) &=& \frac{9}{5} q(r_{ij}) \nonumber \\
q_2(r_{ij}) &=& - \frac{2}{5} q(r_{ij}) \nonumber
\end{eqnarray}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,16 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\mathcal{H}_{N\acute{e}el}=-\sum_{{ i,j=1,i\neq j}}^N g_1(r_{ij})\left(({\bm e}_{ij}\cdot {\bm s}_{i})({\bm e}_{ij}
\cdot {\bm s}_{j})-\frac{{\bm s}_{i}\cdot{\bm s}_{j}}{3} \right)
+q_1(r_{ij})\left( ({\bm e}_{ij}\cdot {\bm s}_{i})^2 -\frac{{\bm s}_{i}\cdot{\bm s}_{j}}{3}\right)
\left( ({\bm e}_{ij}\cdot {\bm s}_{i})^2 -\frac{{\bm s}_{i}\cdot{\bm s}_{j}}{3} \right)
+ q_2(r_{ij}) \Big( ({\bm e}_{ij}\cdot {\bm s}_{i}) ({\bm e}_{ij}\cdot {\bm s}_{j})^3 + ({\bm e}_{ij}\cdot
{\bm s}_{j}) ({\bm e}_{ij}\cdot {\bm s}_{i})^3\Big) \nonumber
\end{equation}
\end{varwidth}
\end{document}

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="22 Jun 2018 version">
<META NAME="docnumber" CONTENT="29 Jun 2018 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
</HEAD>
@ -19,7 +19,7 @@
:line
LAMMPS Documentation :c,h1
22 Jun 2018 version :c,h2
29 Jun 2018 version :c,h2
Version info: :h3

View File

@ -594,6 +594,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"indent"_fix_indent.html,
"latte"_fix_latte.html,
"langevin (k)"_fix_langevin.html,
"langevin/spin"_fix_langevin_spin.hmtl,
"lineforce"_fix_lineforce.html,
"momentum (k)"_fix_momentum.html,
"move"_fix_move.html,
@ -617,6 +618,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"nve/line"_fix_nve_line.html,
"nve/noforce"_fix_nve_noforce.html,
"nve/sphere (o)"_fix_nve_sphere.html,
"nve/spin"_fix_nve_spin.html,
"nve/tri"_fix_nve_tri.html,
"nvt (iko)"_fix_nh.html,
"nvt/asphere (o)"_fix_nvt_asphere.html,
@ -629,6 +631,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"planeforce"_fix_planeforce.html,
"poems"_fix_poems.html,
"pour"_fix_pour.html,
"precession/spin"_fix_precession_spin.html,
"press/berendsen"_fix_press_berendsen.html,
"print"_fix_print.html,
"property/atom (k)"_fix_property_atom.html,
@ -835,6 +838,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"sna/atom"_compute_sna_atom.html,
"snad/atom"_compute_sna_atom.html,
"snav/atom"_compute_sna_atom.html,
"spin"_compute_spin.html,
"stress/atom"_compute_stress_atom.html,
"temp (k)"_compute_temp.html,
"temp/asphere"_compute_temp_asphere.html,
@ -863,6 +867,7 @@ package"_Section_start.html#start_3.
"dpd"_compute_dpd.html,
"dpd/atom"_compute_dpd_atom.html,
"edpd/temp/atom"_compute_edpd_temp_atom.html,
"entropy/atom"_compute_entropy_atom.html,
"fep"_compute_fep.html,
"force/tally"_compute_tally.html,
"heat/flux/tally"_compute_tally.html,
@ -1028,6 +1033,10 @@ KOKKOS, o = USER-OMP, t = OPT.
"snap (k)"_pair_snap.html,
"soft (go)"_pair_soft.html,
"sw (giko)"_pair_sw.html,
"spin/dmi"_pair_spin_dmi.html,
"spin/exchange"_pair_spin_exchange.html,
"spin/magelec"_pair_spin_magelec.html,
"spin/neel"_pair_spin_neel.html,
"table (gko)"_pair_table.html,
"tersoff (giko)"_pair_tersoff.html,
"tersoff/mod (gko)"_pair_tersoff_mod.html,

View File

@ -36,7 +36,8 @@ This section describes how to perform common tasks using LAMMPS.
6.24 "Setting parameters for the kspace_style pppm/disp command"_#howto_24
6.25 "Polarizable models"_#howto_25
6.26 "Adiabatic core/shell model"_#howto_26
6.27 "Drude induced dipoles"_#howto_27 :all(b)
6.27 "Drude induced dipoles"_#howto_27
6.28 "Magnetic spins"_#howto_28 :all(b)
The example input scripts included in the LAMMPS distribution and
highlighted in "Section 7"_Section_example.html also show how to
@ -2906,6 +2907,54 @@ with a Coulomb pair style. It may be useful to use {coul/long/cs} or
similar from the CORESHELL package if the core and Drude particle come
too close, which can cause numerical issues.
:line
6.28 Magnetic spins :link(howto_28),h4
Classical magnetic spin simualtions can be performed via the SPIN
package. The algrorithmic and implementation details are described in
"Tranchida"_#Tranchida7.
The model representents the simulation of atomic magnetic spins
coupled to lattice vibrations. The dynamics of those magnetic spins
can be used to simulate a broad range a phenomena related to
magneto-elasticity, or or to study the influence of defects on the
magnetic properties of materials.
The magnetic spins are interacting with each others and with the
lattice via pair interactions. Typically, the magnetic exchange
interaction can be defined using the
"pair/spin/exchange"_pair_spin_exchange.html command. This exchange
applies a magnetic torque to a given spin, considering the orientation
of its neighboring spins and their relative distances.
It also applies a force on the atoms as a function of the spin
orientations and their associated inter-atomic distances.
The command "fix precession/spin"_fix_precession_spin.html allows to
apply a constant magnetic torque on all the spins in the system. This
torque can be an external magnetic field (Zeeman interaction), or an
uniaxial magnetic anisotropy.
A Langevin thermostat can be applied to those magnetic spins using
"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat
can be coupled to another Langevin thermostat applied to the atoms
using "fix langevin"_fix_langevin.html in order to simulate
thermostated spin-lattice system.
The magnetic Gilbert damping can also be applied using "fix
langevin/spin"_fix_langevin_spin.html. It allows to either dissipate
the thermal energy of the Langevin thermostat, or to perform a
relaxation of the magnetic configuration toward an equilibrium state.
All the computed magnetic properties can be outputed by two main
commands. The first one is "compute spin"_compute_spin.html, that
enables to evaluate magnetic averaged quantities, such as the total
magnetization of the system along x, y, or z, the spin temperature, or
the magnetic energy. The second command is "compute
property/atom"_compute_property_atom.html. It enables to output all the
per atom magnetic quantities. Typically, the orientation of a given
magnetic spin, or the magnetic force acting on this spin.
:line
:line
@ -2957,3 +3006,7 @@ Phys, 79, 926 (1983).
:link(howto-Lamoureux)
[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
:link(Tranchida7)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).

View File

@ -114,6 +114,7 @@ Package, Description, Doc page, Example, Library
"RIGID"_#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, -
"SHOCK"_#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, -
"SNAP"_#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, -
"SPIN"_#SPIN, magnetic atomic spin dynamics, "Section 6.6.28"_Section_howto.html#howto_28, SPIN, -
"SRD"_#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, -
"VORONOI"_#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l)
@ -1415,6 +1416,38 @@ examples/snap :ul
:line
SPIN package :link(SPIN),h4
[Contents:]
Model atomic magnetic spins classically, coupled to atoms moving in
the usual manner via MD. Various pair, fix, and compute styles.
[Author:] Julian Tranchida (Sandia).
[Install or un-install:]
make yes-spin
make machine :pre
make no-spin
make machine :pre
[Supporting info:]
src/SPIN: filenames -> commands
"Section 6.28"_Section_howto.html#howto_28
"pair_style spin/dmi"_pair_spin_dmi.html
"pair_style spin/exchange"_pair_spin_exchange.html
"pair_style spin/magelec"_pair_spin_magelec.html
"pair_style spin/neel"_pair_spin_neel.html
"fix nve/spin"_fix_nve_spin.html
"fix precession/spin"_fix_precession_spin.html
"compute spin"_compute_spin.html
examples/SPIN :ul
:line
SRD package :link(SRD),h4
[Contents:]

View File

@ -15,7 +15,7 @@ atom_style style args :pre
style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \
{dpd} or {edpd} or {mdpd} or {tdpd} or {electron} or {ellipsoid} or \
{full} or {line} or {meso} or {molecular} or {peri} or {smd} or \
{sphere} or {tri} or {template} or {hybrid} :ulb,l
{sphere} or {spin} or {tri} or {template} or {hybrid} :ulb,l
args = none for any style except the following
{body} args = bstyle bstyle-args
bstyle = style of body particles
@ -38,6 +38,7 @@ atom_style full
atom_style body nparticle 2 10
atom_style hybrid charge bond
atom_style hybrid charge body nparticle 2 5
atom_style spin
atom_style template myMols
atom_style tdpd 2 :pre
@ -89,6 +90,7 @@ quantities.
{peri} | mass, volume | mesocopic Peridynamic models |
{smd} | volume, kernel diameter, contact radius, mass | solid and fluid SPH particles |
{sphere} | diameter, mass, angular velocity | granular models |
{spin} | magnetic moment | system with magnetic particles |
{template} | template index, template atom | small molecules with fixed topology |
{tri} | corner points, angular momentum | rigid bodies |
{wavepacket} | charge, spin, eradius, etag, cs_re, cs_im | AWPMD :tb(c=3,s=|)
@ -175,6 +177,9 @@ used for calculating the field variables (e.g. stress and deformation)
and a contact radius for calculating repulsive forces which prevent
individual physical bodies from penetrating each other.
For the {spin} style, a magnetic spin is associated to each atom.
Those spins have a norm (their magnetic moment) and a direction.
The {wavepacket} style is similar to {electron}, but the electrons may
consist of several Gaussian wave packets, summed up with coefficients
cs= (cs_re,cs_im). Each of the wave packets is treated as a separate
@ -312,6 +317,8 @@ The {meso} style is part of the USER-SPH package for smoothed particle
hydrodynamics (SPH). See "this PDF
guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS.
The {spin} style is part of the SPIN package.
The {wavepacket} style is part of the USER-AWPMD package for the
"antisymmetrized wave packet MD method"_pair_awpmd.html.

View File

@ -0,0 +1,130 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
compute entropy/atom command :h3
[Syntax:]
compute ID group-ID entropy/atom sigma cutoff keyword value ... :pre
ID, group-ID are documented in "compute"_compute.html command :l
entropy/atom = style name of this compute command :l
sigma = width of gaussians used in the g(r) smoothening :l
cutoff = cutoff for the g(r) calculation :l
one or more keyword/value pairs may be appended :l
keyword = {avg} or {local}
{avg} values = {yes} or {no} cutoff2
{yes} = average the pair entropy over neighbors
{no} = do not average the pair entropy over neighbors
cutoff2 = cutoff for the averaging over neighbors
{local} values = {yes} or {no} = use the local density around each atom to normalize the g(r) :pre
:ule
[Examples:]
compute 1 all entropy/atom 0.25 5.
compute 1 all entropy/atom 0.25 5. avg yes 5.
compute 1 all entropy/atom 0.125 7.3 avg yes 5.1 local yes :pre
[Description:]
Define a computation that calculates the pair entropy fingerprint for
each atom in the group. The fingerprint is useful to distinguish between
ordered and disordered environments, for instance liquid and solid-like
environments, or glassy and crystalline-like environments. Some
applications could be the identification of grain boundaries, a
melt-solid interface, or a solid cluster emerging from the melt.
The advantage of this parameter over others is that no a priori
information about the solid structure is required.
This parameter for atom i is computed using the following formula from
"(Piaggi)"_#Piaggi and "(Nettleton)"_#Nettleton ,
:c,image(Eqs/pair_entropy.jpg)
where r is a distance, g(r) is the radial distribution function of atom
i and rho is the density of the system. The g(r) computed for each
atom i can be noisy and therefore it is smoothened using:
:c,image(Eqs/pair_entropy2.jpg)
where the sum in j goes through the neighbors of atom i, and sigma is a
parameter to control the smoothening.
The input parameters are {sigma} the smoothening parameter, and the
{cutoff} for the calculation of g(r).
If the keyword {avg} has the setting {yes}, then this compute also
averages the parameter over the neighbors of atom i according to:
:c,image(Eqs/pair_entropy3.jpg)
where the sum j goes over the neighbors of atom i and N is the number
of neighbors. This procedure provides a sharper distinction between
order and disorder environments. In this case the input parameter
{cutoff2} is the cutoff for the averaging over the neighbors and
must also be specified.
If the {avg yes} option is used, the effective cutoff of the neighbor
list should be {cutoff}+{cutoff2} and therefore it might be necessary
to increase the skin of the neighbor list with:
neighbor skin bin :pre
See "neighbor"_neighbor.html for details.
If the {local yes} option is used, the g(r) is normalized by the
local density around each atom, that is to say the density around each
atom is the number of neighbors within the neighbor list cutoff divided
by the corresponding volume. This option can be useful when dealing with
inhomogeneus systems such as those that have surfaces.
Here are typical input parameters for fcc aluminum (lattice
constant 4.05 Angstroms),
compute 1 all entropy/atom 0.25 5.7 avg yes 3.7 :pre
and for bcc sodium (lattice constant 4.23 Angstroms),
compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 :pre
[Output info:]
By default, this compute calculates the pair entropy value for each
atom as a per-atom vector, which can be accessed by any command that
uses per-atom values from a compute as input. See "Section
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
options.
The pair entropy values have units of the Boltzmann constant. They are
always negative, and lower values (lower entropy) correspond to more
ordered environments.
[Restrictions:]
This compute is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]
"compute cna/atom"_compute_cna_atom.html
"compute centro/atom"_compute_centro_atom.html
[Default:]
The default values for the optional keywords are avg = no and local = no.
:line
:link(Piaggi)
[(Piaggi)] Piaggi and Parrinello, J Chem Phys, 147, 114112 (2017).
:link(Nettleton)
[(Nettleton)] Nettleton and Green, J Chem Phys, 29, 6 (1958).

View File

@ -19,6 +19,7 @@ input = one or more atom attributes :l
x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
vx, vy, vz, fx, fy, fz,
q, mux, muy, muz, mu,
sp, spx, spy, spz, fmx, fmy, fmz,
radius, diameter, omegax, omegay, omegaz,
angmomx, angmomy, angmomz,
shapex,shapey, shapez,
@ -46,6 +47,9 @@ input = one or more atom attributes :l
q = atom charge
mux,muy,muz = orientation of dipole moment of atom
mu = magnitude of dipole moment of atom
sp = atomic magnetic spin moment
spx, spy, spz = direction of the atomic magnetic spin
fmx, fmy, fmz = magnetic force
radius,diameter = radius,diameter of spherical particle
omegax,omegay,omegaz = angular velocity of spherical particle
angmomx,angmomy,angmomz = angular momentum of aspherical particle
@ -82,7 +86,8 @@ input = one or more atom attributes :l
compute 1 all property/atom xs vx fx mux
compute 2 all property/atom type
compute 1 all property/atom ix iy iz :pre
compute 1 all property/atom ix iy iz
compute 3 all property/atom sp spx spy spz :pre
[Description:]
@ -152,6 +157,10 @@ The vector or array values will be in whatever "units"_units.html the
corresponding attribute is in, e.g. velocity units for vx, charge
units for q, etc.
For the spin quantities, sp is in the units of the Bohr magneton, spx,
spy, and spz are adimentional quantities, and fmx, fmy and fmz are
given in rad.THz.
[Restrictions:] none
[Related commands:]

78
doc/src/compute_spin.txt Normal file
View File

@ -0,0 +1,78 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
compute spin command :h3
[Syntax:]
compute ID group-ID compute/spin :pre
ID, group-ID are documented in "compute"_compute.html command
compute/spin = style name of this compute command :ul
[Examples:]
compute out_mag all compute/spin :pre
[Description:]
Define a computation that calculates magnetic quantities for a system
of atoms having spins.
This compute calculates 6 magnetic quantities.
The three first quantities are the x,y and z coordinates of the total magnetization.
The fourth quantity is the norm of the total magnetization.
The fifth quantity is the magnetic energy.
The sixth one is referred to as the spin temperature, according
to the work of "(Nurdin)"_#Nurdin1.
The simplest way to output the results of the compute spin calculation
is to define some of the quantities as variables, and to use the thermo and
thermo_style commands, for example:
compute out_mag all compute/spin :pre
variable mag_z equal c_out_mag\[3\]
variable mag_norm equal c_out_mag\[4\]
variable temp_mag equal c_out_mag\[6\] :pre
thermo 10
thermo_style custom step v_mag_z v_mag_norm v_temp_mag :pre
This serie of commands evaluates the total magnetization along z, the norm of
the total magnetization, and the magnetic temperature. Three variables are
assigned to those quantities. The thermo and thermo_style commands print them
every 10 timesteps.
[Output info:]
The array values are "intensive". The array values will be in
metal units ("units"_units.html).
[Restrictions:]
The {spin} compute is part of the SPIN package.
This compute is only enabled if LAMMPS was built with this package.
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
The atom_style has to be "spin" for this compute to be valid.
[Related commands:] none
[Default:] none
:line
:link(Nurdin1)
[(Nurdin)] Nurdin and Schotte Phys Rev E, 61(4), 3579 (2000)

View File

@ -31,6 +31,7 @@ Computes :h1
compute_dpd
compute_dpd_atom
compute_edpd_temp_atom
compute_entropy_atom
compute_erotate_asphere
compute_erotate_rigid
compute_erotate_sphere
@ -95,6 +96,7 @@ Computes :h1
compute_smd_ulsph_stress
compute_smd_vol
compute_sna_atom
compute_spin
compute_stress_atom
compute_tally
compute_tdpd_cc_atom

View File

@ -486,7 +486,7 @@ to respond to the call from the dump command, and update the
appropriate reference positions. This is done be defining an
"atom-style variable"_variable.html, {check} in this example, which
calculates a Boolean value (0 or 1) for each atom, based on the same
criterion used by dump_modify thresh.
criterion used by dump_modify thresh.
See the "compute displace/atom"_compute_displace_atom.html command for
more details, including an example of how to produce output that
@ -600,13 +600,13 @@ included.)
region foo sphere 10 20 10 15
variable inregion atom rmask(foo)
dump_modify ... thresh v_inregion |^ LAST
dump_modify ... thresh v_inregion |^ LAST :pre
This will dump atoms which crossed the boundary of the spherical
region since the last dump.
variable charge atom "(q > 0.5) || (q < -0.5)"
dump_modify ... thresh v_charge |^ LAST
dump_modify ... thresh v_charge |^ LAST :pre
This will dump atoms whose charge has changed from an absolute value
less than 1/2 to greater than 1/2 (or vice versa) since the last dump.

View File

@ -0,0 +1,102 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix langevin/spin command :h3
[Syntax:]
fix ID group-ID langevin/spin T Tdamp seed :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
langevin/spin = style name of this fix command :l
T = desired temperature of the bath (temperature units, K in metal units) :l
Tdamp = transverse magnetic damping parameter (adim) :l
seed = random number seed to use for white noise (positive integer) :l
:ule
[Examples:]
fix 2 all langevin/spin 300.0 0.01 21 :pre
[Description:]
Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 to the
magnetic spins associated to the atoms.
Used with "fix nve/spin"_fix_nve_spin.html, this command performs
Brownian dynamics (BD).
A random torque and a transverse dissipation are applied to each spin i according to
the following stochastic differential equation:
:c,image(Eqs/fix_langevin_spin_sLLG.jpg)
with lambda the transverse damping, and eta a random verctor.
This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG)
equation.
The components of eta are drawn from a Gaussian probability law. Their amplitude
is defined as a proportion of the temperature of the external thermostat T (in K
in metal units).
More details about this implementation are reported in "(Tranchida)"_#Tranchida2.
Note: due to the form of the sLLG equation, this fix has to be defined just
before the nve/spin fix (and after all other magnetic fixes).
As an example:
fix 1 all precession/spin zeeman 0.01 0.0 0.0 1.0
fix 2 all langevin/spin 300.0 0.01 21
fix 3 all nve/spin lattice yes :pre
is correct, but defining a force/spin command after the langevin/spin command
would give an error message.
Note: The random # {seed} must be a positive integer. A Marsaglia random
number generator is used. Each processor uses the input seed to
generate its own unique seed and its own stream of random numbers.
Thus the dynamics of the system will not be identical on two runs on
different numbers of processors.
:line
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html. Because the state of the random number generator
is not saved in restart files, this means you cannot do "exact"
restarts with this fix, where the simulation continues on the same as
if no restart had taken place. However, in a statistical sense, a
restarted simulation should produce the same behavior.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
The {langevin/spin} fix is part of the SPIN package.
This style is only enabled if LAMMPS was built with this package.
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
The numerical integration has to be performed with {fix nve/spin}
when {fix langevin/spin} is enabled.
This fix has to be the last defined magnetic fix before the time
integration fix (e.g. {fix nve/spin}).
[Related commands:]
"fix nve/spin"_fix_nve_spin.html, "fix precession/spin"_fix_precession_spin.html
[Default:] none
:line
:link(Mayergoyz1)
[(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009)
:link(Tranchida2)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).

76
doc/src/fix_nve_spin.txt Normal file
View File

@ -0,0 +1,76 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix nve/spin command :h3
[Syntax:]
fix ID group-ID nve/spin keyword values :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
nve/spin = style name of this fix command :l
keyword = {lattice} :l
{lattice} value = {no} or {yes} :pre
:ule
[Examples:]
fix 3 all nve/spin lattice yes
fix 1 all nve/spin lattice no :pre
[Description:]
Perform a symplectic integration for the spin or spin-lattice system.
The {lattice} keyword defines if the spins are integrated on a lattice
of fixed atoms (lattice = no), or if atoms are moving (lattice = yes).
By default (lattice = yes), a spin-lattice integration is performed.
The {nve/spin} fix applies a Suzuki-Trotter decomposition to
the equations of motion of the spin lattice system, following the scheme:
:c,image(Eqs/fix_integration_spin_stdecomposition.jpg)
according to the implementation reported in "(Omelyan)"_#Omelyan1.
A sectoring method enables this scheme for parallel calculations.
The implementation of this sectoring algorithm is reported
in "(Tranchida)"_#Tranchida1.
:line
[Restrictions:]
This fix style can only be used if LAMMPS was built with the
SPIN package. See the "Making LAMMPS"_Section_start.html#start_3
section for more info on packages.
To use the spin algorithm, it is necessary to define a map with
the atom_modify command. Typically, by adding the command:
atom_modify map array :pre
before you create the simulation box. Note that the keyword "hash"
instead of "array" is also valid.
[Related commands:]
"atom_style spin"_atom_style.html, "fix nve"_fix_nve.html
[Default:] none
:line
:link(Omelyan1)
[(Omelyan)] Omelyan, Mryglod, and Folk. Phys. Rev. Lett.
86(5), 898. (2001).
:link(Tranchida1)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).

View File

@ -0,0 +1,87 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
fix precession/spin command :h3
[Syntax:]
fix ID group precession/spin style args :pre
ID, group are documented in "fix"_fix.html command :ulb,l
precession/spin = style name of this fix command :l
style = {zeeman} or {anisotropy} :l
{zeeman} args = H x y z
H = intensity of the magnetic field (in Tesla)
x y z = vector direction of the field
{anisotropy} args = K x y z
K = intensity of the magnetic anisotropy (in eV)
x y z = vector direction of the anisotropy :pre
:ule
[Examples:]
fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0
fix 1 all precession/spin anisotropy 0.001 0.0 0.0 1.0
fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.001 0.0 0.0 1.0 :pre
[Description:]
Impose a force torque to each magnetic spin in the group.
Style {zeeman} is used for the simulation of the interaction
between the magnetic spins in the defined group and an external
magnetic field:
:c,image(Eqs/force_spin_zeeman.jpg)
with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T
in metal units).
Style {anisotropy} is used to simulate an easy axis or an easy plane
for the magnetic spins in the defined group:
:c,image(Eqs/force_spin_aniso.jpg)
with n defining the direction of the anisotropy, and K (in eV) its intensity.
If K>0, an easy axis is defined, and if K<0, an easy plane is defined.
In both cases, the choice of (x y z) imposes the vector direction for the force.
Only the direction of the vector is important; it's length is ignored.
Both styles can be combined within one single command line.
:line
[Restart, fix_modify, output, run start/stop, minimize info:]
By default, the energy associated to this fix is not added to the potential
energy of the system.
The "fix_modify"_fix_modify.html {energy} option is supported by this fix
to add this magnetic potential energy to the potential energy of the system,
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix_modify 1 energy yes :pre
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#howto_15.
No information about this fix is written to "binary restart
files"_restart.html.
[Restrictions:]
The {precession/spin} style is part of the SPIN package.
This style is only enabled if LAMMPS was built with this package, and
if the atom_style "spin" was declared.
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]
"atom_style spin"_atom_style.html
[Default:] none

View File

@ -241,19 +241,17 @@ molecule ID = 0) surrounding rigid bodies, this may not be what you
want. Thus you should be careful to use a fix group that only
includes atoms you want to be part of rigid bodies.
Bodystyle {custom} is similar to bodystyle {molecule}, however some
custom properties are used to group atoms into rigid bodies. The
special case for molecule/body ID = 0 is not available. Possible
custom properties are an integer property associated with atoms through
"fix property/atom"_fix_property_atom.html or an atom style variable
or an atomfile style variable. For the latter two, the variable value
will be rounded to an integer and then rigid bodies defined from
those values.
For bodystyle {group}, each of the listed groups is treated as a
separate rigid body. Only atoms that are also in the fix group are
included in each rigid body. This option is only allowed for the
{rigid} styles.
Bodystyle {custom} is similar to bodystyle {molecule} except that it
is more flexible in using other per-atom properties to define the sets
of atoms that form rigid bodies. An integer vector defined by the
"fix property/atom"_fix_property_atom.txt command can be used. Or an
"atom-style or atomfile-style variable"_variable.html can be used; the
floating-point value produced by the variable is rounded to an
integer. As with bondstyle {molecule}, each set of atoms in the fix
groups with the same integer value is treated as a different rigid
body. Since fix property/atom vectors and atom-style variables
produce values for all atoms, you should be careful to use a fix group
that only includes atoms you want to be part of rigid bodies.
NOTE: To compute the initial center-of-mass position and other
properties of each rigid body, the image flags for each atom in the

View File

@ -61,6 +61,7 @@ Fixes :h1
fix_langevin
fix_langevin_drude
fix_langevin_eff
fix_langevin_spin
fix_latte
fix_lb_fluid
fix_lb_momentum
@ -99,6 +100,7 @@ Fixes :h1
fix_nve_manifold_rattle
fix_nve_noforce
fix_nve_sphere
fix_nve_spin
fix_nve_tri
fix_nvk
fix_nvt_asphere
@ -114,6 +116,7 @@ Fixes :h1
fix_planeforce
fix_poems
fix_pour
fix_precession_spin
fix_press_berendsen
fix_print
fix_property_atom

View File

@ -176,6 +176,7 @@ fix_ipi.html
fix_langevin.html
fix_langevin_drude.html
fix_langevin_eff.html
fix_langevin_spin.html
fix_latte.html
fix_lb_fluid.html
fix_lb_momentum.html
@ -213,6 +214,7 @@ fix_nve_line.html
fix_nve_manifold_rattle.html
fix_nve_noforce.html
fix_nve_sphere.html
fix_nve_spin.html
fix_nve_tri.html
fix_nvk.html
fix_nvt_asphere.html
@ -229,6 +231,7 @@ fix_pimd.html
fix_planeforce.html
fix_poems.html
fix_pour.html
fix_precession_spin.html
fix_press_berendsen.html
fix_print.html
fix_property_atom.html
@ -317,6 +320,7 @@ compute_displace_atom.html
compute_dpd.html
compute_dpd_atom.html
compute_edpd_temp_atom.html
compute_entropy_atom.html
compute_erotate_asphere.html
compute_erotate_rigid.html
compute_erotate_sphere.html
@ -381,6 +385,7 @@ compute_smd_ulsph_strain_rate.html
compute_smd_ulsph_stress.html
compute_smd_vol.html
compute_sna_atom.html
compute_spin.html
compute_stress_atom.html
compute_tally.html
compute_tdpd_cc_atom.html
@ -506,6 +511,10 @@ pair_sph_lj.html
pair_sph_rhosum.html
pair_sph_taitwater.html
pair_sph_taitwater_morris.html
pair_spin_dmi.html
pair_spin_exchange.html
pair_spin_magelec.html
pair_spin_neel.html
pair_srp.html
pair_sw.html
pair_table.html

View File

@ -23,15 +23,15 @@ pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C :pre
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
pair_coeff * * rebo CH.airebo NULL NULL C
pair_coeff * * tersoff BNC.tersoff B N NULL
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C :pre
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C
pair_coeff 1 1 coul/shield 0.70
pair_coeff 1 2 coul/shield 0.69498201415576216335
pair_coeff 2 2 coul/shield 0.69
pair_coeff 2 2 coul/shield 0.69 :pre
[Description:]
The {ilp/graphene/hbn} style computes the registry-dependent interlayer
potential (RDILP) potential as described in "(Leven)"_#Leven and
potential (ILP) potential as described in "(Leven)"_#Leven and
"(Maaravi)"_#Maaravi2. The normals are calculated in the way as described
in "(Kolmogorov)"_#Kolmogorov2.
@ -61,13 +61,13 @@ NOTE: The parameters presented in the parameter file (e.g. BNCH.ILP),
are fitted with taper function by setting the cutoff equal to 16.0
Angstrom. Using different cutoff or taper function should be careful.
NOTE: Two parameter files (BNCH.ILP and BNCH-old.ILP) are presented,
BNCH-old.ILP contains the parameters published in "(Leven)"_#Leven and
"(Maaravi)"_#Maaravi2, which is only suitable for long-range
interaction. The parameters in BNCH.ILP provides a good description both
for short- and long-range interaction. This is useful for simulations in
the high pressure (small interlayer distances) regime. The comparison of
two sets of parameters can be found in "(Ouyang)"_#Ouyang.
NOTE: Two new sets of parameters of ILP for two-dimensional hexagonal Materials
are presented in "(Ouyang)"_#Ouyang1. These parameters provide a good description
in both short- and long-range interaction regime, while the old ILP parameters
published in "(Leven)"_#Leven and "(Maaravi)"_#Maaravi2 are only suitable for
long-range interaction regime. This feature is essential for simulations in
high-pressure regime (i.e., the interlayer distance smaller than the equilibrium distance).
The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang1.
This potential must be used in combination with hybrid/overlay.
Other interactions can be set to zero using pair_style {none}.
@ -101,12 +101,12 @@ units, if your simulation does not use {metal} units.
[Related commands:]
"pair_coeff"_pair_coeff.html
"pair_none"_pair_none.html
"pair_style hybrid/overlay"_pair_hybrid.html
"pair_style pair_kolmogorov_crespi_z"_pair_kolmogorov_crespi_z.html
"pair_style pair_kolmogorov_crespi_full"_pair_kolmogorov_crespi_full.html
"pair_style pair_coul_shield"_pair_coul_shield.html
"pair_coeff"_pair_coeff.html,
"pair_none"_pair_none.html,
"pair_style hybrid/overlay"_pair_hybrid.html,
"pair_style pair_kolmogorov_crespi_z"_pair_kolmogorov_crespi_z.html,
"pair_style pair_kolmogorov_crespi_full"_pair_kolmogorov_crespi_full.html,
"pair_style pair_coul_shield"_pair_coul_shield.html.
[Default:] tap_flag = 1
@ -121,5 +121,5 @@ units, if your simulation does not use {metal} units.
:link(Kolmogorov2)
[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
:link(Ouyang)
[(Ouyang)] W. Ouyang, D. Mandelli, O. Hod, M. Urbakh, In preparation.
:link(Ouyang1)
[(Ouyang)] W. Ouyang, D. Mandelli, M. Urbakh, O. Hod, arXiv:1806.09555 (2018).

View File

@ -27,7 +27,7 @@ pair_coeff * * kolmogorov/crespi/full CC.KC C C :pre
[Description:]
The {kolmogorov/crespi/full} style computes the Kolmogorov-Crespi
The {kolmogorov/crespi/full} style computes the Kolmogorov-Crespi (KC)
interaction potential as described in "(Kolmogorov)"_#Kolmogorov1.
No simplification is made,
@ -51,6 +51,15 @@ and {rcut} are included in the parameter file. {S} is designed to
facilitate scaling of energies. {rcut} is designed to build the neighbor
list for calculating the normals for each atom pair.
NOTE: A new set of parameters of KC potential for hydrocarbons (CH.KC)
is presented in "(Ouyang)"_#Ouyang2. The parameters in CH.KC provides
a good description in both short- and long-range interaction regime,
while the original parameters (CC.KC) published in "(Kolmogorov)"_#Kolmogorov1
are only suitable for long-range interaction regime.
This feature is essential for simulations in high-pressure regime
(i.e., the interlayer distance smaller than the equilibrium distance).
The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang2.
This potential must be used in combination with hybrid/overlay.
Other interactions can be set to zero using pair_style {none}.
@ -83,11 +92,11 @@ units.
[Related commands:]
"pair_coeff"_pair_coeff.html
"pair_none"_pair_none.html
"pair_style hybrid/overlay"_pair_hybrid.html
"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html
"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html
"pair_coeff"_pair_coeff.html,
"pair_none"_pair_none.html,
"pair_style hybrid/overlay"_pair_hybrid.html,
"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html.
[Default:] tap_flag = 0
@ -95,3 +104,6 @@ units.
:link(Kolmogorov1)
[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
:link(Ouyang2)
[(Ouyang)] W. Ouyang, D. Mandelli, M. Urbakh, O. Hod, arXiv:1806.09555 (2018).

66
doc/src/pair_spin_dmi.txt Normal file
View File

@ -0,0 +1,66 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
pair_style spin/dmi command :h3
[Syntax:]
pair_style spin/dmi cutoff :pre
cutoff = global cutoff pair (distance in metal units) :ulb,l
:ule
[Examples:]
pair_style spin/dmi 4.0
pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0
pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre
[Description:]
Style {spin/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction
between pairs of magnetic spins:
:c,image(Eqs/pair_spin_dmi_interaction.jpg)
where si and sj are two neighboring magnetic spins of two particles,
eij = (ri - rj)/|ri-rj| is the normalized separation vector between the
two particles, and D is the DM vector defining the intensity and the
sign of the interaction.
Examples and more explanations about this interaction and its parametrization are
reported in "(Tranchida)"_#Tranchida5.
From this DM interaction, each spin i will be submitted to a magnetic torque
omega and its associated atom to a force F (for spin-lattice calculations only).
More details about the derivation of these torques/forces are reported in
"(Tranchida)"_#Tranchida5.
:line
[Restrictions:]
All the {pair/spin} styles are part of the SPIN package.
These styles are only enabled if LAMMPS was built with this package, and
if the atom_style "spin" was declared.
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]
"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html,
"pair_eam"_pair_eam.html,
[Default:] none
:line
:link(Tranchida5)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).

View File

@ -0,0 +1,82 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
pair_style spin/exchange command :h3
[Syntax:]
pair_style spin/exchange cutoff :pre
cutoff = global cutoff pair (distance in metal units) :ulb,l
:ule
[Examples:]
pair_style spin/exchange 4.0
pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885
pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre
[Description:]
Style {spin/exchange} computes the exchange interaction between
pairs of magnetic spins:
:c,image(Eqs/pair_spin_exchange_interaction.jpg)
where si and sj are two neighboring magnetic spins of two particles,
rij = ri - rj is the inter-atomic distance between the two particles,
and J(rij) is a function defining the intensity and the sign of the exchange
interaction.
This function is defined as:
:c,image(Eqs/pair_spin_exchange_function.jpg)
where a, b and d are the three constant coefficients defined in the associated
"pair_coeff" command.
The coefficients a, b, and d need to be fitted so that the function above matches with
the value of the exchange interaction for the N neighbor shells taken into account.
Examples and more explanations about this function and its parametrization are reported
in "(Tranchida)"_#Tranchida3.
From this exchange interaction, each spin i will be submitted
to a magnetic torque omega, and its associated atom can be submitted to a
force F for spin-lattice calculations (see "fix_nve_spin"_fix_nve_spin.html),
such as:
:c,image(Eqs/pair_spin_exchange_forces.jpg)
with h the Planck constant (in metal units).
More details about the derivation of these torques/forces are reported in
"(Tranchida)"_#Tranchida3.
:line
[Restrictions:]
All the {pair/spin} styles are part of the SPIN package.
These styles are only enabled if LAMMPS was built with this package, and
if the atom_style "spin" was declared.
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]
"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html,
"pair_eam"_pair_eam.html,
[Default:] none
:line
:link(Tranchida3)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).

View File

@ -0,0 +1,73 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
pair_style spin/me command :h3
[Syntax:]
pair_style spin/me cutoff :pre
cutoff = global cutoff pair (distance in metal units) :ulb,l
:ule
[Examples:]
pair_style spin/me 4.5
pair_coeff * * me 4.5 0.00109 1.0 1.0 1.0 :pre
[Description:]
Style {spin/me} computes a magneto-electric interaction between
pairs of magnetic spins. According to the derivation reported in
"(Katsura)"_#Katsura1, this interaction is defined as:
:c,image(Eqs/pair_spin_me_interaction.jpg)
where si and sj are neighboring magnetic spins of two particles,
eij = (ri - rj)/|ri-rj| is the normalized separation vector between the
two particles, and E is an electric polarization vector.
The norm and direction of E are giving the intensity and the
direction of a screened dielectric atomic polarization (in eV).
From this magneto-electric interaction, each spin i will be submitted
to a magnetic torque omega, and its associated atom can be submitted to a
force F for spin-lattice calculations (see "fix_nve_spin"_fix_nve_spin.html),
such as:
:c,image(Eqs/pair_spin_me_forces.jpg)
with h the Planck constant (in metal units).
More details about the derivation of these torques/forces are reported in
"(Tranchida)"_#Tranchida4.
:line
[Restrictions:]
All the {pair/spin} styles are part of the SPIN package.
These styles are only enabled if LAMMPS was built with this package, and
if the atom_style "spin" was declared.
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]
"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html,
"pair_spin_exchange"_pair_spin_exchange.html, "pair_eam"_pair_eam.html,
[Default:] none
:line
:link(Katsura1)
[(Katsura)] H. Katsura, N. Nagaosa, A.V. Balatsky. Phys. Rev. Lett., 95(5), 057205. (2005)
:link(Tranchida4)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson,
arXiv preprint arXiv:1801.10233, (2018).

View File

@ -0,0 +1,81 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
pair_style spin/neel command :h3
[Syntax:]
pair_style spin/neel cutoff :pre
cutoff = global cutoff pair (distance in metal units) :ulb,l
:ule
[Examples:]
pair_style spin/neel 4.0
pair_coeff * * neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652
pair_coeff 1 2 neel 4.0 0.0048 0.234 1.168 0.0 0.0 1.0 :pre
[Description:]
Style {spin/neel} computes the Neel pair anisotropy model
between pairs of magnetic spins:
:c,image(Eqs/pair_spin_neel_interaction.jpg)
where si and sj are two neighboring magnetic spins of two particles,
rij = ri - rj is the inter-atomic distance between the two particles,
eij = (ri - rj)/|ri-rj| is their normalized separation vector
and g1, q1 and q2 are three functions defining the intensity of the
dipolar and quadrupolar contributions, with:
:c,image(Eqs/pair_spin_neel_functions.jpg)
With the functions g(rij) and q(rij) defined and fitted according to the same
Bethe-Slater function used to fit the exchange interaction:
:c,image(Eqs/pair_spin_exchange_function.jpg)
where a, b and d are the three constant coefficients defined in the associated
"pair_coeff" command.
The coefficients a, b, and d need to be fitted so that the function above matches with
the values of the magneto-elastic constant of the materials at stake.
Examples and more explanations about this function and its parametrization are reported
in "(Tranchida)"_#Tranchida6. More examples of parametrization will be provided in
future work.
From this DM interaction, each spin i will be submitted to a magnetic torque
omega and its associated atom to a force F (for spin-lattice calculations only).
More details about the derivation of these torques/forces are reported in
"(Tranchida)"_#Tranchida6.
:line
[Restrictions:]
All the {pair/spin} styles are part of the SPIN package.
These styles are only enabled if LAMMPS was built with this package, and
if the atom_style "spin" was declared.
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
[Related commands:]
"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html,
"pair_eam"_pair_eam.html,
[Default:] none
:line
:link(Tranchida6)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).

View File

@ -97,6 +97,10 @@ Pair Styles :h1
pair_sph_rhosum
pair_sph_taitwater
pair_sph_taitwater_morris
pair_spin_dmi
pair_spin_exchange
pair_spin_magelec
pair_spin_neel
pair_srp
pair_sw
pair_table

BIN
doc/utils/txt2html/txt2html Executable file

Binary file not shown.

View File

@ -0,0 +1,53 @@
# layer sc iron atoms (in the [001] plane) in bismuth oxide
clear
units metal
atom_style spin
dimension 3
boundary p p f
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice sc 3.96
region box block 0.0 34.0 0.0 34.0 0.0 5.0
create_box 1 box
create_atoms 1 box
# setting mass, mag. moments, and interactions for bfo
mass 1 1.0
set group all spin/random 11 2.50
pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5
pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965
pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.1 21
fix 3 all nve/spin lattice no
timestep 0.0002
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 5000

View File

@ -0,0 +1,212 @@
LAMMPS (11 May 2018)
# layer sc iron atoms (in the [001] plane) in bismuth oxide
clear
units metal
atom_style spin
dimension 3
boundary p p f
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice sc 3.96
Lattice spacing in x,y,z = 3.96 3.96 3.96
region box block 0.0 34.0 0.0 34.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (134.64 134.64 19.8)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 5780 atoms
Time spent = 0.0013566 secs
# setting mass, mag. moments, and interactions for bfo
mass 1 1.0
set group all spin/random 11 2.50
5780 settings made for spin/random
pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5
pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965
pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.1 21
fix 3 all nve/spin lattice no
timestep 0.0002
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 5000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.1
ghost atom cutoff = 6.1
binsize = 3.05, bins = 45 45 7
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair spin/magelec, perpetual, copy from (1)
attributes: full, newton on
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 7.272 | 7.272 | 7.272 Mbytes
Step Time v_magnorm v_emag Temp TotEng
0 0 0.010071723 -0.13298298 0 -0.12034311
50 0.01 0.0098643821 -1.3898985 0 -1.3772103
100 0.02 0.0096526211 -2.6381677 0 -2.6254222
150 0.03 0.0094342235 -3.8784006 0 -3.8656019
200 0.04 0.0092074832 -5.111441 0 -5.0986001
250 0.05 0.0089713115 -6.3380611 0 -6.3251904
300 0.06 0.0087256081 -7.5587787 0 -7.5458894
350 0.07 0.0084715548 -8.7738491 0 -8.7609521
400 0.08 0.008211486 -9.9833855 0 -9.9704932
450 0.09 0.0079483243 -11.18751 0 -11.174637
500 0.1 0.0076849713 -12.386462 0 -12.37362
550 0.11 0.007424064 -13.580633 0 -13.567832
600 0.12 0.0071680699 -14.770519 0 -14.757759
650 0.13 0.0069192726 -15.956579 0 -15.943853
700 0.14 0.0066793495 -17.139049 0 -17.126343
750 0.15 0.0064488038 -18.317803 0 -18.305099
800 0.16 0.0062267571 -19.492336 0 -19.479616
850 0.17 0.0060112235 -20.661925 0 -20.649176
900 0.18 0.0057995251 -21.825931 0 -21.813141
950 0.19 0.0055886511 -22.98413 0 -22.971297
1000 0.2 0.0053757923 -24.136967 0 -24.124095
1050 0.21 0.0051592263 -25.285621 0 -25.272717
1100 0.22 0.0049391661 -26.431928 0 -26.419004
1150 0.23 0.0047179149 -27.578212 0 -27.565281
1200 0.24 0.0044991004 -28.727051 0 -28.714128
1250 0.25 0.0042864034 -29.880967 0 -29.868062
1300 0.26 0.0040824475 -31.042054 0 -31.029173
1350 0.27 0.0038883007 -32.21165 0 -32.198795
1400 0.28 0.0037036595 -33.390159 0 -33.377326
1450 0.29 0.0035274815 -34.577121 0 -34.564302
1500 0.3 0.0033587207 -35.771483 0 -35.758672
1550 0.31 0.0031969501 -36.971996 0 -36.95919
1600 0.32 0.0030429081 -38.177601 0 -38.164801
1650 0.33 0.0028989804 -39.387757 0 -39.374962
1700 0.34 0.0027692024 -40.602665 0 -40.589873
1750 0.35 0.0026581403 -41.823341 0 -41.81054
1800 0.36 0.0025686991 -43.05145 0 -43.038628
1850 0.37 0.002500124 -44.288966 0 -44.276111
1900 0.38 0.0024477804 -45.537752 0 -45.52486
1950 0.39 0.0024050049 -46.799255 0 -46.786336
2000 0.4 0.0023657031 -48.074388 0 -48.061466
2050 0.41 0.0023260844 -49.363587 0 -49.350695
2100 0.42 0.0022848329 -50.666866 0 -50.654039
2150 0.43 0.0022419759 -51.983781 0 -51.971055
2200 0.44 0.0021972506 -53.31336 0 -53.300764
2250 0.45 0.0021488322 -54.654121 0 -54.641676
2300 0.46 0.0020929483 -56.004207 0 -55.991918
2350 0.47 0.0020244601 -57.361586 0 -57.349442
2400 0.48 0.001938225 -58.72428 0 -58.712247
2450 0.49 0.0018309419 -60.09064 0 -60.078671
2500 0.5 0.0017030436 -61.459658 0 -61.447705
2550 0.51 0.0015599449 -62.831213 0 -62.819237
2600 0.52 0.0014117554 -64.206088 0 -64.194074
2650 0.53 0.0012709942 -65.585701 0 -65.573657
2700 0.54 0.0011490452 -66.971565 0 -66.959515
2750 0.55 0.001053009 -68.364663 0 -68.352635
2800 0.56 0.00098415327 -69.765002 0 -69.753017
2850 0.57 0.00093809306 -71.171532 0 -71.159598
2900 0.58 0.00090656933 -72.58234 0 -72.570459
2950 0.59 0.00088069677 -73.994931 0 -73.983099
3000 0.6 0.00085472643 -75.406507 0 -75.39472
3050 0.61 0.00082842902 -76.814319 0 -76.802575
3100 0.62 0.00080642618 -78.216074 0 -78.204373
3150 0.63 0.00079463972 -79.610246 0 -79.598589
3200 0.64 0.0007962304 -80.996103 0 -80.984494
3250 0.65 0.00080980411 -82.37346 0 -82.361903
3300 0.66 0.00083070982 -83.742356 0 -83.730855
3350 0.67 0.00085389185 -85.102808 0 -85.091374
3400 0.68 0.00087624091 -86.454619 0 -86.443259
3450 0.69 0.00089741986 -87.797089 0 -87.785814
3500 0.7 0.00091910796 -89.12875 0 -89.117567
3550 0.71 0.00094318459 -90.447312 0 -90.436232
3600 0.72 0.00096989367 -91.750008 0 -91.739046
3650 0.73 0.00099713096 -93.034224 0 -93.023402
3700 0.74 0.0010212995 -94.298186 0 -94.287529
3750 0.75 0.0010391164 -95.5414 0 -95.530926
3800 0.76 0.0010491462 -96.764626 0 -96.754338
3850 0.77 0.0010521238 -97.969346 0 -97.95923
3900 0.78 0.0010500324 -99.156875 0 -99.146899
3950 0.79 0.0010447043 -100.32743 0 -100.31756
4000 0.8 0.0010368986 -101.4796 0 -101.46978
4050 0.81 0.0010263632 -102.61044 0 -102.60064
4100 0.82 0.0010126933 -103.71619 0 -103.70639
4150 0.83 0.00099631895 -104.79338 0 -104.78358
4200 0.84 0.0009789075 -105.8398 0 -105.82998
4250 0.85 0.00096287608 -106.85496 0 -106.84515
4300 0.86 0.00095034023 -107.84011 0 -107.83029
4350 0.87 0.00094219078 -108.7976 0 -108.78778
4400 0.88 0.00093779428 -109.73016 0 -109.72031
4450 0.89 0.0009354459 -110.63996 0 -110.63008
4500 0.9 0.00093342614 -111.52805 0 -111.51812
4550 0.91 0.0009311077 -112.39417 0 -112.38416
4600 0.92 0.00092926689 -113.23706 0 -113.22697
4650 0.93 0.00092921566 -114.05512 0 -114.04495
4700 0.94 0.00093142598 -114.84701 0 -114.83675
4750 0.95 0.00093479851 -115.61197 0 -115.60164
4800 0.96 0.0009369799 -116.3499 0 -116.33951
4850 0.97 0.00093516768 -117.06128 0 -117.05084
4900 0.98 0.00092684411 -117.74695 0 -117.73645
4950 0.99 0.00091046222 -118.40798 0 -118.39742
5000 1 0.00088619957 -119.04554 0 -119.03492
Loop time of 128.304 on 1 procs for 5000 steps with 5780 atoms
Performance: 0.673 ns/day, 35.640 hours/ns, 38.970 timesteps/s
99.6% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 24.227 | 24.227 | 24.227 | 0.0 | 18.88
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.081048 | 0.081048 | 0.081048 | 0.0 | 0.06
Output | 39.796 | 39.796 | 39.796 | 0.0 | 31.02
Modify | 64.112 | 64.112 | 64.112 | 0.0 | 49.97
Other | | 0.08788 | | | 0.07
Nlocal: 5780 ave 5780 max 5780 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1065 ave 1065 max 1065 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 92480 ave 92480 max 92480 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 92480
Ave neighs/atom = 16
Neighbor list builds = 0
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:02:08

View File

@ -0,0 +1,212 @@
LAMMPS (11 May 2018)
# layer sc iron atoms (in the [001] plane) in bismuth oxide
clear
units metal
atom_style spin
dimension 3
boundary p p f
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice sc 3.96
Lattice spacing in x,y,z = 3.96 3.96 3.96
region box block 0.0 34.0 0.0 34.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (134.64 134.64 19.8)
2 by 2 by 1 MPI processor grid
create_atoms 1 box
Created 5780 atoms
Time spent = 0.000355959 secs
# setting mass, mag. moments, and interactions for bfo
mass 1 1.0
set group all spin/random 11 2.50
5780 settings made for spin/random
pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5
pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965
pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.1 21
fix 3 all nve/spin lattice no
timestep 0.0002
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 5000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.1
ghost atom cutoff = 6.1
binsize = 3.05, bins = 45 45 7
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair spin/magelec, perpetual, copy from (1)
attributes: full, newton on
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 6.862 | 6.862 | 6.862 Mbytes
Step Time v_magnorm v_emag Temp TotEng
0 0 0.010071723 -0.13298298 0 -0.12034311
50 0.01 0.0098643821 -1.3898985 0 -1.3772103
100 0.02 0.009652621 -2.6381677 0 -2.6254222
150 0.03 0.0094342234 -3.8784007 0 -3.8656019
200 0.04 0.009207483 -5.1114411 0 -5.0986001
250 0.05 0.0089713114 -6.3380611 0 -6.3251904
300 0.06 0.0087256079 -7.5587787 0 -7.5458894
350 0.07 0.0084715546 -8.7738491 0 -8.7609521
400 0.08 0.0082114858 -9.9833855 0 -9.9704932
450 0.09 0.0079483242 -11.18751 0 -11.174637
500 0.1 0.0076849711 -12.386462 0 -12.37362
550 0.11 0.0074240638 -13.580633 0 -13.567832
600 0.12 0.0071680697 -14.770519 0 -14.757759
650 0.13 0.0069192724 -15.956579 0 -15.943853
700 0.14 0.0066793493 -17.139049 0 -17.126343
750 0.15 0.0064488035 -18.317803 0 -18.305099
800 0.16 0.0062267569 -19.492336 0 -19.479616
850 0.17 0.0060112233 -20.661925 0 -20.649176
900 0.18 0.005799525 -21.825931 0 -21.813141
950 0.19 0.0055886511 -22.98413 0 -22.971297
1000 0.2 0.0053757923 -24.136967 0 -24.124095
1050 0.21 0.0051592265 -25.285621 0 -25.272717
1100 0.22 0.0049391664 -26.431928 0 -26.419004
1150 0.23 0.0047179153 -27.578212 0 -27.565281
1200 0.24 0.0044991009 -28.727051 0 -28.714128
1250 0.25 0.0042864039 -29.880967 0 -29.868062
1300 0.26 0.004082448 -31.042054 0 -31.029174
1350 0.27 0.0038883012 -32.21165 0 -32.198795
1400 0.28 0.0037036599 -33.390159 0 -33.377326
1450 0.29 0.0035274817 -34.577121 0 -34.564302
1500 0.3 0.0033587208 -35.771483 0 -35.758672
1550 0.31 0.0031969501 -36.971996 0 -36.95919
1600 0.32 0.0030429079 -38.177601 0 -38.164801
1650 0.33 0.0028989801 -39.387757 0 -39.374962
1700 0.34 0.0027692022 -40.602666 0 -40.589873
1750 0.35 0.0026581401 -41.823341 0 -41.81054
1800 0.36 0.002568699 -43.05145 0 -43.038628
1850 0.37 0.0025001242 -44.288966 0 -44.276111
1900 0.38 0.0024477808 -45.537752 0 -45.52486
1950 0.39 0.0024050056 -46.799255 0 -46.786336
2000 0.4 0.002365704 -48.074388 0 -48.061466
2050 0.41 0.0023260854 -49.363587 0 -49.350695
2100 0.42 0.002284834 -50.666866 0 -50.654039
2150 0.43 0.0022419771 -51.983781 0 -51.971055
2200 0.44 0.0021972518 -53.31336 0 -53.300764
2250 0.45 0.0021488333 -54.654121 0 -54.641676
2300 0.46 0.0020929494 -56.004207 0 -55.991918
2350 0.47 0.0020244612 -57.361586 0 -57.349441
2400 0.48 0.0019382262 -58.72428 0 -58.712247
2450 0.49 0.001830943 -60.090639 0 -60.078671
2500 0.5 0.0017030446 -61.459658 0 -61.447704
2550 0.51 0.0015599459 -62.831213 0 -62.819237
2600 0.52 0.0014117562 -64.206088 0 -64.194074
2650 0.53 0.001270995 -65.5857 0 -65.573657
2700 0.54 0.001149046 -66.971565 0 -66.959515
2750 0.55 0.0010530098 -68.364663 0 -68.352635
2800 0.56 0.00098415418 -69.765002 0 -69.753017
2850 0.57 0.00093809402 -71.171532 0 -71.159598
2900 0.58 0.00090657031 -72.58234 0 -72.570459
2950 0.59 0.00088069773 -73.994931 0 -73.983099
3000 0.6 0.00085472731 -75.406507 0 -75.39472
3050 0.61 0.00082842975 -76.814319 0 -76.802575
3100 0.62 0.00080642669 -78.216074 0 -78.204373
3150 0.63 0.00079464 -79.610246 0 -79.59859
3200 0.64 0.00079623049 -80.996103 0 -80.984494
3250 0.65 0.00080980416 -82.373461 0 -82.361903
3300 0.66 0.00083070997 -83.742356 0 -83.730856
3350 0.67 0.00085389223 -85.102809 0 -85.091374
3400 0.68 0.00087624159 -86.454619 0 -86.44326
3450 0.69 0.00089742086 -87.79709 0 -87.785815
3500 0.7 0.00091910931 -89.12875 0 -89.117568
3550 0.71 0.00094318635 -90.447312 0 -90.436233
3600 0.72 0.00096989594 -91.750008 0 -91.739047
3650 0.73 0.00099713386 -93.034224 0 -93.023403
3700 0.74 0.0010213031 -94.298186 0 -94.287529
3750 0.75 0.0010391209 -95.541401 0 -95.530926
3800 0.76 0.0010491514 -96.764626 0 -96.754339
3850 0.77 0.0010521296 -97.969347 0 -97.959231
3900 0.78 0.0010500386 -99.156876 0 -99.146899
3950 0.79 0.0010447106 -100.32743 0 -100.31756
4000 0.8 0.0010369046 -101.4796 0 -101.46978
4050 0.81 0.0010263688 -102.61044 0 -102.60064
4100 0.82 0.0010126985 -103.71619 0 -103.70639
4150 0.83 0.00099632366 -104.79338 0 -104.78358
4200 0.84 0.00097891183 -105.8398 0 -105.82998
4250 0.85 0.00096288003 -106.85496 0 -106.84515
4300 0.86 0.00095034371 -107.84011 0 -107.83029
4350 0.87 0.00094219371 -108.7976 0 -108.78778
4400 0.88 0.00093779663 -109.73016 0 -109.72031
4450 0.89 0.00093544766 -110.63996 0 -110.63008
4500 0.9 0.00093342739 -111.52805 0 -111.51812
4550 0.91 0.00093110855 -112.39417 0 -112.38416
4600 0.92 0.00092926746 -113.23706 0 -113.22697
4650 0.93 0.00092921608 -114.05512 0 -114.04495
4700 0.94 0.0009314263 -114.84701 0 -114.83675
4750 0.95 0.0009347987 -115.61197 0 -115.60164
4800 0.96 0.00093697985 -116.3499 0 -116.33951
4850 0.97 0.00093516726 -117.06128 0 -117.05084
4900 0.98 0.00092684316 -117.74695 0 -117.73645
4950 0.99 0.00091046061 -118.40798 0 -118.39742
5000 1 0.00088619727 -119.04554 0 -119.03492
Loop time of 37.142 on 4 procs for 5000 steps with 5780 atoms
Performance: 2.326 ns/day, 10.317 hours/ns, 134.619 timesteps/s
98.7% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 6.2804 | 6.3487 | 6.4569 | 2.7 | 17.09
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.15385 | 0.27957 | 0.36215 | 14.6 | 0.75
Output | 10.573 | 10.784 | 10.994 | 4.8 | 29.03
Modify | 19.48 | 19.707 | 19.925 | 3.7 | 53.06
Other | | 0.02255 | | | 0.06
Nlocal: 1445 ave 1445 max 1445 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 555 ave 555 max 555 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 23120 ave 23120 max 23120 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 92480
Ave neighs/atom = 16
Neighbor list builds = 0
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:37

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
2.503 0.01476
3.54 0.001497
4.33 0.001578
5.01 -0.001224
5.597 0.000354

View File

@ -0,0 +1,32 @@
#Program fitting the exchange interaction
#Model curve: Bethe-Slater function
import numpy as np, pylab, tkinter
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from decimal import *
print("Loop begin")
#Definition of the Bethe-Slater function
def func(x,a,b,c):
return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2)
#Exchange coeff table (data to fit)
rdata, Jdata = np.loadtxt('exchange_fcc_cobalt.dat', usecols=(0,1), unpack=True)
plt.plot(rdata, Jdata, 'b-', label='data')
#Perform the fit
popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.]))
plt.plot(rdata, func(rdata, *popt), 'r--', label='fit')
#Print the fitted params
print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt))
#Ploting the result
plt.xlabel('r_ij')
pylab.xlim([0,6.5])
plt.ylabel('J_ij')
plt.legend()
plt.show()
print("Loop end")

View File

@ -0,0 +1,63 @@
# fcc cobalt in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice fcc 3.54
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
create_atoms 1 box
# setting mass, mag. moments, and interactions for fcc cobalt
mass 1 58.93
#set group all spin/random 31 1.72
set group all spin 1.72 0.0 0.0 1.0
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix_modify 1 energy yes
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# compute and output options
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
thermo_style custom f_1
variable magx equal c_out_mag[1]
variable magy equal c_out_mag[2]
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal
thermo 50
#compute outsp all property/atom spx spy spz sp fmx fmy fmz
#dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 1000

View File

@ -0,0 +1,142 @@
LAMMPS (11 May 2018)
# fcc cobalt in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice fcc 3.54
Lattice spacing in x,y,z = 3.54 3.54 3.54
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (17.7 17.7 17.7)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
Time spent = 0.000651121 secs
# setting mass, mag. moments, and interactions for fcc cobalt
mass 1 58.93
#set group all spin/random 31 1.72
set group all spin 1.72 0.0 0.0 1.0
500 settings made for spin
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix_modify 1 energy yes
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# compute and output options
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
thermo_style custom f_1
variable magx equal c_out_mag[1]
variable magy equal c_out_mag[2]
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal
thermo 50
#compute outsp all property/atom spx spy spz sp fmx fmy fmz
#dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 1000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.59954
ghost atom cutoff = 6.59954
binsize = 3.29977, bins = 6 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.218 | 5.218 | 5.218 Mbytes
Step Time f_1 v_magx v_magy v_magnorm v_emag Temp TotEng
0 0 0.049785486 0 0 1 -187.94116 100.00543 -2372.4636
50 0.005 0.049785486 0 0 1 -187.94112 95.094679 -2372.4636
100 0.01 0.049785486 0 0 1 -187.94071 81.578321 -2372.4636
150 0.015 0.049785486 0 0 1 -187.93912 62.802727 -2372.4636
200 0.02 0.049785486 0 0 1 -187.93551 43.35108 -2372.4636
250 0.025 0.049785486 0 0 1 -187.92942 27.749821 -2372.4636
300 0.03 0.049785486 0 0 1 -187.92118 19.149389 -2372.4636
350 0.035 0.049785486 0 0 1 -187.91199 18.453387 -2372.4636
400 0.04 0.049785486 0 0 1 -187.90364 24.249423 -2372.4636
450 0.045 0.049785486 0 0 1 -187.89806 33.548008 -2372.4636
500 0.05 0.049785486 0 0 1 -187.89668 42.973172 -2372.4636
550 0.055 0.049785486 0 0 1 -187.9 49.902539 -2372.4636
600 0.06 0.049785486 0 0 1 -187.90735 53.166772 -2372.4636
650 0.065 0.049785486 0 0 1 -187.91706 53.153416 -2372.4636
700 0.07 0.049785486 0 0 1 -187.92692 51.377187 -2372.4636
750 0.075 0.049785486 0 0 1 -187.9348 49.725449 -2372.4636
800 0.08 0.049785486 0 0 1 -187.93921 49.663576 -2372.4636
850 0.085 0.049785486 0 0 1 -187.93974 51.681567 -2372.4636
900 0.09 0.049785486 0 0 1 -187.937 55.166554 -2372.4636
950 0.095 0.049785486 0 0 1 -187.93239 58.718232 -2372.4636
1000 0.1 0.049785486 0 0 1 -187.92755 60.75567 -2372.4636
Loop time of 4.1303 on 1 procs for 1000 steps with 500 atoms
Performance: 2.092 ns/day, 11.473 hours/ns, 242.113 timesteps/s
99.9% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.142 | 2.142 | 2.142 | 0.0 | 51.86
Neigh | 0.0094573 | 0.0094573 | 0.0094573 | 0.0 | 0.23
Comm | 0.023293 | 0.023293 | 0.023293 | 0.0 | 0.56
Output | 0.00031972 | 0.00031972 | 0.00031972 | 0.0 | 0.01
Modify | 1.9488 | 1.9488 | 1.9488 | 0.0 | 47.18
Other | | 0.006488 | | | 0.16
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1956 ave 1956 max 1956 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24065 ave 24065 max 24065 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 48130 ave 48130 max 48130 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 48130
Ave neighs/atom = 96.26
Neighbor list builds = 6
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:04

View File

@ -0,0 +1,142 @@
LAMMPS (11 May 2018)
# fcc cobalt in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice fcc 3.54
Lattice spacing in x,y,z = 3.54 3.54 3.54
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (17.7 17.7 17.7)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
Time spent = 0.000240088 secs
# setting mass, mag. moments, and interactions for fcc cobalt
mass 1 58.93
#set group all spin/random 31 1.72
set group all spin 1.72 0.0 0.0 1.0
500 settings made for spin
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix_modify 1 energy yes
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# compute and output options
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
thermo_style custom f_1
variable magx equal c_out_mag[1]
variable magy equal c_out_mag[2]
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal
thermo 50
#compute outsp all property/atom spx spy spz sp fmx fmy fmz
#dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 1000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.59954
ghost atom cutoff = 6.59954
binsize = 3.29977, bins = 6 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.163 | 5.163 | 5.163 Mbytes
Step Time f_1 v_magx v_magy v_magnorm v_emag Temp TotEng
0 0 0.049785486 0 0 1 -187.94116 100.00543 -2372.4636
50 0.005 0.049785486 0 0 1 -187.94101 95.174807 -2372.4636
100 0.01 0.049785486 0 0 1 -187.94029 81.854304 -2372.4636
150 0.015 0.049785486 0 0 1 -187.93834 63.270938 -2372.4636
200 0.02 0.049785486 0 0 1 -187.93446 43.867262 -2372.4636
250 0.025 0.049785486 0 0 1 -187.92831 28.075261 -2372.4636
300 0.03 0.049785486 0 0 1 -187.92031 19.046222 -2372.4636
350 0.035 0.049785486 0 0 1 -187.91161 17.79071 -2372.4636
400 0.04 0.049785486 0 0 1 -187.9039 23.079994 -2372.4636
450 0.045 0.049785486 0 0 1 -187.89895 32.127316 -2372.4636
500 0.05 0.049785486 0 0 1 -187.89801 41.709644 -2372.4636
550 0.055 0.049785486 0 0 1 -187.90146 49.246292 -2372.4636
600 0.06 0.049785486 0 0 1 -187.90859 53.465535 -2372.4636
650 0.065 0.049785486 0 0 1 -187.91778 54.522857 -2372.4636
700 0.07 0.049785486 0 0 1 -187.9269 53.635521 -2372.4636
750 0.075 0.049785486 0 0 1 -187.93396 52.419678 -2372.4636
800 0.08 0.049785486 0 0 1 -187.9376 52.176558 -2372.4636
850 0.085 0.049785486 0 0 1 -187.93744 53.380592 -2372.4636
900 0.09 0.049785486 0 0 1 -187.93412 55.551378 -2372.4636
950 0.095 0.049785486 0 0 1 -187.92902 57.540047 -2372.4636
1000 0.1 0.049785486 0 0 1 -187.92378 58.088674 -2372.4636
Loop time of 1.71411 on 4 procs for 1000 steps with 500 atoms
Performance: 5.041 ns/day, 4.761 hours/ns, 583.392 timesteps/s
97.7% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.54717 | 0.57392 | 0.58784 | 2.1 | 33.48
Neigh | 0.0023484 | 0.0025793 | 0.0026793 | 0.3 | 0.15
Comm | 0.058548 | 0.073335 | 0.10006 | 5.9 | 4.28
Output | 0.00042272 | 0.00079203 | 0.0018559 | 0.0 | 0.05
Modify | 1.0577 | 1.0611 | 1.0625 | 0.2 | 61.90
Other | | 0.00239 | | | 0.14
Nlocal: 125 ave 133 max 116 min
Histogram: 1 0 0 0 0 2 0 0 0 1
Nghost: 1099 ave 1108 max 1091 min
Histogram: 1 0 0 0 2 0 0 0 0 1
Neighs: 6032.5 ave 6417 max 5489 min
Histogram: 1 0 0 0 0 0 1 1 0 1
FullNghs: 12065 ave 13062 max 10970 min
Histogram: 1 0 0 0 0 2 0 0 0 1
Total # of neighbors = 48260
Ave neighs/atom = 96.52
Neighbor list builds = 6
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:01

View File

@ -0,0 +1 @@
../cobalt_fcc/Co_PurjaPun_2012.eam.alloy

View File

@ -0,0 +1,32 @@
#Program fitting the exchange interaction
#Model curve: Bethe-Slater function
import numpy as np, pylab, tkinter
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from decimal import *
print("Loop begin")
#Definition of the Bethe-Slater function
def func(x,a,b,c):
return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2)
#Exchange coeff table (data to fit)
rdata, Jdata = np.loadtxt('exchange_hcp_co.dat', usecols=(0,1), unpack=True)
plt.plot(rdata, Jdata, 'b-', label='data')
#Perform the fit
popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.]))
plt.plot(rdata, func(rdata, *popt), 'r--', label='fit')
#Print the fitted params
print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt))
#Ploting the result
plt.xlabel('r_ij')
pylab.xlim([0,6.5])
plt.ylabel('J_ij')
plt.legend()
plt.show()
print("Loop end")

View File

@ -0,0 +1,9 @@
2.25569176882662 73.37931034482759
2.3817863397548162 47.99999999999999
2.4518388791593697 34.39080459770115
2.507880910683012 31.816091954022987
2.5359019264448337 28.137931034482747
2.5779334500875657 25.011494252873554
2.6339754816112086 19.126436781609186
2.760070052539404 13.241379310344826
3.5446584938704033 6.068965517241367

View File

@ -0,0 +1,59 @@
# hcp cobalt in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice hcp 2.5071
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
create_atoms 1 box
# setting mass, mag. moments, and interactions for hcp cobalt
mass 1 58.93
#set group all spin/random 31 1.72
set group all spin 1.72 0.0 0.0 1.0
velocity all create 100 4928459 rot yes dist gaussian
#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp etotal
thermo 10
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 2000

View File

@ -0,0 +1,318 @@
LAMMPS (11 May 2018)
# hcp cobalt in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice hcp 2.5071
Lattice spacing in x,y,z = 2.5071 4.34242 4.09408
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
Time spent = 0.000801802 secs
# setting mass, mag. moments, and interactions for hcp cobalt
mass 1 58.93
#set group all spin/random 31 1.72
set group all spin 1.72 0.0 0.0 1.0
500 settings made for spin
velocity all create 100 4928459 rot yes dist gaussian
#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp etotal
thermo 10
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 2000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.59954
ghost atom cutoff = 6.59954
binsize = 3.29977, bins = 4 7 7
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.401 | 7.401 | 7.401 Mbytes
Step Time v_magnorm v_emag Temp TotEng
0 0 1 -187.29499 100.00543 -2375.8943
10 0.001 1 -187.29714 99.845593 -2375.8943
20 0.002 1 -187.30356 99.367234 -2375.8943
30 0.003 1 -187.31419 98.573996 -2375.8943
40 0.004 1 -187.32896 97.472027 -2375.8943
50 0.005 1 -187.34772 96.069944 -2375.8943
60 0.006 1 -187.37032 94.378764 -2375.8943
70 0.007 1 -187.39656 92.411827 -2375.8943
80 0.008 1 -187.4262 90.184697 -2375.8943
90 0.009 1 -187.459 87.715037 -2375.8943
100 0.01 1 -187.49466 85.022479 -2375.8943
110 0.011 1 -187.53289 82.128462 -2375.8943
120 0.012 1 -187.57334 79.05606 -2375.8943
130 0.013 1 -187.61568 75.82979 -2375.8943
140 0.014 1 -187.65953 72.475403 -2375.8943
150 0.015 1 -187.70453 69.019658 -2375.8943
160 0.016 1 -187.75028 65.490086 -2375.8943
170 0.017 1 -187.79642 61.914735 -2375.8943
180 0.018 1 -187.84254 58.321911 -2375.8943
190 0.019 1 -187.88828 54.739907 -2375.8943
200 0.02 1 -187.93324 51.196728 -2375.8943
210 0.021 1 -187.97708 47.719812 -2375.8943
220 0.022 1 -188.01947 44.335762 -2375.8943
230 0.023 1 -188.06003 41.07007 -2375.8943
240 0.024 1 -188.09853 37.946852 -2375.8944
250 0.025 1 -188.13457 34.988599 -2375.8944
260 0.026 1 -188.16795 32.215943 -2375.8944
270 0.027 1 -188.19851 29.647465 -2375.8944
280 0.028 1 -188.22593 27.299481 -2375.8944
290 0.029 1 -188.25011 25.185896 -2375.8944
300 0.03 1 -188.27095 23.318075 -2375.8945
310 0.031 1 -188.2883 21.70475 -2375.8945
320 0.032 1 -188.30213 20.35194 -2375.8945
330 0.033 1 -188.31251 19.262946 -2375.8945
340 0.034 1 -188.31928 18.438347 -2375.8945
350 0.035 1 -188.32258 17.876036 -2375.8945
360 0.036 1 -188.32249 17.571322 -2375.8945
370 0.037 1 -188.31913 17.517032 -2375.8945
380 0.038 1 -188.31264 17.703653 -2375.8945
390 0.039 1 -188.30321 18.119513 -2375.8945
400 0.04 1 -188.29102 18.750969 -2375.8945
410 0.041 1 -188.2763 19.582631 -2375.8945
420 0.042 1 -188.25929 20.597597 -2375.8945
430 0.043 1 -188.24025 21.777699 -2375.8945
440 0.044 1 -188.21945 23.103765 -2375.8945
450 0.045 1 -188.19719 24.555878 -2375.8946
460 0.046 1 -188.17368 26.113643 -2375.8946
470 0.047 1 -188.1493 27.756439 -2375.8946
480 0.048 1 -188.12429 29.463677 -2375.8946
490 0.049 1 -188.09895 31.21504 -2375.8946
500 0.05 1 -188.07354 32.990713 -2375.8946
510 0.051 1 -188.04832 34.771601 -2375.8945
520 0.052 1 -188.02358 36.539517 -2375.8945
530 0.053 1 -187.99951 38.27736 -2375.8945
540 0.054 1 -187.97636 39.969275 -2375.8945
550 0.055 1 -187.95437 41.600775 -2375.8945
560 0.056 1 -187.93364 43.158863 -2375.8944
570 0.057 1 -187.9144 44.632119 -2375.8944
580 0.058 1 -187.89669 46.010765 -2375.8944
590 0.059 1 -187.88074 47.286714 -2375.8944
600 0.06 1 -187.86658 48.453573 -2375.8944
610 0.061 1 -187.85422 49.506668 -2375.8943
620 0.062 1 -187.84377 50.443021 -2375.8943
630 0.063 1 -187.8352 51.261297 -2375.8943
640 0.064 1 -187.8285 51.961764 -2375.8943
650 0.065 1 -187.8236 52.54622 -2375.8943
660 0.066 1 -187.8205 53.017899 -2375.8943
670 0.067 1 -187.81909 53.381374 -2375.8943
680 0.068 1 -187.81926 53.64244 -2375.8943
690 0.069 1 -187.82092 53.807997 -2375.8943
700 0.07 1 -187.82391 53.885909 -2375.8943
710 0.071 1 -187.82814 53.884865 -2375.8943
720 0.072 1 -187.83339 53.814238 -2375.8943
730 0.073 1 -187.83952 53.68392 -2375.8943
740 0.074 1 -187.84635 53.504185 -2375.8943
750 0.075 1 -187.85375 53.285525 -2375.8943
760 0.076 1 -187.86153 53.038494 -2375.8943
770 0.077 1 -187.86952 52.773567 -2375.8943
780 0.078 1 -187.87758 52.500994 -2375.8943
790 0.079 1 -187.88549 52.230655 -2375.8943
800 0.08 1 -187.89313 51.971933 -2375.8943
810 0.081 1 -187.90035 51.733593 -2375.8943
820 0.082 1 -187.90702 51.523671 -2375.8943
830 0.083 1 -187.91302 51.349376 -2375.8943
840 0.084 1 -187.91824 51.217006 -2375.8943
850 0.085 1 -187.9226 51.131875 -2375.8943
860 0.086 1 -187.92602 51.098259 -2375.8943
870 0.087 1 -187.92844 51.119356 -2375.8943
880 0.088 1 -187.92979 51.197261 -2375.8943
890 0.089 1 -187.93011 51.332955 -2375.8943
900 0.09 1 -187.92937 51.526314 -2375.8943
910 0.091 1 -187.92757 51.77613 -2375.8943
920 0.092 1 -187.92475 52.080145 -2375.8943
930 0.093 1 -187.92096 52.435106 -2375.8943
940 0.094 1 -187.91624 52.836825 -2375.8943
950 0.095 1 -187.91068 53.280251 -2375.8943
960 0.096 1 -187.90435 53.759559 -2375.8943
970 0.097 1 -187.89734 54.268246 -2375.8943
980 0.098 1 -187.88981 54.799223 -2375.8943
990 0.099 1 -187.88185 55.344928 -2375.8943
1000 0.1 1 -187.87357 55.897438 -2375.8943
1010 0.101 1 -187.86511 56.448585 -2375.8943
1020 0.102 1 -187.8566 56.990069 -2375.8943
1030 0.103 1 -187.84817 57.513575 -2375.8943
1040 0.104 1 -187.83995 58.010887 -2375.8943
1050 0.105 1 -187.83208 58.474004 -2375.8943
1060 0.106 1 -187.8247 58.89524 -2375.8943
1070 0.107 1 -187.81789 59.267328 -2375.8943
1080 0.108 1 -187.81177 59.583518 -2375.8943
1090 0.109 1 -187.80646 59.837665 -2375.8943
1100 0.11 1 -187.80204 60.024306 -2375.8943
1110 0.111 1 -187.79861 60.138734 -2375.8943
1120 0.112 1 -187.79625 60.177056 -2375.8943
1130 0.113 1 -187.79497 60.136244 -2375.8943
1140 0.114 1 -187.79485 60.014176 -2375.8943
1150 0.115 1 -187.7959 59.809665 -2375.8943
1160 0.116 1 -187.79811 59.52248 -2375.8943
1170 0.117 1 -187.80157 59.153353 -2375.8943
1180 0.118 1 -187.80618 58.703971 -2375.8943
1190 0.119 1 -187.81193 58.176956 -2375.8943
1200 0.12 1 -187.81879 57.575849 -2375.8943
1210 0.121 1 -187.82668 56.905072 -2375.8943
1220 0.122 1 -187.83554 56.169878 -2375.8943
1230 0.123 1 -187.84528 55.376297 -2375.8943
1240 0.124 1 -187.85581 54.53107 -2375.8943
1250 0.125 1 -187.86702 53.641573 -2375.8943
1260 0.126 1 -187.8788 52.715739 -2375.8943
1270 0.127 1 -187.89103 51.761969 -2375.8943
1280 0.128 1 -187.90358 50.789036 -2375.8943
1290 0.129 1 -187.91632 49.805988 -2375.8943
1300 0.13 1 -187.92911 48.822045 -2375.8943
1310 0.131 1 -187.94182 47.846491 -2375.8943
1320 0.132 1 -187.95428 46.888574 -2375.8943
1330 0.133 1 -187.96643 45.957394 -2375.8943
1340 0.134 1 -187.9781 45.061794 -2375.8943
1350 0.135 1 -187.9892 44.210263 -2375.8943
1360 0.136 1 -187.99955 43.410832 -2375.8943
1370 0.137 1 -188.00907 42.670979 -2375.8943
1380 0.138 1 -188.01767 41.997547 -2375.8943
1390 0.139 1 -188.02525 41.396655 -2375.8943
1400 0.14 1 -188.03177 40.873631 -2375.8944
1410 0.141 1 -188.03711 40.432952 -2375.8944
1420 0.142 1 -188.04124 40.078172 -2375.8944
1430 0.143 1 -188.04413 39.811902 -2375.8944
1440 0.144 1 -188.04575 39.635775 -2375.8944
1450 0.145 1 -188.04607 39.550435 -2375.8943
1460 0.146 1 -188.04515 39.555512 -2375.8943
1470 0.147 1 -188.04298 39.649651 -2375.8943
1480 0.148 1 -188.03961 39.830523 -2375.8943
1490 0.149 1 -188.03508 40.094865 -2375.8943
1500 0.15 1 -188.02944 40.438519 -2375.8943
1510 0.151 1 -188.02275 40.856491 -2375.8943
1520 0.152 1 -188.01515 41.343019 -2375.8943
1530 0.153 1 -188.00671 41.891643 -2375.8943
1540 0.154 1 -187.99753 42.495295 -2375.8943
1550 0.155 1 -187.98772 43.14639 -2375.8943
1560 0.156 1 -187.9774 43.836918 -2375.8943
1570 0.157 1 -187.9667 44.558553 -2375.8943
1580 0.158 1 -187.95576 45.302751 -2375.8943
1590 0.159 1 -187.94466 46.060862 -2375.8943
1600 0.16 1 -187.93356 46.824226 -2375.8943
1610 0.161 1 -187.92257 47.584289 -2375.8943
1620 0.162 1 -187.91183 48.332703 -2375.8943
1630 0.163 1 -187.90145 49.061422 -2375.8943
1640 0.164 1 -187.89155 49.762798 -2375.8943
1650 0.165 1 -187.88222 50.429671 -2375.8943
1660 0.166 1 -187.87357 51.055445 -2375.8943
1670 0.167 1 -187.86569 51.634167 -2375.8943
1680 0.168 1 -187.85864 52.160588 -2375.8943
1690 0.169 1 -187.85249 52.630219 -2375.8943
1700 0.17 1 -187.8473 53.039377 -2375.8943
1710 0.171 1 -187.84311 53.385221 -2375.8943
1720 0.172 1 -187.83994 53.665778 -2375.8943
1730 0.173 1 -187.83781 53.879954 -2375.8943
1740 0.174 1 -187.83671 54.027539 -2375.8943
1750 0.175 1 -187.83663 54.109201 -2375.8943
1760 0.176 1 -187.83753 54.126472 -2375.8943
1770 0.177 1 -187.83941 54.081708 -2375.8943
1780 0.178 1 -187.8422 53.97806 -2375.8943
1790 0.179 1 -187.84584 53.819424 -2375.8943
1800 0.18 1 -187.85025 53.610389 -2375.8943
1810 0.181 1 -187.85535 53.356163 -2375.8943
1820 0.182 1 -187.86105 53.06251 -2375.8943
1830 0.183 1 -187.86723 52.735671 -2375.8943
1840 0.184 1 -187.87384 52.382262 -2375.8943
1850 0.185 1 -187.88075 52.009201 -2375.8943
1860 0.186 1 -187.88784 51.623613 -2375.8943
1870 0.187 1 -187.89501 51.232726 -2375.8943
1880 0.188 1 -187.90214 50.843782 -2375.8943
1890 0.189 1 -187.90912 50.463929 -2375.8943
1900 0.19 1 -187.91585 50.100133 -2375.8943
1910 0.191 1 -187.92222 49.759075 -2375.8943
1920 0.192 1 -187.92814 49.447064 -2375.8943
1930 0.193 1 -187.93351 49.169949 -2375.8943
1940 0.194 1 -187.93826 48.933036 -2375.8943
1950 0.195 1 -187.94232 48.741013 -2375.8943
1960 0.196 1 -187.94561 48.597888 -2375.8943
1970 0.197 1 -187.94809 48.506926 -2375.8943
1980 0.198 1 -187.94972 48.470605 -2375.8943
1990 0.199 1 -187.95047 48.490576 -2375.8943
2000 0.2 1 -187.95033 48.567643 -2375.8943
Loop time of 10.5391 on 1 procs for 2000 steps with 500 atoms
Performance: 1.640 ns/day, 14.638 hours/ns, 189.770 timesteps/s
99.6% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 4.9958 | 4.9958 | 4.9958 | 0.0 | 47.40
Neigh | 0.020741 | 0.020741 | 0.020741 | 0.0 | 0.20
Comm | 0.05899 | 0.05899 | 0.05899 | 0.0 | 0.56
Output | 1.1598 | 1.1598 | 1.1598 | 0.0 | 11.00
Modify | 4.2885 | 4.2885 | 4.2885 | 0.0 | 40.69
Other | | 0.01522 | | | 0.14
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 2444 ave 2444 max 2444 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 27041 ave 27041 max 27041 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 54082 ave 54082 max 54082 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 54082
Ave neighs/atom = 108.164
Neighbor list builds = 12
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:10

View File

@ -0,0 +1,318 @@
LAMMPS (11 May 2018)
# hcp cobalt in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice hcp 2.5071
Lattice spacing in x,y,z = 2.5071 4.34242 4.09408
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
Time spent = 0.000241518 secs
# setting mass, mag. moments, and interactions for hcp cobalt
mass 1 58.93
#set group all spin/random 31 1.72
set group all spin 1.72 0.0 0.0 1.0
500 settings made for spin
velocity all create 100 4928459 rot yes dist gaussian
#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp etotal
thermo 10
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 2000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 6.59954
ghost atom cutoff = 6.59954
binsize = 3.29977, bins = 4 7 7
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.313 | 7.314 | 7.314 Mbytes
Step Time v_magnorm v_emag Temp TotEng
0 0 1 -187.29499 100.00543 -2375.8943
10 0.001 1 -187.29721 99.841045 -2375.8943
20 0.002 1 -187.30385 99.349208 -2375.8943
30 0.003 1 -187.31485 98.533905 -2375.8943
40 0.004 1 -187.33011 97.401749 -2375.8943
50 0.005 1 -187.34949 95.961938 -2375.8943
60 0.006 1 -187.37283 94.22618 -2375.8943
70 0.007 1 -187.39992 92.208606 -2375.8943
80 0.008 1 -187.43051 89.92566 -2375.8943
90 0.009 1 -187.46434 87.39597 -2375.8943
100 0.01 1 -187.5011 84.640195 -2375.8943
110 0.011 1 -187.54047 81.680862 -2375.8943
120 0.012 1 -187.5821 78.542172 -2375.8943
130 0.013 1 -187.62564 75.249797 -2375.8943
140 0.014 1 -187.67069 71.830656 -2375.8943
150 0.015 1 -187.71686 68.312673 -2375.8943
160 0.016 1 -187.76377 64.724523 -2375.8943
170 0.017 1 -187.81099 61.095365 -2375.8943
180 0.018 1 -187.85814 57.454566 -2375.8943
190 0.019 1 -187.90481 53.831412 -2375.8943
200 0.02 1 -187.95061 50.254822 -2375.8943
210 0.021 1 -187.99517 46.753056 -2375.8943
220 0.022 1 -188.03812 43.353428 -2375.8943
230 0.023 1 -188.07913 40.082023 -2375.8943
240 0.024 1 -188.11787 36.963429 -2375.8943
250 0.025 1 -188.15409 34.020481 -2375.8943
260 0.026 1 -188.1875 31.27403 -2375.8943
270 0.027 1 -188.21782 28.74271 -2375.8943
280 0.028 1 -188.2449 26.44276 -2375.8943
290 0.029 1 -188.26857 24.387875 -2375.8943
300 0.03 1 -188.28877 22.589076 -2375.8944
310 0.031 1 -188.30529 21.054615 -2375.8944
320 0.032 1 -188.31814 19.789913 -2375.8944
330 0.033 1 -188.3273 18.797563 -2375.8944
340 0.034 1 -188.33284 18.077336 -2375.8944
350 0.035 1 -188.33478 17.626237 -2375.8945
360 0.036 1 -188.33319 17.438611 -2375.8945
370 0.037 1 -188.32824 17.506247 -2375.8945
380 0.038 1 -188.32007 17.818564 -2375.8945
390 0.039 1 -188.30888 18.362769 -2375.8945
400 0.04 1 -188.2949 19.124086 -2375.8945
410 0.041 1 -188.27837 20.085983 -2375.8945
420 0.042 1 -188.25957 21.230423 -2375.8945
430 0.043 1 -188.23868 22.538112 -2375.8945
440 0.044 1 -188.21604 23.988778 -2375.8945
450 0.045 1 -188.19195 25.561447 -2375.8945
460 0.046 1 -188.16672 27.234703 -2375.8945
470 0.047 1 -188.14064 28.986964 -2375.8946
480 0.048 1 -188.11402 30.796738 -2375.8946
490 0.049 1 -188.08713 32.642869 -2375.8945
500 0.05 1 -188.06032 34.504776 -2375.8945
510 0.051 1 -188.03383 36.362662 -2375.8945
520 0.052 1 -188.00793 38.197721 -2375.8945
530 0.053 1 -187.98284 39.992314 -2375.8945
540 0.054 1 -187.95884 41.730127 -2375.8945
550 0.055 1 -187.93612 43.396298 -2375.8945
560 0.056 1 -187.91489 44.97754 -2375.8945
570 0.057 1 -187.89524 46.462224 -2375.8945
580 0.058 1 -187.87735 47.840443 -2375.8945
590 0.059 1 -187.8613 49.104064 -2375.8945
600 0.06 1 -187.84719 50.246744 -2375.8945
610 0.061 1 -187.83509 51.26393 -2375.8944
620 0.062 1 -187.82506 52.152839 -2375.8944
630 0.063 1 -187.81706 52.912413 -2375.8944
640 0.064 1 -187.81109 53.543272 -2375.8944
650 0.065 1 -187.80708 54.047636 -2375.8944
660 0.066 1 -187.80499 54.429234 -2375.8944
670 0.067 1 -187.8047 54.693202 -2375.8944
680 0.068 1 -187.80613 54.845965 -2375.8944
690 0.069 1 -187.80914 54.895106 -2375.8944
700 0.07 1 -187.81356 54.849238 -2375.8944
710 0.071 1 -187.81923 54.71786 -2375.8943
720 0.072 1 -187.82608 54.511181 -2375.8943
730 0.073 1 -187.83388 54.239987 -2375.8943
740 0.074 1 -187.84244 53.91548 -2375.8943
750 0.075 1 -187.85158 53.549112 -2375.8943
760 0.076 1 -187.86112 53.152433 -2375.8943
770 0.077 1 -187.87086 52.736925 -2375.8943
780 0.078 1 -187.88063 52.313858 -2375.8943
790 0.079 1 -187.89026 51.894138 -2375.8943
800 0.08 1 -187.89958 51.488169 -2375.8943
810 0.081 1 -187.90842 51.105725 -2375.8943
820 0.082 1 -187.91663 50.755829 -2375.8943
830 0.083 1 -187.92411 50.446651 -2375.8943
840 0.084 1 -187.93071 50.185404 -2375.8943
850 0.085 1 -187.93637 49.978262 -2375.8943
860 0.086 1 -187.94099 49.830307 -2375.8943
870 0.087 1 -187.9445 49.745473 -2375.8943
880 0.088 1 -187.94685 49.726517 -2375.8943
890 0.089 1 -187.94802 49.774999 -2375.8943
900 0.09 1 -187.94799 49.891282 -2375.8943
910 0.091 1 -187.94678 50.074549 -2375.8943
920 0.092 1 -187.94441 50.322833 -2375.8943
930 0.093 1 -187.94093 50.633063 -2375.8943
940 0.094 1 -187.93639 51.001126 -2375.8943
950 0.095 1 -187.93089 51.421938 -2375.8943
960 0.096 1 -187.9245 51.889531 -2375.8943
970 0.097 1 -187.91733 52.397148 -2375.8943
980 0.098 1 -187.9095 52.937345 -2375.8943
990 0.099 1 -187.90113 53.502108 -2375.8943
1000 0.1 1 -187.89236 54.082966 -2375.8943
1010 0.101 1 -187.88332 54.671115 -2375.8943
1020 0.102 1 -187.87415 55.257545 -2375.8943
1030 0.103 1 -187.86501 55.833162 -2375.8943
1040 0.104 1 -187.85602 56.388915 -2375.8943
1050 0.105 1 -187.84734 56.915918 -2375.8943
1060 0.106 1 -187.83909 57.405575 -2375.8943
1070 0.107 1 -187.83143 57.849686 -2375.8943
1080 0.108 1 -187.82446 58.240564 -2375.8943
1090 0.109 1 -187.8183 58.571132 -2375.8943
1100 0.11 1 -187.81306 58.835016 -2375.8943
1110 0.111 1 -187.80883 59.026633 -2375.8943
1120 0.112 1 -187.8057 59.141258 -2375.8943
1130 0.113 1 -187.80372 59.17509 -2375.8943
1140 0.114 1 -187.80295 59.125305 -2375.8943
1150 0.115 1 -187.80341 58.990092 -2375.8943
1160 0.116 1 -187.80515 58.76868 -2375.8943
1170 0.117 1 -187.80814 58.461352 -2375.8943
1180 0.118 1 -187.81244 58.069457 -2375.8943
1190 0.119 1 -187.81794 57.595377 -2375.8944
1200 0.12 1 -187.82458 57.042514 -2375.8944
1210 0.121 1 -187.83233 56.415256 -2375.8944
1220 0.122 1 -187.84112 55.718931 -2375.8944
1230 0.123 1 -187.85086 54.959744 -2375.8944
1240 0.124 1 -187.86145 54.144707 -2375.8944
1250 0.125 1 -187.87277 53.281562 -2375.8944
1260 0.126 1 -187.88471 52.378686 -2375.8944
1270 0.127 1 -187.89713 51.445 -2375.8944
1280 0.128 1 -187.9099 50.489858 -2375.8944
1290 0.129 1 -187.92288 49.522943 -2375.8944
1300 0.13 1 -187.93591 48.554147 -2375.8944
1310 0.131 1 -187.94886 47.593456 -2375.8944
1320 0.132 1 -187.96157 46.650829 -2375.8944
1330 0.133 1 -187.97391 45.736073 -2375.8944
1340 0.134 1 -187.98573 44.858733 -2375.8944
1350 0.135 1 -187.99691 44.027964 -2375.8944
1360 0.136 1 -188.00731 43.252426 -2375.8944
1370 0.137 1 -188.01678 42.540178 -2375.8943
1380 0.138 1 -188.02529 41.898568 -2375.8943
1390 0.139 1 -188.0327 41.334152 -2375.8943
1400 0.14 1 -188.03894 40.852606 -2375.8943
1410 0.141 1 -188.04396 40.45866 -2375.8944
1420 0.142 1 -188.04768 40.156041 -2375.8944
1430 0.143 1 -188.05007 39.947416 -2375.8944
1440 0.144 1 -188.05107 39.834367 -2375.8944
1450 0.145 1 -188.0507 39.817378 -2375.8944
1460 0.146 1 -188.04898 39.895828 -2375.8944
1470 0.147 1 -188.04595 40.068005 -2375.8945
1480 0.148 1 -188.04164 40.331129 -2375.8945
1490 0.149 1 -188.03603 40.681394 -2375.8945
1500 0.15 1 -188.02929 41.114003 -2375.8945
1510 0.151 1 -188.02148 41.623259 -2375.8945
1520 0.152 1 -188.0127 42.20263 -2375.8945
1530 0.153 1 -188.00302 42.844846 -2375.8945
1540 0.154 1 -187.99255 43.541977 -2375.8945
1550 0.155 1 -187.98148 44.285554 -2375.8945
1560 0.156 1 -187.96989 45.066666 -2375.8945
1570 0.157 1 -187.95793 45.876084 -2375.8945
1580 0.158 1 -187.94574 46.704378 -2375.8945
1590 0.159 1 -187.93346 47.542032 -2375.8945
1600 0.16 1 -187.92122 48.379564 -2375.8945
1610 0.161 1 -187.90916 49.207642 -2375.8945
1620 0.162 1 -187.89742 50.0172 -2375.8945
1630 0.163 1 -187.88613 50.799541 -2375.8945
1640 0.164 1 -187.87536 51.546446 -2375.8944
1650 0.165 1 -187.86531 52.250265 -2375.8944
1660 0.166 1 -187.85604 52.904001 -2375.8944
1670 0.167 1 -187.84765 53.501394 -2375.8944
1680 0.168 1 -187.84021 54.036987 -2375.8944
1690 0.169 1 -187.83379 54.506178 -2375.8944
1700 0.17 1 -187.82846 54.905273 -2375.8944
1710 0.171 1 -187.82424 55.231514 -2375.8944
1720 0.172 1 -187.82117 55.483104 -2375.8944
1730 0.173 1 -187.81922 55.659221 -2375.8944
1740 0.174 1 -187.81843 55.760007 -2375.8944
1750 0.175 1 -187.81881 55.786556 -2375.8944
1760 0.176 1 -187.82029 55.740888 -2375.8944
1770 0.177 1 -187.82284 55.625916 -2375.8944
1780 0.178 1 -187.82639 55.445397 -2375.8944
1790 0.179 1 -187.83088 55.203871 -2375.8944
1800 0.18 1 -187.83623 54.906597 -2375.8944
1810 0.181 1 -187.84235 54.559471 -2375.8944
1820 0.182 1 -187.84913 54.168949 -2375.8944
1830 0.183 1 -187.85646 53.741952 -2375.8943
1840 0.184 1 -187.86424 53.28578 -2375.8943
1850 0.185 1 -187.87239 52.807988 -2375.8943
1860 0.186 1 -187.88077 52.3163 -2375.8943
1870 0.187 1 -187.88925 51.81851 -2375.8943
1880 0.188 1 -187.89772 51.322368 -2375.8943
1890 0.189 1 -187.90605 50.835483 -2375.8943
1900 0.19 1 -187.91415 50.365218 -2375.8943
1910 0.191 1 -187.92189 49.9186 -2375.8943
1920 0.192 1 -187.92917 49.502222 -2375.8943
1930 0.193 1 -187.93591 49.122167 -2375.8943
1940 0.194 1 -187.94198 48.783928 -2375.8943
1950 0.195 1 -187.94737 48.492348 -2375.8943
1960 0.196 1 -187.95199 48.25154 -2375.8943
1970 0.197 1 -187.95576 48.064862 -2375.8943
1980 0.198 1 -187.95866 47.934875 -2375.8943
1990 0.199 1 -187.96065 47.863314 -2375.8943
2000 0.2 1 -187.96171 47.851079 -2375.8943
Loop time of 4.40076 on 4 procs for 2000 steps with 500 atoms
Performance: 3.927 ns/day, 6.112 hours/ns, 454.467 timesteps/s
96.2% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.2934 | 1.3683 | 1.432 | 4.2 | 31.09
Neigh | 0.005039 | 0.0053418 | 0.0054908 | 0.2 | 0.12
Comm | 0.12642 | 0.1922 | 0.26891 | 11.6 | 4.37
Output | 0.39256 | 0.40875 | 0.43431 | 2.5 | 9.29
Modify | 2.395 | 2.4202 | 2.4352 | 1.0 | 54.99
Other | | 0.006007 | | | 0.14
Nlocal: 125 ave 130 max 122 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 1324 ave 1330 max 1316 min
Histogram: 1 0 0 1 0 0 0 0 0 2
Neighs: 6747 ave 6959 max 6652 min
Histogram: 2 1 0 0 0 0 0 0 0 1
FullNghs: 13494 ave 14060 max 13186 min
Histogram: 2 0 0 1 0 0 0 0 0 1
Total # of neighbors = 53976
Ave neighs/atom = 107.952
Neighbor list builds = 12
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:04

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
2.4824 0.01948336
2.8665 0.01109
4.0538 -0.0002176
4.753 -0.001714
4.965 -0.001986

View File

@ -0,0 +1,32 @@
#Program fitting the exchange interaction
#Model curve: Bethe-Slater function
import numpy as np, pylab, tkinter
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from decimal import *
print("Loop begin")
#Definition of the Bethe-Slater function
def func(x,a,b,c):
return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2)
#Exchange coeff table (data to fit)
rdata, Jdata = np.loadtxt('exchange_bcc_iron.dat', usecols=(0,1), unpack=True)
plt.plot(rdata, Jdata, 'b-', label='data')
#Perform the fit
popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.]))
plt.plot(rdata, func(rdata, *popt), 'r--', label='fit')
#Print the fitted params
print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt))
#Ploting the result
plt.xlabel('r_ij')
pylab.xlim([0,6.5])
plt.ylabel('J_ij')
plt.legend()
plt.show()
print("Loop end")

View File

@ -0,0 +1,19 @@
6 8
Optimal parameter set
1 4.100199340884814 F
2 1.565647547483517 F
1 0.9332056681088162 T 3.000000000000000
2 -1.162558782567700 T 2.866666666666670
3 -0.3502026949249225 T 2.733333333333330
4 0.4287820835430028 T 2.600000000000000
5 4.907925057809273 T 2.400000000000000
6 -5.307049068415304 T 2.300000000000000
1 -0.1960674387419232 F 4.100000000000000
2 0.3687525935422963 F 3.800000000000000
3 -1.505333614924853 F 3.500000000000000
4 4.948907078156191 T 3.200000000000000
5 -4.894613262753399 T 2.900000000000000
6 3.468897724782442 T 2.600000000000000
7 -1.792218099820337 T 2.400000000000000
8 80.22069592246987 T 2.300000000000000

View File

@ -0,0 +1,56 @@
# bcc iron in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice bcc 2.8665
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
create_atoms 1 box
# setting mass, mag. moments, and interactions for bcc iron
mass 1 55.845
set group all spin/random 31 2.2
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 3.5
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# compute and output options
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
run 50000

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
2.492 0.0028027
3.524 0.0000816
4.316 0.0003537
4.984 0.0001632
5.572 0.0000408

View File

@ -0,0 +1,5 @@
2.495 8.3
3.524 -3.99
4.31 0.998
4.99 -0.955
5.56 0.213

View File

@ -0,0 +1,33 @@
# program fitting the exchange interaction
# model curve: Bethe-Slater function
import numpy as np, pylab, tkinter
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from decimal import *
print("Loop begin")
# definition of the Bethe-Slater function
def func(x,a,b,c):
return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2)
# exchange coeff table (data to fit)
rdata, Jdata = np.loadtxt('exchange_fcc_ni.dat', usecols=(0,1), unpack=True)
plt.plot(rdata, Jdata, 'b-', label='data')
# perform the fit
popt, pcov = curve_fit(func, rdata, Jdata, bounds=([0.0,-1.0,0.0], [100.,5.,5.]))
plt.plot(rdata, func(rdata, *popt), 'r--', label='fit')
# print the fitted parameters
print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt))
# ploting the result
plt.xlabel('r_ij')
pylab.xlim([0.0,6.5])
#pylab.ylim([-2.0,10.0])
plt.ylabel('J_ij')
plt.legend()
plt.show()
print("Loop end")

View File

@ -0,0 +1,58 @@
# fcc nickel in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice fcc 3.524
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
create_atoms 1 box
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.69
set group all spin/random 31 0.63
#set group all spin 0.63 0.0 0.0 1.0
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# compute and output options
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp v_tmag etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 2000

View File

@ -0,0 +1,157 @@
LAMMPS (11 May 2018)
# fcc nickel in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice fcc 3.524
Lattice spacing in x,y,z = 3.524 3.524 3.524
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 500 atoms
Time spent = 0.000804186 secs
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.69
set group all spin/random 31 0.63
500 settings made for spin/random
#set group all spin 0.63 0.0 0.0 1.0
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# compute and output options
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp v_tmag etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 2000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.90375
ghost atom cutoff = 5.90375
binsize = 2.95187, bins = 6 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.384 | 7.384 | 7.384 Mbytes
Step Time v_magnorm v_emag Temp v_tmag TotEng
0 0 0.028733803 0.40997576 100.03408 -9550.1342 -2218.1018
50 0.005 0.028733807 0.070491717 101.47879 -56307.038 -2218.1018
100 0.01 0.028733815 -0.70937134 101.7311 5851.6355 -2218.1018
150 0.015 0.028733823 -1.853981 99.63039 2395.8677 -2218.1018
200 0.02 0.028733828 -3.2679239 94.850105 1482.3486 -2218.1018
250 0.025 0.028733824 -4.863967 88.444584 1100.7396 -2218.1018
300 0.03 0.028733807 -6.5763457 82.689581 899.56642 -2218.1018
350 0.035 0.028733783 -8.3489158 80.108798 768.64457 -2218.1018
400 0.04 0.028733763 -10.120216 82.374947 670.03091 -2218.1018
450 0.045 0.028733755 -11.828932 89.814597 593.77931 -2218.1018
500 0.05 0.028733762 -13.423712 101.39613 535.03371 -2218.1018
550 0.055 0.028733783 -14.866724 115.07399 489.92024 -2218.1018
600 0.06 0.028733801 -16.135279 128.57849 458.66654 -2218.1018
650 0.065 0.028733804 -17.222838 140.22402 440.11437 -2218.1018
700 0.07 0.028733795 -18.154813 149.61295 425.91356 -2218.1018
750 0.075 0.028733781 -18.996903 157.5814 412.82654 -2218.1018
800 0.08 0.028733768 -19.804249 164.92075 407.77954 -2218.1018
850 0.085 0.028733752 -20.579151 171.67278 406.84726 -2218.1018
900 0.09 0.028733728 -21.294277 177.67238 399.69633 -2218.1018
950 0.095 0.028733715 -21.943945 183.2621 389.92281 -2218.1018
1000 0.1 0.02873374 -22.551277 188.99284 383.19592 -2218.1018
1050 0.105 0.028733783 -23.120147 194.51391 375.87245 -2218.1018
1100 0.11 0.028733792 -23.602325 198.18631 365.37753 -2218.1018
1150 0.115 0.028733774 -23.976048 199.04022 354.04863 -2218.1018
1200 0.12 0.02873376 -24.31575 198.41999 346.40397 -2218.1018
1250 0.125 0.028733759 -24.718347 198.3669 343.1701 -2218.1018
1300 0.13 0.028733765 -25.189073 199.57949 336.90052 -2218.1018
1350 0.135 0.028733774 -25.650252 201.45897 329.07023 -2218.1018
1400 0.14 0.028733785 -26.042702 203.6926 327.97373 -2218.1018
1450 0.145 0.028733791 -26.373965 206.80469 327.38747 -2218.1018
1500 0.15 0.028733791 -26.691802 211.43923 322.75885 -2218.1018
1550 0.155 0.028733794 -27.021573 217.10969 315.55781 -2218.1018
1600 0.16 0.028733792 -27.344066 222.16052 310.6743 -2218.1018
1650 0.165 0.028733788 -27.640017 225.28449 310.49671 -2218.1018
1700 0.17 0.028733803 -27.907241 226.37676 310.9389 -2218.1018
1750 0.175 0.028733828 -28.143477 226.31095 313.28034 -2218.1018
1800 0.18 0.028733833 -28.363397 226.43633 317.31668 -2218.1018
1850 0.185 0.028733811 -28.58153 227.36287 318.98645 -2218.1018
1900 0.19 0.028733796 -28.785208 228.39889 316.9972 -2218.1018
1950 0.195 0.028733826 -28.9724 228.84666 309.8027 -2218.1018
2000 0.2 0.02873386 -29.175039 228.918 297.88519 -2218.1018
Loop time of 10.033 on 1 procs for 2000 steps with 500 atoms
Performance: 1.722 ns/day, 13.935 hours/ns, 199.342 timesteps/s
99.4% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 3.909 | 3.909 | 3.909 | 0.0 | 38.96
Neigh | 0.031031 | 0.031031 | 0.031031 | 0.0 | 0.31
Comm | 0.046559 | 0.046559 | 0.046559 | 0.0 | 0.46
Output | 2.4087 | 2.4087 | 2.4087 | 0.0 | 24.01
Modify | 3.625 | 3.625 | 3.625 | 0.0 | 36.13
Other | | 0.01268 | | | 0.13
Nlocal: 500 ave 500 max 500 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1956 ave 1956 max 1956 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 19508 ave 19508 max 19508 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 39016 ave 39016 max 39016 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 39016
Ave neighs/atom = 78.032
Neighbor list builds = 21
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:10

View File

@ -0,0 +1,157 @@
LAMMPS (11 May 2018)
# fcc nickel in a 3d periodic box
clear
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
lattice fcc 3.524
Lattice spacing in x,y,z = 3.524 3.524 3.524
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 500 atoms
Time spent = 0.000523567 secs
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.69
set group all spin/random 31 0.63
500 settings made for spin/random
#set group all spin 0.63 0.0 0.0 1.0
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# compute and output options
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm v_emag temp v_tmag etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 2000
Neighbor list info ...
update every 10 steps, delay 20 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.90375
ghost atom cutoff = 5.90375
binsize = 2.95187, bins = 6 6 6
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/alloy, perpetual, half/full from (2)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(2) pair spin/exchange, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.298 | 7.298 | 7.298 Mbytes
Step Time v_magnorm v_emag Temp v_tmag TotEng
0 0 0.028733803 0.40997576 100.03408 -9550.1342 -2218.1018
50 0.005 0.028733805 0.25324083 98.741633 -15727.749 -2218.1018
100 0.01 0.028733812 -0.37320751 97.073875 11244.373 -2218.1018
150 0.015 0.028733819 -1.3971549 94.073447 3250.0517 -2218.1018
200 0.02 0.028733825 -2.7238372 89.419944 1838.752 -2218.1018
250 0.025 0.028733829 -4.2684428 84.07494 1304.3675 -2218.1018
300 0.03 0.028733824 -5.9636712 80.06368 1025.7815 -2218.1018
350 0.035 0.02873381 -7.7386326 79.366702 844.49729 -2218.1018
400 0.04 0.028733802 -9.5148059 83.052751 715.20758 -2218.1018
450 0.045 0.028733806 -11.234935 91.282747 621.75552 -2218.1018
500 0.05 0.02873381 -12.875184 103.49836 550.04479 -2218.1018
550 0.055 0.028733808 -14.413473 118.16526 495.70417 -2218.1018
600 0.06 0.028733803 -15.812466 132.83837 461.35805 -2218.1018
650 0.065 0.028733808 -17.061311 145.41049 444.38951 -2218.1018
700 0.07 0.028733818 -18.181903 154.83414 438.85866 -2218.1018
750 0.075 0.028733823 -19.176259 160.58645 436.90462 -2218.1018
800 0.08 0.028733825 -20.035157 163.02829 429.73193 -2218.1018
850 0.085 0.028733825 -20.806548 164.4197 419.73763 -2218.1018
900 0.09 0.028733829 -21.571419 167.8571 411.59699 -2218.1018
950 0.095 0.028733825 -22.365879 175.00875 402.66175 -2218.1018
1000 0.1 0.028733821 -23.133464 184.68305 391.05824 -2218.1018
1050 0.105 0.028733833 -23.770507 193.83795 379.23354 -2218.1018
1100 0.11 0.02873385 -24.249882 200.5039 372.08521 -2218.1018
1150 0.115 0.028733864 -24.630489 204.46984 367.92135 -2218.1018
1200 0.12 0.028733877 -24.956281 205.96624 363.72367 -2218.1018
1250 0.125 0.028733884 -25.227332 205.18503 361.09236 -2218.1018
1300 0.13 0.028733877 -25.43568 202.76969 359.10924 -2218.1018
1350 0.135 0.028733868 -25.588748 199.85462 358.69556 -2218.1018
1400 0.14 0.028733866 -25.723582 197.99165 360.27856 -2218.1018
1450 0.145 0.028733851 -25.866283 198.30283 360.46623 -2218.1018
1500 0.15 0.028733812 -26.014569 200.95517 354.66722 -2218.1018
1550 0.155 0.02873379 -26.192673 205.95485 348.37935 -2218.1018
1600 0.16 0.028733795 -26.444059 212.87557 345.53576 -2218.1018
1650 0.165 0.028733838 -26.75551 219.86449 338.9224 -2218.1018
1700 0.17 0.028733868 -27.068513 224.47868 327.81241 -2218.1018
1750 0.175 0.028733862 -27.344118 225.62318 319.85486 -2218.1018
1800 0.18 0.028733849 -27.57563 224.07463 320.07064 -2218.1018
1850 0.185 0.028733852 -27.774274 221.70618 323.12599 -2218.1018
1900 0.19 0.028733864 -27.967999 220.53947 322.9504 -2218.1018
1950 0.195 0.028733863 -28.173041 221.61407 318.63401 -2218.1018
2000 0.2 0.028733853 -28.362177 224.22281 310.55185 -2218.1018
Loop time of 3.95094 on 4 procs for 2000 steps with 500 atoms
Performance: 4.374 ns/day, 5.487 hours/ns, 506.208 timesteps/s
98.1% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.0289 | 1.0467 | 1.0811 | 2.0 | 26.49
Neigh | 0.0079527 | 0.0081946 | 0.0084369 | 0.2 | 0.21
Comm | 0.094456 | 0.13311 | 0.15138 | 6.2 | 3.37
Output | 0.69702 | 0.71998 | 0.74483 | 2.1 | 18.22
Modify | 2.0107 | 2.0383 | 2.0598 | 1.3 | 51.59
Other | | 0.004668 | | | 0.12
Nlocal: 125 ave 132 max 120 min
Histogram: 2 0 0 0 0 1 0 0 0 1
Nghost: 1099 ave 1104 max 1092 min
Histogram: 1 0 0 0 1 0 0 0 0 2
Neighs: 4876.5 ave 5100 max 4721 min
Histogram: 2 0 0 0 0 1 0 0 0 1
FullNghs: 9753 ave 10296 max 9362 min
Histogram: 2 0 0 0 0 1 0 0 0 1
Total # of neighbors = 39012
Ave neighs/atom = 78.024
Neighbor list builds = 21
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:04

View File

@ -0,0 +1 @@
../cobalt_fcc/Co_PurjaPun_2012.eam.alloy

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
units metal
dimension 3
boundary p p p
atom_style spin
# necessary for the serial algorithm (sametag)
atom_modify map array
read_data Norm_randXY_8x8x32.data
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# define outputs and computes
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 10
thermo_style custom step time v_magnorm v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 10 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100

View File

@ -0,0 +1,49 @@
# start a spin-lattice simulation from a data file
units metal
atom_style spin
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
read_restart restart_hcp_cobalt.equil
# setting mass, mag. moments, and interactions
mass 1 58.93
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co
pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567
neighbor 1.0 bin
neigh_modify every 1 check no delay 0
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice yes
timestep 0.0001
# define outputs
compute out_mag all compute/spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo 10
thermo_style custom step time v_magnorm v_emag v_tmag temp etotal
thermo_modify format float %20.15g
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 100

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