|
|
|
|
@ -23,17 +23,45 @@ in.spparks SPPARKS input script, without the run command
|
|
|
|
|
lmppath.h contains path to LAMMPS home directory
|
|
|
|
|
spkpath.h contains path to SPPARKS home directory
|
|
|
|
|
|
|
|
|
|
After editing the Makefile.g++, lmppath.h, and spkpath.h files to make
|
|
|
|
|
them suitable for your box, type:
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
make -f Makefile.g++
|
|
|
|
|
(1) To build and run this coupled application, you must have SPPARKS
|
|
|
|
|
built on your system. It's WWW site is https://spparks.github.io and
|
|
|
|
|
it can be downloaded as a tarball or cloned as a local Git repo.
|
|
|
|
|
|
|
|
|
|
and you should get a lmpspk executable.
|
|
|
|
|
To build SPPARKS, do the following:
|
|
|
|
|
|
|
|
|
|
NOTE: To build and run this coupled application, you must of course,
|
|
|
|
|
have SPPARKS built on your system. It's WWW site is
|
|
|
|
|
http://www.sandia.gov/~sjplimp/spparks.html. It is an open-source
|
|
|
|
|
code.
|
|
|
|
|
% cd spparks/src
|
|
|
|
|
% make mpi
|
|
|
|
|
% make mode=lib mpi # build SPPARKS as a library
|
|
|
|
|
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
(2) You must also build the coupling library in
|
|
|
|
|
lammps/examples/COUPLE/library.
|
|
|
|
|
|
|
|
|
|
To build the coupling library, do the following:
|
|
|
|
|
|
|
|
|
|
% cd lammps/examples/COUPLE/library
|
|
|
|
|
% make -f Makefile.mpi
|
|
|
|
|
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
(3) Edit the Makefile.mpi, lmppath.h, and spkpath.h files in this
|
|
|
|
|
directory to make them suitable for your box. Each of the 3 files
|
|
|
|
|
has a comment telling you what to do.
|
|
|
|
|
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
(4) Build the coupled lmpspk application in this directory.
|
|
|
|
|
|
|
|
|
|
% make -f Makefile.mpi
|
|
|
|
|
|
|
|
|
|
This should give you a lmpspk executable.
|
|
|
|
|
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
(5) Run the test simulation
|
|
|
|
|
|
|
|
|
|
You can run lmpspk in serial or parallel as:
|
|
|
|
|
|
|
|
|
|
@ -65,11 +93,15 @@ The driver code launches both SPPARKS and LAMMPS in parallel and they
|
|
|
|
|
both decompose their spatial domains in the same manner. The datums
|
|
|
|
|
in SPPARKS (lattice sites) are the same as the datums in LAMMPS
|
|
|
|
|
(coarse-grained particles). If this were not the case, more
|
|
|
|
|
sophisticated inter-code communication could be performed.
|
|
|
|
|
sophisticated inter-code communication could be performed. Note that
|
|
|
|
|
the in.lammps and data.lammps files are not inputs; they are generated
|
|
|
|
|
by the lmpspk driver.
|
|
|
|
|
|
|
|
|
|
You can look at the log files in the directory to see sample LAMMPS
|
|
|
|
|
and SPPARKS output for this simulation. Dump files produced by the
|
|
|
|
|
run are stored as dump.mc and dump.md. The image*.png files show
|
|
|
|
|
snapshots from both the LAMMPS and SPPARKS output. Note that the
|
|
|
|
|
in.lammps and data.lammps files are not inputs; they are generated by
|
|
|
|
|
the lmpspk driver.
|
|
|
|
|
You can look at the log files in the directory to see LAMMPS and
|
|
|
|
|
SPPARKS output for this simulation run on 1 and 4 processors. Dump
|
|
|
|
|
files produced by the run are named dump.mc and dump.md. The image
|
|
|
|
|
PPM files show snapshots from the SPPARKS and LAMMPS output. Compare
|
|
|
|
|
the image_spparks.0019.ppm and image_lammps.0190.ppm file. They were
|
|
|
|
|
written at the same point in the simulation by both codes. The color
|
|
|
|
|
maps for the 2 codes are not the same, but the morphology of the
|
|
|
|
|
grains is.
|
|
|
|
|
|