diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 3dabdbeaa1e1091db35b798f19cf9f3b2b74848f..ef830951e64f2ecb183df648115bbbcd6a3d658c 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -583,6 +583,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, @@ -606,6 +607,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, @@ -618,6 +620,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, @@ -824,6 +827,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, @@ -1017,6 +1021,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, diff --git a/doc/src/computes.txt b/doc/src/computes.txt index 1b64e2e5b46393313fc74099ef9bbf04da946b74..12de3e2788eed4ac4f077fd2e9dc41be9b722a72 100644 --- a/doc/src/computes.txt +++ b/doc/src/computes.txt @@ -95,6 +95,7 @@ Computes :h1 compute_smd_ulsph_stress compute_smd_vol compute_sna_atom + compute_spin compute_stress_atom compute_tally compute_tdpd_cc_atom diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 246ee023312932cc3325d5c87f84d5ebe389fe0c..51f085ebdcbd389dbceebe8e28f5d31fbe1ee4ac 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -27,7 +27,7 @@ fix 2 all langevin/spin 300.0 0.01 21 :pre Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 to the magnetic spins associated to the atoms. -Used with "fix integration spin"_fix_integration_spin.html, this command performs +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: @@ -48,9 +48,9 @@ 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 force/spin zeeman 0.01 0.0 0.0 1.0 +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 integration/spin lattice yes :pre +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. @@ -80,16 +80,15 @@ 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 {langevin/spin} is enabled. +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 integration fix -("fix integration spin"_fix_integration_spin.html). +This fix has to be the last defined magnetic fix before the time +integration fix (e.g. {fix nve/spin}). [Related commands:] -"fix integration spin"_fix_integration_spin.html, -"pair spin"_pair_spin.html +"fix nve/spin"_fix_nve_spin.html, "fix precession/spin"_fix_precession_spin.html [Default:] none diff --git a/doc/src/fixes.txt b/doc/src/fixes.txt index 79c2f75b8ba46f2924c2e34ed98c81edd6fe71b8..9510217d029b79849ad03fc8092090472936e4fe 100644 --- a/doc/src/fixes.txt +++ b/doc/src/fixes.txt @@ -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 diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 0764c593f7e56cc251588d800a53d06a11e232b4..22be6c7f53089e0589f8b6eac0c7c7cd1ca43260 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -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 @@ -381,6 +384,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 +510,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 diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 90a75705c7219800a15b6951afa01884765c6720..97b6d0b34f90a13e399d50f9b77a1b9587698b76 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -15,42 +15,42 @@ 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_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: +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. +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. +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 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 +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_integration_spin"_fix_integration_spin.html), such as: +force F for spin-lattice calculations (see "fix_nve_spin"_fix_nve_spin.html), +such as: :c,image(Eqs/pair_spin_exchange_forces.jpg) diff --git a/doc/src/pair_spin_me.txt b/doc/src/pair_spin_magelec.txt similarity index 86% rename from doc/src/pair_spin_me.txt rename to doc/src/pair_spin_magelec.txt index 8186775b7795f62110588c03d4ad9112ae609ef3..0185a5abb2ea0fedb47b747e35eec04b9cf108ee 100644 --- a/doc/src/pair_spin_me.txt +++ b/doc/src/pair_spin_magelec.txt @@ -15,7 +15,7 @@ pair_style spin/me cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l :ule - + [Examples:] pair_style spin/me 4.5 @@ -29,16 +29,16 @@ pairs of magnetic spins. According to the derivation reported in :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 +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 +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 +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_integration_spin"_fix_integration_spin.html), such as: +force F for spin-lattice calculations (see "fix_nve_spin"_fix_nve_spin.html), +such as: :c,image(Eqs/pair_spin_me_forces.jpg) @@ -51,14 +51,14 @@ More details about the derivation of these torques/forces are reported in [Restrictions:] -All the {pair/spin} styles are part of the SPIN package. +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. +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, +"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 diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index 202aaa9c0f8354ebadf7a2f24156e3fb19b02fd2..1a5e98a10964f63e7c2c3cfbf8a4faaef3967271 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -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 diff --git a/doc/src/tutorials.txt b/doc/src/tutorials.txt index 97e78838414d280b6e4960a3fc9486e8146297b8..338439ac8e9387c080e8bfd32bf237e85984ec0e 100644 --- a/doc/src/tutorials.txt +++ b/doc/src/tutorials.txt @@ -9,7 +9,6 @@ Tutorials :h1 tutorial_github tutorial_pylammps tutorial_bash_on_windows - tutorial_spin body manifolds diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_magelec.h b/src/SPIN/pair_spin_magelec.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h old mode 100755 new mode 100644