git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3171 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2009-09-24 17:42:17 +00:00
parent 93fe3738c9
commit af3cc168ef
46 changed files with 2032 additions and 196 deletions

View File

@ -332,7 +332,7 @@ of each style or click on the style itself for a full description:
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "fix_smd.html">smd</A>
<TR ALIGN="center"><TD ><A HREF = "fix_atc.html">atc</A></TD><TD ><A HREF = "fix_smd.html">smd</A>
</TD></TR></TABLE></DIV>
<HR>

View File

@ -446,6 +446,7 @@ of each style or click on the style itself for a full description:
These are fix styles contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"atc"_fix_atc.html,
"smd"_fix_smd.html :tb(c=4,ea=c)
:line

View File

@ -11,8 +11,8 @@
<H3>2. Getting Started
</H3>
<P>This section describes how to unpack, make, and run LAMMPS, for both
new and experienced users.
<P>This section describes how to build and run LAMMPS, for both new and
experienced users.
</P>
2.1 <A HREF = "#2_1">What's in the LAMMPS distribution</A><BR>
2.2 <A HREF = "#2_2">Making LAMMPS</A><BR>
@ -53,8 +53,18 @@ sub-directories:
<H4><A NAME = "2_2"></A>2.2 Making LAMMPS
</H4>
<P><B><I>Read this first:</I></B>
<P>This section has the following sub-sections:
</P>
<UL><LI><A HREF = "#2_2_1">Read this first</A>
<LI><A HREF = "#2_2_2">Building a LAMMPS executable</A>
<LI><A HREF = "#2_2_3">Errors that can occur when making LAMMPS</A>
<LI><A HREF = "#2_2_4">Editing a new low-level Makefile</A>
<LI><A HREF = "#2_2_5">Additional build tips</A>
</UL>
<HR>
<A NAME = "2_2_1"></A><B><I>Read this first:</I></B>
<P>Building LAMMPS can be non-trivial. You will likely need to edit a
makefile, there are compiler options, additional libraries can be used
(MPI, FFT), etc. Please read this section carefully. If you are not
@ -74,8 +84,10 @@ please send an email to the
there isn't a similar Makefile for in the distribution), send it to
the developers and we'll include it in future LAMMPS releases.
</P>
<P><B><I>Building a LAMMPS executable:</I></B>
</P>
<HR>
<A NAME = "2_2_2"></A><B><I>Building a LAMMPS executable:</I></B>
<P>The src directory contains the C++ source and header files for LAMMPS.
It also contains a top-level Makefile and a MAKE sub-directory with
low-level Makefile.* files for several machines. From within the src
@ -93,8 +105,10 @@ will typically build LAMMPS more quickly.
<P>If you get no errors and an executable like lmp_linux or lmp_mac is
produced, you're done; it's your lucky day.
</P>
<P><B><I>Errors that can occur when making LAMMPS:</I></B>
</P>
<HR>
<A NAME = "2_2_3"></A><B><I>Errors that can occur when making LAMMPS:</I></B>
<P>(1) If the make command breaks immediately with errors that indicate
it can't find files with a "*" in their names, this can be because
your machine's make doesn't support wildcard expansion in a makefile.
@ -116,16 +130,29 @@ you need to create a Makefile.foo in the MAKE sub-directory. Use
whatever existing file is closest to your platform as a starting
point. See the next section for more instructions.
</P>
<P><B><I>Editing a new low-level Makefile.foo:</I></B>
<P>(3) If you get a link-time error about missing libraries or missing
dependencies, then it can be because:
</P>
<UL><LI>you have not pre-built the necessary <A HREF = "#2_3_3">add-on LAMMPS library</A>
<LI>you are linking to a library that doesn't exist on your system
<LI>you are not linking to the necessary system library
</UL>
<P>The first issue is discussed below. The other two issue mean you need
to edit your low-level Makefile.foo, as discussed in the next
sub-section.
</P>
<HR>
<A NAME = "2_2_4"></A><B><I>Editing a new low-level Makefile.foo:</I></B>
<P>These are the issues you need to address when editing a low-level
Makefile for your machine. With a couple exceptions, the only portion
of the file you should need to edit is the "System-specific Settings"
Makefile for your machine. The only portion of the file you should
need to edit is the first line and the "System-specific Settings"
section.
</P>
<P>(1) Change the first line of Makefile.foo to include the word "foo"
and whatever other options you set. This is the line you will see if
you just type "make".
<P>(1) Change the first line of Makefile.foo to list the word "foo" after
the "#", and whatever other options you set. This is the line you
will see if you just type "make".
</P>
<P>(2) Set the paths and flags for your C++ compiler, including
optimization flags. You can use g++, the open-source GNU compiler,
@ -210,6 +237,17 @@ files (a long list of errors involving *.d files), then you'll need to
create a Makefile.foo patterned after Makefile.tflop, which uses
different rules that do not involve dependency files.
</P>
<P>(9) The comments after the "System-specific Settings" heading refer to
Fortran, BLAS, GPU, etc system libraries. You only need to include
these settings if you intend to build LAMMPS with the optional
packages that use add-on LAMMPS libraries that need these system
libraries. See the <A HREF = "#2_3_3">section below</A> for more details. If you
are not using these packages and their associated LAMMPS libraries,
then you can either comment out the relevant lines in the Makefile, or
leave the setting blank. If you do not do this, and your system does
not have the specified system library (e.g. a BLAS or CUDA library)
then you will get an error when you build LAMMPS.
</P>
<P>That's it. Once you have a correct Makefile.foo and you have
pre-built the MPI and FFT libraries it will use, all you need to do
from the src directory is type one of these 2 commands:
@ -219,8 +257,10 @@ gmake foo
</PRE>
<P>You should get the executable lmp_foo when the build is complete.
</P>
<P><B><I>Additional build tips:</I></B>
</P>
<HR>
<A NAME = "2_2_5"></A><B><I>Additional build tips:</I></B>
<P>(1) Building LAMMPS for multiple platforms.
</P>
<P>You can make LAMMPS for multiple platforms from the same src
@ -259,7 +299,7 @@ like these lines in your Makefile.machine:
<P>On a Macintosh, try compiling the pair "long" files without the -fast
compiler option.
</P>
<P>(4) Building for a Macintosh.
<P>(4) Building for a Mac.
</P>
<P>OS X is BSD Unix, so it already works. See the Makefile.mac file.
</P>
@ -277,12 +317,23 @@ instructions for tips. Good luck - we can't help you on this one.
<H4><A NAME = "2_3"></A>2.3 Making LAMMPS with optional packages
</H4>
<P>This section has the following sub-sections:
</P>
<UL><LI><A HREF = "#2_3_1">Package basics</A>
<LI><A HREF = "#2_3_2">Including/excluding packages</A>
<LI><A HREF = "#2_3_3">Packages that require extra LAMMPS libraries</A>
<LI><A HREF = "#2_3_4">Additional Makefile settings for extra libraries</A>
</UL>
<HR>
<A NAME = "2_3_1"></A><B><I>Package basics:</I></B>
<P>The source code for LAMMPS is structured as a large set of core files
which are always used, plus optional packages, which are groups of
files that enable a specific set of features. For example, force
fields for molecular systems or granular systems are in packages. You
can see the list of both standard and user-contributed packages by
typing "make package".
which are always included, plus optional packages. Packages are
groups of files that enable a specific set of features. For example,
force fields for molecular systems or granular systems are in
packages. You can see the list of all packages by typing "make
package".
</P>
<P>The current list of standard packages is as follows:
</P>
@ -307,8 +358,10 @@ typing "make package".
<P>There are also user-contributed packages which may be as simple as a
single additional file or many files grouped together which add a
specific functionality to the code. The difference between a
<I>standard</I> package versus a <I>user</I> package is as follows.
specific functionality to the code.
</P>
<P>The difference between a <I>standard</I> package versus a <I>user</I> package is
as follows.
</P>
<P>Standard packages are supported by the LAMMPS developers and are
written in a syntax and style consistent with the rest of LAMMPS.
@ -324,11 +377,13 @@ documentation.
</P>
<HR>
<P>Any or all packages can be included or excluded independently when
<A NAME = "2_3_2"></A><B><I>Including/excluding packages:</I></B>
<P>Any or all packages can be included or excluded independently BEFORE
LAMMPS is built.
</P>
<P>The two exceptions to this are the "gpu" and "opt" packages. Some of
the files in these packages require other packages to also be
<P>Note: The two exceptions to this are the "gpu" and "opt" packages.
Some of the files in these packages require other packages to also be
included. If this is not the case, then those subsidiary files in
"gpu" and "opt" will not be installed either. To install all the
files in package "gpu", the "asphere" package must also be installed.
@ -350,103 +405,136 @@ no-name", where "name" is the name of the package. You can also type
no-user", "make yes-all" or "make no-all" to include/exclude various
sets of packages. Type "make package" to see the various options.
</P>
<P>These make commands work by simply moving files back and forth between
the main src directory and sub-directories with the package name, so
that the files are seen or not seen when LAMMPS is built. After you
have included or excluded a package, you must re-build LAMMPS.
<P>IMPORTANT NOTE: These make commands work by simply moving files back
and forth between the main src directory and sub-directories with the
package name, so that the files are seen or not seen when LAMMPS is
built. After you have included or excluded a package, you must
re-build LAMMPS.
</P>
<P>Additional make options exist to help manage LAMMPS files that exist
in both the src directory and in package sub-directories. You do not
normally need to use these commands unless you are editing LAMMPS
files or have downloaded a patch from the LAMMPS WWW site. Typing
"make package-update" will overwrite src files with files from the
package directories if the package has been included. It should be
used after a patch is installed, since patches only update the master
package version of a file. Typing "make package-overwrite" will
overwrite files in the package directories with src files. Typing
"make package-check" will list differences between src and package
versions of the same files. Again, type "make package" to see the
various options.
files or have downloaded a patch from the LAMMPS WWW site.
</P>
<P>A few packages require that additional libraries be compiled first,
which LAMMPS will link to when it builds. These are stored under
under the lammps/lib directory of the distribution. Currently, these
include libraries for the "gpu", "meam", "poems", and "reax" packages.
You should look at the README files in the lib directories
<P>Typing "make package-update" will overwrite src files with files from
the package directories if the package has been included. It should
be used after a patch is installed, since patches only update the
master package version of a file. Typing "make package-overwrite"
will overwrite files in the package directories with src files.
Typing "make package-check" will list differences between src and
package versions of the same files. Again, type "make package" to see
the various options.
</P>
<HR>
<A NAME = "2_3_3"></A><B><I>Packages that require extra LAMMPS libraries:</I></B>
<P>A few packages (standard or user) require that add-on libraries be
compiled first, which LAMMPS will link to when it builds. The source
code for these libraries are included in the LAMMPS distribution under
the "lib" directory. Look at the README files in the lib directories
(e.g. lib/reax/README) for instructions on how to build each library.
</P>
<P>The "gpu" library in lib/gpu contains code to enable portions of
LAMMPS to run on a GPU chip associated with your CPU. Currently, only
NVIDIA GPUs are supported. Building this library requires NVIDIA Cuda
tools to be installed on your system. See the <A HREF = "#2_8">Running on GPUs</A>
section below for more info about installing and using Cuda.
<P>IMPORTANT NOTE: If you have included a package that uses
one of the libraries, then you must build the library BEFORE
building LAMMPS itself, as the LAMMPS build will link with
the library file.
</P>
<P>The "meam" library in lib/meam computes the modified embedded atom
method potential, which is a generalization of EAM potentials that can
be used to model a wider variety of materials. This MEAM
implementation was written by Greg Wagner at Sandia. It requires a
F90 compiler to build. The C++ to FORTRAN function calls in pair_meam.cpp
assumes that FORTRAN object names are converted to C object names by
appending an underscore character. This is generally the case, but
on machines that do not conform to this convention, you will need to
modify either the C++ code or your compiler settings.
<P>Here is a bit of information about each library:
</P>
<P>The "poems" library in lib/poems computes the constrained rigid-body
motion of articulated (jointed) multibody systems. POEMS was written
and is distributed by Prof Kurt Anderson's group at Rensselaer
Polytechnic Institute (RPI).
<P>The "atc" library in lib/atc is used by the user-atc package. It
provides continuum field estimation and molecular dynamics-finite
element coupling methods. It was written primarily by Reese Jones,
Jeremy Templeton and Jonathan Zimmerman at Sandia.
</P>
<P>The "reax" library in lib/reax computes the Reactive Force Field
(ReaxFF) potential, developed by Adri van Duin in Bill Goddard's group
at CalTech. This implementation in LAMMPS uses many of Adri's files
and was developed by Aidan Thompson at Sandia and Hansohl Cho at MIT.
It requires a F77 or F90 compiler to build.
The C++ to FORTRAN function calls in pair_reax.cpp
assume that FORTRAN object names are converted to C object names by
appending an underscore character. This is generally the case, but
on machines that do not conform to this convention, you will need to
modify either the C++ code or your compiler settings. The name conversion
is handled by the preprocessor macro called FORTRAN in pair_reax_fortran.h.
Different definitions of this macro can be obtained by adding a
machine-specific macro definition to the CCFLAGS variable in your Makefile
e.g. -D_IBM. See pair_reax_fortran.h for more info.
<P>The "gpu" library in lib/gpu is used by the gpu package. It
contains code to enable portions of LAMMPS to run on a GPU chip
associated with your CPU. Currently, only NVIDIA GPUs are supported.
Building this library requires NVIDIA Cuda tools to be installed on
your system. See the <A HREF = "#2_8">Running on GPUs</A> section below for more
info about installing and using Cuda.
</P>
<P>As its README file describes, for each library, the library is built
by typing something like
<P>The "meam" library in lib/meam is used by the meam package.
computes the modified embedded atom method potential, which is a
generalization of EAM potentials that can be used to model a wider
variety of materials. This MEAM implementation was written by Greg
Wagner at Sandia. It requires a F90 compiler to build. The C++ to
FORTRAN function calls in pair_meam.cpp assumes that FORTRAN object
names are converted to C object names by appending an underscore
character. This is generally the case, but on machines that do not
conform to this convention, you will need to modify either the C++
code or your compiler settings.
</P>
<PRE>make -f Makefile.foo
<P>The "poems" library in lib/poems is used by the poems package.
computes the constrained rigid-body motion of articulated (jointed)
multibody systems. POEMS was written and is distributed by Prof Kurt
Anderson's group at Rensselaer Polytechnic Institute (RPI).
</P>
<P>The "reax" library in lib/reax is used by the reax package. It
computes the Reactive Force Field (ReaxFF) potential, developed by
Adri van Duin in Bill Goddard's group at CalTech. This implementation
in LAMMPS uses many of Adri's files and was developed by Aidan
Thompson at Sandia and Hansohl Cho at MIT. It requires a F77 or F90
compiler to build. The C++ to FORTRAN function calls in pair_reax.cpp
assume that FORTRAN object names are converted to C object names by
appending an underscore character. This is generally the case, but on
machines that do not conform to this convention, you will need to
modify either the C++ code or your compiler settings. The name
conversion is handled by the preprocessor macro called FORTRAN in
pair_reax_fortran.h. Different definitions of this macro can be
obtained by adding a machine-specific macro definition to the CCFLAGS
variable in your Makefile e.g. -D_IBM. See pair_reax_fortran.h for
more info.
</P>
<P>As described in its README file, each library is built by typing
something like
</P>
<PRE>make -f Makefile.g++
</PRE>
<P>in the appropriate directory, e.g. in lib/reax.
</P>
<P>You must use a Makefile that is a match for your system. If one of
the provided Makefiles is not appropriate for your system you will
need to edit or add one. For example, in the case of libraries of
Fortran code, your system must have a Fortran compiler, the settings
for which will be in the Makefile.
need to edit or add one. For example, in the case of Fotran-based
libraries, your system must have a Fortran compiler, the settings for
which will be in the Makefile.
</P>
<P>Once the desired library or libraries are built, you can build LAMMPS.
From the lammps/src directory type this, for example, to build LAMMPS
with ReaxFF:
<HR>
<A NAME = "2_3_4"></A><B><I>Additional Makefile settings for extra libraries:</I></B>
<P>After the desired library or libraries are built, and the package has
been included, you can build LAMMPS itself. For example, from the
lammps/src directory you would type this, to build LAMMPS with ReaxFF.
Note that the library itself, namely lib/reax/libreax.a, must already
have been built, as dicussed in the preceding section, for the
LAMMPS build to be successful.
</P>
<PRE>make yes-reax
make g++
</PRE>
<P>Note that simply building the library (reax in this case), which must
be done first, is not sufficient to use it from LAMMPS. You must also
include the package that uses and wraps the library before you build
LAMMPS itself.
<P>Note that simply building the library is not sufficient to use it from
LAMMPS. You must also include the package that uses and wraps the
library before you build LAMMPS itself.
</P>
<P>To use the gpu package and library, the lo-level Makefile in
lammps/src/MAKE, such as Makefile.g++, must typically have settings
for LINKGPU and GPULIB that are specific to the NVIDIA software
installed on your system.
<P>As discussed in point (9) of <A HREF = "#2_2_4">this section</A> above, there are
settings in the low-level Makefile that specify additional system
libraries needed by individual LAMMPS add-on libraries. These are the
settings you must specify correctly in your low-level Makefile in
lammps/src/MAKE, such as Makefile.foo:
</P>
<P>To use the meam or reax packages and libraries that are Fortran based,
the lo-level Makefile in lammps/src/MAKE, such as Makefile.g++, must
typically have settings for LINKFORT and FORTLIB that are specific to
the Fortran compiler installed on your system. This is so that the
C++ compiler can perform a cross-language link using the appropriate
Fortran libraries.
<P>To use the user-atc package and library, the settings for LINKBLAS and
BLASLIB must be correct. This is so that the appropriate BLAS and
LAPACK libs, used by the user-atc library, can be found.
</P>
<P>To use the gpu package and library, the settings for LINKGPU and
GPULIB must be correct. These are specific to the NVIDIA CUDA
software which must be installed on your system.
</P>
<P>To use the meam or reax packages and their libraries which are Fortran
based, the settings for LINKFORT and FORTLIB must be correct. This is
so that the C++ compiler can perform a cross-language link using the
appropriate system Fortran libraries.
</P>
<HR>

