Commit JT 021318
This commit is contained in:
@ -10,14 +10,14 @@ compute spin command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID spin :pre
|
||||
compute ID group-ID compute/spin :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
spin = style name of this compute command
|
||||
compute/spin = style name of this compute command :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute out_mag all spin
|
||||
compute out_mag all compute/spin :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -37,14 +37,13 @@ The sixth quantity is the magnetic energy.
|
||||
|
||||
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
|
||||
for example:
|
||||
thermo_style commands, for example:
|
||||
|
||||
compute out_mag all compute/spin :pre
|
||||
|
||||
variable mag_z equal c_out_mag\[4\]
|
||||
variable mag_norm equal c_out_mag\[5\]
|
||||
variable temp_mag equal c_out_mag\[7\] :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
|
||||
|
||||
@ -39,7 +39,7 @@ 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),
|
||||
in metal units).
|
||||
|
||||
Style {aniso} is used to simulate an easy axis or an easy plane
|
||||
for the magnetic spins in the defined group:
|
||||
|
||||
@ -1,90 +0,0 @@
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({ TeX: { equationNumbers: {autoNumber: "AMS"} } });
|
||||
</script>
|
||||
|
||||
|
||||
"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 pair/spin/exchange command :h3
|
||||
pair_style pair/spin/dmi command :h3
|
||||
pair_style pair/spin/me command :h3
|
||||
pair_style pair/spin/soc command :h3
|
||||
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style pair/spin/exchange cutoff
|
||||
pair_style pair/spin/dmi cutoff
|
||||
pair_style pair/spin/me cutoff
|
||||
pair_style pair/spin/soc/neel cutoff :pre
|
||||
|
||||
cutoff = global cutoff pair (distance units) :ulb,l
|
||||
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style pair/spin/exchange 4.0
|
||||
pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885
|
||||
pair_coeff 1 2 exchange 4.0 0.0446928 0.003496 1.4885 :pre
|
||||
|
||||
pair_style pair/spin/dmi 4.0
|
||||
pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 :pre
|
||||
|
||||
pair_style pair/spin/soc/neel 4.0
|
||||
pair_coeff * * neel 4.0 -0.003330282 0.864159 2.13731 :pre
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {pair/spin} computes interactions between pairs of particles
|
||||
that each have a spin.
|
||||
|
||||
|
||||
The {pair/spin} style compute the short-range spin-spin interactions.
|
||||
|
||||
|
||||
\begin\{equation\}
|
||||
J_{i=0} = \sum_i \alpha
|
||||
\end\{equation\}
|
||||
$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$
|
||||
|
||||
|
||||
:c,image(Eqs/pair_lj.jpg)
|
||||
|
||||
The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the
|
||||
{inner}, {middle}, and {outer} keywords of the "run_style
|
||||
respa"_run_style.html command, meaning the pairwise forces can be
|
||||
|
||||
: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.
|
||||
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"eam"
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Beaujouan1)
|
||||
[(Beaujouan)] Beaujouan, Thibaudeau, and Barreteau, Phys Rev B, 86(17), 174409 (2012)
|
||||
|
||||
:link(Perera2)
|
||||
[(Perera)] Perera, Eisenbach, Nicholson, Stocks, and Landau, Phys Rev B, 93(6), 060402 (2016)
|
||||
@ -41,14 +41,16 @@ This function is defined as:
|
||||
where a, b and d are the three constant coefficients defined in the associated
|
||||
"pair_coeff" command.
|
||||
|
||||
The coefficients a, b, and c 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
|
||||
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:
|
||||
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:
|
||||
|
||||
:c,image(Eqs/pair_spin_exchange_forces.jpg)
|
||||
|
||||
|
||||
@ -24,6 +24,9 @@ pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Styles {pair/spin/soc} compute pair interactions arising from the spin-orbit
|
||||
coupling (soc).
|
||||
|
||||
Style {pair/spin/soc/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction
|
||||
between pairs of magnetic spins:
|
||||
|
||||
@ -41,7 +44,7 @@ This function is defined as:
|
||||
where a, b and d are the three constant coefficients defined in the associated
|
||||
"pair_coeff" command.
|
||||
|
||||
The coefficients a, b, and c 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 DM interaction for the N neighbor shells taken
|
||||
into account.
|
||||
|
||||
|
||||
@ -1,255 +0,0 @@
|
||||
<script type="text/javascript"
|
||||
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({ TeX: { equationNumbers: {autoNumber: "AMS"} } });
|
||||
</script>
|
||||
|
||||
"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
|
||||
|
||||
Tutorial for the SPIN package in LAMMPS :h3
|
||||
|
||||
This tutorial explains how to use the spin dynamics in LAMMPS,
|
||||
and to perform spin and spin--lattice simulations using the
|
||||
SPIN package. As an illustration, input files are documented.
|
||||
First of all, LAMMPS has to be compiled with the SPIN package
|
||||
activated. Then, the data file and input scripts have to be
|
||||
modified to include the magnetic spins and to handle them.
|
||||
|
||||
:line
|
||||
|
||||
[Overview of the spin and spin--lattice dynamics]
|
||||
|
||||
At the atomic scale, magnetic materials can be seen as ensemble of
|
||||
atoms, each one of them carying a magnetic moment, refered to as its
|
||||
atomic spin. In ref "Antropov"_#Antropov, a formalism allowing to
|
||||
simulate approximate classical spins, and to couple them to lattice
|
||||
vibrations was introduced. Each of these spins is simulated via a
|
||||
classical vector, associated to each magnetic atom, and whose
|
||||
trajectory is defined by an equation of motion.
|
||||
Lattice vibrations are simulated by the usual equations of MD.
|
||||
A mechanical potential (EAM, Finnis-Siclair, or Dudarev-Derlet) ensure
|
||||
the cohesion of the particles. The coupling between the magnetic and
|
||||
lattice degrees of freedom is performed via the inter-atomic dependence
|
||||
of the magnetic interactions.
|
||||
:ole
|
||||
|
||||
|
||||
:line
|
||||
|
||||
[Preparation of the data file]
|
||||
|
||||
For the mechanical potentials, the data file is similar to a standard LAMMPS
|
||||
data file for {atom_style full}. The DPs and the {harmonic bonds} connecting
|
||||
them to their DC should appear in the data file as normal atoms and bonds.
|
||||
|
||||
For the magnetic interactions, no data file is necessary, every interaction
|
||||
input will be define in the input file. :pre
|
||||
|
||||
|
||||
:line
|
||||
|
||||
[Basic input file]
|
||||
|
||||
Up to know, spin simulations only accept the metal units.
|
||||
|
||||
The atom style should be set to {spin}, so that you
|
||||
can define atomic spin vectors.
|
||||
|
||||
|
||||
The set group command defines the Lande factor (the norm) of
|
||||
the magnetic vectors in a given group, and their initial
|
||||
oriantation. The command is:
|
||||
|
||||
set group A B C D E F :pre
|
||||
|
||||
with A, B, C, D, E, and F the following input parameters:
|
||||
A is set to all, or to the number of a specific and pre-defined
|
||||
group of atoms,
|
||||
B is set to {spin} or {spin/random}, depending on if the spins of
|
||||
the group have to be initialized in a particulat direction, or randomly.
|
||||
|
||||
If B is defined as {spin}, the C is the Lande factor for the spins of
|
||||
the group, and [D,E,F] is the vector giving the direction for the
|
||||
initialization.
|
||||
|
||||
If B is defined as {spin/random}, C is a number giving the seed for the random
|
||||
difinition of the directions, and D is the Lande factor of the spins
|
||||
in this group. E and F are not defined.
|
||||
|
||||
Examples:
|
||||
set group all spin 1.72 1.0 0.0 0.0
|
||||
set group all spin/random 11 1.72
|
||||
|
||||
setting the initial direction of all spins, with a Lande factor of 1.72,
|
||||
and either in the x direction, or randomly. :l
|
||||
|
||||
|
||||
The pair style has to be set to {pair/spin}. The command is
|
||||
|
||||
pair_style pair/spin A
|
||||
|
||||
with A a global radius cutoff.
|
||||
|
||||
The different pair interactions and their associated coefficients can then be
|
||||
defined via the pair coeff command.
|
||||
|
||||
pair_coeff A B C D E F G H
|
||||
|
||||
where A and B are setting the pair concerned by this pair coeff command.
|
||||
For example, A=1 and B=2 to set the pair coefficients between spins of
|
||||
type 1 and spins of type 2. Use {*} for setting a pair coeffcient between
|
||||
all pairs of spins.
|
||||
|
||||
C defines the type of the interaction. It can be set to {exchange} for an
|
||||
exchange interaction, {dmi} for a Dzyaloshinskii-Moriya (DM) interaction, or to
|
||||
{me} for a magneto-electric (ME) interaction.
|
||||
|
||||
If C is set to {exchange}, D is the radius cutoff (in Angtrom) associated
|
||||
to the exchange interaction, and E, F and G are the three parameters of the
|
||||
Bethe--Slater function (E in eV, F without dimension, and G in Angtrom).
|
||||
H is not defined.
|
||||
|
||||
If C is set to {dmi}, D is the radius cutoff (in Angtrom) associated to the DM
|
||||
interaction, E is the intensity of the interaction in eV (which is also the
|
||||
norm of the DM vector), and [F, G, H] are giving the direction of the DM
|
||||
vector.
|
||||
|
||||
If C is set to {me}, D is the radius cutoff (in Angtrom) associated to the ME
|
||||
interaction, E is the intensity of the interaction in eV (which corresponds to
|
||||
the intensity of the electric polarization), and [F, G, H] are giving the
|
||||
direction of the polarization vector.
|
||||
|
||||
Examples:
|
||||
pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885
|
||||
pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0
|
||||
|
||||
are setting an exchange interaction between every type of spins, with a radius
|
||||
cutoff of 4.0 Angtrom, and E=0.0446928 eV, F=0.003496, and G=1.4885 Angtrom as
|
||||
coefficient for the associated Bethe--Slater function, and a DM interaction
|
||||
with a radius cutoff of 2.6 Angtrom, an intensity of 0.001 eV and a DM vector
|
||||
in the direction [0.0 0.0 1.0]. :l
|
||||
|
||||
|
||||
A fix has to be set to {force/spin} to define local magnetic forces, like the Zeeman
|
||||
interaction or an anisotropic interaction. The command is:
|
||||
|
||||
fix A B C D E F G H
|
||||
|
||||
with A the label of the associated fix, B defining to which group of spins the
|
||||
force is applied to, C defined as {force/spin} for magnetic local fixes, and
|
||||
D defining the type of this fix. D can be equal to {zeeman} for a Zeeman interaction,
|
||||
or to {anisotropy} for an anisotropic interaction.
|
||||
|
||||
If D is set to {zeeman}, then E gives the intensity of the applied magnetic field (in
|
||||
Tesla), and [F, G, H] the direction of this field.
|
||||
|
||||
If is set to {anisotropy}, hen E gives the intensity of the anisotropic field (in eV),
|
||||
and [F, G, H] the direction of this anisotropy.
|
||||
|
||||
Examples:
|
||||
fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0
|
||||
fix 2 all force/spin anisotropy 0.001 0.0 1.0 0.0
|
||||
|
||||
are setting two fixes, the first one, labelled 1, is applied to all spins and defines
|
||||
a Zeeman interaction corresponding to a field of 1 Tesla in the z direction, whereas
|
||||
the second fix, labelled 2, is also applied to all spins, and defines a uniaxial
|
||||
anisotropy of intensity 0.001 eV, in the direction y. :l
|
||||
|
||||
|
||||
To simulate the temperature effects, a fix has to be set to {langevin/spin}. The command
|
||||
is
|
||||
|
||||
fix A B C D E F G
|
||||
|
||||
where A is the label of the associated fix, B defines to which spins the fix is applied,
|
||||
and C is set equal to {langevin/spin}. Then, D defines the temperature of the random bath
|
||||
(in K), E is the transverse magnetic damping (no dimension), F is a longitudinal magnetic
|
||||
damping, and G the seed for the random variables.
|
||||
|
||||
Note: the transverse damping is not implemented into LAMMPS yet. It is necessary for
|
||||
micromagnetic simulations only.
|
||||
|
||||
Examples:
|
||||
fix 2 all langevin/spin 300.0 0.01 0.0 21
|
||||
|
||||
is setting a fix labelled as 2, which is connecting all spins to a random bath. The temperature
|
||||
of this bath is set to 300 K, and the value of the transverse Gilbert damping is set to 0.01.
|
||||
The seed is set to 21.
|
||||
|
||||
|
||||
For LAMMPS to understand that the motion of spins has to be taken into account, one has to set
|
||||
a fix to {nve/spin}. The command is:
|
||||
|
||||
fix A B C D
|
||||
|
||||
with A the label of this fix, B defining to which group of atoms this fix is applied to, C has
|
||||
to be set to {nve/spin}, and D can be set to {serial} for a serial calculation, with one
|
||||
processor only, or to {mpi} for a parallel calculation, with N processors.
|
||||
|
||||
Example:
|
||||
fix 3 all nve/spin mpi
|
||||
|
||||
is setting a fix labelled 3, and applies it to all the particles. The calculation is running in
|
||||
parallel as the option {mpi} is defined.
|
||||
|
||||
|
||||
Two main outputs of the computed magnetic quntities can be performed.
|
||||
|
||||
The first one is via a compute and a fix options. The compute command is defined as:
|
||||
|
||||
compute A B C
|
||||
|
||||
with A the label of this compute, B to which group of particles it is applied to, and finally,
|
||||
the option {compute/spin} has to be set.
|
||||
This compute is associated to a fix to define the output frequency and format. A typical command is:
|
||||
|
||||
fix A B C D E F G H
|
||||
|
||||
where A is the label of the fix, B the group of particles it is applied to, C defines the type of the
|
||||
output fix, for example we chose to use {ave/time}, which can output every N timesteps, and perform
|
||||
a time average over those steps. D, E, and F are the usual command of {ave/time}. G stands for the
|
||||
magnetic quantities that are computed by {compute/spin}. Those quantities are:
|
||||
|
||||
c_mag[1] Physical time (in ps)
|
||||
c_mag[2] Magnetization along x (adim)
|
||||
c_mag[3] Magnetization along y (adim)
|
||||
c_mag[4] Magnetization along z (adim)
|
||||
c_mag[5] Magnetization Norm (adim)
|
||||
c_mag[6] Magnetic energy (in eV)
|
||||
c_mag[7] Spin temperature (in K)
|
||||
|
||||
And H stands for the output format, and is defined as in other .
|
||||
|
||||
Example:
|
||||
compute 1 all compute/spin
|
||||
fix 3 all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7]
|
||||
file mag_output.dat format %20.16g
|
||||
|
||||
is defining a compute of the magnetic quantities applied to all spins. The fix then outputs
|
||||
every magnetic quantities every 10 time steps without performing any time average. These
|
||||
quantities are stored in a file called mag_output.dat, with a special format (defined by %20.16g)
|
||||
|
||||
|
||||
It is also possible to output the evolution of the spin configuration. This can be done with
|
||||
the dump command. The only difference with a regular dump command is that the velocities
|
||||
vi are replaced by the spin components spi.
|
||||
|
||||
Example:
|
||||
dump 1 all custom 100 dump_spin.lammpstrj type x y z spx spy spz
|
||||
|
||||
is dumping every 100 timesteps the spin configuration in a file called dump_spin.lammpstrj.
|
||||
|
||||
|
||||
:line
|
||||
|
||||
:link(Antropov)
|
||||
[(Antropov)] Antropov, Katsnelson, Harmon, Van Schilfgaarde, and Kusnezov, Phys Rev B, 54(2), 1019 (1996)
|
||||
|
||||
|
||||
@ -1,237 +0,0 @@
|
||||
<HTML>
|
||||
<H3>txt2html - a text to HTML conversion tool
|
||||
</H3>
|
||||
<P><B>txt2html</B> is a simple tool for converting text files into HTML files.
|
||||
Text files can contain simple formatting and mark-up commands that
|
||||
<B>txt2html</B> converts into HTML.
|
||||
</P>
|
||||
<P><B>txt2html</B> was written by <A HREF = "http://www.cs.sandia.gov/~sjplimp">Steve Plimpton</A>. I use it for
|
||||
<A HREF = "http://www.cs.sandia.gov/~sjplimp/lammps.html">documentation</A> and <A HREF = "http://www.cs.sandia.gov/~sjplimp">WWW pages</A>. Anna Reese added the table
|
||||
formatting options.
|
||||
</P>
|
||||
<P>See the <A HREF = "example.txt">example.txt</A> and <A HREF = "example.html">example.html</A>
|
||||
files in the <B>txt2html</B> directory for examples of what all the
|
||||
formatting commands and mark-up syntax end up looking like in HTML.
|
||||
</P>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<DL><DT>txt2html file
|
||||
<DD> read from text file, write HTML to standard output
|
||||
<DT>txt2html file1 file2 file3 ...
|
||||
<DD> read each argument as text file, write one HTML file per argument
|
||||
</DL>
|
||||
<P>Input files are first opened with the specified name. If that fails,
|
||||
a ".txt" suffix is added. Output files are created with an ".html"
|
||||
suffix, which is either added or replaces the ".txt" suffix.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Compiling:</B>
|
||||
</P>
|
||||
<P>The source for <B>txt2html</B> is a single C++ file. Compile it by typing:
|
||||
</P>
|
||||
<PRE>g++ -o txt2html txt2html.cpp
|
||||
</PRE>
|
||||
<HR>
|
||||
|
||||
<P><B>How the tool works:</B>
|
||||
</P>
|
||||
<P><B>txt2html</B> reads a text file, one <I>paragraph</I> at a time. A paragraph
|
||||
ends with:
|
||||
</P>
|
||||
<UL><LI> a blank line
|
||||
<LI> a line whose final word starts with ":" (a format string)
|
||||
<LI> the end of the file
|
||||
</UL>
|
||||
<P>Any line in the paragraph which ends with "\" is concatenated to the
|
||||
following line by removing the "\" character and following newline.
|
||||
This can be useful for some of the formatting commands described below
|
||||
that operate on individual lines in the paragraph.
|
||||
</P>
|
||||
<P>If a paragraph starts with a "<" character and ends with a ">"
|
||||
character, it is treated as raw HTML and is written directly into the
|
||||
output file.
|
||||
</P>
|
||||
<P>If a paragraph does not end with a format string, then it is
|
||||
surrounded with HTML paragraph markers (<P> and </P>),
|
||||
<A HREF = "#markup">mark-up</A> is performed, and the paragraph is written to the
|
||||
output file.
|
||||
</P>
|
||||
<P>If the paragraph ends with a format string, then <A HREF = "#format">formatting</A>
|
||||
is performed, <A HREF = "#markup">mark-up</A> is performed, and the paragraph is
|
||||
written to the output file.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "format"></A><B>Formatting:</B>
|
||||
|
||||
<P>A format string is the last word of a paragraph if it starts with a
|
||||
":" character. A format string contains one or more comma-separated
|
||||
commands, like ":ulb,l" or ":c,h3". Note that a format string cannot
|
||||
contain spaces, else it would not be the last word. An individual
|
||||
command can have 0 or more arguments:
|
||||
</P>
|
||||
<UL><LI> <I>b</I> or <I>line()</I> = 0 arguments
|
||||
<LI> <I>image(file)</I> = 1 argument
|
||||
<LI> <I>link(alias,value)</I> = 2 or more comma-separated arguments
|
||||
</UL>
|
||||
<P>Format commands add HTML markers at the beginning or end of the
|
||||
paragraph and individual lines. Commands are processed in the order
|
||||
they appear in the format string. Thus if two commands add HTML
|
||||
markers to the beginning of the paragraph, the 2nd command's marker
|
||||
will appear 2nd. The reverse is true at the end of the paragraph; the
|
||||
2nd command's marker will appear 1st. Some comands, like <I>line</I> or
|
||||
<I>image</I> make most sense if used as stand-alone commands without an
|
||||
accompanying paragraph.
|
||||
</P>
|
||||
<P>Commands that format the entire paragraph:
|
||||
</P>
|
||||
<UL><LI> p --> surround the paragraph with <P> </P>
|
||||
<LI> b --> put <BR> at the end of the paragraph
|
||||
<LI> pre --> surround the paragraph with <PRE> </PRE>
|
||||
<LI> c --> surround the paragraph with <CENTER> </CENTER>
|
||||
<LI> h1,h2,h3,h4,h5,h6 --> surround the paragraph with <H1> </H1>, etc
|
||||
</UL>
|
||||
<P>Commands that format the lines of the paragraph as a list:
|
||||
</P>
|
||||
<UL><LI> ul --> surround the paragraph with <UL> </UL>, put <LI> at start of every line
|
||||
<LI> ol --> surround the paragraph with <OL> </OL>, put <LI> at start of every line
|
||||
<LI> dl --> surround the paragraph with <DL> </DL>, alternate <DT> and <DD> at start of every line
|
||||
</UL>
|
||||
<P>Commands that treat the paragraph as one entry in a list:
|
||||
</P>
|
||||
<UL><LI> l --> put <LI> at the beginning of the paragraph
|
||||
<LI> dt --> put <DT> at the beginning of the paragraph
|
||||
<LI> dd --> put <DD> at the beginning of the paragraph
|
||||
<LI> ulb --> put <UL> at the beginning of the paragraph
|
||||
<LI> ule --> put </UL> at the end of the paragraph
|
||||
<LI> olb --> put <OL> at the beginning of the paragraph
|
||||
<LI> ole --> put </OL> at the end of the paragraph
|
||||
<LI> dlb --> put <DL> at the beginning of the paragraph
|
||||
<LI> dle --> put </DL> at the end of the paragraph
|
||||
</UL>
|
||||
<P>Commands applied to each line of the paragraph:
|
||||
</P>
|
||||
<UL><LI> all(p) --> surround each line with <P> </P>
|
||||
<LI> all(c) --> surround each line with <CENTER> </CENTER>
|
||||
<LI> all(b) --> append a <BR> to each line
|
||||
<LI> all(l) --> prepend a <LI> to each line
|
||||
</UL>
|
||||
<P>Special commands (all HTML is inserted at beginning of paragraph):
|
||||
</P>
|
||||
<UL><LI> line --> insert a horizontal line = <HR>
|
||||
<LI> image(file) --> insert an image = <IMG SRC = "file">
|
||||
<LI> image(file,link) --> insert an image that when clicked on goes to link
|
||||
<LI> link(name) --> insert a named link that can be referred to elsewhere (see <A HREF = "#markup">mark-up</A>) = <A NAME = "name"></A>
|
||||
<LI> link(alias,value) --> define a link alias that can be used elsewhere in this file (see <A HREF = "#markup">mark-up</A>)
|
||||
</UL>
|
||||
<P>Table command:
|
||||
</P>
|
||||
<UL><LI> tb(c=3,b=5,w=100%,a=c) --> format the paragraph as a table
|
||||
</UL>
|
||||
<P>Arguments within tb() can appear in any order and are all optional,
|
||||
since they each have default values.
|
||||
</P>
|
||||
<UL><LI> c=N --> Make an N-column table. Treat the paragraph as one
|
||||
long list of entries (separated by the separator character) and put
|
||||
them into N columns one after the other. If N = 0, treat each line
|
||||
of the paragraph as one row of the table with as many columns as
|
||||
there are maximum entries in any line. Default is c=0.
|
||||
|
||||
<LI> s=: --> Use the character string following the equal sign as
|
||||
the separator between entries. Default separator is a comma "," which
|
||||
you cannot specify directly since the comma delimits the tb() arguments
|
||||
|
||||
<LI> b=N --> Create a border N pixels wide. If N is 0, there is no
|
||||
border between or outside the cells. If N is 1, there is a minimal
|
||||
border between and outside all cells. For N > 1, the border between
|
||||
cells does not change but the outside border gets wider. Default is
|
||||
b=1.
|
||||
|
||||
<LI> w=N or w=N% --> The first form makes each cell of the table at
|
||||
least N pixels wide. The second form makes the entire table take up
|
||||
N% of the width of the browser window. Default is w=0 which means
|
||||
each cell will be just as wide as the text it contains.
|
||||
|
||||
<LI> a=X --> Align the entire table at the left, center, or right of the
|
||||
browser window, for X = "l", "c", or "r". Default is a=c.
|
||||
|
||||
<LI> ea=X --> Align the text in each entry at the left, center, or
|
||||
right of its cell, for X = "l", "c", or "r". Default is browser's
|
||||
default (typically left).
|
||||
|
||||
<LI> eva=X --> Vertically align the text in each entry at the
|
||||
top, middle, baseline, or bottom of its cell, for X = "t", "m", "ba",
|
||||
or "bo". Default is browser's default (typically middle).
|
||||
|
||||
<LI> cwM=N or cwM=N% --> The first form makes column M be at least
|
||||
N pixels wide. The second form makes column M take up N% of the
|
||||
width of the browser window. This setting overrides the "w"
|
||||
argument for column M. Only one column per table can be tweaked
|
||||
with this argument. Default is no settings for any column.
|
||||
|
||||
<LI> caM=X --> Align the text in each entry of column M at the left,
|
||||
center, or right of its cell, for X = "l", "c", or "r". This
|
||||
setting overrides the "ea" argument for column M. Only one column
|
||||
per table can be tweaked with this argument. Default is no settings
|
||||
for any column.
|
||||
|
||||
<LI> cvaM=X --> Vertically align the text in each entry of column m
|
||||
at the top, middle, baseline, or bottom of its cell, for X = "t",
|
||||
"m", "ba", or "bo". This setting overrides the "eva" argument for
|
||||
column M. Only one column per table can be tweaked with this
|
||||
argument. Default is no settings for any column.
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<A NAME = "markup"></A><B>Mark-up:</B>
|
||||
|
||||
<P>The text of the paragraph is scanned for special mark-up characters
|
||||
which are converted into HTML.
|
||||
</P>
|
||||
<P>Bold and italic characters:
|
||||
</P>
|
||||
<UL> <LI> "[" (left brace) --> turn-on bold by inserting a <B>
|
||||
<LI> "]" (right brace) --> turn-off bold by inserting a </B>
|
||||
<LI> "{" (left bracket) --> turn-on italics by inserting a <I>
|
||||
<LI> "}" (right bracket) --> turn-off italics by
|
||||
inserting a </I> </UL>
|
||||
|
||||
<P>If a backspace '\' precedes any of the bold/italic mark-up characters,
|
||||
then mark-up is not performed; the mark-up character is simply left in
|
||||
the text.
|
||||
</P>
|
||||
<P>Links are inserted by enclosing a section of text in double quotes,
|
||||
and appending an underscore to the ending quote, followed by the link.
|
||||
The link ends when whitespace is found, except that trailing
|
||||
punctuation characters (comma, period, semi-colon, colon, question
|
||||
mark, exclamation point, parenthesis) are not considered part of the
|
||||
link.
|
||||
</P>
|
||||
<P> A link of the form "text"_link becomes <A HREF =
|
||||
"link">text</A> in the HTML output. The only exception is if
|
||||
"link" is defined elsewhere in the file as an alias (see the link
|
||||
command above). In that case, the value is used instead of the alias
|
||||
name. </P>
|
||||
|
||||
<P>With these rules, links can take several forms.
|
||||
</P>
|
||||
<UL> <LI> "This links"_#abc to another part of this file which is
|
||||
labeled with a :link(abc) command. <BR>
|
||||
<LI> "This links"_other.html to another file named other.html. <BR>
|
||||
<LI> "This links"_other.html#abc to another file which has an "abc"
|
||||
location defined internally. <BR>
|
||||
<LI> "This links"_http://www.google.com to a WWW site. <BR>
|
||||
<LI> "This"_M12 could be used in place of any of the above forms. It
|
||||
requires an alias like :link(M12,http://www.google.com) to be defined
|
||||
elsewhere in the file. </UL>
|
||||
|
||||
</HTML>
|
||||
@ -35,15 +35,15 @@ fix 3 all integration/spin lattice no
|
||||
|
||||
timestep 0.0002
|
||||
|
||||
compute out_mag all compute/spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
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[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
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]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag temp etotal
|
||||
|
||||
@ -44,10 +44,10 @@ compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magz equal c_out_mag[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
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]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag temp etotal
|
||||
|
||||
@ -44,10 +44,10 @@ compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magz equal c_out_mag[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
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]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag temp etotal
|
||||
|
||||
@ -1,94 +0,0 @@
|
||||
###################
|
||||
#######Init########
|
||||
###################
|
||||
|
||||
clear
|
||||
units metal
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
#setting atom_style to spin:
|
||||
atom_style spin
|
||||
|
||||
#Define sort for paramagnetic simulations (if no pair interaction)
|
||||
#atom_modify sort 1000 4.0
|
||||
|
||||
#why?
|
||||
atom_modify map array
|
||||
|
||||
|
||||
###########################
|
||||
#######Create atoms########
|
||||
###########################
|
||||
|
||||
#Lattice constant of sc Iron atoms of BFO
|
||||
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
|
||||
|
||||
#######################
|
||||
#######Settings########
|
||||
#######################
|
||||
|
||||
#Setting one or more properties of one or more atoms.
|
||||
mass 1 1.0
|
||||
|
||||
#Setting spins orientation and moment
|
||||
set group all spin/random 11 2.50
|
||||
#set group all spin 2.50 1.0 0.0 0.0
|
||||
|
||||
#Magnetic interactions for BFO
|
||||
#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME)
|
||||
pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5
|
||||
pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965
|
||||
pair_coeff * * pair/spin/me me 4.5 0.00109 1.0 1.0 1.0
|
||||
#pair_coeff * * pair/spin/soc/dmi dmi 4.5 0.001 1.0 1.0 1.0
|
||||
|
||||
#Define a skin distance, update neigh list every
|
||||
neighbor 0.0 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
#Magnetic field fix
|
||||
#Type | Intensity (T or eV) | Direction
|
||||
#fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0
|
||||
fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0
|
||||
#fix 1 all force/spin anisotropy 0.0 0.0 0.0 1.0
|
||||
|
||||
#Fix Langevin spins (merging damping and temperature)
|
||||
#Temp | Alpha_trans | Alpha_long | Seed
|
||||
fix 2 all langevin/spin 0.0 0.0 0.0 21
|
||||
|
||||
#Magnetic integration fix
|
||||
fix 3 all integration/spin serial lattice no
|
||||
|
||||
#Setting the timestep for the simulation (in ps)
|
||||
timestep 0.0001
|
||||
|
||||
##################
|
||||
#######run########
|
||||
##################
|
||||
|
||||
compute out_mag all compute/spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
#compute real time, total magnetization, magnetic energy, and spin temperature
|
||||
#Iteration | Time | Mx | My | Mz | |M| | Em | Tm
|
||||
variable magz equal c_out_mag[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step time v_magnorm v_emag temp etotal
|
||||
thermo_modify format float %20.15g
|
||||
|
||||
#Dump the positions and spin directions of magnetic particles (vmd format)
|
||||
dump 1 all custom 100 dump_spin_BFO.lammpstrj type x y z spx spy spz
|
||||
|
||||
#Running the simulations for N timesteps
|
||||
run 50000
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
###################
|
||||
#######Init########
|
||||
###################
|
||||
|
||||
clear
|
||||
units metal
|
||||
dimension 3
|
||||
#boundary p p p
|
||||
boundary p p p
|
||||
|
||||
#newton off
|
||||
|
||||
#setting atom_style to spin:
|
||||
atom_style spin
|
||||
|
||||
#Define sort for paramagnetic simulations (if no pair interaction)
|
||||
#atom_modify sort 1000 4.0
|
||||
|
||||
atom_modify map array
|
||||
|
||||
###########################
|
||||
#######Create atoms########
|
||||
###########################
|
||||
|
||||
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
|
||||
|
||||
#######################
|
||||
#######Settings########
|
||||
#######################
|
||||
|
||||
#isolating 1 atom into a group
|
||||
group single_spin id 10
|
||||
|
||||
#Setting one or more properties of one or more atoms.
|
||||
mass 1 58.93
|
||||
|
||||
#Setting spins orientation and moment
|
||||
set group all spin/random 31 1.72
|
||||
#set group all spin 1.72 0.0 0.0 1.0
|
||||
#set group single_spin spin/random 11 1.72
|
||||
|
||||
#velocity all create 200 4928459 rot yes dist gaussian
|
||||
velocity all create 200 4928459 rot yes dist gaussian
|
||||
|
||||
#Magneto-mechanic interactions for bulk fcc Cobalt
|
||||
#pair_style pair/spin/exchange 4.0
|
||||
#pair_style eam/alloy
|
||||
#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0
|
||||
pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0
|
||||
|
||||
pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co
|
||||
#pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co
|
||||
|
||||
#pair_style pair/spin/exchange 4.0
|
||||
#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange)
|
||||
#pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885
|
||||
#pair_coeff * * exchange 4.0 0.0 0.003496 1.4885
|
||||
pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
|
||||
#pair_coeff * * pair/spin/exchange exchange 2.5 0.0446928 0.003496 1.4885
|
||||
#pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885
|
||||
|
||||
#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME)
|
||||
#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0
|
||||
#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0
|
||||
|
||||
#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC)
|
||||
#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731
|
||||
#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731
|
||||
|
||||
#Define a skin distance, update neigh list every
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
#neighbor 1.0 bin
|
||||
#neigh_modify every 1 check no delay 0
|
||||
|
||||
#Magnetic field fix
|
||||
#Type | Intensity (T or eV) | Direction
|
||||
#fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0
|
||||
#fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0
|
||||
|
||||
#Fix Langevin spins (merging damping and temperature)
|
||||
#Temp | Alpha_trans | Alpha_long | Seed
|
||||
#fix 2 all langevin/spin 0.0 0.1 0.0 21
|
||||
#fix 2 all langevin/spin 0.0 0.0 0.0 21
|
||||
|
||||
#Magnetic integration fix
|
||||
fix 3 all integration/spin lattice yes
|
||||
#fix 3 all integration/spin lattice no
|
||||
|
||||
#compute real time, total magnetization, magnetic energy, and spin temperature
|
||||
#Iteration | Time | Mx | My | Mz | |M| | Em | Tm
|
||||
|
||||
#Setting the timestep for the simulation (in ps)
|
||||
timestep 0.0001
|
||||
|
||||
##################
|
||||
#######run########
|
||||
##################
|
||||
|
||||
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[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
variable mag_force equal f_1
|
||||
#variable test equal etotal-0.5*c_out_mag[6]
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step time v_magnorm v_emag temp etotal
|
||||
thermo_modify format float %20.15g
|
||||
|
||||
#Dump the positions and spin directions of magnetic particles (vmd format)
|
||||
dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz
|
||||
|
||||
#Running the simulations for N timesteps
|
||||
run 10
|
||||
#run 1000
|
||||
|
||||
@ -1,126 +0,0 @@
|
||||
###################
|
||||
#######Init########
|
||||
###################
|
||||
|
||||
clear
|
||||
#setting units to metal (Ang, picosecs, eV, ...):
|
||||
units metal
|
||||
|
||||
#setting dimension of the system (N=2 or 3):
|
||||
dimension 3
|
||||
|
||||
#setting boundary conditions. (p for periodic, f for fixed, ...)
|
||||
boundary p p p
|
||||
#boundary f f f
|
||||
|
||||
#setting atom_style to spin:
|
||||
atom_style spin
|
||||
|
||||
#Define sort for paramagnetic simulations (if no pair interaction)
|
||||
#atom_modify sort 1000 4.0
|
||||
|
||||
#why?
|
||||
atom_modify map array
|
||||
|
||||
#newton off for pair spin in SEQNEI
|
||||
#newton off off
|
||||
|
||||
###########################
|
||||
#######Create atoms########
|
||||
###########################
|
||||
|
||||
#Lattice constant of fcc Cobalt
|
||||
lattice fcc 3.54
|
||||
#lattice sc 2.50
|
||||
|
||||
#Test Kagome
|
||||
#variable a equal sqrt(3.0)/8.0
|
||||
#variable b equal 3.0*sqrt(3.0)/8.0
|
||||
#variable c equal sqrt(3.0)/4.0
|
||||
|
||||
#lattice custom 2.5 a1 1.0 0.0 0.0 &
|
||||
# a2 0.0 1.0 0.0 &
|
||||
# a3 0.0 0.0 1.0 &
|
||||
# basis 0.0 $a 0.0 &
|
||||
# basis 0.25 $a 0.0 &
|
||||
# basis 0.375 0.0 0.0 &
|
||||
# basis 0.25 $b 0.0 &
|
||||
# basis 0.5 $b 0.0 &
|
||||
# basis 0.625 $c 0.0
|
||||
|
||||
#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen
|
||||
#(for block, one has x0, xf, y0, yf, z0, zf, in distance units)
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
|
||||
#Creating a simulation box based on the specified region. Entries: number of atom types and box ref.
|
||||
create_box 1 box
|
||||
|
||||
#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ...
|
||||
#Entries: atom type,
|
||||
create_atoms 1 box
|
||||
|
||||
#Replicating NxNxN the entire set of atoms
|
||||
#replicate 1 1 1
|
||||
|
||||
|
||||
#######################
|
||||
#######Settings########
|
||||
#######################
|
||||
|
||||
#Setting one or more properties of one or more atoms.
|
||||
#Setting mass
|
||||
mass 1 1.0
|
||||
#set group all mass 1.0
|
||||
#Setting spins orientation and moment
|
||||
#set group all spin/random 11 1.72
|
||||
set group all spin 1.72 1.0 0.0 0.0
|
||||
|
||||
#Magnetic exchange interaction coefficient for bulk fcc Cobalt
|
||||
pair_style pair/spin 4.0
|
||||
#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange)
|
||||
pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885
|
||||
#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME)
|
||||
#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0
|
||||
#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0
|
||||
|
||||
#Define a skin distance, update neigh list every
|
||||
#neighbor 1.0 bin
|
||||
#neigh_modify every 10 check yes delay 20
|
||||
neighbor 0.0 bin
|
||||
neigh_modify every 1 check no delay 0
|
||||
|
||||
#Magnetic field fix
|
||||
#Type | Intensity (T or eV) | Direction
|
||||
fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0
|
||||
#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0
|
||||
#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0
|
||||
#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0
|
||||
|
||||
#Fix Langevin spins (merging damping and temperature)
|
||||
#Temp | Alpha_trans | Alpha_long | Seed
|
||||
#fix 2 all langevin/spin 0.0 0.1 0.0 21
|
||||
fix 2 all langevin/spin 1.0 0.1 0.0 21
|
||||
#fix 2 all langevin/spin 0.0 0.0 0.0 21
|
||||
|
||||
#Magnetic integration fix
|
||||
fix 3 all nve/spin mpi
|
||||
|
||||
#compute real time, total magnetization, magnetic energy, and spin temperature
|
||||
#Iteration | Time | Mx | My | Mz | |M| | Em | Tm
|
||||
compute mag all compute/spin
|
||||
fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g
|
||||
|
||||
#Setting the timestep for the simulation (in ps)
|
||||
timestep 0.0001
|
||||
|
||||
##################
|
||||
#######run########
|
||||
##################
|
||||
|
||||
#Dump the positions and spin directions of magnetic particles (vmd format)
|
||||
dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz
|
||||
|
||||
#Running the simulations for N timesteps
|
||||
run 2000
|
||||
#run 1
|
||||
|
||||
@ -1,88 +0,0 @@
|
||||
###################
|
||||
#######Init########
|
||||
###################
|
||||
|
||||
clear
|
||||
units metal
|
||||
dimension 3
|
||||
boundary p p p
|
||||
#boundary f f f
|
||||
|
||||
#setting atom_style to spin:
|
||||
atom_style spin
|
||||
|
||||
atom_modify map array
|
||||
|
||||
###########################
|
||||
#######Create atoms########
|
||||
###########################
|
||||
|
||||
read_data ../examples/SPIN/Norm_randXY_8x8x32_test.data
|
||||
|
||||
#######################
|
||||
#######Settings########
|
||||
#######################
|
||||
|
||||
#Setting one or more properties of one or more atoms.
|
||||
mass 1 58.93
|
||||
|
||||
#velocity all create 200 4928459 rot yes dist gaussian
|
||||
|
||||
#Magneto-mechanic interactions for bulk fcc Cobalt
|
||||
pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0
|
||||
|
||||
# cobalt eam potential
|
||||
pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co
|
||||
|
||||
#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange)
|
||||
pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
|
||||
|
||||
#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC)
|
||||
pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731
|
||||
|
||||
#Define a skin distance, update neigh list every
|
||||
#neighbor 1.0 bin
|
||||
#neigh_modify every 10 check yes delay 20
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 check no delay 0
|
||||
|
||||
#Magnetic field fix
|
||||
#Type | Intensity (T or eV) | Direction
|
||||
fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0
|
||||
|
||||
#Fix Langevin spins (merging damping and temperature)
|
||||
#Temp | Alpha_trans | Alpha_long | Seed
|
||||
fix 2 all langevin/spin 0.0 0.0 0.0 21
|
||||
|
||||
#Magnetic integration fix
|
||||
fix 3 all integration/spin serial
|
||||
|
||||
#Setting the timestep for the simulation (in ps)
|
||||
timestep 0.0001
|
||||
|
||||
##################
|
||||
#######run########
|
||||
##################
|
||||
|
||||
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[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step time v_magnorm v_emag v_tmag temp etotal
|
||||
thermo_modify format float %20.15g
|
||||
|
||||
#Dump the positions and spin directions of magnetic particles (vmd format)
|
||||
dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz
|
||||
|
||||
#Running the simulations for N timesteps
|
||||
run 10
|
||||
#run 10000
|
||||
|
||||
@ -1,109 +0,0 @@
|
||||
###################
|
||||
#######Init########
|
||||
###################
|
||||
|
||||
clear
|
||||
units metal
|
||||
dimension 3
|
||||
boundary p p p
|
||||
#boundary f f f
|
||||
|
||||
#newton off
|
||||
|
||||
#setting atom_style to spin:
|
||||
atom_style spin
|
||||
|
||||
#Define sort for paramagnetic simulations (if no pair interaction)
|
||||
#atom_modify sort 1000 4.0
|
||||
|
||||
atom_modify map array
|
||||
|
||||
###########################
|
||||
#######Create atoms########
|
||||
###########################
|
||||
|
||||
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
|
||||
|
||||
#read_dump dump_cobalt.lammpstrj 500 x y z vx vy vz box yes
|
||||
read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes
|
||||
|
||||
create_atoms 1 box
|
||||
|
||||
#######################
|
||||
#######Settings########
|
||||
#######################
|
||||
|
||||
#isolating 1 atom into a group
|
||||
group single_spin id 10
|
||||
|
||||
#Setting one or more properties of one or more atoms.
|
||||
mass 1 58.93
|
||||
|
||||
#Setting spins orientation and moment
|
||||
#set group all spin/random 31 1.72
|
||||
set group all spin 1.72 0.0 0.0 1.0
|
||||
set group single_spin spin/random 11 1.72
|
||||
|
||||
velocity all create 200 4928459 rot yes dist gaussian
|
||||
|
||||
#Magneto-mechanic interactions for bulk fcc Cobalt
|
||||
pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0
|
||||
|
||||
# cobalt eam potential
|
||||
pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co
|
||||
|
||||
#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange)
|
||||
pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885
|
||||
|
||||
#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC)
|
||||
pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731
|
||||
|
||||
#Define a skin distance, update neigh list every
|
||||
#neighbor 1.0 bin
|
||||
#neigh_modify every 10 check yes delay 20
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 check no delay 0
|
||||
|
||||
#Magnetic field fix
|
||||
#Type | Intensity (T or eV) | Direction
|
||||
fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0
|
||||
|
||||
#Fix Langevin spins (merging damping and temperature)
|
||||
#Temp | Alpha_trans | Alpha_long | Seed
|
||||
fix 2 all langevin/spin 0.0 0.0 0.0 21
|
||||
|
||||
#Magnetic integration fix
|
||||
fix 3 all integration/spin serial
|
||||
|
||||
#Setting the timestep for the simulation (in ps)
|
||||
timestep 0.0001
|
||||
|
||||
##################
|
||||
#######run########
|
||||
##################
|
||||
|
||||
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[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step time v_magnorm v_emag v_tmag temp etotal
|
||||
thermo_modify format float %20.15g
|
||||
|
||||
#Dump the positions and spin directions of magnetic particles (vmd format)
|
||||
dump 1 all custom 20 dump.lammpstrj type x y z spx spy spz
|
||||
|
||||
#Running the simulations for N timesteps
|
||||
run 100
|
||||
#run 10000
|
||||
|
||||
@ -44,10 +44,10 @@ compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magz equal c_out_mag[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
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]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag temp etotal
|
||||
|
||||
@ -44,10 +44,10 @@ compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magz equal c_out_mag[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
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]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag temp etotal
|
||||
|
||||
@ -1,91 +0,0 @@
|
||||
#!/bin/bash
|
||||
# example prepare_vmd.sh /home/jtranch/Documents/lammps/src/dump_VSRSV.lammpstrj
|
||||
# you will get a return file
|
||||
|
||||
echo "vmd script for file $1 is preparing..."
|
||||
|
||||
timestamp(){
|
||||
date +%s
|
||||
}
|
||||
|
||||
TS=$(timestamp)
|
||||
FILE=view_${TS}.vmd
|
||||
|
||||
cat >${FILE} <<EOF
|
||||
proc vmd_draw_arrow {mol start end} {
|
||||
set middle [vecadd \$start [vecscale 0.9 [vecsub \$end \$start]]]
|
||||
graphics \$mol cylinder \$start \$middle radius 0.05
|
||||
graphics \$mol cone \$middle \$end radius 0.01 color 3
|
||||
}
|
||||
|
||||
proc vmd_draw_vector {args} {
|
||||
set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale <s>] [resolution <res>] [radius <r>] [filled <yes/no>]"}
|
||||
# defaults
|
||||
set scale 2.0
|
||||
set res 50
|
||||
set radius 0.1
|
||||
set filled yes
|
||||
|
||||
if {[llength \$args] < 3} {
|
||||
error "wrong # args: should be \$usage"
|
||||
}
|
||||
set mol [lindex \$args 0]
|
||||
set center [lindex \$args 1]
|
||||
set vector [lindex \$args 2]
|
||||
if {[llength \$center] != 3 || [llength \$vector] != 3} {
|
||||
error "wrong type of args: should be \$usage"
|
||||
}
|
||||
|
||||
foreach {flag value} [lrange \$args 3 end] {
|
||||
switch -glob \$flag {
|
||||
scale {set scale \$value}
|
||||
res* {set res \$value}
|
||||
rad* {set radius \$value}
|
||||
fill* {set filled \$value}
|
||||
default {error "unknown option '\$flag': should be \$usage" }
|
||||
}
|
||||
}
|
||||
|
||||
set vechalf [vecscale [expr \$scale * 0.5] \$vector]
|
||||
return [list \\
|
||||
[graphics \$mol color yellow]\\
|
||||
[graphics \$mol cylinder [vecsub \$center \$vechalf]\\
|
||||
[vecadd \$center [vecscale 0.7 \$vechalf]] \\
|
||||
radius \$radius resolution \$res filled \$filled] \\
|
||||
[graphics \$mol color orange]\\
|
||||
[graphics \$mol cone [vecadd \$center [vecscale 0.6 \$vechalf]] \\
|
||||
[vecadd \$center \$vechalf] radius [expr \$radius * 2.5] \\
|
||||
resolution \$res]]
|
||||
}
|
||||
|
||||
proc vmd_draw_spin {args} {
|
||||
global molid
|
||||
graphics \$molid delete all
|
||||
set frame [molinfo \$molid get frame]
|
||||
set natoms [molinfo \$molid get numatoms]
|
||||
for {set i 0} {\$i < \$natoms} {incr i} {
|
||||
set sel [atomselect top "index \$i"]
|
||||
set coords [lindex [\$sel get {x y z}] \$molid]
|
||||
set velocities [lindex [\$sel get {vx vy vz}] \$molid]
|
||||
draw vector \$coords \$velocities
|
||||
set uvx [lindex [\$sel get {vx}] \$molid]
|
||||
set uvy [lindex [\$sel get {vy}] \$molid]
|
||||
set uvz [lindex [\$sel get {vz}] \$molid]
|
||||
\$sel set user [vecadd [vecadd [vecscale \$uvy \$uvy] [vecscale \$uvz \$uvz] ] [vecscale \$uvx \$uvx]]
|
||||
\$sel set user \$uvy
|
||||
#draw vector \$coords {0.0 uvy 0.0}
|
||||
}
|
||||
#pbc box -color 3
|
||||
}
|
||||
|
||||
proc enable_trace {} {
|
||||
global vmd_frame
|
||||
trace variable vmd_frame([molinfo top]) w vmd_draw_spin
|
||||
}
|
||||
|
||||
set molid [mol addfile {$1} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all]
|
||||
scale by 0.5
|
||||
animate style Loop
|
||||
enable_trace
|
||||
EOF
|
||||
echo "$FILE is ready..."
|
||||
@ -69,10 +69,10 @@ compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
|
||||
variable magz equal c_out_mag[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
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]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo 10
|
||||
|
||||
@ -66,10 +66,10 @@ timestep 0.0002
|
||||
# define output and run
|
||||
|
||||
compute out_mag all compute/spin
|
||||
variable magz equal c_out_mag[4]
|
||||
variable magnorm equal c_out_mag[5]
|
||||
variable emag equal c_out_mag[6]
|
||||
variable tmag equal c_out_mag[7]
|
||||
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]
|
||||
variable mag_force equal f_1
|
||||
|
||||
thermo_style custom step time v_magnorm v_emag etotal
|
||||
|
||||
@ -1,79 +0,0 @@
|
||||
proc vmd_draw_arrow {mol start end} {
|
||||
set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]]
|
||||
graphics $mol cylinder $start $middle radius 0.05
|
||||
graphics $mol cone $middle $end radius 0.01 color 3
|
||||
}
|
||||
|
||||
proc vmd_draw_vector {args} {
|
||||
set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale <s>] [resolution <res>] [radius <r>] [filled <yes/no>]"}
|
||||
# defaults
|
||||
set scale 2.0
|
||||
set res 50
|
||||
set radius 0.1
|
||||
set filled yes
|
||||
|
||||
if {[llength $args] < 3} {
|
||||
error "wrong # args: should be $usage"
|
||||
}
|
||||
set mol [lindex $args 0]
|
||||
set center [lindex $args 1]
|
||||
set vector [lindex $args 2]
|
||||
if {[llength $center] != 3 || [llength $vector] != 3} {
|
||||
error "wrong type of args: should be $usage"
|
||||
}
|
||||
|
||||
foreach {flag value} [lrange $args 3 end] {
|
||||
switch -glob $flag {
|
||||
scale {set scale $value}
|
||||
res* {set res $value}
|
||||
rad* {set radius $value}
|
||||
fill* {set filled $value}
|
||||
default {error "unknown option '$flag': should be $usage" }
|
||||
}
|
||||
}
|
||||
|
||||
set vechalf [vecscale [expr $scale * 0.5] $vector]
|
||||
return [list \
|
||||
[graphics $mol color yellow]\
|
||||
[graphics $mol cylinder [vecsub $center $vechalf]\
|
||||
[vecadd $center [vecscale 0.7 $vechalf]] \
|
||||
radius $radius resolution $res filled $filled] \
|
||||
[graphics $mol color orange]\
|
||||
[graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \
|
||||
[vecadd $center $vechalf] radius [expr $radius * 2.5] \
|
||||
resolution $res]]
|
||||
}
|
||||
|
||||
proc vmd_draw_spin {args} {
|
||||
global molid
|
||||
graphics $molid delete all
|
||||
set frame [molinfo $molid get frame]
|
||||
set natoms [molinfo $molid get numatoms]
|
||||
for {set i 0} {$i < $natoms} {incr i} {
|
||||
set sel [atomselect top "index $i"]
|
||||
# set sel [atomselect top "index 1200"]
|
||||
set coords [lindex [$sel get {x y z}] $molid]
|
||||
set velocities [lindex [$sel get {vx vy vz}] $molid]
|
||||
draw vector $coords $velocities
|
||||
set uvx [lindex [$sel get {vx}] $molid]
|
||||
set uvy [lindex [$sel get {vy}] $molid]
|
||||
set uvz [lindex [$sel get {vz}] $molid]
|
||||
$sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]]
|
||||
$sel set user $uvy
|
||||
#draw vector $coords {0.0 uvy 0.0}
|
||||
}
|
||||
#pbc box -color 3
|
||||
}
|
||||
|
||||
proc enable_trace {} {
|
||||
global vmd_frame
|
||||
trace variable vmd_frame([molinfo top]) w vmd_draw_spin
|
||||
}
|
||||
|
||||
set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all]
|
||||
scale by 0.5
|
||||
animate style Loop
|
||||
enable_trace
|
||||
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) :
|
||||
if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command");
|
||||
|
||||
vector_flag = 1;
|
||||
size_vector = 7;
|
||||
size_vector = 6;
|
||||
extvector = 0;
|
||||
|
||||
init();
|
||||
@ -133,13 +133,12 @@ void ComputeSpin::compute_vector()
|
||||
spintemperature = hbar*tempnumtot;
|
||||
spintemperature /= (kb*tempdenomtot);
|
||||
|
||||
vector[0] = invoked_vector*update->dt;
|
||||
vector[1] = magtot[0];
|
||||
vector[2] = magtot[1];
|
||||
vector[3] = magtot[2];
|
||||
vector[4] = magtot[3];
|
||||
vector[5] = magenergytot*hbar;
|
||||
vector[6] = spintemperature;
|
||||
vector[0] = magtot[0];
|
||||
vector[1] = magtot[1];
|
||||
vector[2] = magtot[2];
|
||||
vector[3] = magtot[3];
|
||||
vector[4] = magenergytot*hbar;
|
||||
vector[5] = spintemperature;
|
||||
|
||||
}
|
||||
|
||||
@ -149,6 +148,6 @@ void ComputeSpin::compute_vector()
|
||||
|
||||
void ComputeSpin::allocate()
|
||||
{
|
||||
memory->create(vector,7,"compute/spin:vector");
|
||||
memory->create(vector,6,"compute/spin:vector");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user