From 10b38cda9328e03cf4f428ed06b1755c9b545efd Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 8 Feb 2018 11:09:33 -0700 Subject: [PATCH] commit JT 020818 - documentation v1.0 - reorg. of examples --- doc/src/Eqs/umbrella.jpg | Bin 20442 -> 0 bytes doc/src/atom_style.txt | 9 +++++- doc/src/fix_force_spin.txt | 4 +-- doc/src/fix_integration_spin.txt | 50 ++++++++++++++++-------------- doc/src/fix_langevin_spin.txt | 43 ++++++++++++------------- doc/src/pair_spin_exchange.txt | 16 ++++++++-- src/SPIN/fix_integration_spin.cpp | 2 +- 7 files changed, 71 insertions(+), 53 deletions(-) delete mode 100644 doc/src/Eqs/umbrella.jpg diff --git a/doc/src/Eqs/umbrella.jpg b/doc/src/Eqs/umbrella.jpg deleted file mode 100644 index 5783b54ea34556561221c695f878503a5d755c21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20442 zcmeI3c{r5c-^WLmQ5b7wH&OAe?CT7JNuk6LlC?C(Hf9VncCr;EyFv(2i7X*|$dWbt zzGq*@maRb^>bw4~@AZ2ge?0&B%r$f0bI<2|&N;91KHELlz1O?<6~J&^`I<6-jEoGR zy8i;~jf!2gBoJ^=VPPy@$kfdC9!dylixGA<#R-cFi3kJa6r6FUNHmH7zK61~!oql$ zO3Hb`R%S3>JxO&Db(|8)(n{6U9;NN7p@VcqBOzwI3i2o9oT1Jb90o-&1v_JGuz095 zjQ3}7=>GY^Wno_MPZt6j#tT2l6?|J=6Rc!wj{-{yi3lP^q(s0{qC%qL64KJrm%w5o zq9Vc~V#15s7l|Qk6CTDME4!wCr`Sc)njj{)lr0g-6<3;Rsf?Snxqy(|fiK1Q;*xK}LVt z@Abmq{>iW&SZ{V%8gNUm;c zW@Ya3Z^55}{>JKOLmX7|Kd%3849$>#BE&h^+x%=PGo&!e28BUk z3HW^-iVFV&qZtxvZflP*CCFQ0Of68t);N@fobX>)|7!t%6?K5E{mwRJ{Qpb%UqO#DITYL@Tt~PLMc`1*N9sDlbtnRdaz0Ym5w1fKIF$2|x{h!iiol_q zkJNR9>rey^<$R>BBV30fa46>^bsgb46oErIAF1mI*P#d;%K1oLN4O3};84y->N>)8 zC<2FaK2p~au0s(xl=G3gj&L1{z@eOv)OCdGPy`O;e59@;T!$iXDCZ+}9pO3@fkQbT zsp|;Wp$Htx`AA(yxDG|&P|io{I>L1*0*7)wQr8i#LlHQX^M6&>iN7BFKwyqNbreaf0T=30el)pT7pKc4M<0x(hon#oR*lQ9C0F_MuplI>Lk zIQO4x0URUW|M=5@$Ee82DJZG;f7N6Fkdc!gqoCOT4g?-Q4gefDQ&2KeF#(y+h*I;y zwOGVVPx9G$pJKfn_VV;uafzGRZAw>k?%Df9oZ}ae)JB^5R^SN^Pm_{!+n4tvviv=# zUs)bpW&B(IzhCVK(30=x#z@WxPyp=S^sTnNb$6(yEWvWdxXE00d}Iiy)fq#OwJN>| zbeL^<0+apGlSCVw)G->{)Er?hUXs8qIs$0`Rk-Fxc;C@L6i6n76oc;fqZc!9bJQg8G~Nl*5?jV#@8x@1jTywb-0soLz;Vg; zy9w7I0Wv51V}i|55ncg4cI^{a0|*jE6dIHYo`xNx+OWWm7CN!P!)dPs3ionKkIUkF zxI%H~A1qc4OnfH=$CrA9;+vjqBUA3bg$%-eyoD(48~ky&2$>K-HraJk0Ws+NvOpHy z%%(>Z@;)qO51_-jn{2zZqUHKyz(bZq0@DP2+(>=&6)W$!Q?|Pet|C4`kZia|+H-d_ z9Xq;j>MU-#B*$8)tPXMoZja}HCRj^@!h(@Cw@3ZyU&6mnd%LrbcE29YC|+{QSJTEn z@2I`xmzD&k5Gy`!W5XmG-P?)}o{_E^t$lzhx!(|Hu?OHW-mSruDo}9JgXGT9_6p*W zkRJuwyMtdq!`@Uv%LA2qPWgyEKvU-)U^{Wn$?rZ>xN2f5&qI_7qN>?9q$~EJOvUSW zPUCvQTf3SBwNa;sSvbMq{7a`9*kl%$?uc{R!&>pA_qZxx{cSTo&SA7PGG%ud1`D+# zWi6MW4Up+Fi;H;s`!Cqm*5CA3s`!Kj-RMqJd6A+1Yr4i;`(cPz9w#%iJJ+i#eZr8Oq?(!v( z#JVlh(Z@hMnx@!vXUa!(OIaa+)>C)*)S}Z+H-?WaZpC{YXugCXaQ;Y_6QxD7Uu5SX zUb5I8SEv92D>rGL*fpjP?Pj9IxAp)kAt`2@(v?dzUf(Y|xyr^vJw$VDm*E3Ee%vhC z-fv=3ry;_Upn4JkaQ~}sl(YG$H=m8JjfD#zGY}ZIRGP^*(r_7+)#diEx~K(%uZOU` zB@(^Z$!dE9#GL%(+2i&A#^2nl>zN-b^fxBKJSjNur@KSw@cM!k-s7NwOEAxE1syi& zDi!+vrldFHBj9h~y4u9;_&T0<%3h$s3ya81yXGfc*}j`FH}L%oPMBz<8m!W2{L8Fq z3u436a(x5dJwh`m%Eh(PV!LtU%a4s3t{qMDJpiqoklQBfyxkta{DQ`Cd|_=Hl~NTy z&4%Qg3px6$g)P0C%~HhK**4&%<;KcxFWQp`z#>`4gavC$gKtq8hqHcMS$LY#9-#F4 z@W{4UHMbD??Tl`<;qn5*Z_5NH$Mz23$5LW|OaWD4T*Ac($K!AlMY!PE2(F`=3O=h#M5t|w$+HEPMAwAK%9Y^TsMda#*2lEcoC+;; z#-T-Q_6wvI@$p48>wL(0oQJ(nyqAyRXgXPCj9~eh)OUEUaQhyOY4V<|th5v1$Nt@p zhxqO60nT=}jz=9&TV3#{pQo<@Axv9$?S0+z=PtsU%O>GUS}my`uJ;Pj(K_4Mm-;9+ zO;AAwRO_r{)+^~>9hAujRhi=)fbG5h|9CVy*fmr6d_ed6h4(1#OZU zKY_Qb{MmW<;K<|q;(-oaA)Vm2|2pM-kBQkp$lj1h!o=F=tnHelHg>{O}2b#PU>@oE0m-;?acHULP zd0>SlWb(#v(W*jb$2$C_VIkui%v1A#0oP6z3GAHJEH;m!_QlJh0XEBefW;71SF(gg zLR+`LL3)@x)aAT~y3(ZE>qz~{n(t@bilew*0*8MNwj!fap6W6oC03!s?Dp-)`|_I5 z#_Jpi#61S>RtB|?P^fsKH3#Dt_2M3TQk2V$*pm2CCoE)L;DP`(HMKnUW#J$uKOkV< zqqOIGG}X%GdN!K)wr?2scq8v#?iqQ0kYtz1huq!V4T<~`v+_><7|RJsR($lPWcpmU zzw}F|ra=NcKk=UcqgGNLu{=FhFJYYd)Fe+MIp8`qMl?P>IEi1PQAqT|-8G63cRzmy z_8On%%0|htA(yh@t2Uk5Dh2|-C5nn5*y!(y%d13XXR&?fDA`Ob`6GH1?nRiiiQUzASt*9Zy&A zaSSzqE#?>y?y_}fzcxR2KG)}m-Suon&3<=;D<6>j)8O)B{w(7iyfj<^j85G>D)yMj zM<1I_@z=F%K_2Q?NnHCJY;8<^UEA6S`KkUu2wlzKD}{ z+h1H<`6DJ=YSgc#!}vZcH4hKBk{@&_L1spbp1|^yf@u#x&n2N-QToJIa|NQIvyZTr=Iq9y(%g@v==k4Y zitnfoeAs<2`xWy(pIU9%gjhPfO0GQ3S@_inzFO#CjTZ9HSJKCsMKtOBFcv&3GrTHq z!GvS)_7OuA!u{!GqVDyu%Hh6KtOsA(0J1)(#uD8v~2-; zbE7+Mp{#q6Vxqw9Ua0hL_eYA8IzI1HFxmR1Jz8rfm`g*~C71a{G>O1RdJ2gFm%_ z?uj3#5qozqQCr{ABS2POUdU>S{$XZS+}7}>*s*$EG(0TRHVW2i`&746x3jHFOGial zO#l?&Y|_VvM`#*MO)&VD{!yK!C!BibAt=H44(09q?2jHpNjV`~~PGJ<T|=~-q^@85n`io*Vj-H`~*MlQ$_tAfZ`;}?^6N$ zVtM;b>!yqP_fVB;=rk`LM%F=Uu0B4op_P){7*6p;AC-(u@nt=~Tct45bQ@Q{X}M>T zdP0WOLRcPcJ`Mpl@vg8BGCaaPX(u?1E{CXDmcopyp59DR=`DbNqQ%R?s-!h&~%AAREfCZ#TBus{1n}v3~V$ z`sbQZ&Tdx3&JUwGji-KmY_H@TBwF=zZS7>(k%{N%S;wvJYB zYF%07G}f>mP7oQaVHlLIF9(2k`PFpQ_0&)5Udo7%aXfw|MvSvIyGjtRIs>PcbK1Rn zucNz9$f;oq)5*Bza8;>_BYrd)HfYxhdJPQ7GO;>w!A)Hq)6H&xo}x^1sec@CS^|;? z`AQW|uegBvHR2xhX}IvH2B>^Yi(f2%n*1y=kV=5c6(Z`F~{I0 zwg=FEKP@Ck&{Q27D)uY4{mP)zdQk5JbICl_h-pX|U6csz)?P$^mt@Spg|%wb=~IvJxje8XdPaTcW4%Ol3{5~AIpRfa$|AR?I%P>JOd!}YgLRa#;oH1D09(dJ z5WRDHUcb$a7$}M45tm-QDfW7bP5P?1(I}_rH+I}YA*}=<8&W3LQ!o~R{FR;PEAY=FbKFudF7Iu(N;aNG;y+sl(+^4 zw>dxm45j1Y5~So*KwH0y3k>K(KCFt_T^#u0yx8sLmheWEo`=Tyj--!45F(X-Tg`A- zF?>>I0rGS^=LX9jK$MQHUt{qTnV%N}c60t@=B{~quJM_ZEGOHbY-3Kj{x}cLVIr(z z&gaf2gV>;eEUo4CnelVV&r`))bvBr^Zb8~rMpF4?LlTDq*WfJ-vv)Jc6X>mkJY8(e z93nb8R0luJy}7ap^fW7doz4d!}LNk3S( zv1rlQTQK8`|B6Ck?wpWV%L|!m=r!|$z(##sc)cbzw^f}Tl8TJ!{hn?8JV;a~@73c1CgR6@g}U0i%)SX%xZ?%w|9rbUIsL$y=GRxZv>gal(-4vqPcTpgX6VN|?W$`}ZE$p`V76r%f+qM`BosNzQ zkCzyv)j8(&a{O5MZz@EUOB!ZD3f}N#EGNro2H_YR=Dbu~KvadcHpMeR{AQtUJ!g=I zhH=l5T1XCEdrVAxWc&qd=K(r7S{qz-gJdw zGD0odgh|P%(B#L5U!_rtGknpEv!=TkVi0f<6WmuBq@X&NW_{aA|CVF1Udd=**$MN! zq7nWfDZMpf2!TVI(pf8mP`zI8ZYD|k`a3fT0_W_xwA5D)GI-<@&$>Ftu%fWS4K7#k z;DWCmtrZjwBF zaG^?e6P{vB(0gPMq+-_TSEAlMXmjuNQ_aQ|yXrPWX1?h1C=Qw*8ZWZf;RVv)@$5IC zi1!+4TVqCb4-pkRRL!3Xm!`f!w=uILX_Pu2asH|UO%k`Rzqn~_BBbslqkTfVJW_u; zFe*f7v2e-DH-B+al1|n_%C9$Q4}g5Qrn7^nTKd#$3fHjCgteaVKs^Cl?n(yMjzjkEcJU zL8eTGq8#)vf78^^Mzt2?6 z&;7yj@KWRxu6*>f;Y{cSRx(0F!`HS}3-X~_F2I}z!)4(?o9_PMjUnl(3;b2IW%@$x zE@r)pakW_FfEsI6@OaU5E06%cKI(Zqy_h>}9kNBdX4H!9adB^P8=4Bsws?mWo)4bh zcq|~=xnoi=OH}8Md)u)YQ%nkPQ=C(^8sXBInus=knm?zggAdb7*-Ff>pA&-xD)197{oUS!;jRE5*=io9Vv{D0 zw`)Zx(%k6ei=r)o-N()qu_>CovmNhZe3XzKa)@!kF=#)jpb;IQBIfp?cgq0#DpI?$ zy}M{!W|bbZSV`YmEPlnRiN_L?Q+vG^`8|zaMjXMP9&ydfWU)NTv<)~6zc5DAvN}|y zSSuQ0S#06*3Fja~;ky1w_Wo;1-M@9!{Zoqa2dmS@D`LE(lOL~)o_?p4SmQY?cnb=lk1cl#b($U98efrrBxs^2f#5iMvs1{!LTgT^@wi zc{kr*sYtWvXe`7x$a#uESXiIH$s`$r@ ztwDBHat_^KEVidg`z8o9y=E04-f89%CyOki@057@^aCOL=FKa;za?4*vm(jTk?bPu zt+D{$A~K431Kj-W5r@~g+J<>_CqMMYUc^YW8z$WJj1%?2x+k1GwcBiQLjuEN6wacI z?UxQU4iP0MSAh3yx7zu@BGK!M@ddB0kZYQbNcmQmRU#=Rt4r z_e4)yLp%8FLLh!|C9F%n9jowLzjiC|m357*4%b_~SUu9rj1^gbROInA(NlFjOIA$(o`fR?7X&88?NI3N}Z|%bb zgTbsk)+U25#n`tuL5wEpuQl+WXU7xh6gkz#lPru@Nf#Dpx5L>1TvU)bb?|yB-eeK45NLe~_x3l_P!gTYm-_q7;zb1T+=&oVMBvD=mM|;&? zrf$hnTrrfpprxKHaHdcSPd1Ye516xiNUY)1|P@j z-8Aa$H5HMwIZLk~-jf4*p;9e~wl3+r)aiO%Hm`gB`dmPOD>|6+VzP{<=&H8l$IN6V zPO}NBX*RmCKFJ!ihg`u0bFChjSLe;o!mzONuB4lF1>+-@@VP&B=Kpbo3ywzfJ#p7w z>VDICKcVYRtAqSVDdjaXiY%`jV96s8QtGmUM`Kt|W8(m|724B`fkF3Rki5R5bWN8# zw!<%2S;>%e&4vYEC)PVX_(OYWq@m|)$?Q{39BFk|AzcWH(6?tx$2w=eDYso61`FX0 zdaJx9q0!P&b-;pX(5uk2f2X?7IBL1CNlt(45w;^gsi)KFN7@hnWw@pyT=1)VMtJ!n zXKYhU&Nz3w=xU*he{16Y{XsCe!(snM=iBw%)T@>2_@vj#`13yD4?EjxF7TbrNhUm9 zt^a~upqB?Gw&-vfls`N*WQfge8(KOowk;m`UhneU?YTQb048}jViHIGGEjP?jG8VA z(SQDfA>Yf$Nj(SAi2Tgbwla^DT%)Z%2FDS5@x|-EZp8hIs(nyZi4~vA_!n5W=QZ5c z6;ABL@uZ!w-j@YM^wru&LJE0lSk^tjqyP10=$)z*i$Eity8a)SSiVfVWdvOv$vae2 zhk-#Qm2jFZJ&Fj|db1em>Snw+s)g%QkZjNEfK_w4%X-N=PJdDMeB}1RYz4%+8?`N) z5K=PS5lFINc@gTMa&Lvp_e-Y~4$j&?IN`dP#QH-3vdvTdgc>jG2odeDiLFBPG%ABU zCCJb#7YoaY7}(mArTh&DWb4LeCCCuFA{bvF2$`JyVK+tE1KgVN%^0t)8?51yTP!^* zH|*sa5(ObWU=15{`tp^q!X30d7+e;=3#)@aMOOES4g|jdjALDTxyMuPw4~8)Y&}QD zHT7F-g*{e?^ZxDv-~9?!Q6IBws!wfin?TY_qCTz9Pd?$%VJqfgBHCV3e{)ub$8%@F zaelx8Kac~;B56{EdR{de>ANHuH=?oaWiCqsf1zg%w!}eo{dt`Gkuj- z-|A06FC%7aPt$#Fo?f)7y>(Z)J3b|4Gf^s}y0I5gYxTC-{pDDSLVR!h{@(~Ml*Viz zB|^~KAvdRV_W-ycAdiJ}+&A<2*Sk{ppk*VPNEl)~WdBbK>s|(HIH1)KU=pbb`y=mW5|xwEYEi>P`^b z{6PH~c$DzxQ%WwyvcQtsewb*8BWZn8F(_W31VWOr;NvGUDRP$rmIeum49-a~F74#! zKXR{rt}Wx`-P*67c2uxt7aqo#^-zm zQsvZq{d=tRBrNC$3=6l->{q$~hC6B&p8dr}%yG5#>6gei>?T1iWrzu1o?JP#uswj$ zY^a+jT*pJ+_NglgOfnL0V{fQ`>mZcaCE2MP#ig>0jnw6*{M diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt index 49d9dde791..7ad4e1a88a 100644 --- a/doc/src/atom_style.txt +++ b/doc/src/atom_style.txt @@ -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 {tri} or {template} or {hybrid} or {spin} :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. diff --git a/doc/src/fix_force_spin.txt b/doc/src/fix_force_spin.txt index 60a70dbf40..5e7cff571d 100644 --- a/doc/src/fix_force_spin.txt +++ b/doc/src/fix_force_spin.txt @@ -36,7 +36,7 @@ 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.pdf) +:c,image(Eqs/force_spin_zeeman.jpg) with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T in metal units), @@ -44,7 +44,7 @@ in metal units), Style {aniso} 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.pdf) +: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. diff --git a/doc/src/fix_integration_spin.txt b/doc/src/fix_integration_spin.txt index 15840cbfc0..d4e568a4f4 100644 --- a/doc/src/fix_integration_spin.txt +++ b/doc/src/fix_integration_spin.txt @@ -10,33 +10,38 @@ fix integration/spin command :h3 [Syntax:] -fix ID group-ID integration/spin style :pre +fix ID group-ID integration/spin keyword values :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l integration/spin = style name of this fix command :l -style = {serial} or {mpi} :l - {serial} value = factor - factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below :pre - {mpi} +keyword = {lattice} :l + {lattice} value = {no} or {yes} :pre :ule [Examples:] -fix 3 all integration/spin serial -fix 1 all integration/spin mpi +fix 3 all integration/spin lattice yes +fix 1 all integration/spin lattice no :pre [Description:] -A Suzuki-Trotter decomposition is applied to the integration of the -spin-lattice system. +Perform a symplectic integration for the spin or spin-lattice system. -:line +The {lattice} keyword defines if the spins are integrated on a lattice +of fixed atoms (lattice = no), or if atoms are moving (lattice = yes). -The {style} value defines if a serial of a parallel -algorithm has to be used for the integration. +By default (lattice = yes), a spin-lattice integration is performed. -The parallel algorithm uses a sectoring method as -described in . +The {integration/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 enables this scheme for parallel calculations. +The implementation of this sectoring algorithm is reported in +"(Tranchida)"_#Tranchida1. :line @@ -49,17 +54,16 @@ section for more info on packages. [Related commands:] -"fix nve"_fix_nve.html, "pair spin"_pair_spin.html, -"compute spin"_compute_spin.html, "fix langevin spin"_fix_langevin_spin.html, - +"atom_style spin"_atom_style.html, "fix nve"_fix_nve.html [Default:] none :line -:link(Davidchack2) -[(Davidchack)] R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015). -:link(Miller2) -[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002). -:link(Dunweg3) -[(Dunweg)] B. Dunweg, W. Paul, Int. J. Mod. Phys. C, 2, 817-27 (1991). +:link(Omelyan1) +[(Omelyan)] I.P. Omelyan, I.M. Mryglod, R. Folk. Phys. Rev. Lett. +86(5), 898. (2001) + +:link(Tranchida1) +[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. +arXiv preprint arXiv:1801.10233. (2018) diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 3b05467e06..71b305dd01 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -26,16 +26,22 @@ fix 2 all langevin/spin 300.0 0.01 0.0 21 :pre [Description:] -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 Brownian dynamics (BD), apply a random torque -and a transverse dissipation to each spin: +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 +Brownian dynamics (BD). +A random torque and a transverse dissipation are applied to each spin i according to +the following stochastic differential equation: -Rand torque = -Transverse dmping = -D is proportional to sqrt(Kb T m / (hbar dt damp)) :pre +:c,image(Eqs/fix_langevin_spin_sLLG.jpg) +with lambda the transverse damping, and eta a random verctor. + +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)"_#Tranchida1. Note: The random # {seed} must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to @@ -59,7 +65,7 @@ This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] The {langevin/spin} fix is part of the SPIN package. -These styles are only enabled if LAMMPS was built with this 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/integration/spin} @@ -70,22 +76,13 @@ when {langevin/spin} is enabled. "fix integration spin"_fix_integration_spin.html, "pair spin"_pair_spin.html -[Default:] - -The option defaults are angmom = no, omega = no, scale = 1.0 for all -types, tally = no, zero = no, gjf = no. +[Default:] none :line :link(Mayergoyz1) -Mayergoyz, Bertotti, and Serpico (2009). Elsevier (2009) +[(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) - - -:link(Schneider1) -[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978). - -:link(Gronbech-Jensen) -[(Gronbech-Jensen)] Gronbech-Jensen and Farago, Mol Phys, 111, 983 -(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, -185, 524 (2014) +:link(Tranchida1) +[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. +arXiv preprint arXiv:1801.10233. (2018) diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 7331798088..95a9c98258 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -27,7 +27,7 @@ pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre Style {pair/spin/exchange} computes the exchange interaction between pairs of magnetic spins: -:c,image(Eqs/pair_spin_exchange_interaction.pdf) +: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, @@ -36,7 +36,7 @@ interaction. This function is defined as: -:c,image(Eqs/pair_spin_exchange_function.pdf) +: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. @@ -44,9 +44,19 @@ where a, b and d are the three constant coefficients defined in the associated The coefficients a, b, and c 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. -Examles 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)"_#Tranchida1. +From this exchange interaction, each spin i will be submitted to a magnetic torque +omega and its associated atom to a force F, 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)"_#Tranchida1. + :line [Restrictions:] diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 9862310533..b5b0247a35 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -98,7 +98,7 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); - if (mpi_flag == 0 && nprocs_tmp == 1) + if (mpi_flag == 0 && nprocs_tmp > 1) error->all(FLERR,"Illegal fix/integration/spin command"); magpair_flag = 0;