View File

@ -8,8 +8,8 @@
2. Getting Started :h3
This section describes how to unpack, make, and run LAMMPS, for both
new and experienced users.
This section describes how to build and run LAMMPS, for both new and
experienced users.
2.1 "What's in the LAMMPS distribution"_#2_1
2.2 "Making LAMMPS"_#2_2
@ -48,7 +48,17 @@ tools: pre- and post-processing tools :tb(s=:)
2.2 Making LAMMPS :h4,link(2_2)
[{Read this first:}]
This section has the following sub-sections:
"Read this first"_#2_2_1
"Building a LAMMPS executable"_#2_2_2
"Errors that can occur when making LAMMPS"_#2_2_3
"Editing a new low-level Makefile"_#2_2_4
"Additional build tips"_#2_2_5 :ul
:line
[{Read this first:}] :link(2_2_1)
Building LAMMPS can be non-trivial. You will likely need to edit a
makefile, there are compiler options, additional libraries can be used
@ -69,7 +79,9 @@ If you succeed in building LAMMPS on a new kind of machine (which
there isn't a similar Makefile for in the distribution), send it to
the developers and we'll include it in future LAMMPS releases.
[{Building a LAMMPS executable:}]
:line
[{Building a LAMMPS executable:}] :link(2_2_2)
The src directory contains the C++ source and header files for LAMMPS.
It also contains a top-level Makefile and a MAKE sub-directory with
@ -88,7 +100,9 @@ will typically build LAMMPS more quickly.
If you get no errors and an executable like lmp_linux or lmp_mac is
produced, you're done; it's your lucky day.
[{Errors that can occur when making LAMMPS:}]
:line
[{Errors that can occur when making LAMMPS:}] :link(2_2_3)
(1) If the make command breaks immediately with errors that indicate
it can't find files with a "*" in their names, this can be because
@ -111,16 +125,29 @@ you need to create a Makefile.foo in the MAKE sub-directory. Use
whatever existing file is closest to your platform as a starting
point. See the next section for more instructions.
[{Editing a new low-level Makefile.foo:}]
(3) If you get a link-time error about missing libraries or missing
dependencies, then it can be because:
you have not pre-built the necessary "add-on LAMMPS library"_#2_3_3
you are linking to a library that doesn't exist on your system
you are not linking to the necessary system library :ul
The first issue is discussed below. The other two issue mean you need
to edit your low-level Makefile.foo, as discussed in the next
sub-section.
:line
[{Editing a new low-level Makefile.foo:}] :link(2_2_4)
These are the issues you need to address when editing a low-level
Makefile for your machine. With a couple exceptions, the only portion
of the file you should need to edit is the "System-specific Settings"
Makefile for your machine. The only portion of the file you should
need to edit is the first line and the "System-specific Settings"
section.
(1) Change the first line of Makefile.foo to include the word "foo"
and whatever other options you set. This is the line you will see if
you just type "make".
(1) Change the first line of Makefile.foo to list the word "foo" after
the "#", and whatever other options you set. This is the line you
will see if you just type "make".
(2) Set the paths and flags for your C++ compiler, including
optimization flags. You can use g++, the open-source GNU compiler,
@ -205,6 +232,17 @@ files (a long list of errors involving *.d files), then you'll need to
create a Makefile.foo patterned after Makefile.tflop, which uses
different rules that do not involve dependency files.
(9) The comments after the "System-specific Settings" heading refer to
Fortran, BLAS, GPU, etc system libraries. You only need to include
these settings if you intend to build LAMMPS with the optional
packages that use add-on LAMMPS libraries that need these system
libraries. See the "section below"_#2_3_3 for more details. If you
are not using these packages and their associated LAMMPS libraries,
then you can either comment out the relevant lines in the Makefile, or
leave the setting blank. If you do not do this, and your system does
not have the specified system library (e.g. a BLAS or CUDA library)
then you will get an error when you build LAMMPS.
That's it. Once you have a correct Makefile.foo and you have
pre-built the MPI and FFT libraries it will use, all you need to do
from the src directory is type one of these 2 commands:
@ -214,7 +252,9 @@ gmake foo :pre
You should get the executable lmp_foo when the build is complete.
[{Additional build tips:}]
:line
[{Additional build tips:}] :link(2_2_5)
(1) Building LAMMPS for multiple platforms.
@ -254,7 +294,7 @@ pair_lj_charmm_coul_long.o : pair_lj_charmm_coul_long.cpp
On a Macintosh, try compiling the pair "long" files without the -fast
compiler option.
(4) Building for a Macintosh.
(4) Building for a Mac.
OS X is BSD Unix, so it already works. See the Makefile.mac file.
@ -272,12 +312,23 @@ instructions for tips. Good luck - we can't help you on this one.
2.3 Making LAMMPS with optional packages :h4,link(2_3)
This section has the following sub-sections:
"Package basics"_#2_3_1
"Including/excluding packages"_#2_3_2
"Packages that require extra LAMMPS libraries"_#2_3_3
"Additional Makefile settings for extra libraries"_#2_3_4 :ul
:line
[{Package basics:}] :link(2_3_1)
The source code for LAMMPS is structured as a large set of core files
which are always used, plus optional packages, which are groups of
files that enable a specific set of features. For example, force
fields for molecular systems or granular systems are in packages. You
can see the list of both standard and user-contributed packages by
typing "make package".
which are always included, plus optional packages. Packages are
groups of files that enable a specific set of features. For example,
force fields for molecular systems or granular systems are in
packages. You can see the list of all packages by typing "make
package".
The current list of standard packages is as follows:
@ -300,8 +351,10 @@ xtc : dump atom snapshots in XTC format :tb(s=:)
There are also user-contributed packages which may be as simple as a
single additional file or many files grouped together which add a
specific functionality to the code. The difference between a
{standard} package versus a {user} package is as follows.
specific functionality to the code.
The difference between a {standard} package versus a {user} package is
as follows.
Standard packages are supported by the LAMMPS developers and are
written in a syntax and style consistent with the rest of LAMMPS.
@ -317,11 +370,13 @@ documentation.
:line
Any or all packages can be included or excluded independently when
[{Including/excluding packages:}] :link(2_3_2)
Any or all packages can be included or excluded independently BEFORE
LAMMPS is built.
The two exceptions to this are the "gpu" and "opt" packages. Some of
the files in these packages require other packages to also be
Note: The two exceptions to this are the "gpu" and "opt" packages.
Some of the files in these packages require other packages to also be
included. If this is not the case, then those subsidiary files in
"gpu" and "opt" will not be installed either. To install all the
files in package "gpu", the "asphere" package must also be installed.
@ -343,103 +398,136 @@ no-name", where "name" is the name of the package. You can also type
no-user", "make yes-all" or "make no-all" to include/exclude various
sets of packages. Type "make package" to see the various options.
These make commands work by simply moving files back and forth between
the main src directory and sub-directories with the package name, so
that the files are seen or not seen when LAMMPS is built. After you
have included or excluded a package, you must re-build LAMMPS.
IMPORTANT NOTE: These make commands work by simply moving files back
and forth between the main src directory and sub-directories with the
package name, so that the files are seen or not seen when LAMMPS is
built. After you have included or excluded a package, you must
re-build LAMMPS.
Additional make options exist to help manage LAMMPS files that exist
in both the src directory and in package sub-directories. You do not
normally need to use these commands unless you are editing LAMMPS
files or have downloaded a patch from the LAMMPS WWW site. Typing
"make package-update" will overwrite src files with files from the
package directories if the package has been included. It should be
used after a patch is installed, since patches only update the master
package version of a file. Typing "make package-overwrite" will
overwrite files in the package directories with src files. Typing
"make package-check" will list differences between src and package
versions of the same files. Again, type "make package" to see the
various options.
files or have downloaded a patch from the LAMMPS WWW site.
A few packages require that additional libraries be compiled first,
which LAMMPS will link to when it builds. These are stored under
under the lammps/lib directory of the distribution. Currently, these
include libraries for the "gpu", "meam", "poems", and "reax" packages.
You should look at the README files in the lib directories
Typing "make package-update" will overwrite src files with files from
the package directories if the package has been included. It should
be used after a patch is installed, since patches only update the
master package version of a file. Typing "make package-overwrite"
will overwrite files in the package directories with src files.
Typing "make package-check" will list differences between src and
package versions of the same files. Again, type "make package" to see
the various options.
:line
[{Packages that require extra LAMMPS libraries:}] :link(2_3_3)
A few packages (standard or user) require that add-on libraries be
compiled first, which LAMMPS will link to when it builds. The source
code for these libraries are included in the LAMMPS distribution under
the "lib" directory. Look at the README files in the lib directories
(e.g. lib/reax/README) for instructions on how to build each library.
The "gpu" library in lib/gpu contains code to enable portions of
LAMMPS to run on a GPU chip associated with your CPU. Currently, only
NVIDIA GPUs are supported. Building this library requires NVIDIA Cuda
tools to be installed on your system. See the "Running on GPUs"_#2_8
section below for more info about installing and using Cuda.
IMPORTANT NOTE: If you have included a package that uses
one of the libraries, then you must build the library BEFORE
building LAMMPS itself, as the LAMMPS build will link with
the library file.
The "meam" library in lib/meam computes the modified embedded atom
method potential, which is a generalization of EAM potentials that can
be used to model a wider variety of materials. This MEAM
implementation was written by Greg Wagner at Sandia. It requires a
F90 compiler to build. The C++ to FORTRAN function calls in pair_meam.cpp
assumes that FORTRAN object names are converted to C object names by
appending an underscore character. This is generally the case, but
on machines that do not conform to this convention, you will need to
modify either the C++ code or your compiler settings.
Here is a bit of information about each library:
The "poems" library in lib/poems computes the constrained rigid-body
motion of articulated (jointed) multibody systems. POEMS was written
and is distributed by Prof Kurt Anderson's group at Rensselaer
Polytechnic Institute (RPI).
The "atc" library in lib/atc is used by the user-atc package. It
provides continuum field estimation and molecular dynamics-finite
element coupling methods. It was written primarily by Reese Jones,
Jeremy Templeton and Jonathan Zimmerman at Sandia.
The "reax" library in lib/reax computes the Reactive Force Field
(ReaxFF) potential, developed by Adri van Duin in Bill Goddard's group
at CalTech. This implementation in LAMMPS uses many of Adri's files
and was developed by Aidan Thompson at Sandia and Hansohl Cho at MIT.
It requires a F77 or F90 compiler to build.
The C++ to FORTRAN function calls in pair_reax.cpp
assume that FORTRAN object names are converted to C object names by
appending an underscore character. This is generally the case, but
on machines that do not conform to this convention, you will need to
modify either the C++ code or your compiler settings. The name conversion
is handled by the preprocessor macro called FORTRAN in pair_reax_fortran.h.
Different definitions of this macro can be obtained by adding a
machine-specific macro definition to the CCFLAGS variable in your Makefile
e.g. -D_IBM. See pair_reax_fortran.h for more info.
The "gpu" library in lib/gpu is used by the gpu package. It
contains code to enable portions of LAMMPS to run on a GPU chip
associated with your CPU. Currently, only NVIDIA GPUs are supported.
Building this library requires NVIDIA Cuda tools to be installed on
your system. See the "Running on GPUs"_#2_8 section below for more
info about installing and using Cuda.
As its README file describes, for each library, the library is built
by typing something like
The "meam" library in lib/meam is used by the meam package.
computes the modified embedded atom method potential, which is a
generalization of EAM potentials that can be used to model a wider
variety of materials. This MEAM implementation was written by Greg
Wagner at Sandia. It requires a F90 compiler to build. The C++ to
FORTRAN function calls in pair_meam.cpp assumes that FORTRAN object
names are converted to C object names by appending an underscore
character. This is generally the case, but on machines that do not
conform to this convention, you will need to modify either the C++
code or your compiler settings.
make -f Makefile.foo :pre
The "poems" library in lib/poems is used by the poems package.
computes the constrained rigid-body motion of articulated (jointed)
multibody systems. POEMS was written and is distributed by Prof Kurt
Anderson's group at Rensselaer Polytechnic Institute (RPI).
The "reax" library in lib/reax is used by the reax package. It
computes the Reactive Force Field (ReaxFF) potential, developed by
Adri van Duin in Bill Goddard's group at CalTech. This implementation
in LAMMPS uses many of Adri's files and was developed by Aidan
Thompson at Sandia and Hansohl Cho at MIT. It requires a F77 or F90
compiler to build. The C++ to FORTRAN function calls in pair_reax.cpp
assume that FORTRAN object names are converted to C object names by
appending an underscore character. This is generally the case, but on
machines that do not conform to this convention, you will need to
modify either the C++ code or your compiler settings. The name
conversion is handled by the preprocessor macro called FORTRAN in
pair_reax_fortran.h. Different definitions of this macro can be
obtained by adding a machine-specific macro definition to the CCFLAGS
variable in your Makefile e.g. -D_IBM. See pair_reax_fortran.h for
more info.
As described in its README file, each library is built by typing
something like
make -f Makefile.g++ :pre
in the appropriate directory, e.g. in lib/reax.
You must use a Makefile that is a match for your system. If one of
the provided Makefiles is not appropriate for your system you will
need to edit or add one. For example, in the case of libraries of
Fortran code, your system must have a Fortran compiler, the settings
for which will be in the Makefile.
need to edit or add one. For example, in the case of Fotran-based
libraries, your system must have a Fortran compiler, the settings for
which will be in the Makefile.
Once the desired library or libraries are built, you can build LAMMPS.
From the lammps/src directory type this, for example, to build LAMMPS
with ReaxFF:
:line
[{Additional Makefile settings for extra libraries:}] :link(2_3_4)
After the desired library or libraries are built, and the package has
been included, you can build LAMMPS itself. For example, from the
lammps/src directory you would type this, to build LAMMPS with ReaxFF.
Note that the library itself, namely lib/reax/libreax.a, must already
have been built, as dicussed in the preceding section, for the
LAMMPS build to be successful.
make yes-reax
make g++ :pre
Note that simply building the library (reax in this case), which must
be done first, is not sufficient to use it from LAMMPS. You must also
include the package that uses and wraps the library before you build
LAMMPS itself.
Note that simply building the library is not sufficient to use it from
LAMMPS. You must also include the package that uses and wraps the
library before you build LAMMPS itself.
To use the gpu package and library, the lo-level Makefile in
lammps/src/MAKE, such as Makefile.g++, must typically have settings
for LINKGPU and GPULIB that are specific to the NVIDIA software
installed on your system.
As discussed in point (9) of "this section"_#2_2_4 above, there are
settings in the low-level Makefile that specify additional system
libraries needed by individual LAMMPS add-on libraries. These are the
settings you must specify correctly in your low-level Makefile in
lammps/src/MAKE, such as Makefile.foo:
To use the meam or reax packages and libraries that are Fortran based,
the lo-level Makefile in lammps/src/MAKE, such as Makefile.g++, must
typically have settings for LINKFORT and FORTLIB that are specific to
the Fortran compiler installed on your system. This is so that the
C++ compiler can perform a cross-language link using the appropriate
Fortran libraries.
To use the user-atc package and library, the settings for LINKBLAS and
BLASLIB must be correct. This is so that the appropriate BLAS and
LAPACK libs, used by the user-atc library, can be found.
To use the gpu package and library, the settings for LINKGPU and
GPULIB must be correct. These are specific to the NVIDIA CUDA
software which must be installed on your system.
To use the meam or reax packages and their libraries which are Fortran
based, the settings for LINKFORT and FORTLIB must be correct. This is
so that the C++ compiler can perform a cross-language link using the
appropriate system Fortran libraries.
:line

View File

@ -0,0 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer atom_element_map</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_atom_element_map">fix_modify AtC transfer atom_element_map</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer atom_element_map &lt;eulerian|lagrangian&gt; &lt;frequency&gt; <br>
<ul>
<li>frequency (int) : frequency of updating atom-to-continuum maps based on the current configuration - only for eulerian </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer atom_element_map eulerian 100 </code> <h2><a class="anchor" name="description">
description</a></h2>
Changes frame of reference from eulerian to lagrangian and sets the frequency for which the map from atoms to elements is reformed and all the attendant data is recalculated. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Cannot change map type after initialization. <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
lagrangian <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC boundary_integral</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_boundary_integral">fix_modify AtC boundary_integral</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer boundary_integral [field] faceset [name]<ul>
<li>field (string) : name of hardy field</li><li>name (string) : name of faceset </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer boundary_integral stress faceset loop1 </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC contour_integral</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_contour_integral">fix_modify AtC contour_integral</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer contour_integral [field] faceset [name] &lt;axis [x | y | z]&gt;<ul>
<li>field (string) : name of hardy field</li><li>name (string) : name of faceset</li><li>axis (string) : x or y or z </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer contour_integral stress faceset loop1 </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,40 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer momentum control</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_disp_control">fix_modify AtC transfer momentum control</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer momentum control none <br>
<p>
fix_modify AtC transfer momentum control rescale &lt;frequency&gt;<br>
<ul>
<li>frequency (int) = time step frequency for applying displacement and velocity rescaling <br>
</li></ul>
<p>
fix_modify AtC transfer momentum control glc_displacement <br>
<p>
fix_modify AtC transfer momentum control glc_velocity <br>
<p>
fix_modify AtC transfer momentum control flux [faceset face_set_id, interpolate]<ul>
<li>face_set_id (string) = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation<br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
fix_modify AtC transfer momentum control glc_velocity <br>
fix_modify AtC transfer momentum control stress_flux faceset bndy_faces <br>
<h2><a class="anchor" name="description">
description</a></h2>
<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
only for be used with specific transfers : elastic <br>
rescale not valid with time filtering activated <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC extrinsic electron_integration</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_electron_integration">fix_modify AtC extrinsic electron_integration</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC extrinsic electron_integration &lt;integration_type&gt; &lt;num_subcyle_steps(optional)&gt; <br>
<ul>
<li>integration_type (string) = explicit | implicit | steady <br>
</li></ul>
<p>
num_subcycle_steps (int), optional = number of subcycle steps for the electron time integration<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC extrinsic electron_integration implicit </code> <br>
<code> fix_modify AtC extrinsic electron_integration explicit 100 </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Switches between integration scheme for the electron temperature. The number of subcyling steps used to integrate the electron temperature 1 LAMMPS timestep can be manually adjusted to capture fast electron dynamics.<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
For use only with two_temperature type of AtC fix ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <br>
<h2><a class="anchor" name="default">
default</a></h2>
implicit<br>
subcycle_steps = 1 <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer equilibrium_start</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_equilibrium_start">fix_modify AtC transfer equilibrium_start</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer equilibrium_start &lt;on|off&gt;<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer equilibrium_start on </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Starts filtered calculations assuming they start in equilibrium, i.e. perfect finite element force balance.<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
only needed before filtering is begun<h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_time_filter.html">fix_modify AtC transfer filter</a><h2><a class="anchor" name="default">
default</a></h2>
on <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC extrinsic exchange</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_extrinsic_exchange">fix_modify AtC extrinsic exchange</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC extrinsic exchange &lt;on|off&gt;<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC extrinsic exchange on </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Switches energy exchange between the MD system and electron system on and off<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Only valid for use with two_temperature type of AtC fix.<h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_fix_atc.html">fix atc command</a><h2><a class="anchor" name="default">
default</a></h2>
on <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC fem create mesh</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_fem_mesh">fix_modify AtC fem create mesh</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC fem create mesh &lt;nx&gt; &lt;ny&gt; &lt;nz&gt; &lt;region-id&gt; &lt;f|p&gt; &lt;f|p&gt; &lt;f|p&gt;<ul>
<li>nx ny nz = number of elements in x, y, z</li><li>region-id = id of region that is to be meshed</li><li>f p p = perioidicity flags for x, y, z </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC fem create mesh 10 1 1 feRegion p p p </code> <h2><a class="anchor" name="description">
description</a></h2>
Creates a uniform mesh in a rectangular region <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
creates only uniform rectangular grids in a rectangular region <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer filter scale</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_filter_scale">fix_modify AtC transfer filter scale</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer filter scale &lt;scale&gt; <br>
<ul>
<li>scale (real) = characteristic time scale of the filter <br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer filter scale 10.0 </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
only for be used with specific transfers: thermal, two_temperature<h2><a class="anchor" name="related">
related</a></h2>
<a class="el" href="man_time_filter.html">fix_modify AtC transfer filter</a><h2><a class="anchor" name="default">
default</a></h2>
0. <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,119 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix atc command</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_fix_atc">fix atc command</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix AtC transfer &lt;type&gt; &lt;parameter_file&gt;<ul>
<li>type<br>
= thermal : thermal coupling with fields: temperature <br>
= two_temperature : electron-phonon coupling with field: temperature and electron_temperature <br>
= hardy : Hardy on-the-fly post-processing (see "related" section for possible fields) <br>
</li><li>parameter_file = name of the file with material parameters. <br>
note: hardy does not require a parameter file </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer thermal Ar_thermal.dat </code> <br>
<code> fix_modify AtC transfer hardy </code> <h2><a class="anchor" name="description">
description</a></h2>
This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the Hardy/post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.<p>
The following coupling example is typical, but non-exhaustive:<br>
<p>
<code> # ... commands to create and initialize the MD system <br>
</code><p>
<code> # initial fix to designate coupling type and group to apply it to <br>
# tag group physics material_file <br>
fix AtC internal atc thermal Ar_thermal.mat<br>
<br>
# create a uniform 12 x 2 x 2 mesh that covers region contain the group <br>
# nx ny nz region periodicity <br>
fix_modify AtC fem create mesh 12 2 2 mdRegion f p p<br>
<br>
# specify the control method for the type of coupling <br>
# physics control_type <br>
fix_modify AtC transfer thermal control flux <br>
<br>
# specify the initial values for the empirical field "temperature" <br>
# field node_group value <br>
fix_modify AtC transfer initial temperature all 30.<br>
<br>
# create an output stream for nodal fields <br>
# filename output_frequency <br>
fix_modify AtC transfer output atc_fe_output 100<br>
<br>
</code><p>
<code> run 1000 <br>
</code><p>
likewise for this post-processing example: <br>
<p>
<code> # ... commands to create and initialize the MD system <br>
</code><p>
<code> # initial fix to designate post-processing and the group to apply it to <br>
# no material file is allowed nor required <br>
fix AtC internal atc hardy <br>
<br>
# create a uniform 1 x 1 x 1 mesh that covers region contain the group <br>
# with periodicity this effectively creats a system average <br>
fix_modify AtC fem create mesh 1 1 1 box p p p <br>
<br>
# change from default lagrangian map to eulerian <br>
# refreshed every 100 steps <br>
fix_modify AtC atom_element_map eulerian 100 <br>
<br>
# start with no field defined <br>
fix_modify AtC transfer fields none <br>
<br>
# add mass density, potential energy density, stress and temperature <br>
fix_modify AtC transfer fields add density energy stress temperature <br>
<br>
# create an output stream for nodal fields <br>
# filename output_frequency <br>
fix_modify AtC transfer output nvtFE 100 text <br>
</code><p>
<code> run 1000 <br>
</code><p>
Note coupling and post-processing can be combined in the same simulations using separate fixes. <br>
For detailed exposition of the theory and algorithms please see:<br>
<ul>
<li>Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA. <em> An atomistic-to-continuum coupling method for heat transfer in solids. </em> Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.</li><li>Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, <em> Calculation of stress in atomistic simulation </em> Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319</li></ul>
<p>
Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes <em> The finite element method </em>, Dover 2003, for the basics of FE simulation.<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.<p>
Currently,<ul>
<li>the coupling is restricted to thermal physics</li><li>the FE computations are done in serial on each processor.</li></ul>
<h2><a class="anchor" name="related">
related</a></h2>
fix_modify commands for setup: <br>
<ul>
<li><a class="el" href="man_fem_mesh.html">fix_modify AtC fem create mesh</a></li><li><a class="el" href="man_mesh_nodeset.html">fix_modify AtC mesh create_nodeset</a></li><li><a class="el" href="man_mesh_faceset.html">fix_modify AtC mesh create_faceset</a></li><li><a class="el" href="man_mesh_elemset.html">fix_modify AtC mesh create_elementset</a></li><li><a class="el" href="man_transfer_internal.html">fix_modify AtC transfer internal</a></li><li><a class="el" href="man_transfer_boundary.html">fix_modify AtC transfer boundary</a></li><li><a class="el" href="man_internal_quadrature.html">fix_modify AtC transfer internal_quadrature</a></li><li><a class="el" href="man_time_integration.html">fix_modify AtC transfer pmfc</a></li><li><a class="el" href="man_electron_integration.html">fix_modify AtC extrinsic electron_integration</a></li></ul>
<p>
fix_modify commands for boundary and initial conditions:<br>
<ul>
<li><a class="el" href="man_initial.html">fix_modify AtC transfer initial</a></li><li><a class="el" href="man_fix_nodes.html">fix_modify AtC transfer fix</a></li><li><a class="el" href="man_unfix_nodes.html">fix_modify AtC transfer unfix</a></li><li><a class="el" href="man_fix_flux.html">fix_modify AtC transfer fix_flux</a></li><li><a class="el" href="man_unfix_flux.html">fix_modify AtC transfer unfix_flux</a></li><li><a class="el" href="man_source.html">fix_modify AtC transfer source</a></li><li><a class="el" href="man_remove_source.html">fix_modify AtC transfer remove_source</a></li></ul>
<p>
fix_modify commands for control and filtering: <br>
<ul>
<li><a class="el" href="man_thermal_control.html">fix_modify AtC transfer thermal control</a></li><li><a class="el" href="man_time_filter.html">fix_modify AtC transfer filter</a></li><li><a class="el" href="man_filter_scale.html">fix_modify AtC transfer filter scale</a></li><li><a class="el" href="man_equilibrium_start.html">fix_modify AtC transfer equilibrium_start</a></li><li><a class="el" href="man_extrinsic_exchange.html">fix_modify AtC extrinsic exchange</a></li></ul>
<p>
fix_modify commands for output: <br>
<ul>
<li><a class="el" href="man_transfer_output.html">fix_modify AtC transfer output</a></li><li><a class="el" href="man_transfer_atomic_output.html">fix_modify AtC transfer atomic_output</a></li><li><a class="el" href="man_mesh_output.html">fix_modify AtC mesh output</a></li><li><a class="el" href="man_write_restart.html">fix_modify AtC transfer write_restart</a></li><li><a class="el" href="man_read_restart.html">fix_modify AtC transfer read_restart</a></li></ul>
<p>
fix_modify commands for post-processing: <br>
<ul>
<li><a class="el" href="man_hardy_fields.html">fix_modify AtC transfer fields</a></li><li><a class="el" href="man_hardy_gradients.html">fix_modify AtC transfer gradients</a></li><li><a class="el" href="man_hardy_rates.html">fix_modify AtC transfer rates</a></li><li><a class="el" href="man_hardy_computes.html">fix_modify AtC transfer computes</a></li><li><a class="el" href="man_hardy_set.html">fix_modify AtC set</a></li><li><a class="el" href="man_hardy_on_the_fly.html">fix_modify AtC transfer on_the_fly</a></li><li><a class="el" href="man_boundary_integral.html">fix_modify AtC boundary_integral</a></li><li><a class="el" href="man_contour_integral.html">fix_modify AtC contour_integral</a></li></ul>
<p>
miscellaneous fix_modify commands: <br>
<ul>
<li><a class="el" href="man_atom_element_map.html">fix_modify AtC transfer atom_element_map</a></li><li><a class="el" href="man_neighbor_reset_frequency.html">fix_modify AtC transfer neighbor_reset_frequency</a></li></ul>
<p>
Note: a set of example input files with the attendant material files are included with this package <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer fix_flux</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_fix_flux">fix_modify AtC transfer fix_flux</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer fix_flux &lt;field&gt; &lt;face_set&gt; &lt;value | function&gt;<ul>
<li>&lt;field&gt; = field name valid for type of physics, temperature | electron_temperature</li><li>&lt;face_set&gt; = name of set of element faces </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer fix_flux temperature faceSet 10.0 </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Command for fixing normal fluxes e.g. heat_flux. This command only prescribes the normal component of the physical flux, e.g. heat (energy) flux. The units are in AtC units, i.e. derived from the LAMMPS length, time, and mass scales. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Only normal fluxes (Neumann data) can be prescribed. <h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_unfix_flux.html">fix_modify AtC transfer unfix_flux</a> <h2><a class="anchor" name="default">
default</a></h2>
<hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer fix</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_fix_nodes">fix_modify AtC transfer fix</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer fix &lt;field&gt; &lt;nodeset&gt; &lt;constant | function&gt;<ul>
<li>&lt;field&gt; = field name valid for type of physics</li><li>&lt;nodeset&gt; = name of set of nodes to apply boundary condition</li><li>&lt;constant | function&gt; = value or name of function followed by its parameters </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer fix temperature groupNAME 10. </code> <br>
<code> fix_modify AtC transfer fix temperature groupNAME 0 0 0 10.0 0 0 1.0 </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Creates a constraint on the values of the specified field at specified nodes. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
keyword 'all' reserved in nodeset name <h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_unfix_nodes.html">fix_modify AtC transfer unfix</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer computes</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_hardy_computes">fix_modify AtC transfer computes</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer computes &lt;add | delete&gt; [per-atom compute id] &lt;volume | number&gt; <br>
<ul>
<li>add | delete (keyword) = add or delete the calculation of an equivalent continuum field for the specified per-atom compute as volume or number density quantity <br>
</li><li>per-atom compute id = name/id for per-atom compute, fields can be calculated for all per-atom computes available from LAMMPS <br>
</li><li>volume | number (keyword) = field created is a per-unit-volume quantity or a per-atom quantity as weighted by kernel functions <br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> compute virial all stress/atom </code> <br>
<code> fix_modify AtC transfer computes add virial volume </code> <br>
<code> fix_modify AtC transfer computes delete virial </code> <br>
<br>
<code> compute centrosymmetry all centro/atom </code> <br>
<code> fix_modify AtC transfer computes add centrosymmetry number </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Calculates continuum fields corresponding to specified per-atom computes created by LAMMPS <br>
<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <br>
Per-atom compute must be specified before corresponding continuum field can be requested <br>
<h2><a class="anchor" name="related">
related</a></h2>
See manual page for compute <h2><a class="anchor" name="default">
default</a></h2>
No defaults exist for this command <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer fields</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_hardy_fields">fix_modify AtC transfer fields</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer fields &lt;all | none&gt; <br>
fix_modify AtC transfer fields &lt;add | delete&gt; &lt;list_of_fields&gt; <br>
<ul>
<li>all | none (keyword) = output all or no fields <br>
</li><li>add | delete (keyword) = add or delete the listed output fields <br>
</li><li>fields (keyword) = <br>
density : mass per unit volume <br>
displacement : displacement vector <br>
momentum : momentum per unit volume <br>
velocity : defined by momentum divided by density <br>
projected_velocity : simple kernel estimation of atomic velocities <br>
temperature : temperature derived from the relative atomic kinetic energy (as done by Hardy) <br>
kinetic_temperature : temperature derived from the full kinetic energy <br>
energy : total energy (potential + kinetic) per unit volume <br>
number_density : simple kernel estimation of number of atoms per unit volume <br>
stress : Cauchy stress tensor for eulerian analysis (atom_element_map), or 1st Piola-Kirchhoff stress tensor for lagrangian analysis <br>
transformed_stress : 1st Piola-Kirchhoff stress tensor for eulerian analysis (atom_element_map), or Cauchy stress tensor for lagrangian analysis <br>
heat_flux : spatial heat flux vector for eulerian, or referential heat flux vector for lagrangian <br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer fields add velocity temperature </code> <h2><a class="anchor" name="description">
description</a></h2>
Allows modification of the fields calculated and output by the Hardy transfer class. The commands are cumulative, e.g.<br>
<code> fix_modify AtC transfer fields none </code> <br>
followed by <br>
<code> fix_modify AtC transfer fields add velocity temperature </code> <br>
will only output the velocity and temperature fields. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer, see <a class="el" href="man_fix_atc.html">fix atc command</a>. Currently, the stress and heat flux formulas are only correct for central force potentials, e.g. Lennard-Jones and EAM but not Stillinger-Weber. <h2><a class="anchor" name="related">
related</a></h2>
See <a class="el" href="man_hardy_gradients.html">fix_modify AtC transfer gradients</a> , <a class="el" href="man_hardy_rates.html">fix_modify AtC transfer rates</a> and <a class="el" href="man_hardy_computes.html">fix_modify AtC transfer computes</a> <h2><a class="anchor" name="default">
default</a></h2>
All fields are output by default <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,30 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer gradients</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_hardy_gradients">fix_modify AtC transfer gradients</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer gradients &lt;add | delete&gt; &lt;list_of_fields&gt; <br>
<ul>
<li>add | delete (keyword) = add or delete the calculation of gradients for the listed output fields <br>
</li><li>fields (keyword) = <br>
gradients can be calculated for all fields listed in <a class="el" href="man_hardy_fields.html">fix_modify AtC transfer fields</a></li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer gradients add temperature velocity stress </code> <br>
<code> fix_modify AtC transfer gradients delete velocity </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Requests calculation and ouput of gradients of the fields from the Hardy transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see <a class="el" href="man_atom_element_map.html">fix_modify AtC transfer atom_element_map</a> ) <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
No gradients are calculated by default <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC kernel</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_hardy_kernel">fix_modify AtC kernel</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer kernel &lt;type&gt; &lt;parameters&gt;<ul>
<li>type (keyword) = mesh, step, cell, cubic_cylinder, cubic_sphere, quartic_cylinder, quartic_sphere <br>
</li><li>parameters :<br>
mesh = none<br>
step = radius (double) <br>
cell = hx, hy, hz (double) or h (double) <br>
cubic_cylinder = radius (double) <br>
cubic_sphere = radius (double) <br>
quartic_cylinder = radius (double) <br>
quartic_sphere = radius (double) <br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
fix_modify AtC transfer kernel cell 1.0 1.0 1.0 <h2><a class="anchor" name="description">
description</a></h2>
<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer <br>
For cylinder kernel types, cylindrical axis is assumed to be in z-direction <br>
( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
Default to the mesh based kernel <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,34 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer on_the_fly</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_hardy_on_the_fly">fix_modify AtC transfer on_the_fly</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer on_the_fly &lt;bond | kernel&gt; &lt;optional on | off&gt; <br>
<ul>
<li>bond | kernel (keyword) = specifies on-the-fly calculation of bond or kernel matrix elements <br>
</li><li>on | off (keyword) = activate or discontinue on-the-fly mode <br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer on_the_fly bond on </code> <br>
<code> fix_modify AtC transfer on_the_fly kernel </code> <br>
<code> fix_modify AtC transfer on_the_fly kernel off </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Overrides normal mode of pre-calculating and storing bond pair-to-node and kernel atom-to-node matrices. If activated, will calculate elements of these matrices during repeated calls of field computations (i.e. "on-the-fly") and not store them for future use. <br>
on flag is optional - if omitted, on_the_fly will be activated for the specified matrix. Can be deactivated using off flag. <br>
<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
By default, on-the-fly calculation is not active (i.e. off). However, code does a memory allocation check to determine if it can store all needed bond and kernel matrix elements. If this allocation fails, on-the-fly is activated. <br>
<hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,31 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer rates</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_hardy_rates">fix_modify AtC transfer rates</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer rates &lt;add | delete&gt; &lt;list_of_fields&gt; <br>
<ul>
<li>add | delete (keyword) = add or delete the calculation of rates (time derivatives) for the listed output fields <br>
</li><li>fields (keyword) = <br>
rates can be calculated for all fields listed in <a class="el" href="man_hardy_fields.html">fix_modify AtC transfer fields</a></li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer rates add temperature velocity stress </code> <br>
<code> fix_modify AtC transfer rates delete stress </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Requests calculation and ouput of rates (time derivatives) of the fields from the Hardy transfer class. For eulerian analysis (see <a class="el" href="man_atom_element_map.html">fix_modify AtC transfer atom_element_map</a> ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives. <br>
<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
No rates are calculated by default <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC set</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_hardy_set">fix_modify AtC set</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer set reference_potential_energy &lt;value&gt;<ul>
<li>value (double) : optional user specified zero point for PE </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer set reference_potential_energy </code> <br>
<code> fix_modify AtC transfer set reference_potential_energy -0.05 </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Used to set various quantities for the post-processing algorithms. Currently it only sets the zero point for the potential energy density using the value provided for all nodes, or from the current configuration of the lattice if no value is provided <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Must be used with the hardy AtC transfer ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
Defaults to lammps zero point i.e. isolated atoms <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer initial</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_initial">fix_modify AtC transfer initial</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer initial &lt;field&gt; &lt;nodeset&gt; &lt;constant | function&gt;<ul>
<li>&lt;field&gt; = field name valid for type of physics, temperature | electron_temperature</li><li>&lt;nodeset&gt; = name of set of nodes to apply boundary condition</li><li>&lt;constant | function&gt; = value or name of function followed by its parameters </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer initial temperature groupNAME 10. </code> <h2><a class="anchor" name="description">
description</a></h2>
Sets the initial values for the specified field at the specified nodes. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
keyword 'all' reserved in nodeset name <h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_transfer_internal.html">fix_modify AtC transfer internal</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer internal_quadrature</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_internal_quadrature">fix_modify AtC transfer internal_quadrature</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify atc transfer internal_quadrature &lt; on | off &gt; <h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer internal_quadrature off </code> <h2><a class="anchor" name="description">
description</a></h2>
Command use or not use atomic quadrature on internal elements fully filled with atoms. By turning the internal quadrature off these elements do not contribute to the governing PDE and the fields at the internal nodes follow the weighted averages of the atomic data. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
on <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC mesh delete_elements</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_mesh_delete_elements">fix_modify AtC mesh delete_elements</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC mesh delete_elements &lt;element_set&gt;<ul>
<li>&lt;element_set&gt; = name of an element set </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC delete_elements gap </code> <h2><a class="anchor" name="description">
description</a></h2>
Deletes a group of elements from the mesh. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC mesh create_elementset</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_mesh_elemset">fix_modify AtC mesh create_elementset</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC create_elementset &lt;id&gt; &lt;xmin&gt; &lt;xmax&gt; &lt;ymin&gt; &lt;ymax&gt; &lt;zmin&gt; &lt;zmax&gt;<ul>
<li>&lt;id&gt; = id to assign to the collection of FE element</li><li>&lt;xmin&gt; &lt;xmax&gt; &lt;ymin&gt; &lt;ymax&gt; &lt;zmin&gt; &lt;zmax&gt; = coordinates of the bounding box that contains only the desired elements </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC mesh create_elementset middle -4.1 4.1 -100 100 -100 1100 </code> <h2><a class="anchor" name="description">
description</a></h2>
Command to assign an id to a set of FE elements to be used subsequently in defining material and mesh-based operations. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Only viable for rectangular grids. Also "INF" is not currrently handled. <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
Coordinates are assumed to be in lattice units. <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC mesh create_faceset</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_mesh_faceset">fix_modify AtC mesh create_faceset</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC create_faceset &lt;id&gt; &lt;xmin&gt; &lt;xmax&gt; &lt;ymin&gt; &lt;ymax&gt; &lt;zmin&gt; &lt;zmax&gt; &lt;in|out&gt; [units]<ul>
<li>&lt;id&gt; = id to assign to the collection of FE faces</li><li>&lt;xmin&gt; &lt;xmax&gt; &lt;ymin&gt; &lt;ymax&gt; &lt;zmin&gt; &lt;zmax&gt; = coordinates of the bounding box that is coincident with the desired FE faces</li><li>&lt;in|out&gt; = "in" gives inner faces to the box, "out" gives the outer faces to the box</li><li>units = option to specify real as opposed to lattice units </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC mesh create_faceset obndy -4.0 4.0 -12 12 -12 12 out </code> <h2><a class="anchor" name="description">
description</a></h2>
Command to assign an id to a set of FE faces to be used subsequently in defining flux boundary conditions. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Only viable for rectangular grids. Also "INF" is not currrently handled. <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
The default option is units = lattice. <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC mesh create_nodeset</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_mesh_nodeset">fix_modify AtC mesh create_nodeset</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC create_nodeset &lt;id&gt; &lt;xmin&gt; &lt;xmax&gt; &lt;ymin&gt; &lt;ymax&gt; &lt;zmin&gt; &lt;zmax&gt;<ul>
<li>&lt;id&gt; = id to assign to the collection of FE nodes</li><li>&lt;xmin&gt; &lt;xmax&gt; &lt;ymin&gt; &lt;ymax&gt; &lt;zmin&gt; &lt;zmax&gt; = coordinates of the bounding box that contains only the desired nodes </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC mesh create_faceset left -4.1 3.9 -100 100 -100 100 </code> <h2><a class="anchor" name="description">
description</a></h2>
Command to assign an id to a set of FE nodes to be used subsequently in defining boundary conditions. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Only viable for rectangular grids. Also "INF" is not currrently handled. <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
Coordinates are assumed to be in lattice units. <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC mesh output</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_mesh_output">fix_modify AtC mesh output</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC mesh output &lt;file_prefix&gt; <h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC mesh output meshData </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Command to output mesh and associated data: nodesets, facesets, and elementsets. This data is only output once upon initialization since currently the mesh is static. Creates (binary, "gold" format) Ensight output of mesh data. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
none <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer neighbor_reset_frequency</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_neighbor_reset_frequency">fix_modify AtC transfer neighbor_reset_frequency</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer neighbor_reset_frequency &lt;frequency&gt;<ul>
<li>frequency (int) : reset neighbor map for AtC analysis every "frequency" steps </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer neighbor_reset_frequency 1000 </code> <h2><a class="anchor" name="description">
description</a></h2>
This command allows the control of how often the lists of which atoms pairs are in the support of a node are reformed <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
Only currently relevant to Hardy post-processing see <a class="el" href="man_fix_atc.html">fix atc command</a> <h2><a class="anchor" name="related">
related</a></h2>
This command is different from <a class="el" href="man_atom_element_map.html">fix_modify AtC transfer atom_element_map</a> in that it only concerns neighbor lists internal to ATC not the map of atom locations to elements which define the shape function values at atoms. <h2><a class="anchor" name="default">
default</a></h2>
The default is for the internal neighbor lists to be recalculated on the next output step (or sample step if time filtering is used). <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer read_restart</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_read_restart">fix_modify AtC transfer read_restart</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer read_restart [file_name] <br>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer read_restart ATC_state </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Reads the current state of the fields from a named text-based restart file. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated. <h2><a class="anchor" name="related">
related</a></h2>
see write_restart <a class="el" href="man_write_restart.html">fix_modify AtC transfer write_restart</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer remove_source</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_remove_source">fix_modify AtC transfer remove_source</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer remove_source &lt;field&gt; &lt;element_set&gt;<ul>
<li>&lt;field&gt; = field name valid for type of physics</li><li>&lt;element_set&gt; = name of set of elements </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer remove_source temperature groupNAME </code> <h2><a class="anchor" name="description">
description</a></h2>
Remove a domain source. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
keyword 'all' reserved in element_set name <h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_source.html">fix_modify AtC transfer source</a> <h2><a class="anchor" name="default">
default</a></h2>
<hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer source</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_source">fix_modify AtC transfer source</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer source &lt;field&gt; &lt;element_set&gt; &lt;value | function&gt;<ul>
<li>&lt;field&gt; = field name valid for type of physics</li><li>&lt;element_set&gt; = name of set of elements </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer source temperature middle temporal_ramp 10. 0. </code> <h2><a class="anchor" name="description">
description</a></h2>
Add domain sources to the mesh. The units are consistent with LAMMPS's units for mass, length and time and are defined by the PDE being solved, e.g. for thermal transfer the balance equation is for energy and source is energy per time. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
keyword 'all' reserved in element_set name <h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_remove_source.html">fix_modify AtC transfer remove_source</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer thermal control</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_thermal_control">fix_modify AtC transfer thermal control</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer thermal control &lt;control_type&gt; &lt;optional args=""&gt;<br>
<ul>
<li>control_type (string) = none | rescale | hoover | flux<br>
</li></ul>
<p>
fix_modify AtC transfer thermal control rescale &lt;frequency&gt;<br>
<ul>
<li>frequency (int) = time step frequency for applying velocity rescaling <br>
</li></ul>
<p>
fix_modify AtC transfer thermal control hoover <br>
<p>
fix_modify AtC transfer thermal control flux &lt;boundary_integration_type&gt; &lt;face_set_id(optional)&gt;<br>
<ul>
<li>boundary_integration_type (string) = faceset | interpolate<br>
</li><li>face_set_id (string), optional = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation, does not work with interpolate<br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer thermal control none </code> <br>
<code> fix_modify AtC transfer thermal control rescale 10 </code> <br>
<code> fix_modify AtC transfer thermal control hoover </code> <br>
<code> fix_modify AtC transfer thermal control flux bndy_faces </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Sets the energy exchange mechansim from the finite elements to the atoms, managed through a control algorithm. Rescale computes a scale factor for each atom to match the finite element temperature. Hoover is a Gaussian least-constraint isokinetic thermostat enforces that the nodal restricted atomic temperature matches the finite element temperature. Flux is a similar mode, but rather adds energy to the atoms based on conservation of energy. Hoover and flux allows the prescription of sources or fixed temperatures on the atoms. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
only for be used with specific transfers : thermal (rescale, hoover, flux), two_temperature (flux) <br>
rescale not valid with time filtering activated <h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none<br>
rescale frequency is 1<br>
flux boundary_integration_type is interpolate <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer filter</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_time_filter">fix_modify AtC transfer filter</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer filter &lt;on | off | equilibrate&gt; <br>
<ul>
<li>on | off (keyword) = turns filter on or off<br>
</li><li>equilibrate = runs dynamics without filtering but initializes filtered quantities </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer filter on </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
only for be used with specific transfers: thermal, two_temperature<h2><a class="anchor" name="related">
related</a></h2>
<a class="el" href="man_filter_scale.html">fix_modify AtC transfer filter scale</a> <br>
<a class="el" href="man_equilibrium_start.html">fix_modify AtC transfer equilibrium_start</a><h2><a class="anchor" name="default">
default</a></h2>
off <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer pmfc</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_time_integration">fix_modify AtC transfer pmfc</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer pmfc &lt;on|off&gt;<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer pmfc on </code><h2><a class="anchor" name="description">
description</a></h2>
Switches the poor man's fractional step algorithm on where the finite element data lags the exact atomic data by one time step for overlap nodes<h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
off <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer atomic_output</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_transfer_atomic_output">fix_modify AtC transfer atomic_output</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer atomic_output &lt;filename_prefix&gt; &lt;frequency&gt; [text]<ul>
<li>filename_prefix (string) = prefix for data files</li><li>frequency (integer) = frequency of output in time-steps</li><li>option "text" = creates a text version of the output as well as the binary Ensight output </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer atomic_output heatMD 100 </code> <br>
<code> fix_modify AtC transfer atomic_output nanoMD 1 text </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Creates (binary, "gold" format) Ensight output of atom (point) data which is transfer/physics specific. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
<h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer boundary</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_transfer_boundary">fix_modify AtC transfer boundary</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer boundary type &lt;atom-type-id&gt;<ul>
<li>&lt;atom-type-id&gt; = type id for atoms that represent a ficticious boundary internal to the FE mesh </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer boundary type ghost_atoms </code> <h2><a class="anchor" name="description">
description</a></h2>
Command to define the atoms that represent the ficticious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_transfer_internal.html">fix_modify AtC transfer internal</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer internal</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_transfer_internal">fix_modify AtC transfer internal</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer internal type &lt;atom-type-id&gt;<ul>
<li>&lt;atom-type-id&gt; = type id for non-fixed atoms internal to the FE mesh </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer internal type internal_atoms </code> <h2><a class="anchor" name="description">
description</a></h2>
Command to define the atoms to couple to finite elements. This definition is required for a AtC simulation. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_transfer_boundary.html">fix_modify AtC transfer boundary</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,31 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer output</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_transfer_output">fix_modify AtC transfer output</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer output &lt;filename_prefix&gt; &lt;frequency&gt; [text | vector_components | tensor_components ]<ul>
<li>filename_prefix (string) = prefix for data files</li><li>frequency (integer) = frequency of output in time-steps</li><li>options (keyword/s): <br>
text = creates text output as well as binary Ensight output <br>
vector_components = outputs vectors as scalar components <br>
tensor_components = outputs tensor as scalar components (use this for Paraview)<br>
</li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer output heatFE 100 </code> <br>
<code> fix_modify AtC transfer output hardyFE 1 text tensor_components </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Creates (binary, "gold" format) Ensight output of nodal/mesh data which is transfer/physics specific. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_fix_atc.html">fix atc command</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer unfix_flux</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_unfix_flux">fix_modify AtC transfer unfix_flux</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer fix_flux &lt;field&gt; &lt;face_set&gt; &lt;value | function&gt;<ul>
<li>&lt;field&gt; = field name valid for type of physics, temperature | electron_temperature</li><li>&lt;face_set&gt; = name of set of element faces </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify atc transfer unfix_flux temperature faceSet </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Command for removing prescribed normal fluxes e.g. heat_flux, stress. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
<h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_unfix_flux.html">fix_modify AtC transfer unfix_flux</a> <h2><a class="anchor" name="default">
default</a></h2>
<hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer unfix</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_unfix_nodes">fix_modify AtC transfer unfix</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer unfix &lt;field&gt; &lt;nodeset&gt;<ul>
<li>&lt;field&gt; = field name valid for type of physics</li><li>&lt;nodeset&gt; = name of set of nodes </li></ul>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer unfix temperature groupNAME </code> <h2><a class="anchor" name="description">
description</a></h2>
Removes constraint on field values for specified nodes. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
keyword 'all' reserved in nodeset name <h2><a class="anchor" name="related">
related</a></h2>
see <a class="el" href="man_fix_nodes.html">fix_modify AtC transfer fix</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ATC: fix_modify AtC transfer write_restart</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<h1><a class="anchor" name="man_write_restart">fix_modify AtC transfer write_restart</a></h1><h2><a class="anchor" name="syntax">
syntax</a></h2>
fix_modify AtC transfer write_restart [file_name] <br>
<h2><a class="anchor" name="examples">
examples</a></h2>
<code> fix_modify AtC transfer write_restart restart.mydata </code> <br>
<h2><a class="anchor" name="description">
description</a></h2>
Dumps the current state of the fields to a named text-based restart file. This done when the command is invoked and not repeated, unlike the similar lammps command. <h2><a class="anchor" name="restrictions">
restrictions</a></h2>
The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated. <h2><a class="anchor" name="related">
related</a></h2>
see read_restart <a class="el" href="man_read_restart.html">fix_modify AtC transfer read_restart</a> <h2><a class="anchor" name="default">
default</a></h2>
none <hr size="1"><address style="align: right;"><small>Generated on Mon Aug 17 09:35:16 2009 for ATC by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>

226
doc/fix_atc.html Normal file
View File

@ -0,0 +1,226 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>fix atc command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID groupID atc type paramfile
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>atc = style name of this fix command
<LI>type = <I>thermal</I> or <I>two_temperature</I> or <I>hardy</I>
<LI> <I>thermal</I> = thermal coupling with field: temperature
<I>two_temperature</I> = electron-phonon coupling with field, temperature and electron_temperature
<I>hardy</I> = Hardy on-the-fly post-processing
paramfile = file with material parameters (not specified for <I>hardy</I> type)
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix AtC atc_atoms atc thermal Ar_thermal.dat
fix AtC atc_atoms atc transfer hardy
</PRE>
<P><B>Description:</B>
</P>
<P>This fix creates a coupled finite element (FE) and molecular dynamics
(MD) simulation and/or an on-the-fly estimation of continuum fields.
Interscale operators are defined that construct continuum fields from
atomic data. Coupled simulations use FE projection approximated on a
discrete field. Currently, coupling is restricted to thermal physics.
The Hardy module can use either FE projection or integration Kernels
evaluated at mesh points.
</P>
<P>Coupling methods enable appropriate corrections to the atomic data to
be made based on the FE field. For example, a Gaussian isokinetic
thermostat can apply heat sources to the atoms that varies in space on
the same scale as the FE element size. Meshes are not created
automatically and must be specified on LAMMPS regions with prescribed
element sizes. Note that mesh computations and storage run in serial
(not parallelized) so performance will degrade when large element
counts are used.
</P>
<P>Note that coupling and post-processing can be combined in the same
simulations using separate fix atc commands.
</P>
<P>For detailed exposition of the theory and algorithms implemented in
this fix, please see the papers <A HREF = "#Wagner">here</A> and <A HREF = "#Zimmerman">here</A>.
Please refer to the standard finite element (FE) texts, such as <A HREF = "#Hughes">this
book</A>, for the basics of FE simulation.
</P>
<HR>
<P>Thermal and two_temperature (coupling) types use a Verlet
time-integration algorithm. The hardy type does not contain its own
time-integrator and must be used with a separate fix that does contain
one, e.g. <A HREF = "fix_nve.html<A HREF = "fix_nvt.html">>fix nve</A>, fix nvt</A>, etc.
</P>
<P>A set of example input files with the attendant material files are
included in the examples/USER/atc directory of the LAMMPS
distribution.
</P>
<P>An extensive set of additional documentation pages for the options
turned on via the <A HREF = "fix_modify.html">fix_modify</A> command for this fix
are inlcluded in the doc/USER/atc directory of the LAMMPS
distribution. Individual doc pages are listed and linked to below.
</P>
<P>The following commands are typical of a coupling problem:
</P>
<PRE> # ... commands to create and initialize the MD system
</PRE>
<PRE> # initial fix to designate coupling type and group to apply it to
# tag group physics material_file
fix AtC internal atc thermal Ar_thermal.mat
</PRE>
<PRE> # create a uniform 12 x 2 x 2 mesh that covers region contain the group
# nx ny nz region periodicity
fix_modify AtC fem create mesh 12 2 2 mdRegion f p p
</PRE>
<PRE> # specify the control method for the type of coupling
# physics control_type
fix_modify AtC transfer thermal control flux
</PRE>
<PRE> # specify the initial values for the empirical field "temperature"
# field node_group value
fix_modify AtC transfer initial temperature all 30.0
</PRE>
<PRE> # create an output stream for nodal fields
# filename output_frequency
fix_modify AtC transfer output atc_fe_output 100
</PRE>
<PRE> run 1000
</PRE>
<P>The following commands are typical of a post-processing (Hardy) problem:
</P>
<PRE> # ... commands to create and initialize the MD system
</PRE>
<PRE> # initial fix to designate post-processing and the group to apply it to
# no material file is allowed nor required
fix AtC internal atc hardy
</PRE>
<PRE> # create a uniform 1 x 1 x 1 mesh that covers region contain the group
# with periodicity this effectively creats a system average
fix_modify AtC fem create mesh 1 1 1 box p p p
</PRE>
<PRE> # change from default lagrangian map to eulerian
# refreshed every 100 steps
fix_modify AtC atom_element_map eulerian 100
</PRE>
<PRE> # start with no field defined
fix_modify AtC transfer fields none
</PRE>
<PRE> # add mass density, potential energy density, stress and temperature
fix_modify AtC transfer fields add density energy stress temperature
</PRE>
<PRE> # create an output stream for nodal fields
# filename output_frequency
fix_modify AtC transfer output nvtFE 100 text
</PRE>
<PRE> run 1000
</PRE>
<HR>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. The <A HREF = "fix_modify.html">fix_modify</A> options
relevant to this fix are listed below. No global scalar or vector or
per-atom quantities are stored by this fix for access by various
<A HREF = "Section_howto.html#4_15">output commands</A>. No parameter of this fix
can be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A>
command. This fix is not invoked during <A HREF = "minimize.html">energy
minimization</A>.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P>After specifying this fix in your input script, several other
<A HREF = "fix_modify.html">fix_modify</A> commands are used to setup the problem,
e.g. define the finite element mesh and prescribe initial and boundary
conditions.
</P>
<P>fix_modify commands for setup:
</P>
<UL><LI><A HREF = "USER/atc/man_fem_mesh.html">fix_modify AtC fem create mesh</A>
<LI><A HREF = "USER/atc/man_mesh_nodeset.html">fix_modify AtC mesh create_nodeset</A>
<LI><A HREF = "USER/atc/man_mesh_faceset.html">fix_modify AtC mesh create_faceset</A>
<LI><A HREF = "USER/atc/man_mesh_elemset.html">fix_modify AtC mesh create_elementset</A>
<LI><A HREF = "USER/atc/man_transfer_internal.html">fix_modify AtC transfer internal</A>
<LI><A HREF = "USER/atc/man_transfer_boundary.html">fix_modify AtC transfer boundary</A>
<LI><A HREF = "USER/atc/man_internal_quadrature.html">fix_modify AtC transfer internal_quadrature</A>
<LI><A HREF = "USER/atc/man_time_integration.html">fix_modify AtC transfer pmfc</A>
<LI><A HREF = "USER/atc/man_electron_integration.html">fix_modify AtC extrinsic electron_integration</A>
</UL>
<P>fix_modify commands for boundary and initial conditions:
</P>
<UL><LI><A HREF = "USER/atc/man_initial.html">fix_modify AtC transfer initial</A>
<LI><A HREF = "USER/atc/man_fix_nodes.html">fix_modify AtC transfer fix</A>
<LI><A HREF = "USER/atc/man_unfix_nodes.html">fix_modify AtC transfer unfix</A>
<LI><A HREF = "USER/atc/man_fix_flux.html">fix_modify AtC transfer fix_flux</A>
<LI><A HREF = "USER/atc/man_unfix_flux.html">fix_modify AtC transferunfix_flux</A>
<LI><A HREF = "USER/atc/man_source.html">fix_modify AtC transfer source</A>
<LI><A HREF = "USER/atc/man_remove_source.html">fix_modify AtC transfer remove_source</A>
</UL>
<P>fix_modify commands for control and filtering:
</P>
<UL><LI><A HREF = "USER/atc/man_thermal_control.html">fix_modify AtC transfer thermal control</A>
<LI><A HREF = "USER/atc/man_time_filter.html">fix_modify AtC transfer filter</A>
<LI><A HREF = "USER/atc/man_filter_scale.html">fix_modify AtC transfer filter scale</A>
<LI><A HREF = "USER/atc/man_equilibrium_start.html">fix_modify AtC transfer equilibrium_start</A>
<LI><A HREF = "USER/atc/man_extrinsic_exchange.html">fix_modify AtC extrinsic exchange</A>
</UL>
<P>fix_modify commands for output:
</P>
<UL><LI><A HREF = "USER/atc/man_transfer_output.html">fix_modify AtC transfer output</A>
<LI><A HREF = "USER/atc/man_transfer_atomic_output.html">fix_modify AtC transfer atomic_output</A>
<LI><A HREF = "USER/atc/man_mesh_output.html">fix_modify AtC mesh output</A>
<LI><A HREF = "USER/atc/man_write_restart.html">fix_modify AtC transfer write_restart</A>
<LI><A HREF = "USER/atc/man_read_restart.html">fix_modify AtC transfer read_restart</A>
</UL>
<P>fix_modify commands for post-processing:
</P>
<UL><LI><A HREF = "USER/atc/man_hardy_fields.html">fix_modify AtC transfer fields</A>
<LI><A HREF = "USER/atc/man_hardy_gradients.html">fix_modify AtC transfer gradients</A>
<LI><A HREF = "USER/atc/man_hardy_rates.htm">fix_modify AtC transfer rates</A>
<LI><A HREF = "USER/atc/man_hardy_computes.html">fix_modify AtC transfer computes</A>
<LI><A HREF = "USER/atc/man_hardy_set.html">fix_modify AtC set</A>
<LI><A HREF = "USER/atc/man_hardy_on_the_fly.html">fix_modify AtC transfer on_the_fly</A>
<LI><A HREF = "USER/atc/man_boundary_integral.html">fix_modify AtC boundary_integral</A>
<LI><A HREF = "USER/atc/man_contour_integral.html">fix_modify AtC contour_integral</A>
</UL>
<P>miscellaneous fix_modify commands:
</P>
<UL><LI><A HREF = "USER/atc/man_atom_element_map.htm">fix_modify AtC transfer atom_element_map</A>
<LI><A HREF = "USER/atc/man_neighbor_reset_frequency.html">fix_modify AtC transfer neighbor_reset_frequency</A>
</UL>
<P><B>Default:</B> none
</P>
<HR>
<A NAME = "Wagner"></A>
<P><B>(Wagner)</B> Wagner, Jones, Templeton, Parks, Special Issue of
Computer Methods and Applied Mechanics, 197, 3351-3365 (2008).
</P>
<A NAME = "Zimmerman"></A>
<P><B>(Zimmerman)</B> Zimmerman, Webb, Hoyt, Jones, Klein, Bammann, Special
Issue of Modelling and Simulation in Materials Science and
Engineering, 12, S319 (2004).
</P>
<A NAME = "Hughes"></A>
<P><B>(Hughes)</B> T.J.R Hughes, "The Finite Element Method," Dover (2003).
</P>
</HTML>

215
doc/fix_atc.txt Normal file
View File

@ -0,0 +1,215 @@
"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 atc command :h3
[Syntax:]
fix ID groupID atc type paramfile :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
atc = style name of this fix command :l
type = {thermal} or {two_temperature} or {hardy} :l
{thermal} = thermal coupling with field: temperature
{two_temperature} = electron-phonon coupling with field, temperature and electron_temperature
{hardy} = Hardy on-the-fly post-processing
paramfile = file with material parameters (not specified for {hardy} type) :l,ule
[Examples:]
fix AtC atc_atoms atc thermal Ar_thermal.dat
fix AtC atc_atoms atc transfer hardy :pre
[Description:]
This fix creates a coupled finite element (FE) and molecular dynamics
(MD) simulation and/or an on-the-fly estimation of continuum fields.
Interscale operators are defined that construct continuum fields from
atomic data. Coupled simulations use FE projection approximated on a
discrete field. Currently, coupling is restricted to thermal physics.
The Hardy module can use either FE projection or integration Kernels
evaluated at mesh points.
Coupling methods enable appropriate corrections to the atomic data to
be made based on the FE field. For example, a Gaussian isokinetic
thermostat can apply heat sources to the atoms that varies in space on
the same scale as the FE element size. Meshes are not created
automatically and must be specified on LAMMPS regions with prescribed
element sizes. Note that mesh computations and storage run in serial
(not parallelized) so performance will degrade when large element
counts are used.
Note that coupling and post-processing can be combined in the same
simulations using separate fix atc commands.
For detailed exposition of the theory and algorithms implemented in
this fix, please see the papers "here"_#Wagner and "here"_#Zimmerman.
Please refer to the standard finite element (FE) texts, such as "this
book"_#Hughes, for the basics of FE simulation.
:line
Thermal and two_temperature (coupling) types use a Verlet
time-integration algorithm. The hardy type does not contain its own
time-integrator and must be used with a separate fix that does contain
one, e.g. "fix nve"_fix_nve.html, fix nvt"_fix_nvt.html, etc.
A set of example input files with the attendant material files are
included in the examples/USER/atc directory of the LAMMPS
distribution.
An extensive set of additional documentation pages for the options
turned on via the "fix_modify"_fix_modify.html command for this fix
are inlcluded in the doc/USER/atc directory of the LAMMPS
distribution. Individual doc pages are listed and linked to below.
The following commands are typical of a coupling problem:
# ... commands to create and initialize the MD system :pre
# initial fix to designate coupling type and group to apply it to
# tag group physics material_file
fix AtC internal atc thermal Ar_thermal.mat :pre
# create a uniform 12 x 2 x 2 mesh that covers region contain the group
# nx ny nz region periodicity
fix_modify AtC fem create mesh 12 2 2 mdRegion f p p :pre
# specify the control method for the type of coupling
# physics control_type
fix_modify AtC transfer thermal control flux :pre
# specify the initial values for the empirical field "temperature"
# field node_group value
fix_modify AtC transfer initial temperature all 30.0 :pre
# create an output stream for nodal fields
# filename output_frequency
fix_modify AtC transfer output atc_fe_output 100 :pre
run 1000 :pre
The following commands are typical of a post-processing (Hardy) problem:
# ... commands to create and initialize the MD system :pre
# initial fix to designate post-processing and the group to apply it to
# no material file is allowed nor required
fix AtC internal atc hardy :pre
# create a uniform 1 x 1 x 1 mesh that covers region contain the group
# with periodicity this effectively creats a system average
fix_modify AtC fem create mesh 1 1 1 box p p p :pre
# change from default lagrangian map to eulerian
# refreshed every 100 steps
fix_modify AtC atom_element_map eulerian 100 :pre
# start with no field defined
fix_modify AtC transfer fields none :pre
# add mass density, potential energy density, stress and temperature
fix_modify AtC transfer fields add density energy stress temperature :pre
# create an output stream for nodal fields
# filename output_frequency
fix_modify AtC transfer output nvtFE 100 text :pre
run 1000 :pre
:line
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html. The "fix_modify"_fix_modify.html options
relevant to this fix are listed below. No global scalar or vector or
per-atom quantities are stored by this fix for access by various
"output commands"_Section_howto.html#4_15. No parameter of this fix
can be used with the {start/stop} keywords of the "run"_run.html
command. This fix is not invoked during "energy
minimization"_minimize.html.
[Restrictions:] none
[Related commands:]
After specifying this fix in your input script, several other
"fix_modify"_fix_modify.html commands are used to setup the problem,
e.g. define the finite element mesh and prescribe initial and boundary
conditions.
fix_modify commands for setup:
"fix_modify AtC fem create mesh"_USER/atc/man_fem_mesh.html
"fix_modify AtC mesh create_nodeset"_USER/atc/man_mesh_nodeset.html
"fix_modify AtC mesh create_faceset"_USER/atc/man_mesh_faceset.html
"fix_modify AtC mesh create_elementset"_USER/atc/man_mesh_elemset.html
"fix_modify AtC transfer internal"_USER/atc/man_transfer_internal.html
"fix_modify AtC transfer boundary"_USER/atc/man_transfer_boundary.html
"fix_modify AtC transfer internal_quadrature"_USER/atc/man_internal_quadrature.html
"fix_modify AtC transfer pmfc"_USER/atc/man_time_integration.html
"fix_modify AtC extrinsic electron_integration"_USER/atc/man_electron_integration.html :ul
fix_modify commands for boundary and initial conditions:
"fix_modify AtC transfer initial"_USER/atc/man_initial.html
"fix_modify AtC transfer fix"_USER/atc/man_fix_nodes.html
"fix_modify AtC transfer unfix"_USER/atc/man_unfix_nodes.html
"fix_modify AtC transfer fix_flux"_USER/atc/man_fix_flux.html
"fix_modify AtC transferunfix_flux"_USER/atc/man_unfix_flux.html
"fix_modify AtC transfer source"_USER/atc/man_source.html
"fix_modify AtC transfer remove_source"_USER/atc/man_remove_source.html :ul
fix_modify commands for control and filtering:
"fix_modify AtC transfer thermal control"_USER/atc/man_thermal_control.html
"fix_modify AtC transfer filter"_USER/atc/man_time_filter.html
"fix_modify AtC transfer filter scale"_USER/atc/man_filter_scale.html
"fix_modify AtC transfer equilibrium_start"_USER/atc/man_equilibrium_start.html
"fix_modify AtC extrinsic exchange"_USER/atc/man_extrinsic_exchange.html :ul
fix_modify commands for output:
"fix_modify AtC transfer output"_USER/atc/man_transfer_output.html
"fix_modify AtC transfer atomic_output"_USER/atc/man_transfer_atomic_output.html
"fix_modify AtC mesh output"_USER/atc/man_mesh_output.html
"fix_modify AtC transfer write_restart"_USER/atc/man_write_restart.html
"fix_modify AtC transfer read_restart"_USER/atc/man_read_restart.html :ul
fix_modify commands for post-processing:
"fix_modify AtC transfer fields"_USER/atc/man_hardy_fields.html
"fix_modify AtC transfer gradients"_USER/atc/man_hardy_gradients.html
"fix_modify AtC transfer rates"_USER/atc/man_hardy_rates.htm
"fix_modify AtC transfer computes"_USER/atc/man_hardy_computes.html
"fix_modify AtC set"_USER/atc/man_hardy_set.html
"fix_modify AtC transfer on_the_fly"_USER/atc/man_hardy_on_the_fly.html
"fix_modify AtC boundary_integral"_USER/atc/man_boundary_integral.html
"fix_modify AtC contour_integral"_USER/atc/man_contour_integral.html :ul
miscellaneous fix_modify commands:
"fix_modify AtC transfer atom_element_map"_USER/atc/man_atom_element_map.htm
"fix_modify AtC transfer neighbor_reset_frequency"_USER/atc/man_neighbor_reset_frequency.html :ul
[Default:] none
:line
:link(Wagner)
[(Wagner)] Wagner, Jones, Templeton, Parks, Special Issue of
Computer Methods and Applied Mechanics, 197, 3351-3365 (2008).
:link(Zimmerman)
[(Zimmerman)] Zimmerman, Webb, Hoyt, Jones, Klein, Bammann, Special
Issue of Modelling and Simulation in Materials Science and
Engineering, 12, S319 (2004).
:link(Hughes)
[(Hughes)] T.J.R Hughes, "The Finite Element Method," Dover (2003).