Merge branch 'develop' into Iximiel/develop
This commit is contained in:
@ -9,6 +9,11 @@ model a realistic problem.
|
||||
In many of the examples included here, LAMMPS must first be built as a
|
||||
library.
|
||||
|
||||
Also see the Howto_mdi doc page in the LAMMPS manual for a description
|
||||
of how LAMMPS can be coupled to other codes in a client/server fashion
|
||||
using the MDI Library created by the MolSSI consortium. The MDI
|
||||
package in LAMMPS has support for this style of code coupling.
|
||||
|
||||
See these sections of the LAMMPS manual for details:
|
||||
|
||||
Build LAMMPS as a library (doc/html/Build_basics.html)
|
||||
@ -28,15 +33,9 @@ These are the sub-directories included in this directory:
|
||||
simple simple example of driver code calling LAMMPS as a lib
|
||||
multiple example of driver code calling multiple instances of LAMMPS
|
||||
plugin example for loading LAMMPS at runtime from a shared library
|
||||
lammps_mc client/server coupling of Monte Carlo client
|
||||
with LAMMPS server for energy evaluation
|
||||
lammps_nwchem client/server coupling of LAMMPS client with
|
||||
NWChem quantum DFT as server for quantum forces
|
||||
lammps_quest MD with quantum forces, coupling to Quest DFT code
|
||||
lammps_spparks grain-growth Monte Carlo with strain via MD,
|
||||
coupling to SPPARKS kinetic MC code
|
||||
lammps_vasp client/server coupling of LAMMPS client with
|
||||
VASP quantum DFT as server for quantum forces
|
||||
library collection of useful inter-code communication routines
|
||||
fortran a simple wrapper on the LAMMPS library API that
|
||||
can be called from Fortran
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
# Makefile for MC
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
SRC = mc.cpp random_park.cpp
|
||||
OBJ = $(SRC:.cpp=.o)
|
||||
|
||||
# change this line for your machine to path for CSlib src dir
|
||||
|
||||
CSLIB = /home/sjplimp/lammps/lib/message/cslib/src
|
||||
|
||||
# compiler/linker settings
|
||||
|
||||
CC = g++
|
||||
CCFLAGS = -g -O3 -I$(CSLIB)
|
||||
LINK = g++
|
||||
LINKFLAGS = -g -O -L$(CSLIB)
|
||||
|
||||
# targets
|
||||
|
||||
mc: $(OBJ)
|
||||
# first line if built the CSlib within lib/message with ZMQ support
|
||||
# second line if built the CSlib without ZMQ support
|
||||
$(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -lzmq -o mc
|
||||
# $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -o mc
|
||||
|
||||
clean:
|
||||
@rm -f *.o mc
|
||||
|
||||
# rules
|
||||
|
||||
%.o:%.cpp
|
||||
$(CC) $(CCFLAGS) -c $<
|
||||
@ -1,128 +0,0 @@
|
||||
Sample Monte Carlo (MC) wrapper on LAMMPS via client/server coupling
|
||||
|
||||
See the MESSAGE package documentation Build_extras.html#message
|
||||
and Build_extras.html#message for more details on how client/server
|
||||
coupling works in LAMMPS.
|
||||
|
||||
In this dir, the mc.cpp/h files are a standalone "client" MC code. It
|
||||
should be run on a single processor, though it could become a parallel
|
||||
program at some point. LAMMPS is also run as a standalone executable
|
||||
as a "server" on as many processors as desired using its "server mc"
|
||||
command; see it's doc page for details.
|
||||
|
||||
Messages are exchanged between MC and LAMMPS via a client/server
|
||||
library (CSlib), which is included in the LAMMPS distribution in
|
||||
lib/message. As explained below you can choose to exchange data
|
||||
between the two programs either via files or sockets (ZMQ). If the MC
|
||||
program became parallel, data could also be exchanged via MPI.
|
||||
|
||||
The MC code makes simple MC moves, by displacing a single random atom
|
||||
by a small random amount. It uses LAMMPS to calculate the energy
|
||||
change, and to run dynamics between MC moves.
|
||||
|
||||
----------------
|
||||
|
||||
Build LAMMPS with its MESSAGE package installed:
|
||||
|
||||
See the Build extras doc page and its MESSAGE package
|
||||
section for details.
|
||||
|
||||
CMake:
|
||||
|
||||
-D PKG_MESSAGE=yes # include the MESSAGE package
|
||||
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
|
||||
|
||||
Traditional make:
|
||||
|
||||
% cd lammps/lib/message
|
||||
% python Install.py -m -z # build CSlib with MPI and ZMQ support
|
||||
% cd lammps/src
|
||||
% make yes-message
|
||||
% make mpi
|
||||
|
||||
You can leave off the -z if you do not have ZMQ on your system.
|
||||
|
||||
----------------
|
||||
|
||||
Build the MC client code
|
||||
|
||||
The source files for the MC code are in this dir. It links with the
|
||||
CSlib library in lib/message/cslib.
|
||||
|
||||
You must first build the CSlib in serial mode, e.g.
|
||||
|
||||
% cd lammps/lib/message/cslib/src
|
||||
% make lib # build serial and parallel lib with ZMQ support
|
||||
% make lib zmq=no # build serial and parallel lib without ZMQ support
|
||||
|
||||
Then edit the Makefile in this dir. The CSLIB variable should be the
|
||||
path to where the LAMMPS lib/message/cslib/src dir is on your system.
|
||||
If you built the CSlib without ZMQ support you will also need to
|
||||
comment/uncomment one line. Then you can just type
|
||||
|
||||
% make
|
||||
|
||||
and you should get an "mc" executable.
|
||||
|
||||
----------------
|
||||
|
||||
To run in client/server mode:
|
||||
|
||||
Both the client (MC) and server (LAMMPS) must use the same messaging
|
||||
mode, namely file or zmq. This is an argument to the MC code; it can
|
||||
be selected by setting the "mode" variable when you run LAMMPS. The
|
||||
default mode = file.
|
||||
|
||||
Here we assume LAMMPS was built to run in parallel, and the MESSAGE
|
||||
package was installed with socket (ZMQ) support. This means either of
|
||||
the messaging modes can be used and LAMMPS can be run in serial or
|
||||
parallel. The MC code is always run in serial.
|
||||
|
||||
When you run, the server should print out thermodynamic info
|
||||
for every MD run it performs (between MC moves). The client
|
||||
will print nothing until the simulation ends, then it will
|
||||
print stats about the accepted MC moves.
|
||||
|
||||
The examples below are commands you should use in two different
|
||||
terminal windows. The order of the two commands (client or server
|
||||
launch) does not matter. You can run them both in the same window if
|
||||
you append a "&" character to the first one to run it in the
|
||||
background.
|
||||
|
||||
--------------
|
||||
|
||||
File mode of messaging:
|
||||
|
||||
% mpirun -np 1 mc in.mc file tmp.couple
|
||||
% mpirun -np 1 lmp_mpi -v mode file -in in.mc.server
|
||||
|
||||
% mpirun -np 1 mc in.mc file tmp.couple
|
||||
% mpirun -np 4 lmp_mpi -v mode file -in in.mc.server
|
||||
|
||||
ZMQ mode of messaging:
|
||||
|
||||
% mpirun -np 1 mc in.mc zmq localhost:5555
|
||||
% mpirun -np 1 lmp_mpi -v mode zmq -in in.mc.server
|
||||
|
||||
% mpirun -np 1 mc in.mc zmq localhost:5555
|
||||
% mpirun -np 4 lmp_mpi -v mode zmq -in in.mc.server
|
||||
|
||||
--------------
|
||||
|
||||
The input script for the MC program is in.mc. You can edit it to run
|
||||
longer simulations.
|
||||
|
||||
500 nsteps = total # of steps of MD
|
||||
100 ndynamics = # of MD steps between MC moves
|
||||
0.1 delta = displacement size of MC move
|
||||
1.0 temperature = used in MC Boltzman factor
|
||||
12345 seed = random number seed
|
||||
|
||||
--------------
|
||||
|
||||
The problem size that LAMMPS is computing the MC energy for and
|
||||
running dynamics on is set by the x,y,z variables in the LAMMPS
|
||||
in.mc.server script. The default size is 500 particles. You can
|
||||
adjust the size as follows:
|
||||
|
||||
lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles
|
||||
@ -1,7 +0,0 @@
|
||||
# MC params
|
||||
|
||||
500 nsteps
|
||||
100 ndynamics
|
||||
0.1 delta
|
||||
1.0 temperature
|
||||
12345 seed
|
||||
@ -1,36 +0,0 @@
|
||||
# 3d Lennard-Jones Monte Carlo server script
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then &
|
||||
"message server mc file tmp.couple" &
|
||||
elif "${mode} == zmq" &
|
||||
"message server mc zmq *:5555" &
|
||||
|
||||
variable x index 5
|
||||
variable y index 5
|
||||
variable z index 5
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
atom_modify map yes
|
||||
|
||||
lattice fcc 0.8442
|
||||
region box block 0 $x 0 $y 0 $z
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
mass 1 1.0
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 20 check no
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo 50
|
||||
|
||||
server mc
|
||||
@ -1,254 +0,0 @@
|
||||
LAMMPS (22 Aug 2018)
|
||||
# 3d Lennard-Jones Monte Carlo server script
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
|
||||
message server mc file tmp.couple
|
||||
variable x index 5
|
||||
variable y index 5
|
||||
variable z index 5
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
atom_modify map yes
|
||||
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
region box block 0 $x 0 $y 0 $z
|
||||
region box block 0 5 0 $y 0 $z
|
||||
region box block 0 5 0 5 0 $z
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000649929 secs
|
||||
mass 1 1.0
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 20 check no
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo 50
|
||||
|
||||
server mc
|
||||
run 0
|
||||
Neighbor list info ...
|
||||
update every 20 steps, delay 0 steps, check no
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 6 6 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7733681 0 -4.6176881 -5.0221006
|
||||
Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
93.2% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.146e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1956 ave 1956 max 1956 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 19500 ave 19500 max 19500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 19500
|
||||
Ave neighs/atom = 39
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
93.2% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.146e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1956 ave 1956 max 1956 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 19501 ave 19501 max 19501 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 19501
|
||||
Ave neighs/atom = 39.002
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
50 0.70239211 -5.6763152 0 -4.6248342 0.59544428
|
||||
100 0.7565013 -5.757431 0 -4.6249485 0.21982657
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.7565013 -5.7565768 0 -4.6240944 0.22436405
|
||||
Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
157.3% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.907e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1939 ave 1939 max 1939 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18757 ave 18757 max 18757 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18757
|
||||
Ave neighs/atom = 37.514
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.7565013 -5.757431 0 -4.6249485 0.21982657
|
||||
150 0.76110797 -5.7664315 0 -4.6270529 0.16005254
|
||||
200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73505651 -5.7181381 0 -4.6177585 0.37629943
|
||||
Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
139.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.146e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1899 ave 1899 max 1899 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18699 ave 18699 max 18699 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18699
|
||||
Ave neighs/atom = 37.398
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
|
||||
250 0.73052476 -5.7206316 0 -4.627036 0.39287516
|
||||
300 0.76300831 -5.7675007 0 -4.6252773 0.16312925
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76300831 -5.768304 0 -4.6260806 0.15954325
|
||||
Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
139.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.146e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1903 ave 1903 max 1903 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18715 ave 18715 max 18715 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18715
|
||||
Ave neighs/atom = 37.43
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76300831 -5.768304 0 -4.6260806 0.15954325
|
||||
350 0.72993309 -5.7193261 0 -4.6266162 0.3358374
|
||||
400 0.72469448 -5.713463 0 -4.6285954 0.44859547
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.72469448 -5.7077332 0 -4.6228655 0.47669832
|
||||
Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
157.3% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.907e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1899 ave 1899 max 1899 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18683 ave 18683 max 18683 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18683
|
||||
Ave neighs/atom = 37.366
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.72469448 -5.713463 0 -4.6285954 0.44859547
|
||||
450 0.75305735 -5.7518283 0 -4.6245015 0.34658587
|
||||
500 0.73092571 -5.7206337 0 -4.6264379 0.43715809
|
||||
Total wall time: 0:00:02
|
||||
@ -1,254 +0,0 @@
|
||||
LAMMPS (22 Aug 2018)
|
||||
# 3d Lennard-Jones Monte Carlo server script
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
|
||||
message server mc file tmp.couple
|
||||
variable x index 5
|
||||
variable y index 5
|
||||
variable z index 5
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
atom_modify map yes
|
||||
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
region box block 0 $x 0 $y 0 $z
|
||||
region box block 0 5 0 $y 0 $z
|
||||
region box block 0 5 0 5 0 $z
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000592947 secs
|
||||
mass 1 1.0
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 20 check no
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo 50
|
||||
|
||||
server mc
|
||||
run 0
|
||||
Neighbor list info ...
|
||||
update every 20 steps, delay 0 steps, check no
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 6 6 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7733681 0 -4.6176881 -5.0221006
|
||||
Loop time of 3.8147e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
59.0% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.815e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 125 max 125 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1099 ave 1099 max 1099 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 4875 ave 4875 max 4875 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 19500
|
||||
Ave neighs/atom = 39
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
106.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.04e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 125 max 125 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1099 ave 1099 max 1099 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 4875.25 ave 4885 max 4866 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 19501
|
||||
Ave neighs/atom = 39.002
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
50 0.70210225 -5.6759068 0 -4.6248598 0.59609192
|
||||
100 0.75891559 -5.7611234 0 -4.6250267 0.20841608
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
|
||||
Loop time of 3.75509e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
113.2% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.755e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 126 max 124 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 1085.25 ave 1089 max 1079 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 4690.25 ave 4996 max 4401 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18761
|
||||
Ave neighs/atom = 37.522
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
|
||||
150 0.75437991 -5.7558622 0 -4.6265555 0.20681722
|
||||
200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73111257 -5.7143906 0 -4.6199151 0.37126023
|
||||
Loop time of 2.563e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
117.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.563e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 126 max 123 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Nghost: 1068.5 ave 1076 max 1063 min
|
||||
Histogram: 2 0 0 0 0 0 1 0 0 1
|
||||
Neighs: 4674.75 ave 4938 max 4419 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18699
|
||||
Ave neighs/atom = 37.398
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
|
||||
250 0.73873144 -5.7312505 0 -4.6253696 0.33061033
|
||||
300 0.76392796 -5.7719207 0 -4.6283206 0.18197874
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
|
||||
Loop time of 3.99351e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
93.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.994e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 128 max 121 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Nghost: 1069 ave 1080 max 1055 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
Neighs: 4672 ave 4803 max 4600 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18688
|
||||
Ave neighs/atom = 37.376
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
|
||||
350 0.71953041 -5.7041632 0 -4.6270261 0.44866153
|
||||
400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.7319047 -5.7158168 0 -4.6201554 0.49192039
|
||||
Loop time of 3.57628e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
111.8% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.576e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 132 max 118 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
Nghost: 1057.5 ave 1068 max 1049 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
Neighs: 4685.75 ave 5045 max 4229 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 18743
|
||||
Ave neighs/atom = 37.486
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
|
||||
450 0.74503154 -5.7405318 0 -4.6252196 0.33211879
|
||||
500 0.70570501 -5.6824439 0 -4.6260035 0.62020788
|
||||
Total wall time: 0:00:02
|
||||
@ -1,254 +0,0 @@
|
||||
LAMMPS (22 Aug 2018)
|
||||
# 3d Lennard-Jones Monte Carlo server script
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
|
||||
message server mc zmq *:5555
|
||||
variable x index 5
|
||||
variable y index 5
|
||||
variable z index 5
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
atom_modify map yes
|
||||
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
region box block 0 $x 0 $y 0 $z
|
||||
region box block 0 5 0 $y 0 $z
|
||||
region box block 0 5 0 5 0 $z
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000741005 secs
|
||||
mass 1 1.0
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 20 check no
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo 50
|
||||
|
||||
server mc
|
||||
run 0
|
||||
Neighbor list info ...
|
||||
update every 20 steps, delay 0 steps, check no
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 6 6 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7733681 0 -4.6176881 -5.0221006
|
||||
Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
52.4% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.907e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1956 ave 1956 max 1956 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 19500 ave 19500 max 19500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 19500
|
||||
Ave neighs/atom = 39
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
52.4% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.907e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1956 ave 1956 max 1956 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 19501 ave 19501 max 19501 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 19501
|
||||
Ave neighs/atom = 39.002
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
50 0.70239211 -5.6763152 0 -4.6248342 0.59544428
|
||||
100 0.7565013 -5.757431 0 -4.6249485 0.21982657
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.7565013 -5.7565768 0 -4.6240944 0.22436405
|
||||
Loop time of 1.19209e-06 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
83.9% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.192e-06 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1939 ave 1939 max 1939 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18757 ave 18757 max 18757 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18757
|
||||
Ave neighs/atom = 37.514
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.7565013 -5.757431 0 -4.6249485 0.21982657
|
||||
150 0.76110797 -5.7664315 0 -4.6270529 0.16005254
|
||||
200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73505651 -5.7181381 0 -4.6177585 0.37629943
|
||||
Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
209.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 9.537e-07 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1899 ave 1899 max 1899 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18699 ave 18699 max 18699 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18699
|
||||
Ave neighs/atom = 37.398
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
|
||||
250 0.73052476 -5.7206316 0 -4.627036 0.39287516
|
||||
300 0.76300831 -5.7675007 0 -4.6252773 0.16312925
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76300831 -5.768304 0 -4.6260806 0.15954325
|
||||
Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
104.9% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 9.537e-07 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1903 ave 1903 max 1903 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18715 ave 18715 max 18715 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18715
|
||||
Ave neighs/atom = 37.43
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76300831 -5.768304 0 -4.6260806 0.15954325
|
||||
350 0.72993309 -5.7193261 0 -4.6266162 0.3358374
|
||||
400 0.72469448 -5.713463 0 -4.6285954 0.44859547
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.72469448 -5.7077332 0 -4.6228655 0.47669832
|
||||
Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms
|
||||
|
||||
209.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 9.537e-07 | | |100.00
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1899 ave 1899 max 1899 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18683 ave 18683 max 18683 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18683
|
||||
Ave neighs/atom = 37.366
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.72469448 -5.713463 0 -4.6285954 0.44859547
|
||||
450 0.75305735 -5.7518283 0 -4.6245015 0.34658587
|
||||
500 0.73092571 -5.7206337 0 -4.6264379 0.43715809
|
||||
Total wall time: 0:00:00
|
||||
@ -1,254 +0,0 @@
|
||||
LAMMPS (22 Aug 2018)
|
||||
# 3d Lennard-Jones Monte Carlo server script
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
|
||||
message server mc zmq *:5555
|
||||
variable x index 5
|
||||
variable y index 5
|
||||
variable z index 5
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
atom_modify map yes
|
||||
|
||||
lattice fcc 0.8442
|
||||
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
||||
region box block 0 $x 0 $y 0 $z
|
||||
region box block 0 5 0 $y 0 $z
|
||||
region box block 0 5 0 5 0 $z
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000576019 secs
|
||||
mass 1 1.0
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 20 check no
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo 50
|
||||
|
||||
server mc
|
||||
run 0
|
||||
Neighbor list info ...
|
||||
update every 20 steps, delay 0 steps, check no
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 6 6 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7733681 0 -4.6176881 -5.0221006
|
||||
Loop time of 4.76837e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
89.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 4.768e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 125 max 125 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1099 ave 1099 max 1099 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 4875 ave 4875 max 4875 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 19500
|
||||
Ave neighs/atom = 39
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
Loop time of 3.45707e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
94.0% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.457e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 125 max 125 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1099 ave 1099 max 1099 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 4875.25 ave 4885 max 4866 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 19501
|
||||
Ave neighs/atom = 39.002
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 1.44 -6.7723127 0 -4.6166327 -5.015531
|
||||
50 0.70210225 -5.6759068 0 -4.6248598 0.59609192
|
||||
100 0.75891559 -5.7611234 0 -4.6250267 0.20841608
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
|
||||
Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
115.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.04e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 126 max 124 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 1085.25 ave 1089 max 1079 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 4690.25 ave 4996 max 4401 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18761
|
||||
Ave neighs/atom = 37.522
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
|
||||
150 0.75437991 -5.7558622 0 -4.6265555 0.20681722
|
||||
200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73111257 -5.7143906 0 -4.6199151 0.37126023
|
||||
Loop time of 2.38419e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
125.8% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.384e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 126 max 123 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Nghost: 1068.5 ave 1076 max 1063 min
|
||||
Histogram: 2 0 0 0 0 0 1 0 0 1
|
||||
Neighs: 4674.75 ave 4938 max 4419 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18699
|
||||
Ave neighs/atom = 37.398
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
|
||||
250 0.73873144 -5.7312505 0 -4.6253696 0.33061033
|
||||
300 0.76392796 -5.7719207 0 -4.6283206 0.18197874
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
|
||||
Loop time of 2.44379e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
112.5% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.444e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 128 max 121 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Nghost: 1069 ave 1080 max 1055 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
Neighs: 4672 ave 4803 max 4600 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18688
|
||||
Ave neighs/atom = 37.376
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
|
||||
350 0.71953041 -5.7041632 0 -4.6270261 0.44866153
|
||||
400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
|
||||
run 0
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.7319047 -5.7158168 0 -4.6201554 0.49192039
|
||||
Loop time of 2.14577e-06 on 4 procs for 0 steps with 500 atoms
|
||||
|
||||
139.8% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 2.146e-06 | | |100.00
|
||||
|
||||
Nlocal: 125 ave 132 max 118 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
Nghost: 1057.5 ave 1068 max 1049 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
Neighs: 4685.75 ave 5045 max 4229 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 18743
|
||||
Ave neighs/atom = 37.486
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
|
||||
450 0.74503154 -5.7405318 0 -4.6252196 0.33211879
|
||||
500 0.70570501 -5.6824439 0 -4.6260035 0.62020788
|
||||
Total wall time: 0:00:00
|
||||
@ -1,263 +0,0 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
// MC code used with LAMMPS in client/server mode
|
||||
// MC is the client, LAMMPS is the server
|
||||
|
||||
// Syntax: mc infile mode modearg
|
||||
// mode = file, zmq
|
||||
// modearg = filename for file, localhost:5555 for zmq
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include "mc.h"
|
||||
#include "random_park.h"
|
||||
|
||||
#include "cslib.h"
|
||||
using namespace CSLIB_NS;
|
||||
|
||||
void error(const char *);
|
||||
CSlib *cs_create(char *, char *);
|
||||
|
||||
#define MAXLINE 256
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
// main program
|
||||
|
||||
int main(int narg, char **arg)
|
||||
{
|
||||
if (narg != 4) {
|
||||
error("Syntax: mc infile mode modearg");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// initialize CSlib
|
||||
|
||||
CSlib *cs = cs_create(arg[2],arg[3]);
|
||||
|
||||
// create MC class and perform run
|
||||
|
||||
MC *mc = new MC(arg[1],cs);
|
||||
mc->run();
|
||||
|
||||
// final MC stats
|
||||
|
||||
int naccept = mc->naccept;
|
||||
int nattempt = mc->nattempt;
|
||||
|
||||
printf("------ MC stats ------\n");
|
||||
printf("MC attempts = %d\n",nattempt);
|
||||
printf("MC accepts = %d\n",naccept);
|
||||
printf("Acceptance ratio = %g\n",1.0*naccept/nattempt);
|
||||
|
||||
// clean up
|
||||
|
||||
delete cs;
|
||||
delete mc;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void error(const char *str)
|
||||
{
|
||||
printf("ERROR: %s\n",str);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
CSlib *cs_create(char *mode, char *arg)
|
||||
{
|
||||
CSlib *cs = new CSlib(0,mode,arg,NULL);
|
||||
|
||||
// initial handshake to agree on protocol
|
||||
|
||||
cs->send(0,1);
|
||||
cs->pack_string(1,(char *) "mc");
|
||||
|
||||
int msgID,nfield;
|
||||
int *fieldID,*fieldtype,*fieldlen;
|
||||
msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
|
||||
|
||||
return cs;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// MC class
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
MC::MC(char *mcfile, void *cs_caller)
|
||||
//MC::MC(char *mcfile, CSlib *cs_caller)
|
||||
{
|
||||
cs_void = cs_caller;
|
||||
|
||||
// setup MC params
|
||||
|
||||
options(mcfile);
|
||||
|
||||
// random # generator
|
||||
|
||||
random = new RanPark(seed);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
MC::~MC()
|
||||
{
|
||||
free(x);
|
||||
delete random;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void MC::run()
|
||||
{
|
||||
int iatom,accept,msgID,nfield;
|
||||
double pe_initial,pe_final,edelta;
|
||||
double dx,dy,dz;
|
||||
double xold[3],xnew[3];
|
||||
int *fieldID,*fieldtype,*fieldlen;
|
||||
|
||||
enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN};
|
||||
|
||||
CSlib *cs = (CSlib *) cs_void;
|
||||
|
||||
// one-time request for atom count from MD
|
||||
// allocate 1d coord buffer
|
||||
|
||||
cs->send(NATOMS,0);
|
||||
|
||||
msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
|
||||
natoms = cs->unpack_int(1);
|
||||
|
||||
x = (double *) malloc(3*natoms*sizeof(double));
|
||||
|
||||
// loop over MC moves
|
||||
|
||||
naccept = nattempt = 0;
|
||||
|
||||
for (int iloop = 0; iloop < nloop; iloop++) {
|
||||
|
||||
// request current energy from MD
|
||||
// recv energy, coords from MD
|
||||
|
||||
cs->send(EINIT,0);
|
||||
|
||||
msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
|
||||
pe_initial = cs->unpack_double(1);
|
||||
double *x = (double *) cs->unpack(2);
|
||||
|
||||
// perform simple MC event
|
||||
// displace a single atom by random amount
|
||||
|
||||
iatom = (int) natoms*random->uniform();
|
||||
xold[0] = x[3*iatom+0];
|
||||
xold[1] = x[3*iatom+1];
|
||||
xold[2] = x[3*iatom+2];
|
||||
|
||||
dx = 2.0*delta*random->uniform() - delta;
|
||||
dy = 2.0*delta*random->uniform() - delta;
|
||||
dz = 2.0*delta*random->uniform() - delta;
|
||||
|
||||
xnew[0] = xold[0] + dx;
|
||||
xnew[1] = xold[1] + dx;
|
||||
xnew[2] = xold[2] + dx;
|
||||
|
||||
// send atom ID and its new coords to MD
|
||||
// recv new energy
|
||||
|
||||
cs->send(DISPLACE,2);
|
||||
cs->pack_int(1,iatom+1);
|
||||
cs->pack(2,4,3,xnew);
|
||||
|
||||
msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
|
||||
pe_final = cs->unpack_double(1);
|
||||
|
||||
// decide whether to accept/reject MC event
|
||||
|
||||
if (pe_final <= pe_initial) accept = 1;
|
||||
else if (temperature == 0.0) accept = 0;
|
||||
else if (random->uniform() >
|
||||
exp(natoms*(pe_initial-pe_final)/temperature)) accept = 0;
|
||||
else accept = 1;
|
||||
|
||||
nattempt++;
|
||||
if (accept) naccept++;
|
||||
|
||||
// send accept (1) or reject (0) flag to MD
|
||||
|
||||
cs->send(ACCEPT,1);
|
||||
cs->pack_int(1,accept);
|
||||
|
||||
msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
|
||||
|
||||
// send dynamics timesteps
|
||||
|
||||
cs->send(RUN,1);
|
||||
cs->pack_int(1,ndynamics);
|
||||
|
||||
msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
|
||||
}
|
||||
|
||||
// send exit message to MD
|
||||
|
||||
cs->send(-1,0);
|
||||
msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void MC::options(char *filename)
|
||||
{
|
||||
// default params
|
||||
|
||||
nsteps = 0;
|
||||
ndynamics = 100;
|
||||
delta = 0.1;
|
||||
temperature = 1.0;
|
||||
seed = 12345;
|
||||
|
||||
// read and parse file
|
||||
|
||||
FILE *fp = fopen(filename,"r");
|
||||
if (fp == NULL) error("Could not open MC file");
|
||||
|
||||
char line[MAXLINE];
|
||||
char *keyword,*value;
|
||||
char *eof = fgets(line,MAXLINE,fp);
|
||||
|
||||
while (eof) {
|
||||
if (line[0] == '#') { // comment line
|
||||
eof = fgets(line,MAXLINE,fp);
|
||||
continue;
|
||||
}
|
||||
|
||||
value = strtok(line," \t\n\r\f");
|
||||
if (value == NULL) { // blank line
|
||||
eof = fgets(line,MAXLINE,fp);
|
||||
continue;
|
||||
}
|
||||
|
||||
keyword = strtok(NULL," \t\n\r\f");
|
||||
if (keyword == NULL) error("Missing keyword in MC file");
|
||||
|
||||
if (strcmp(keyword,"nsteps") == 0) nsteps = atoi(value);
|
||||
else if (strcmp(keyword,"ndynamics") == 0) ndynamics = atoi(value);
|
||||
else if (strcmp(keyword,"delta") == 0) delta = atof(value);
|
||||
else if (strcmp(keyword,"temperature") == 0) temperature = atof(value);
|
||||
else if (strcmp(keyword,"seed") == 0) seed = atoi(value);
|
||||
else error("Unknown param in MC file");
|
||||
|
||||
eof = fgets(line,MAXLINE,fp);
|
||||
}
|
||||
|
||||
// derived params
|
||||
|
||||
nloop = nsteps/ndynamics;
|
||||
}
|
||||
@ -1,40 +0,0 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef MC_H
|
||||
#define MC_H
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class MC {
|
||||
public:
|
||||
int naccept; // # of accepted MC events
|
||||
int nattempt; // # of attempted MC events
|
||||
|
||||
MC(char *, void *);
|
||||
~MC();
|
||||
void run();
|
||||
|
||||
private:
|
||||
int nsteps; // total # of MD steps
|
||||
int ndynamics; // steps in one short dynamics run
|
||||
int nloop; // nsteps/ndynamics
|
||||
int natoms; // # of MD atoms
|
||||
|
||||
double delta; // MC displacement distance
|
||||
double temperature; // MC temperature for Boltzmann criterion
|
||||
double *x; // atom coords as 3N 1d vector
|
||||
double energy; // global potential energy
|
||||
|
||||
int seed; // RNG seed
|
||||
class RanPark *random;
|
||||
|
||||
void *cs_void; // messaging library
|
||||
|
||||
void options(char *);
|
||||
};
|
||||
|
||||
#endif
|
||||
@ -1,72 +0,0 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
// Park/Miller RNG
|
||||
|
||||
#include <math.h>
|
||||
#include "random_park.h"
|
||||
//#include "error.h"
|
||||
|
||||
#define IA 16807
|
||||
#define IM 2147483647
|
||||
#define AM (1.0/IM)
|
||||
#define IQ 127773
|
||||
#define IR 2836
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
RanPark::RanPark(int seed_init)
|
||||
{
|
||||
//if (seed_init <= 0)
|
||||
// error->one(FLERR,"Invalid seed for Park random # generator");
|
||||
seed = seed_init;
|
||||
save = 0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
uniform RN
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double RanPark::uniform()
|
||||
{
|
||||
int k = seed/IQ;
|
||||
seed = IA*(seed-k*IQ) - IR*k;
|
||||
if (seed < 0) seed += IM;
|
||||
double ans = AM*seed;
|
||||
return ans;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
gaussian RN
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double RanPark::gaussian()
|
||||
{
|
||||
double first,v1,v2,rsq,fac;
|
||||
|
||||
if (!save) {
|
||||
do {
|
||||
v1 = 2.0*uniform()-1.0;
|
||||
v2 = 2.0*uniform()-1.0;
|
||||
rsq = v1*v1 + v2*v2;
|
||||
} while ((rsq >= 1.0) || (rsq == 0.0));
|
||||
fac = sqrt(-2.0*log(rsq)/rsq);
|
||||
second = v1*fac;
|
||||
first = v2*fac;
|
||||
save = 1;
|
||||
} else {
|
||||
first = second;
|
||||
save = 0;
|
||||
}
|
||||
return first;
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef RANPARK_H
|
||||
#define RANPARK_H
|
||||
|
||||
class RanPark {
|
||||
public:
|
||||
RanPark(int);
|
||||
double uniform();
|
||||
double gaussian();
|
||||
|
||||
private:
|
||||
int seed,save;
|
||||
double second;
|
||||
};
|
||||
|
||||
#endif
|
||||
@ -1,197 +0,0 @@
|
||||
Sample LAMMPS MD wrapper on NWChem via client/server coupling
|
||||
|
||||
See the MESSAGE package documentation Build_extras.html#message
|
||||
and Build_extras.html#message for more details on how client/server
|
||||
coupling works in LAMMPS.
|
||||
|
||||
In this dir, the nwchem_wrap.py is a wrapper on the NWChem electronic
|
||||
structure code so it can work as a "server" code which LAMMPS drives
|
||||
as a "client" code to perform ab initio MD. LAMMPS performs the MD
|
||||
timestepping, sends NWChem a current set of coordinates each timestep,
|
||||
NWChem computes forces and energy (and virial) and returns that info
|
||||
to LAMMPS.
|
||||
|
||||
Messages are exchanged between NWChem and LAMMPS via a client/server
|
||||
library (CSlib), which is included in the LAMMPS distribution in
|
||||
lib/message. As explained below you can choose to exchange data
|
||||
between the two programs either via files or sockets (ZMQ). If the
|
||||
nwchem_wrap.py program became parallel, or the CSlib library calls were
|
||||
integrated into NWChem directly, then data could also be exchanged via
|
||||
MPI.
|
||||
|
||||
There are 2 examples provided in the planeware and ao_basis
|
||||
sub-directories. See details below.
|
||||
|
||||
----------------
|
||||
|
||||
Build LAMMPS with its MESSAGE package installed:
|
||||
|
||||
See the Build extras doc page and its MESSAGE package
|
||||
section for details.
|
||||
|
||||
CMake:
|
||||
|
||||
-D PKG_MESSAGE=yes # include the MESSAGE package
|
||||
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
|
||||
|
||||
Traditional make:
|
||||
|
||||
cd lammps/lib/message
|
||||
python Install.py -m -z # build CSlib with MPI and ZMQ support
|
||||
cd lammps/src
|
||||
make yes-message
|
||||
make mpi
|
||||
|
||||
You can leave off the -z if you do not have ZMQ on your system.
|
||||
|
||||
----------------
|
||||
|
||||
Build the CSlib in a form usable by the nwchem_wrapper.py script:
|
||||
|
||||
% cd lammps/lib/message/cslib/src
|
||||
% make shlib # build serial and parallel shared lib with ZMQ support
|
||||
% make shlib zmq=no # build serial and parallel shared lib w/out ZMQ support
|
||||
|
||||
This will make a shared library versions of the CSlib, which Python
|
||||
requires. Python must be able to find both the cslib.py script and
|
||||
the libcsnompi.so library in your lammps/lib/message/cslib/src
|
||||
directory. If it is not able to do this, you will get an error when
|
||||
you run nwchem_wrapper.py.
|
||||
|
||||
You can do this by augmenting two environment variables, either from
|
||||
the command line, or in your shell start-up script. Here is the
|
||||
sample syntax for the csh or tcsh shells:
|
||||
|
||||
setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/lib/message/cslib/src
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/lib/message/cslib/src
|
||||
|
||||
----------------
|
||||
|
||||
Prepare to use NWChem and the nwchem_wrap.py script
|
||||
|
||||
You can run the nwchem_wrap.py script as-is to test that the coupling
|
||||
between it and LAMMPS is functional. This will use the included
|
||||
nwchem_lammps.out files output by a previous NWChem run.
|
||||
|
||||
But note that the as-is version of nwchem_wrap.py will not attempt to
|
||||
run NWChem.
|
||||
|
||||
To do this, you must edit the 1st nwchemcmd line at the top of
|
||||
nwchem_wrapper.py to be the launch command needed to run NWChem on
|
||||
your system. It can be a command to run NWChem in serial or in
|
||||
parallel, e.g. an mpirun command. Then comment out the 2nd nwchemcmd
|
||||
line immediately following it.
|
||||
|
||||
Ensure you have the necessary NWChem input file in this directory,
|
||||
suitable for the NWChem calculation you want to perform.
|
||||
|
||||
Example input files are provided for both atom-centered AO basis sets
|
||||
and plane-wave basis sets. Note that the NWChem template file should
|
||||
be matched to the LAMMPS input script (# of atoms and atom types, box
|
||||
size, etc).
|
||||
|
||||
Once you run NWChem yourself, the nwchem_lammps.out file will be
|
||||
overwritten.
|
||||
|
||||
The syntax of the wrapper is:
|
||||
nwchem_wrap.py file/zmq ao/pw input_template
|
||||
* file/zmg = messaging mode, must match LAMMPS messaging mode
|
||||
* ao/pw = basis set mode, selects between atom-centered and plane-wave
|
||||
the input_template file must correspond to the appropriate basis set mode:
|
||||
the "ao" mode supports the scf and dft modules in NWChem,
|
||||
the "pw" mode supports the nwpw module.
|
||||
* input_template = NWChem input file used as template, must include a
|
||||
"geometry" block with the atoms in the simulation, dummy
|
||||
xyz coordinates should be included (but are not used).
|
||||
Atom ordering must match LAMMPS input.
|
||||
|
||||
During a simulation, the molecular orbitals from the previous timestep
|
||||
will be used as the initial guess for the next NWChem calculation. If
|
||||
a file named "nwchem_lammps.movecs" is in the directory the wrapper is
|
||||
called from, these orbitals will be used as the initial guess orbitals
|
||||
in the first step of the simulation.
|
||||
|
||||
----------------
|
||||
|
||||
Example directories
|
||||
|
||||
(1) planewave
|
||||
|
||||
Demonstrates coupling of the nwpw module in NWChem with LAMMPS. Only fully
|
||||
periodic boundary conditions and orthogonal simulation boxes are currently
|
||||
supported by the wrapper. The included files provide an example run using a
|
||||
2 atom unit cell of tungsten.
|
||||
|
||||
Files:
|
||||
* data.W LAMMPS input with geometry information
|
||||
* in.client.W LAMMPS simulation input
|
||||
* log.client.output LAMMPS simulation output
|
||||
* w.nw NWChem template input file
|
||||
* nwchem_lammps.out NWChem output
|
||||
|
||||
(2) ao_basis
|
||||
|
||||
Demonstrates coupling of the scf (or dft) modules in NWChem with
|
||||
LAMMPS. Only fully aperiodic boundary conditions are currently
|
||||
supported by the wrapper. The included files provide an example run
|
||||
using a single water molecule.
|
||||
|
||||
Files:
|
||||
* data.h2o LAMMPS input with geometry information
|
||||
* in.client.h2o LAMMPS simulation input
|
||||
* log.client.output LAMMPS simulation output
|
||||
* h2o.nw NWChem template input file
|
||||
* nwchem_lammps.out NWChem output
|
||||
|
||||
As noted above, you can run the nwchem_wrap.py script as-is to test that
|
||||
the coupling between it and LAMMPS is functional. This will use the included
|
||||
nwchem_lammps.out files.
|
||||
|
||||
----------------
|
||||
|
||||
To run in client/server mode:
|
||||
|
||||
NOTE: The nwchem_wrap.py script must be run with Python version 2, not
|
||||
3. This is because it used the CSlib python wrapper, which only
|
||||
supports version 2. We plan to upgrade CSlib to support Python 3.
|
||||
|
||||
Both the client (LAMMPS) and server (nwchem_wrap.py) must use the same
|
||||
messaging mode, namely file or zmq. This is an argument to the
|
||||
nwchem_wrap.py code; it can be selected by setting the "mode" variable
|
||||
when you run LAMMPS. The default mode = file.
|
||||
|
||||
Here we assume LAMMPS was built to run in parallel, and the MESSAGE
|
||||
package was installed with socket (ZMQ) support. This means either of
|
||||
the messaging modes can be used and LAMMPS can be run in serial or
|
||||
parallel. The nwchem_wrap.py code is always run in serial, but it
|
||||
launches NWChem from Python via an mpirun command which can run NWChem
|
||||
itself in parallel.
|
||||
|
||||
When you run, the server should print out thermodynamic info every
|
||||
timestep which corresponds to the forces and virial computed by NWChem.
|
||||
NWChem will also generate output files each timestep. Output files from
|
||||
previous timesteps are archived in a "nwchem_logs" directory.
|
||||
|
||||
The examples below are commands you should use in two different
|
||||
terminal windows. The order of the two commands (client or server
|
||||
launch) does not matter. You can run them both in the same window if
|
||||
you append a "&" character to the first one to run it in the
|
||||
background.
|
||||
|
||||
--------------
|
||||
|
||||
File mode of messaging:
|
||||
|
||||
% mpirun -np 1 lmp_mpi -v mode file -in in.client.W
|
||||
% python nwchem_wrap.py file pw w.nw
|
||||
|
||||
% mpirun -np 2 lmp_mpi -v mode file -in in.client.h2o
|
||||
% python nwchem_wrap.py file ao h2o.nw
|
||||
|
||||
ZMQ mode of messaging:
|
||||
|
||||
% mpirun -np 1 lmp_mpi -v mode zmq -in in.client.W
|
||||
% python nwchem_wrap.py zmq pw w.nw
|
||||
|
||||
% mpirun -np 2 lmp_mpi -v mode zmq -in in.client.h2o
|
||||
% python nwchem_wrap.py zmq ao h2o.nw
|
||||
@ -1,20 +0,0 @@
|
||||
LAMMPS H2O data file
|
||||
|
||||
3 atoms
|
||||
|
||||
2 atom types
|
||||
|
||||
-10.0 10.0 xlo xhi
|
||||
-10.0 10.0 ylo yhi
|
||||
-10.0 10.0 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 15.994915008544922
|
||||
2 1.0078250169754028
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0.0 0.0 0.0
|
||||
2 2 0.0 0.756723 -0.585799
|
||||
3 2 0.0 -0.756723 -0.585799
|
||||
@ -1,25 +0,0 @@
|
||||
echo
|
||||
|
||||
memory global 40 mb stack 23 mb heap 5 mb
|
||||
|
||||
geometry units angstrom noautosym
|
||||
O 0.0 0.0 0.0
|
||||
H 1.0 0.5 0.0
|
||||
H -1.0 0.5 0.0
|
||||
end
|
||||
|
||||
basis
|
||||
O library 6-31g*
|
||||
H library 6-31g*
|
||||
end
|
||||
|
||||
scf
|
||||
maxiter 100
|
||||
end
|
||||
|
||||
#dft
|
||||
# xc b3lyp
|
||||
#end
|
||||
|
||||
task scf gradient
|
||||
#task dft gradient
|
||||
@ -1,27 +0,0 @@
|
||||
# H2O with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then &
|
||||
"message client md file tmp.couple" &
|
||||
elif "${mode} == zmq" &
|
||||
"message client md zmq localhost:5555" &
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
boundary m m m
|
||||
read_data data.h2o
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
@ -1,30 +0,0 @@
|
||||
# H2O with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then &
|
||||
"message client md file tmp.couple" &
|
||||
elif "${mode} == zmq" &
|
||||
"message client md zmq localhost:5555" &
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
boundary m m m
|
||||
read_data data.h2o
|
||||
|
||||
group one id 2
|
||||
displace_atoms one move 0.1 0.2 0.3
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
minimize 1.0e-6 1.0e-6 10 50
|
||||
@ -1,66 +0,0 @@
|
||||
LAMMPS (19 Sep 2019)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# H2O with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
|
||||
message client md file tmp.couple
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
boundary m m m
|
||||
read_data data.h2o
|
||||
orthogonal box = (-10 -10 -10) to (10 10 10)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
3 atoms
|
||||
read_data CPU = 0.000627125 secs
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166)
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.0276 | 0.0276 | 0.0276 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 300 0 0 0.077556087 10.354878 8000
|
||||
1 300 0 0 0.077556087 10.354878 8000
|
||||
2 300 0 0 0.077556087 10.354878 8000
|
||||
3 300 0 0 0.077556087 10.354878 8000
|
||||
Loop time of 0.30198 on 1 procs for 3 steps with 3 atoms
|
||||
|
||||
Performance: 0.858 ns/day, 27.961 hours/ns, 9.934 timesteps/s
|
||||
0.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 2.5979e-06 | 2.5979e-06 | 2.5979e-06 | 0.0 | 0.00
|
||||
Output | 0.00012053 | 0.00012053 | 0.00012053 | 0.0 | 0.04
|
||||
Modify | 0.30185 | 0.30185 | 0.30185 | 0.0 | 99.96
|
||||
Other | | 8.211e-06 | | | 0.00
|
||||
|
||||
Nlocal: 3 ave 3 max 3 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:07
|
||||
@ -1,66 +0,0 @@
|
||||
LAMMPS (19 Sep 2019)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# H2O with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
|
||||
message client md file tmp.couple
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
boundary m m m
|
||||
read_data data.h2o
|
||||
orthogonal box = (-10 -10 -10) to (10 10 10)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
3 atoms
|
||||
read_data CPU = 0.000608759 secs
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166)
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.0276 | 0.0276 | 0.0276 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 300 0 0 -2068.2746 10.354878 8000
|
||||
1 200.33191 0 0 -2068.2704 6.9147085 8000
|
||||
2 152.36218 0 0 -2068.269 5.2589726 8000
|
||||
3 227.40679 0 0 -2068.2722 7.8492321 8000
|
||||
Loop time of 1.90319 on 1 procs for 3 steps with 3 atoms
|
||||
|
||||
Performance: 0.136 ns/day, 176.221 hours/ns, 1.576 timesteps/s
|
||||
0.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 3.9274e-06 | 3.9274e-06 | 3.9274e-06 | 0.0 | 0.00
|
||||
Output | 0.00011798 | 0.00011798 | 0.00011798 | 0.0 | 0.01
|
||||
Modify | 1.9031 | 1.9031 | 1.9031 | 0.0 | 99.99
|
||||
Other | | 1.054e-05 | | | 0.00
|
||||
|
||||
Nlocal: 3 ave 3 max 3 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:07
|
||||
@ -1,82 +0,0 @@
|
||||
LAMMPS (19 Sep 2019)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# H2O with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
|
||||
message client md file tmp.couple
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
boundary m m m
|
||||
read_data data.h2o
|
||||
orthogonal box = (-10 -10 -10) to (10 10 10)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
3 atoms
|
||||
read_data CPU = 0.000615383 secs
|
||||
|
||||
group one id 2
|
||||
1 atoms in group one
|
||||
displace_atoms one move 0.1 0.2 0.3
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
minimize 1.0e-6 1.0e-6 10 50
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:174)
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166)
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.0279 | 0.0279 | 0.0279 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 300 0 0 -2067.8909 10.354878 8000
|
||||
1 300 0 0 -2068.0707 10.354878 8000
|
||||
2 300 0 0 -2068.252 10.354878 8000
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166)
|
||||
3 300 0 0 -2068.2797 10.354878 8000
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166)
|
||||
4 300 0 0 -2068.2799 10.354878 8000
|
||||
Loop time of 5.71024 on 1 procs for 4 steps with 3 atoms
|
||||
|
||||
0.1% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-2067.96847053 -2068.35730416 -2068.35745184
|
||||
Force two-norm initial, final = 4.54685 0.124714
|
||||
Force max component initial, final = 3.48924 0.0859263
|
||||
Final line search alpha, max atom move = 1 0.0859263
|
||||
Iterations, force evaluations = 4 8
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 6.2305e-07 | 6.2305e-07 | 6.2305e-07 | 0.0 | 0.00
|
||||
Comm | 1.1522e-05 | 1.1522e-05 | 1.1522e-05 | 0.0 | 0.00
|
||||
Output | 8.4217e-05 | 8.4217e-05 | 8.4217e-05 | 0.0 | 0.00
|
||||
Modify | 5.7099 | 5.7099 | 5.7099 | 0.0 | 99.99
|
||||
Other | | 0.0002355 | | | 0.00
|
||||
|
||||
Nlocal: 3 ave 3 max 3 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 2
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:10
|
||||
@ -1,626 +0,0 @@
|
||||
argument 1 = nwchem_lammps.nw
|
||||
|
||||
|
||||
|
||||
============================== echo of input deck ==============================
|
||||
echo
|
||||
|
||||
memory global 40 mb stack 23 mb heap 5 mb
|
||||
|
||||
geometry units angstrom noautosym nocenter
|
||||
O 0.00197082 0.0012463 -0.00298048
|
||||
H -0.0432066 0.769363 -0.596119
|
||||
H 0.0119282 -0.789143 -0.528177
|
||||
end
|
||||
|
||||
scf
|
||||
vectors input nwchem_lammps.movecs
|
||||
end
|
||||
|
||||
dft
|
||||
vectors input nwchem_lammps.movecs
|
||||
end
|
||||
|
||||
basis
|
||||
O library 6-31g*
|
||||
H library 6-31g*
|
||||
end
|
||||
|
||||
scf
|
||||
maxiter 100
|
||||
end
|
||||
|
||||
#dft
|
||||
# xc b3lyp
|
||||
#end
|
||||
|
||||
task scf gradient
|
||||
#task dft gradient
|
||||
================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Northwest Computational Chemistry Package (NWChem) 6.8
|
||||
------------------------------------------------------
|
||||
|
||||
|
||||
Environmental Molecular Sciences Laboratory
|
||||
Pacific Northwest National Laboratory
|
||||
Richland, WA 99352
|
||||
|
||||
Copyright (c) 1994-2018
|
||||
Pacific Northwest National Laboratory
|
||||
Battelle Memorial Institute
|
||||
|
||||
NWChem is an open-source computational chemistry package
|
||||
distributed under the terms of the
|
||||
Educational Community License (ECL) 2.0
|
||||
A copy of the license is included with this distribution
|
||||
in the LICENSE.TXT file
|
||||
|
||||
ACKNOWLEDGMENT
|
||||
--------------
|
||||
|
||||
This software and its documentation were developed at the
|
||||
EMSL at Pacific Northwest National Laboratory, a multiprogram
|
||||
national laboratory, operated for the U.S. Department of Energy
|
||||
by Battelle under Contract Number DE-AC05-76RL01830. Support
|
||||
for this work was provided by the Department of Energy Office
|
||||
of Biological and Environmental Research, Office of Basic
|
||||
Energy Sciences, and the Office of Advanced Scientific Computing.
|
||||
|
||||
|
||||
Job information
|
||||
---------------
|
||||
|
||||
hostname = almondjoy
|
||||
program = /home/jboschen/nwchem-6.8.1-release/bin/LINUX64/nwchem
|
||||
date = Fri Jan 31 00:31:00 2020
|
||||
|
||||
compiled = Tue_Oct_01_13:20:43_2019
|
||||
source = /home/jboschen/nwchem-6.8.1-release
|
||||
nwchem branch = Development
|
||||
nwchem revision = N/A
|
||||
ga revision = 5.6.5
|
||||
use scalapack = F
|
||||
input = nwchem_lammps.nw
|
||||
prefix = nwchem_lammps.
|
||||
data base = ./nwchem_lammps.db
|
||||
status = restart
|
||||
nproc = 1
|
||||
time left = -1s
|
||||
|
||||
|
||||
|
||||
Memory information
|
||||
------------------
|
||||
|
||||
heap = 655358 doubles = 5.0 Mbytes
|
||||
stack = 3014651 doubles = 23.0 Mbytes
|
||||
global = 5242880 doubles = 40.0 Mbytes (distinct from heap & stack)
|
||||
total = 8912889 doubles = 68.0 Mbytes
|
||||
verify = yes
|
||||
hardfail = no
|
||||
|
||||
|
||||
Directory information
|
||||
---------------------
|
||||
|
||||
0 permanent = .
|
||||
0 scratch = .
|
||||
|
||||
|
||||
Previous task information
|
||||
-------------------------
|
||||
|
||||
Theory = scf
|
||||
Operation = gradient
|
||||
Status = ok
|
||||
Qmmm = F
|
||||
Ignore = F
|
||||
|
||||
|
||||
Geometries in the database
|
||||
--------------------------
|
||||
|
||||
Name Natoms Last Modified
|
||||
-------------------------------- ------ ------------------------
|
||||
1 geometry 3 Fri Jan 31 00:30:59 2020
|
||||
|
||||
The geometry named "geometry" is the default for restart
|
||||
|
||||
|
||||
|
||||
Basis sets in the database
|
||||
--------------------------
|
||||
|
||||
Name Natoms Last Modified
|
||||
-------------------------------- ------ ------------------------
|
||||
1 ao basis 2 Fri Jan 31 00:30:59 2020
|
||||
|
||||
The basis set named "ao basis" is the default AO basis for restart
|
||||
|
||||
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
|
||||
Scaling coordinates for geometry "geometry" by 1.889725989
|
||||
(inverse scale = 0.529177249)
|
||||
|
||||
|
||||
------
|
||||
auto-z
|
||||
------
|
||||
no constraints, skipping 0.0000000000000000
|
||||
no constraints, skipping 0.0000000000000000
|
||||
|
||||
|
||||
Geometry "geometry" -> ""
|
||||
-------------------------
|
||||
|
||||
Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.)
|
||||
|
||||
No. Tag Charge X Y Z
|
||||
---- ---------------- ---------- -------------- -------------- --------------
|
||||
1 O 8.0000 0.00197082 0.00124630 -0.00298048
|
||||
2 H 1.0000 -0.04320660 0.76936300 -0.59611900
|
||||
3 H 1.0000 0.01192820 -0.78914300 -0.52817700
|
||||
|
||||
Atomic Mass
|
||||
-----------
|
||||
|
||||
O 15.994910
|
||||
H 1.007825
|
||||
|
||||
|
||||
Effective nuclear repulsion energy (a.u.) 9.1573270473
|
||||
|
||||
Nuclear Dipole moment (a.u.)
|
||||
----------------------------
|
||||
X Y Z
|
||||
---------------- ---------------- ----------------
|
||||
-0.0293131272 -0.0185374561 -2.1696696942
|
||||
|
||||
|
||||
|
||||
Z-matrix (autoz)
|
||||
--------
|
||||
|
||||
Units are Angstrom for bonds and degrees for angles
|
||||
|
||||
Type Name I J K L M Value
|
||||
----------- -------- ----- ----- ----- ----- ----- ----------
|
||||
1 Stretch 1 2 0.97152
|
||||
2 Stretch 1 3 0.94902
|
||||
3 Bend 2 1 3 108.72901
|
||||
|
||||
|
||||
XYZ format geometry
|
||||
-------------------
|
||||
3
|
||||
geometry
|
||||
O 0.00197082 0.00124630 -0.00298048
|
||||
H -0.04320660 0.76936300 -0.59611900
|
||||
H 0.01192820 -0.78914300 -0.52817700
|
||||
|
||||
==============================================================================
|
||||
internuclear distances
|
||||
------------------------------------------------------------------------------
|
||||
center one | center two | atomic units | angstroms
|
||||
------------------------------------------------------------------------------
|
||||
2 H | 1 O | 1.83591 | 0.97152
|
||||
3 H | 1 O | 1.79339 | 0.94902
|
||||
------------------------------------------------------------------------------
|
||||
number of included internuclear distances: 2
|
||||
==============================================================================
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
internuclear angles
|
||||
------------------------------------------------------------------------------
|
||||
center 1 | center 2 | center 3 | degrees
|
||||
------------------------------------------------------------------------------
|
||||
2 H | 1 O | 3 H | 108.73
|
||||
------------------------------------------------------------------------------
|
||||
number of included internuclear angles: 1
|
||||
==============================================================================
|
||||
|
||||
|
||||
|
||||
Basis "ao basis" -> "" (cartesian)
|
||||
-----
|
||||
O (Oxygen)
|
||||
----------
|
||||
Exponent Coefficients
|
||||
-------------- ---------------------------------------------------------
|
||||
1 S 5.48467170E+03 0.001831
|
||||
1 S 8.25234950E+02 0.013950
|
||||
1 S 1.88046960E+02 0.068445
|
||||
1 S 5.29645000E+01 0.232714
|
||||
1 S 1.68975700E+01 0.470193
|
||||
1 S 5.79963530E+00 0.358521
|
||||
|
||||
2 S 1.55396160E+01 -0.110778
|
||||
2 S 3.59993360E+00 -0.148026
|
||||
2 S 1.01376180E+00 1.130767
|
||||
|
||||
3 P 1.55396160E+01 0.070874
|
||||
3 P 3.59993360E+00 0.339753
|
||||
3 P 1.01376180E+00 0.727159
|
||||
|
||||
4 S 2.70005800E-01 1.000000
|
||||
|
||||
5 P 2.70005800E-01 1.000000
|
||||
|
||||
6 D 8.00000000E-01 1.000000
|
||||
|
||||
H (Hydrogen)
|
||||
------------
|
||||
Exponent Coefficients
|
||||
-------------- ---------------------------------------------------------
|
||||
1 S 1.87311370E+01 0.033495
|
||||
1 S 2.82539370E+00 0.234727
|
||||
1 S 6.40121700E-01 0.813757
|
||||
|
||||
2 S 1.61277800E-01 1.000000
|
||||
|
||||
|
||||
|
||||
Summary of "ao basis" -> "" (cartesian)
|
||||
------------------------------------------------------------------------------
|
||||
Tag Description Shells Functions and Types
|
||||
---------------- ------------------------------ ------ ---------------------
|
||||
O 6-31g* 6 15 3s2p1d
|
||||
H 6-31g* 2 2 2s
|
||||
|
||||
|
||||
NWChem SCF Module
|
||||
-----------------
|
||||
|
||||
|
||||
|
||||
ao basis = "ao basis"
|
||||
functions = 19
|
||||
atoms = 3
|
||||
closed shells = 5
|
||||
open shells = 0
|
||||
charge = 0.00
|
||||
wavefunction = RHF
|
||||
input vectors = ./nwchem_lammps.movecs
|
||||
output vectors = ./nwchem_lammps.movecs
|
||||
use symmetry = F
|
||||
symmetry adapt = F
|
||||
|
||||
|
||||
Summary of "ao basis" -> "ao basis" (cartesian)
|
||||
------------------------------------------------------------------------------
|
||||
Tag Description Shells Functions and Types
|
||||
---------------- ------------------------------ ------ ---------------------
|
||||
O 6-31g* 6 15 3s2p1d
|
||||
H 6-31g* 2 2 2s
|
||||
|
||||
|
||||
|
||||
Forming initial guess at 0.0s
|
||||
|
||||
|
||||
Loading old vectors from job with title :
|
||||
|
||||
|
||||
|
||||
|
||||
Starting SCF solution at 0.0s
|
||||
|
||||
|
||||
|
||||
----------------------------------------------
|
||||
Quadratically convergent ROHF
|
||||
|
||||
Convergence threshold : 1.000E-04
|
||||
Maximum no. of iterations : 100
|
||||
Final Fock-matrix accuracy: 1.000E-07
|
||||
----------------------------------------------
|
||||
|
||||
|
||||
#quartets = 1.540D+03 #integrals = 1.424D+04 #direct = 0.0% #cached =100.0%
|
||||
|
||||
|
||||
Integral file = ./nwchem_lammps.aoints.0
|
||||
Record size in doubles = 65536 No. of integs per rec = 43688
|
||||
Max. records in memory = 2 Max. records in file = 1392051
|
||||
No. of bits per label = 8 No. of bits per value = 64
|
||||
|
||||
|
||||
iter energy gnorm gmax time
|
||||
----- ------------------- --------- --------- --------
|
||||
1 -76.0095751323 4.63D-02 1.64D-02 0.1
|
||||
2 -76.0097628164 8.13D-04 2.83D-04 0.1
|
||||
3 -76.0097629130 3.92D-06 1.55D-06 0.1
|
||||
|
||||
|
||||
Final RHF results
|
||||
------------------
|
||||
|
||||
Total SCF energy = -76.009762913030
|
||||
One-electron energy = -123.002897732381
|
||||
Two-electron energy = 37.835807772101
|
||||
Nuclear repulsion energy = 9.157327047250
|
||||
|
||||
Time for solution = 0.0s
|
||||
|
||||
|
||||
Final eigenvalues
|
||||
-----------------
|
||||
|
||||
1
|
||||
1 -20.5584
|
||||
2 -1.3367
|
||||
3 -0.7128
|
||||
4 -0.5617
|
||||
5 -0.4959
|
||||
6 0.2104
|
||||
7 0.3038
|
||||
8 1.0409
|
||||
9 1.1202
|
||||
10 1.1606
|
||||
11 1.1691
|
||||
12 1.3840
|
||||
13 1.4192
|
||||
14 2.0312
|
||||
15 2.0334
|
||||
|
||||
ROHF Final Molecular Orbital Analysis
|
||||
-------------------------------------
|
||||
|
||||
Vector 2 Occ=2.000000D+00 E=-1.336749D+00
|
||||
MO Center= -2.8D-03, -1.3D-02, -1.7D-01, r^2= 5.1D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
2 0.476636 1 O s 6 0.442369 1 O s
|
||||
1 -0.210214 1 O s
|
||||
|
||||
Vector 3 Occ=2.000000D+00 E=-7.127948D-01
|
||||
MO Center= -4.9D-03, 3.9D-03, -2.1D-01, r^2= 7.8D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
4 0.504894 1 O py 8 0.303932 1 O py
|
||||
18 -0.234724 3 H s 16 0.229765 2 H s
|
||||
|
||||
Vector 4 Occ=2.000000D+00 E=-5.617306D-01
|
||||
MO Center= 3.6D-03, 9.0D-03, 5.6D-02, r^2= 6.9D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
5 0.559565 1 O pz 9 0.410981 1 O pz
|
||||
6 0.315892 1 O s 2 0.157960 1 O s
|
||||
|
||||
Vector 5 Occ=2.000000D+00 E=-4.959173D-01
|
||||
MO Center= 1.4D-03, 6.9D-05, -2.2D-02, r^2= 6.0D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
3 0.638390 1 O px 7 0.511530 1 O px
|
||||
|
||||
Vector 6 Occ=0.000000D+00 E= 2.103822D-01
|
||||
MO Center= -2.3D-02, 3.5D-02, -7.3D-01, r^2= 2.6D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
6 1.416869 1 O s 17 -1.068330 2 H s
|
||||
19 -1.014775 3 H s 9 -0.490951 1 O pz
|
||||
5 -0.212990 1 O pz
|
||||
|
||||
Vector 7 Occ=0.000000D+00 E= 3.037943D-01
|
||||
MO Center= -1.8D-02, -8.9D-02, -7.1D-01, r^2= 2.8D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
19 -1.426837 3 H s 17 1.332767 2 H s
|
||||
8 -0.842141 1 O py 4 -0.327553 1 O py
|
||||
|
||||
Vector 8 Occ=0.000000D+00 E= 1.040852D+00
|
||||
MO Center= -7.4D-03, 1.3D-01, -1.6D-01, r^2= 1.4D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
16 0.931594 2 H s 18 -0.747590 3 H s
|
||||
8 -0.655817 1 O py 17 -0.523035 2 H s
|
||||
19 0.366407 3 H s 14 -0.357109 1 O dyz
|
||||
|
||||
Vector 9 Occ=0.000000D+00 E= 1.120172D+00
|
||||
MO Center= -6.8D-03, -2.9D-02, -3.1D-01, r^2= 1.5D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
6 1.145090 1 O s 18 0.841596 3 H s
|
||||
2 -0.727471 1 O s 16 0.684927 2 H s
|
||||
9 0.559191 1 O pz 19 -0.546678 3 H s
|
||||
17 -0.538778 2 H s 10 -0.344609 1 O dxx
|
||||
15 -0.250035 1 O dzz
|
||||
|
||||
Vector 10 Occ=0.000000D+00 E= 1.160603D+00
|
||||
MO Center= 1.2D-02, -4.3D-02, 2.5D-01, r^2= 1.0D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
6 1.137949 1 O s 5 -0.844233 1 O pz
|
||||
9 0.595088 1 O pz 2 -0.475986 1 O s
|
||||
18 -0.455932 3 H s 16 -0.357325 2 H s
|
||||
13 -0.317117 1 O dyy 15 -0.196968 1 O dzz
|
||||
|
||||
Vector 11 Occ=0.000000D+00 E= 1.169054D+00
|
||||
MO Center= 1.9D-03, 1.2D-03, -6.4D-03, r^2= 1.1D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
7 -1.034653 1 O px 3 0.962043 1 O px
|
||||
|
||||
Vector 12 Occ=0.000000D+00 E= 1.384034D+00
|
||||
MO Center= 6.0D-04, -2.6D-03, -5.0D-02, r^2= 1.4D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
8 1.557767 1 O py 4 -1.035829 1 O py
|
||||
17 -0.900920 2 H s 19 0.901756 3 H s
|
||||
|
||||
Vector 13 Occ=0.000000D+00 E= 1.419205D+00
|
||||
MO Center= -1.3D-02, -4.9D-02, -5.2D-01, r^2= 1.4D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
6 3.605136 1 O s 2 -1.454853 1 O s
|
||||
9 -1.107532 1 O pz 19 -0.874208 3 H s
|
||||
17 -0.757016 2 H s 13 -0.634436 1 O dyy
|
||||
5 0.516593 1 O pz 15 -0.401100 1 O dzz
|
||||
10 -0.319873 1 O dxx 16 -0.260650 2 H s
|
||||
|
||||
Vector 14 Occ=0.000000D+00 E= 2.031234D+00
|
||||
MO Center= 1.9D-03, 2.3D-03, -3.0D-03, r^2= 6.1D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
11 1.727083 1 O dxy
|
||||
|
||||
Vector 15 Occ=0.000000D+00 E= 2.033369D+00
|
||||
MO Center= 3.4D-03, 3.4D-03, 4.3D-02, r^2= 6.2D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
15 1.012642 1 O dzz 13 -0.512441 1 O dyy
|
||||
10 -0.438481 1 O dxx 6 -0.226567 1 O s
|
||||
|
||||
|
||||
center of mass
|
||||
--------------
|
||||
x = -0.00000001 y = -0.00000003 z = -0.12388979
|
||||
|
||||
moments of inertia (a.u.)
|
||||
------------------
|
||||
6.378705068992 0.153373998471 -0.069687034145
|
||||
0.153373998471 2.014476065716 0.150739744400
|
||||
-0.069687034145 0.150739744400 4.379134195179
|
||||
|
||||
Mulliken analysis of the total density
|
||||
--------------------------------------
|
||||
|
||||
Atom Charge Shell Charges
|
||||
----------- ------ -------------------------------------------------------
|
||||
1 O 8 8.87 2.00 0.90 2.90 0.92 2.08 0.08
|
||||
2 H 1 0.56 0.46 0.11
|
||||
3 H 1 0.56 0.47 0.10
|
||||
|
||||
Multipole analysis of the density wrt the origin
|
||||
------------------------------------------------
|
||||
|
||||
L x y z total open nuclear
|
||||
- - - - ----- ---- -------
|
||||
0 0 0 0 -0.000000 0.000000 10.000000
|
||||
|
||||
1 1 0 0 -0.026417 0.000000 -0.029313
|
||||
1 0 1 0 -0.023604 0.000000 -0.018537
|
||||
1 0 0 1 -0.846090 0.000000 -2.169670
|
||||
|
||||
2 2 0 0 -5.373227 0.000000 0.007286
|
||||
2 1 1 0 -0.085617 0.000000 -0.152252
|
||||
2 1 0 1 0.038215 0.000000 0.069311
|
||||
2 0 2 0 -2.927589 0.000000 4.337695
|
||||
2 0 1 1 -0.071410 0.000000 -0.149465
|
||||
2 0 0 2 -4.159949 0.000000 2.265483
|
||||
|
||||
|
||||
Parallel integral file used 1 records with 0 large values
|
||||
|
||||
NWChem Gradients Module
|
||||
-----------------------
|
||||
|
||||
|
||||
|
||||
wavefunction = RHF
|
||||
|
||||
|
||||
|
||||
RHF ENERGY GRADIENTS
|
||||
|
||||
atom coordinates gradient
|
||||
x y z x y z
|
||||
1 O 0.003724 0.002355 -0.005632 0.000909 -0.019294 0.007866
|
||||
2 H -0.081649 1.453885 -1.126502 -0.001242 0.025549 -0.011605
|
||||
3 H 0.022541 -1.491264 -0.998110 0.000333 -0.006255 0.003739
|
||||
|
||||
----------------------------------------
|
||||
| Time | 1-e(secs) | 2-e(secs) |
|
||||
----------------------------------------
|
||||
| CPU | 0.00 | 0.03 |
|
||||
----------------------------------------
|
||||
| WALL | 0.00 | 0.03 |
|
||||
----------------------------------------
|
||||
|
||||
Task times cpu: 0.1s wall: 0.1s
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
Summary of allocated global arrays
|
||||
-----------------------------------
|
||||
No active global arrays
|
||||
|
||||
|
||||
|
||||
GA Statistics for process 0
|
||||
------------------------------
|
||||
|
||||
create destroy get put acc scatter gather read&inc
|
||||
calls: 182 182 2869 728 468 0 0 68
|
||||
number of processes/call 1.00e+00 1.00e+00 1.00e+00 0.00e+00 0.00e+00
|
||||
bytes total: 6.18e+05 3.56e+05 1.04e+05 0.00e+00 0.00e+00 5.44e+02
|
||||
bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
Max memory consumed for GA by this process: 39432 bytes
|
||||
|
||||
MA_summarize_allocated_blocks: starting scan ...
|
||||
MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks
|
||||
MA usage statistics:
|
||||
|
||||
allocation statistics:
|
||||
heap stack
|
||||
---- -----
|
||||
current number of blocks 0 0
|
||||
maximum number of blocks 18 28
|
||||
current total bytes 0 0
|
||||
maximum total bytes 1060104 16000888
|
||||
maximum total K-bytes 1061 16001
|
||||
maximum total M-bytes 2 17
|
||||
|
||||
|
||||
CITATION
|
||||
--------
|
||||
Please cite the following reference when publishing
|
||||
results obtained with NWChem:
|
||||
|
||||
M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski,
|
||||
T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha,
|
||||
E. Apra, T.L. Windus, W.A. de Jong
|
||||
"NWChem: a comprehensive and scalable open-source
|
||||
solution for large scale molecular simulations"
|
||||
Comput. Phys. Commun. 181, 1477 (2010)
|
||||
doi:10.1016/j.cpc.2010.04.018
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski,
|
||||
T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus,
|
||||
J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata,
|
||||
S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa,
|
||||
Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov,
|
||||
D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich,
|
||||
A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao,
|
||||
P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr,
|
||||
M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju,
|
||||
M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart,
|
||||
Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown,
|
||||
G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall,
|
||||
J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt,
|
||||
P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall,
|
||||
D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson,
|
||||
J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng,
|
||||
T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone,
|
||||
M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang.
|
||||
|
||||
Total times cpu: 0.1s wall: 0.2s
|
||||
@ -1,626 +0,0 @@
|
||||
argument 1 = nwchem_lammps.nw
|
||||
|
||||
|
||||
|
||||
============================== echo of input deck ==============================
|
||||
echo
|
||||
|
||||
memory global 40 mb stack 23 mb heap 5 mb
|
||||
|
||||
geometry units angstrom noautosym nocenter
|
||||
O -0.00836667 0.0010006 0.0866404
|
||||
H 0.0968795 0.837453 -0.346117
|
||||
H 0.0114839 -0.638453 -0.612122
|
||||
end
|
||||
|
||||
scf
|
||||
vectors input nwchem_lammps.movecs
|
||||
end
|
||||
|
||||
dft
|
||||
vectors input nwchem_lammps.movecs
|
||||
end
|
||||
|
||||
basis
|
||||
O library 6-31g*
|
||||
H library 6-31g*
|
||||
end
|
||||
|
||||
scf
|
||||
maxiter 100
|
||||
end
|
||||
|
||||
#dft
|
||||
# xc b3lyp
|
||||
#end
|
||||
|
||||
task scf gradient
|
||||
#task dft gradient
|
||||
================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Northwest Computational Chemistry Package (NWChem) 6.8
|
||||
------------------------------------------------------
|
||||
|
||||
|
||||
Environmental Molecular Sciences Laboratory
|
||||
Pacific Northwest National Laboratory
|
||||
Richland, WA 99352
|
||||
|
||||
Copyright (c) 1994-2018
|
||||
Pacific Northwest National Laboratory
|
||||
Battelle Memorial Institute
|
||||
|
||||
NWChem is an open-source computational chemistry package
|
||||
distributed under the terms of the
|
||||
Educational Community License (ECL) 2.0
|
||||
A copy of the license is included with this distribution
|
||||
in the LICENSE.TXT file
|
||||
|
||||
ACKNOWLEDGMENT
|
||||
--------------
|
||||
|
||||
This software and its documentation were developed at the
|
||||
EMSL at Pacific Northwest National Laboratory, a multiprogram
|
||||
national laboratory, operated for the U.S. Department of Energy
|
||||
by Battelle under Contract Number DE-AC05-76RL01830. Support
|
||||
for this work was provided by the Department of Energy Office
|
||||
of Biological and Environmental Research, Office of Basic
|
||||
Energy Sciences, and the Office of Advanced Scientific Computing.
|
||||
|
||||
|
||||
Job information
|
||||
---------------
|
||||
|
||||
hostname = almondjoy
|
||||
program = /home/jboschen/nwchem-6.8.1-release/bin/LINUX64/nwchem
|
||||
date = Fri Jan 31 00:33:40 2020
|
||||
|
||||
compiled = Tue_Oct_01_13:20:43_2019
|
||||
source = /home/jboschen/nwchem-6.8.1-release
|
||||
nwchem branch = Development
|
||||
nwchem revision = N/A
|
||||
ga revision = 5.6.5
|
||||
use scalapack = F
|
||||
input = nwchem_lammps.nw
|
||||
prefix = nwchem_lammps.
|
||||
data base = ./nwchem_lammps.db
|
||||
status = restart
|
||||
nproc = 1
|
||||
time left = -1s
|
||||
|
||||
|
||||
|
||||
Memory information
|
||||
------------------
|
||||
|
||||
heap = 655358 doubles = 5.0 Mbytes
|
||||
stack = 3014651 doubles = 23.0 Mbytes
|
||||
global = 5242880 doubles = 40.0 Mbytes (distinct from heap & stack)
|
||||
total = 8912889 doubles = 68.0 Mbytes
|
||||
verify = yes
|
||||
hardfail = no
|
||||
|
||||
|
||||
Directory information
|
||||
---------------------
|
||||
|
||||
0 permanent = .
|
||||
0 scratch = .
|
||||
|
||||
|
||||
Previous task information
|
||||
-------------------------
|
||||
|
||||
Theory = scf
|
||||
Operation = gradient
|
||||
Status = ok
|
||||
Qmmm = F
|
||||
Ignore = F
|
||||
|
||||
|
||||
Geometries in the database
|
||||
--------------------------
|
||||
|
||||
Name Natoms Last Modified
|
||||
-------------------------------- ------ ------------------------
|
||||
1 geometry 3 Fri Jan 31 00:33:40 2020
|
||||
|
||||
The geometry named "geometry" is the default for restart
|
||||
|
||||
|
||||
|
||||
Basis sets in the database
|
||||
--------------------------
|
||||
|
||||
Name Natoms Last Modified
|
||||
-------------------------------- ------ ------------------------
|
||||
1 ao basis 2 Fri Jan 31 00:33:40 2020
|
||||
|
||||
The basis set named "ao basis" is the default AO basis for restart
|
||||
|
||||
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
|
||||
Scaling coordinates for geometry "geometry" by 1.889725989
|
||||
(inverse scale = 0.529177249)
|
||||
|
||||
|
||||
------
|
||||
auto-z
|
||||
------
|
||||
no constraints, skipping 0.0000000000000000
|
||||
no constraints, skipping 0.0000000000000000
|
||||
|
||||
|
||||
Geometry "geometry" -> ""
|
||||
-------------------------
|
||||
|
||||
Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.)
|
||||
|
||||
No. Tag Charge X Y Z
|
||||
---- ---------------- ---------- -------------- -------------- --------------
|
||||
1 O 8.0000 -0.00836667 0.00100060 0.08664040
|
||||
2 H 1.0000 0.09687950 0.83745300 -0.34611700
|
||||
3 H 1.0000 0.01148390 -0.63845300 -0.61212200
|
||||
|
||||
Atomic Mass
|
||||
-----------
|
||||
|
||||
O 15.994910
|
||||
H 1.007825
|
||||
|
||||
|
||||
Effective nuclear repulsion energy (a.u.) 9.2881144400
|
||||
|
||||
Nuclear Dipole moment (a.u.)
|
||||
----------------------------
|
||||
X Y Z
|
||||
---------------- ---------------- ----------------
|
||||
0.0782914233 0.3911823503 -0.5009962172
|
||||
|
||||
|
||||
|
||||
Z-matrix (autoz)
|
||||
--------
|
||||
|
||||
Units are Angstrom for bonds and degrees for angles
|
||||
|
||||
Type Name I J K L M Value
|
||||
----------- -------- ----- ----- ----- ----- ----- ----------
|
||||
1 Stretch 1 2 0.94763
|
||||
2 Stretch 1 3 0.94740
|
||||
3 Bend 2 1 3 104.86952
|
||||
|
||||
|
||||
XYZ format geometry
|
||||
-------------------
|
||||
3
|
||||
geometry
|
||||
O -0.00836667 0.00100060 0.08664040
|
||||
H 0.09687950 0.83745300 -0.34611700
|
||||
H 0.01148390 -0.63845300 -0.61212200
|
||||
|
||||
==============================================================================
|
||||
internuclear distances
|
||||
------------------------------------------------------------------------------
|
||||
center one | center two | atomic units | angstroms
|
||||
------------------------------------------------------------------------------
|
||||
2 H | 1 O | 1.79077 | 0.94763
|
||||
3 H | 1 O | 1.79032 | 0.94740
|
||||
------------------------------------------------------------------------------
|
||||
number of included internuclear distances: 2
|
||||
==============================================================================
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
internuclear angles
|
||||
------------------------------------------------------------------------------
|
||||
center 1 | center 2 | center 3 | degrees
|
||||
------------------------------------------------------------------------------
|
||||
2 H | 1 O | 3 H | 104.87
|
||||
------------------------------------------------------------------------------
|
||||
number of included internuclear angles: 1
|
||||
==============================================================================
|
||||
|
||||
|
||||
|
||||
Basis "ao basis" -> "" (cartesian)
|
||||
-----
|
||||
O (Oxygen)
|
||||
----------
|
||||
Exponent Coefficients
|
||||
-------------- ---------------------------------------------------------
|
||||
1 S 5.48467170E+03 0.001831
|
||||
1 S 8.25234950E+02 0.013950
|
||||
1 S 1.88046960E+02 0.068445
|
||||
1 S 5.29645000E+01 0.232714
|
||||
1 S 1.68975700E+01 0.470193
|
||||
1 S 5.79963530E+00 0.358521
|
||||
|
||||
2 S 1.55396160E+01 -0.110778
|
||||
2 S 3.59993360E+00 -0.148026
|
||||
2 S 1.01376180E+00 1.130767
|
||||
|
||||
3 P 1.55396160E+01 0.070874
|
||||
3 P 3.59993360E+00 0.339753
|
||||
3 P 1.01376180E+00 0.727159
|
||||
|
||||
4 S 2.70005800E-01 1.000000
|
||||
|
||||
5 P 2.70005800E-01 1.000000
|
||||
|
||||
6 D 8.00000000E-01 1.000000
|
||||
|
||||
H (Hydrogen)
|
||||
------------
|
||||
Exponent Coefficients
|
||||
-------------- ---------------------------------------------------------
|
||||
1 S 1.87311370E+01 0.033495
|
||||
1 S 2.82539370E+00 0.234727
|
||||
1 S 6.40121700E-01 0.813757
|
||||
|
||||
2 S 1.61277800E-01 1.000000
|
||||
|
||||
|
||||
|
||||
Summary of "ao basis" -> "" (cartesian)
|
||||
------------------------------------------------------------------------------
|
||||
Tag Description Shells Functions and Types
|
||||
---------------- ------------------------------ ------ ---------------------
|
||||
O 6-31g* 6 15 3s2p1d
|
||||
H 6-31g* 2 2 2s
|
||||
|
||||
|
||||
NWChem SCF Module
|
||||
-----------------
|
||||
|
||||
|
||||
|
||||
ao basis = "ao basis"
|
||||
functions = 19
|
||||
atoms = 3
|
||||
closed shells = 5
|
||||
open shells = 0
|
||||
charge = 0.00
|
||||
wavefunction = RHF
|
||||
input vectors = ./nwchem_lammps.movecs
|
||||
output vectors = ./nwchem_lammps.movecs
|
||||
use symmetry = F
|
||||
symmetry adapt = F
|
||||
|
||||
|
||||
Summary of "ao basis" -> "ao basis" (cartesian)
|
||||
------------------------------------------------------------------------------
|
||||
Tag Description Shells Functions and Types
|
||||
---------------- ------------------------------ ------ ---------------------
|
||||
O 6-31g* 6 15 3s2p1d
|
||||
H 6-31g* 2 2 2s
|
||||
|
||||
|
||||
|
||||
Forming initial guess at 0.0s
|
||||
|
||||
|
||||
Loading old vectors from job with title :
|
||||
|
||||
|
||||
|
||||
|
||||
Starting SCF solution at 0.0s
|
||||
|
||||
|
||||
|
||||
----------------------------------------------
|
||||
Quadratically convergent ROHF
|
||||
|
||||
Convergence threshold : 1.000E-04
|
||||
Maximum no. of iterations : 100
|
||||
Final Fock-matrix accuracy: 1.000E-07
|
||||
----------------------------------------------
|
||||
|
||||
|
||||
#quartets = 1.540D+03 #integrals = 1.424D+04 #direct = 0.0% #cached =100.0%
|
||||
|
||||
|
||||
Integral file = ./nwchem_lammps.aoints.0
|
||||
Record size in doubles = 65536 No. of integs per rec = 43688
|
||||
Max. records in memory = 2 Max. records in file = 1392051
|
||||
No. of bits per label = 8 No. of bits per value = 64
|
||||
|
||||
|
||||
iter energy gnorm gmax time
|
||||
----- ------------------- --------- --------- --------
|
||||
1 -76.0107350035 4.75D-05 2.49D-05 0.1
|
||||
|
||||
|
||||
Final RHF results
|
||||
------------------
|
||||
|
||||
Total SCF energy = -76.010735003510
|
||||
One-electron energy = -123.220958992568
|
||||
Two-electron energy = 37.922109549024
|
||||
Nuclear repulsion energy = 9.288114440035
|
||||
|
||||
Time for solution = 0.0s
|
||||
|
||||
|
||||
Final eigenvalues
|
||||
-----------------
|
||||
|
||||
1
|
||||
1 -20.5583
|
||||
2 -1.3466
|
||||
3 -0.7130
|
||||
4 -0.5721
|
||||
5 -0.4985
|
||||
6 0.2129
|
||||
7 0.3068
|
||||
8 1.0286
|
||||
9 1.1338
|
||||
10 1.1678
|
||||
11 1.1807
|
||||
12 1.3845
|
||||
13 1.4334
|
||||
14 2.0187
|
||||
15 2.0311
|
||||
|
||||
ROHF Final Molecular Orbital Analysis
|
||||
-------------------------------------
|
||||
|
||||
Vector 2 Occ=2.000000D+00 E=-1.346587D+00
|
||||
MO Center= 1.1D-02, 3.1D-02, -8.5D-02, r^2= 5.0D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
2 0.475648 1 O s 6 0.435095 1 O s
|
||||
1 -0.209463 1 O s
|
||||
|
||||
Vector 3 Occ=2.000000D+00 E=-7.129747D-01
|
||||
MO Center= 1.5D-02, 3.8D-02, -1.3D-01, r^2= 7.6D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
4 0.500246 1 O py 8 0.299047 1 O py
|
||||
16 0.232138 2 H s 18 -0.232195 3 H s
|
||||
|
||||
Vector 4 Occ=2.000000D+00 E=-5.720760D-01
|
||||
MO Center= -1.5D-02, -9.7D-03, 1.5D-01, r^2= 6.8D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
5 0.545527 1 O pz 9 0.395332 1 O pz
|
||||
6 0.326735 1 O s 2 0.164593 1 O s
|
||||
|
||||
Vector 5 Occ=2.000000D+00 E=-4.984552D-01
|
||||
MO Center= -6.2D-03, 4.4D-03, 6.7D-02, r^2= 6.0D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
3 0.634559 1 O px 7 0.507891 1 O px
|
||||
|
||||
Vector 6 Occ=0.000000D+00 E= 2.128732D-01
|
||||
MO Center= 7.5D-02, 1.3D-01, -6.6D-01, r^2= 2.6D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
6 1.437795 1 O s 17 -1.050892 2 H s
|
||||
19 -1.050374 3 H s 9 -0.494696 1 O pz
|
||||
5 -0.208359 1 O pz
|
||||
|
||||
Vector 7 Occ=0.000000D+00 E= 3.067764D-01
|
||||
MO Center= 7.1D-02, 1.3D-01, -6.3D-01, r^2= 2.7D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
17 1.413885 2 H s 19 -1.414835 3 H s
|
||||
8 -0.824411 1 O py 4 -0.320355 1 O py
|
||||
|
||||
Vector 8 Occ=0.000000D+00 E= 1.028607D+00
|
||||
MO Center= 7.1D-03, 2.6D-02, -5.2D-02, r^2= 1.4D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
16 0.839269 2 H s 18 -0.838060 3 H s
|
||||
8 -0.692349 1 O py 17 -0.426291 2 H s
|
||||
19 0.425092 3 H s 14 -0.319117 1 O dyz
|
||||
|
||||
Vector 9 Occ=0.000000D+00 E= 1.133833D+00
|
||||
MO Center= -2.7D-02, -2.9D-02, 2.6D-01, r^2= 1.5D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
6 1.621086 1 O s 2 -0.910150 1 O s
|
||||
9 0.744864 1 O pz 16 0.490586 2 H s
|
||||
18 0.491102 3 H s 5 -0.484186 1 O pz
|
||||
17 -0.426087 2 H s 19 -0.425823 3 H s
|
||||
10 -0.375325 1 O dxx 15 -0.317874 1 O dzz
|
||||
|
||||
Vector 10 Occ=0.000000D+00 E= 1.167849D+00
|
||||
MO Center= -8.0D-03, 1.6D-03, 8.3D-02, r^2= 1.1D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
7 -1.028149 1 O px 3 0.955686 1 O px
|
||||
|
||||
Vector 11 Occ=0.000000D+00 E= 1.180721D+00
|
||||
MO Center= 1.8D-02, 4.2D-02, -1.5D-01, r^2= 1.1D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
16 0.710073 2 H s 18 0.711177 3 H s
|
||||
5 0.704677 1 O pz 17 -0.389719 2 H s
|
||||
19 -0.389376 3 H s 6 -0.326170 1 O s
|
||||
9 -0.288739 1 O pz 13 0.229749 1 O dyy
|
||||
|
||||
Vector 12 Occ=0.000000D+00 E= 1.384514D+00
|
||||
MO Center= -7.4D-04, 1.3D-02, 1.8D-02, r^2= 1.4D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
8 1.510506 1 O py 4 -1.021750 1 O py
|
||||
17 -0.934844 2 H s 19 0.935260 3 H s
|
||||
9 0.272171 1 O pz 5 -0.184286 1 O pz
|
||||
|
||||
Vector 13 Occ=0.000000D+00 E= 1.433397D+00
|
||||
MO Center= 4.7D-02, 8.7D-02, -4.1D-01, r^2= 1.4D+00
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
6 3.628985 1 O s 2 -1.436467 1 O s
|
||||
9 -1.143870 1 O pz 17 -0.805578 2 H s
|
||||
19 -0.806493 3 H s 13 -0.635948 1 O dyy
|
||||
5 0.489050 1 O pz 15 -0.410417 1 O dzz
|
||||
16 -0.312860 2 H s 18 -0.312722 3 H s
|
||||
|
||||
Vector 14 Occ=0.000000D+00 E= 2.018721D+00
|
||||
MO Center= -1.4D-02, -7.1D-03, 1.3D-01, r^2= 6.2D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
15 0.947149 1 O dzz 14 -0.531399 1 O dyz
|
||||
13 -0.526961 1 O dyy 10 -0.358371 1 O dxx
|
||||
12 -0.297495 1 O dxz 6 -0.233087 1 O s
|
||||
|
||||
Vector 15 Occ=0.000000D+00 E= 2.031133D+00
|
||||
MO Center= -8.4D-03, 1.0D-03, 8.7D-02, r^2= 6.1D-01
|
||||
Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function
|
||||
----- ------------ --------------- ----- ------------ ---------------
|
||||
11 1.681563 1 O dxy 12 0.314688 1 O dxz
|
||||
|
||||
|
||||
center of mass
|
||||
--------------
|
||||
x = -0.00258245 y = 0.02272235 z = 0.04407491
|
||||
|
||||
moments of inertia (a.u.)
|
||||
------------------
|
||||
6.155330507195 -0.266185800841 0.185335033231
|
||||
-0.266185800841 2.211585220634 -0.350250164177
|
||||
0.185335033231 -0.350250164177 4.020009073007
|
||||
|
||||
Mulliken analysis of the total density
|
||||
--------------------------------------
|
||||
|
||||
Atom Charge Shell Charges
|
||||
----------- ------ -------------------------------------------------------
|
||||
1 O 8 8.87 2.00 0.90 2.91 0.91 2.06 0.08
|
||||
2 H 1 0.57 0.47 0.10
|
||||
3 H 1 0.57 0.47 0.10
|
||||
|
||||
Multipole analysis of the density wrt the origin
|
||||
------------------------------------------------
|
||||
|
||||
L x y z total open nuclear
|
||||
- - - - ----- ---- -------
|
||||
0 0 0 0 -0.000000 0.000000 10.000000
|
||||
|
||||
1 1 0 0 0.094145 0.000000 0.078291
|
||||
1 0 1 0 0.148179 0.000000 0.391182
|
||||
1 0 0 1 -0.851621 0.000000 -0.500996
|
||||
|
||||
2 2 0 0 -5.338111 0.000000 0.035987
|
||||
2 1 1 0 0.149191 0.000000 0.263306
|
||||
2 1 0 1 -0.084723 0.000000 -0.165556
|
||||
2 0 2 0 -3.114464 0.000000 3.960160
|
||||
2 0 1 1 0.205130 0.000000 0.362991
|
||||
2 0 0 2 -4.329185 0.000000 1.980308
|
||||
|
||||
|
||||
Parallel integral file used 1 records with 0 large values
|
||||
|
||||
NWChem Gradients Module
|
||||
-----------------------
|
||||
|
||||
|
||||
|
||||
wavefunction = RHF
|
||||
|
||||
|
||||
|
||||
RHF ENERGY GRADIENTS
|
||||
|
||||
atom coordinates gradient
|
||||
x y z x y z
|
||||
1 O -0.015811 0.001891 0.163727 -0.000201 -0.000505 0.001671
|
||||
2 H 0.183076 1.582557 -0.654066 0.000065 -0.000505 -0.001056
|
||||
3 H 0.021701 -1.206501 -1.156743 0.000136 0.001011 -0.000616
|
||||
|
||||
----------------------------------------
|
||||
| Time | 1-e(secs) | 2-e(secs) |
|
||||
----------------------------------------
|
||||
| CPU | 0.00 | 0.03 |
|
||||
----------------------------------------
|
||||
| WALL | 0.00 | 0.03 |
|
||||
----------------------------------------
|
||||
|
||||
Task times cpu: 0.1s wall: 0.1s
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
Summary of allocated global arrays
|
||||
-----------------------------------
|
||||
No active global arrays
|
||||
|
||||
|
||||
|
||||
GA Statistics for process 0
|
||||
------------------------------
|
||||
|
||||
create destroy get put acc scatter gather read&inc
|
||||
calls: 46 46 2296 477 27 0 0 68
|
||||
number of processes/call 1.00e+00 1.00e+00 1.00e+00 0.00e+00 0.00e+00
|
||||
bytes total: 2.70e+05 1.39e+05 2.27e+04 0.00e+00 0.00e+00 5.44e+02
|
||||
bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
Max memory consumed for GA by this process: 37544 bytes
|
||||
|
||||
MA_summarize_allocated_blocks: starting scan ...
|
||||
MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks
|
||||
MA usage statistics:
|
||||
|
||||
allocation statistics:
|
||||
heap stack
|
||||
---- -----
|
||||
current number of blocks 0 0
|
||||
maximum number of blocks 18 28
|
||||
current total bytes 0 0
|
||||
maximum total bytes 1060104 16000888
|
||||
maximum total K-bytes 1061 16001
|
||||
maximum total M-bytes 2 17
|
||||
|
||||
|
||||
CITATION
|
||||
--------
|
||||
Please cite the following reference when publishing
|
||||
results obtained with NWChem:
|
||||
|
||||
M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski,
|
||||
T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha,
|
||||
E. Apra, T.L. Windus, W.A. de Jong
|
||||
"NWChem: a comprehensive and scalable open-source
|
||||
solution for large scale molecular simulations"
|
||||
Comput. Phys. Commun. 181, 1477 (2010)
|
||||
doi:10.1016/j.cpc.2010.04.018
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski,
|
||||
T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus,
|
||||
J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata,
|
||||
S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa,
|
||||
Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov,
|
||||
D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich,
|
||||
A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao,
|
||||
P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr,
|
||||
M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju,
|
||||
M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart,
|
||||
Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown,
|
||||
G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall,
|
||||
J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt,
|
||||
P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall,
|
||||
D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson,
|
||||
J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng,
|
||||
T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone,
|
||||
M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang.
|
||||
|
||||
Total times cpu: 0.1s wall: 0.1s
|
||||
@ -1,447 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
# https://www.lammps.org/ Sandia National Laboratories
|
||||
# Steve Plimpton, sjplimp@sandia.gov
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Syntax: nwchem_wrap.py file/zmq ao/pw input_template
|
||||
# file/zmg = messaging mode, must match LAMMPS messaging mode
|
||||
# ao/pw = basis set mode, selects between atom-centered and plane-wave
|
||||
# the input_template file must correspond to the appropriate basis set mode:
|
||||
# the "ao" mode supports the scf and dft modules in NWChem,
|
||||
# the "pw" mode supports the nwpw module.
|
||||
# input_template = NWChem input file used as template, must include a
|
||||
# "geometry" block with the atoms in the simulation, dummy
|
||||
# xyz coordinates should be included (but are not used).
|
||||
# Atom ordering must match LAMMPS input.
|
||||
|
||||
# wrapper on NWChem
|
||||
# receives message with list of coords
|
||||
# creates NWChem inputs
|
||||
# invokes NWChem to calculate self-consistent energy of that config
|
||||
# reads NWChem outputs
|
||||
# sends message with energy, forces, pressure to client
|
||||
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
|
||||
version = sys.version_info[0]
|
||||
if version == 3:
|
||||
sys.exit("The CSlib python wrapper does not yet support python 3")
|
||||
|
||||
import subprocess
|
||||
import re
|
||||
import os
|
||||
import shutil
|
||||
from cslib import CSlib
|
||||
|
||||
# comment out 2nd line once 1st line is correct for your system
|
||||
|
||||
nwchemcmd = "mpirun -np 1 /usr/bin/nwchem"
|
||||
nwchemcmd = "touch tmp"
|
||||
|
||||
# enums matching FixClientMD class in LAMMPS
|
||||
|
||||
SETUP,STEP = range(1,2+1)
|
||||
DIM,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE = range(1,10+1)
|
||||
FORCES,ENERGY,VIRIAL,ERROR = range(1,4+1)
|
||||
|
||||
# -------------------------------------
|
||||
# functions
|
||||
|
||||
# error message and exit
|
||||
|
||||
def error(txt):
|
||||
print("ERROR:",txt)
|
||||
sys.exit(1)
|
||||
|
||||
# -------------------------------------
|
||||
# read initial input file to setup problem
|
||||
# return natoms
|
||||
|
||||
def nwchem_setup_ao(input):
|
||||
|
||||
template = open(input,'r')
|
||||
|
||||
geometry_block = False
|
||||
natoms = 0
|
||||
|
||||
while True:
|
||||
line = template.readline()
|
||||
if not line: break
|
||||
|
||||
if geometry_block and re.search("end",line):
|
||||
geometry_block = False
|
||||
if geometry_block and not re.match("#",line) :
|
||||
natoms += 1
|
||||
if re.search("geometry",line):
|
||||
geometry_block = True
|
||||
|
||||
return natoms
|
||||
|
||||
# -------------------------------------
|
||||
# write a new input file for NWChem
|
||||
# assumes the NWChem input geometry is to be specified in angstroms
|
||||
|
||||
def nwchem_input_write_ao(input,coords):
|
||||
|
||||
template = open(input,'r')
|
||||
new_input = open("nwchem_lammps.nw",'w')
|
||||
|
||||
geometry_block = False
|
||||
i = 0
|
||||
|
||||
while True:
|
||||
line = template.readline()
|
||||
if not line: break
|
||||
|
||||
if geometry_block and not re.match("#",line) and re.search("end",line):
|
||||
geometry_block = False
|
||||
if os.path.exists("nwchem_lammps.movecs"):
|
||||
# The below is hacky, but one of these lines will be ignored
|
||||
# by NWChem depending on if the input file is for scf/dft.
|
||||
append = "\nscf\n vectors input nwchem_lammps.movecs\nend\n"
|
||||
append2 = "\ndft\n vectors input nwchem_lammps.movecs\nend\n"
|
||||
line = line + append + append2
|
||||
|
||||
if geometry_block and not re.match("#",line):
|
||||
x = coords[3*i+0]
|
||||
y = coords[3*i+1]
|
||||
z = coords[3*i+2]
|
||||
coord_string = " %g %g %g \n" % (x,y,z)
|
||||
atom_string = line.split()[0]
|
||||
line = atom_string + coord_string
|
||||
i += 1
|
||||
|
||||
if (not re.match("#",line)) and re.search("geometry",line):
|
||||
geometry_block = True
|
||||
line = "geometry units angstrom noautosym nocenter\n"
|
||||
|
||||
print(line,file=new_input,end='')
|
||||
|
||||
new_input.close()
|
||||
|
||||
# -------------------------------------
|
||||
# read a NWChem output nwchem_lammps.out file
|
||||
|
||||
def nwchem_read_ao(natoms, log):
|
||||
|
||||
nwchem_output = open(log, 'r')
|
||||
energy_pattern = r"Total \w+ energy"
|
||||
gradient_pattern = "x y z x y z"
|
||||
|
||||
eout = 0.0
|
||||
fout = []
|
||||
|
||||
while True:
|
||||
line = nwchem_output.readline()
|
||||
if not line: break
|
||||
|
||||
# pattern match for energy
|
||||
if re.search(energy_pattern,line):
|
||||
eout = float(line.split()[4])
|
||||
|
||||
# pattern match for forces
|
||||
if re.search(gradient_pattern, line):
|
||||
for i in range(natoms):
|
||||
line = nwchem_output.readline()
|
||||
forces = line.split()
|
||||
fout += [float(forces[5]), float(forces[6]), float(forces[7])]
|
||||
|
||||
# convert units
|
||||
hartree2eV = 27.21138602
|
||||
bohr2angstrom = 0.52917721092
|
||||
eout = eout * hartree2eV
|
||||
fout = [i * -hartree2eV/bohr2angstrom for i in fout]
|
||||
|
||||
return eout,fout
|
||||
|
||||
# -------------------------------------
|
||||
# read initial planewave input file to setup problem
|
||||
# return natoms,box
|
||||
def nwchem_setup_pw(input):
|
||||
|
||||
template = open(input,'r')
|
||||
|
||||
geometry_block = False
|
||||
system_block = False
|
||||
coord_pattern = r"^\s*\w{1,2}(?:\s+-?(?:\d+.?\d*|\d*.?\d+)){3}"
|
||||
natoms = 0
|
||||
box = []
|
||||
|
||||
while True:
|
||||
line = template.readline()
|
||||
if not line: break
|
||||
|
||||
if geometry_block and re.search("system crystal",line):
|
||||
system_block = True
|
||||
for i in range(3):
|
||||
line = template.readline()
|
||||
line = re.sub(r'd|D', 'e', line)
|
||||
box += [float(line.split()[1])]
|
||||
|
||||
if geometry_block and not system_block and re.match("#",line) and re.search("end",line):
|
||||
geometry_block = False
|
||||
|
||||
if system_block and re.search("end",line):
|
||||
system_block = False
|
||||
|
||||
if geometry_block and not re.match("#",line) and re.search(coord_pattern,line):
|
||||
natoms += 1
|
||||
|
||||
if re.search("geometry",line) and not re.match("#",line):
|
||||
geometry_block = True
|
||||
|
||||
return natoms,box
|
||||
|
||||
# -------------------------------------
|
||||
# write a new planewave input file for NWChem
|
||||
# assumes the NWChem input geometry is to be specified fractional coordinates
|
||||
|
||||
def nwchem_input_write_pw(input,coords,box):
|
||||
|
||||
template = open(input,'r')
|
||||
new_input = open("nwchem_lammps.nw",'w')
|
||||
|
||||
writing_atoms = False
|
||||
geometry_block = False
|
||||
system_block = False
|
||||
coord_pattern = r"^\s*\w{1,2}(?:\s+-?(?:\d+.?\d*|\d*.?\d+)){3}"
|
||||
i = 0
|
||||
|
||||
while True:
|
||||
line = template.readline()
|
||||
if not line: break
|
||||
|
||||
if geometry_block and re.search("system crystal",line):
|
||||
system_block = True
|
||||
|
||||
if geometry_block and not system_block and not re.match("#",line) and re.search("end",line):
|
||||
geometry_block = False
|
||||
if os.path.exists("nwchem_lammps.movecs"):
|
||||
append = "\nnwpw\n vectors input nwchem_lammps.movecs\nend\n"
|
||||
line = line + append
|
||||
|
||||
if system_block and re.search("end",line):
|
||||
system_block = False
|
||||
|
||||
if geometry_block and not re.match("#",line) and re.search(coord_pattern,line):
|
||||
x = coords[3*i+0] / box[0]
|
||||
y = coords[3*i+1] / box[1]
|
||||
z = coords[3*i+2] / box[2]
|
||||
coord_string = " %g %g %g \n" % (x,y,z)
|
||||
atom_string = line.split()[0]
|
||||
line = atom_string + coord_string
|
||||
i += 1
|
||||
|
||||
if re.search("geometry",line) and not re.match("#",line):
|
||||
geometry_block = True
|
||||
|
||||
print(line,file=new_input,end='')
|
||||
|
||||
new_input.close()
|
||||
|
||||
# -------------------------------------
|
||||
# read a NWChem output nwchem_lammps.out file for planewave calculation
|
||||
|
||||
def nwchem_read_pw(log):
|
||||
nw_output = open(log, 'r')
|
||||
|
||||
eout = 0.0
|
||||
sout = []
|
||||
fout = []
|
||||
reading_forces = False
|
||||
|
||||
while True:
|
||||
line = nw_output.readline()
|
||||
if not line: break
|
||||
|
||||
# pattern match for energy
|
||||
if re.search("PSPW energy",line):
|
||||
eout = float(line.split()[4])
|
||||
|
||||
# pattern match for forces
|
||||
if re.search("C\.O\.M", line):
|
||||
reading_forces = False
|
||||
if reading_forces:
|
||||
forces = line.split()
|
||||
fout += [float(forces[3]), float(forces[4]), float(forces[5])]
|
||||
if re.search("Ion Forces",line):
|
||||
reading_forces = True
|
||||
|
||||
# pattern match for stress
|
||||
if re.search("=== total gradient ===",line):
|
||||
stensor = []
|
||||
for i in range(3):
|
||||
line = nw_output.readline()
|
||||
line = line.replace("S ="," ")
|
||||
stress = line.split()
|
||||
stensor += [float(stress[1]), float(stress[2]), float(stress[3])]
|
||||
sxx = stensor[0]
|
||||
syy = stensor[4]
|
||||
szz = stensor[8]
|
||||
sxy = 0.5 * (float(stensor[1]) + float(stensor[3]))
|
||||
sxz = 0.5 * (stensor[2] + stensor[6])
|
||||
syz = 0.5 * (stensor[5] + stensor[7])
|
||||
sout = [sxx,syy,szz,sxy,sxz,syz]
|
||||
|
||||
# convert units
|
||||
hartree2eV = 27.21138602
|
||||
bohr2angstrom = 0.52917721092
|
||||
austress2bar = 294210156.97
|
||||
eout = eout * hartree2eV
|
||||
fout = [i * hartree2eV/bohr2angstrom for i in fout]
|
||||
sout = [i * austress2bar for i in sout]
|
||||
|
||||
return eout,fout,sout
|
||||
|
||||
# -------------------------------------
|
||||
# main program
|
||||
|
||||
# command-line args
|
||||
#
|
||||
if len(sys.argv) != 4:
|
||||
print("Syntax: python nwchem_wrap.py file/zmq ao/pw input_template")
|
||||
sys.exit(1)
|
||||
|
||||
comm_mode = sys.argv[1]
|
||||
basis_type = sys.argv[2]
|
||||
input_template = sys.argv[3]
|
||||
|
||||
if comm_mode == "file": cs = CSlib(1,comm_mode,"tmp.couple",None)
|
||||
elif comm_mode == "zmq": cs = CSlib(1,comm_mode,"*:5555",None)
|
||||
else:
|
||||
print("Syntax: python nwchem_wrap.py file/zmq")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
natoms = 0
|
||||
box = []
|
||||
if basis_type == "ao":
|
||||
natoms = nwchem_setup_ao(input_template)
|
||||
elif basis_type == "pw":
|
||||
natoms,box = nwchem_setup_pw(input_template)
|
||||
|
||||
# initial message for AIMD protocol
|
||||
|
||||
msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv()
|
||||
if msgID != 0: error("Bad initial client/server handshake")
|
||||
protocol = cs.unpack_string(1)
|
||||
if protocol != "md": error("Mismatch in client/server protocol")
|
||||
cs.send(0,0)
|
||||
|
||||
# endless server loop
|
||||
|
||||
i = 0
|
||||
if not os.path.exists("nwchem_logs"):
|
||||
os.mkdir("nwchem_logs")
|
||||
|
||||
while 1:
|
||||
|
||||
# recv message from client
|
||||
# msgID = 0 = all-done message
|
||||
|
||||
msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv()
|
||||
if msgID < 0: break
|
||||
|
||||
# SETUP receive at beginning of each run
|
||||
# required fields: DIM, PERIODICITY, ORIGIN, BOX,
|
||||
# NATOMS, COORDS
|
||||
# optional fields: others in enum above, but NWChem ignores them
|
||||
|
||||
if msgID == SETUP:
|
||||
|
||||
origin = []
|
||||
box_lmp = []
|
||||
natoms_recv = ntypes_recv = 0
|
||||
types = []
|
||||
coords = []
|
||||
|
||||
for field in fieldID:
|
||||
if field == DIM:
|
||||
dim = cs.unpack_int(DIM)
|
||||
if dim != 3: error("NWChem only performs 3d simulations")
|
||||
elif field == PERIODICITY:
|
||||
periodicity = cs.unpack(PERIODICITY,1)
|
||||
if basis_type == "ao":
|
||||
if periodicity[0] or periodicity[1] or periodicity[2]:
|
||||
error("NWChem AO basis wrapper only currently supports fully aperiodic systems")
|
||||
elif basis_type == "pw":
|
||||
if not periodicity[0] or not periodicity[1] or not periodicity[2]:
|
||||
error("NWChem PW basis wrapper only currently supports fully periodic systems")
|
||||
elif field == ORIGIN:
|
||||
origin = cs.unpack(ORIGIN,1)
|
||||
elif field == BOX:
|
||||
box_lmp = cs.unpack(BOX,1)
|
||||
if (basis_type == "pw"):
|
||||
if (box[0] != box_lmp[0] or box[1] != box_lmp[4] or box[2] != box_lmp[8]):
|
||||
error("NWChem wrapper mismatch in box dimensions")
|
||||
elif field == NATOMS:
|
||||
natoms_recv = cs.unpack_int(NATOMS)
|
||||
if natoms != natoms_recv:
|
||||
error("NWChem wrapper mismatch in number of atoms")
|
||||
elif field == COORDS:
|
||||
coords = cs.unpack(COORDS,1)
|
||||
|
||||
if not origin or not box_lmp or not natoms or not coords:
|
||||
error("Required NWChem wrapper setup field not received");
|
||||
|
||||
# STEP receive at each timestep of run or minimization
|
||||
# required fields: COORDS
|
||||
# optional fields: ORIGIN, BOX
|
||||
|
||||
elif msgID == STEP:
|
||||
|
||||
coords = []
|
||||
|
||||
for field in fieldID:
|
||||
if field == COORDS:
|
||||
coords = cs.unpack(COORDS,1)
|
||||
|
||||
if not coords: error("Required NWChem wrapper step field not received");
|
||||
|
||||
else: error("NWChem wrapper received unrecognized message")
|
||||
|
||||
# unpack coords from client
|
||||
# create NWChem input
|
||||
|
||||
if basis_type == "ao":
|
||||
nwchem_input_write_ao(input_template,coords)
|
||||
elif basis_type == "pw":
|
||||
nwchem_input_write_pw(input_template,coords,box)
|
||||
|
||||
# invoke NWChem
|
||||
|
||||
i += 1
|
||||
log = "nwchem_lammps.out"
|
||||
archive = "nwchem_logs/nwchem_lammps" + str(i) + ".out"
|
||||
cmd = nwchemcmd + " nwchem_lammps.nw > " + log
|
||||
print("\nLaunching NWChem ...")
|
||||
print(cmd)
|
||||
subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
|
||||
|
||||
shutil.copyfile(log,archive)
|
||||
|
||||
# process NWChem output
|
||||
|
||||
if basis_type == "ao":
|
||||
energy,forces = nwchem_read_ao(natoms,log)
|
||||
virial = [0,0,0,0,0,0]
|
||||
elif basis_type == "pw":
|
||||
energy,forces,virial = nwchem_read_pw(log)
|
||||
|
||||
# return forces, energy to client
|
||||
cs.send(msgID,3)
|
||||
cs.pack(FORCES,4,3*natoms,forces)
|
||||
cs.pack_double(ENERGY,energy)
|
||||
cs.pack(VIRIAL,4,6,virial)
|
||||
|
||||
# final reply to client
|
||||
|
||||
cs.send(0,0)
|
||||
|
||||
# clean-up
|
||||
|
||||
del cs
|
||||
@ -1,15 +0,0 @@
|
||||
LAMMPS W data file
|
||||
|
||||
2 atoms
|
||||
|
||||
1 atom types
|
||||
|
||||
0.0 3.16 xlo xhi
|
||||
0.0 3.16 ylo yhi
|
||||
0.0 3.16 zlo zhi
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0.000 0.000 0.000
|
||||
2 1 1.58 1.58 1.58
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
# small W unit cell for use with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then &
|
||||
"message client md file tmp.couple" &
|
||||
elif "${mode} == zmq" &
|
||||
"message client md zmq localhost:5555" &
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
read_data data.W
|
||||
mass 1 183.85
|
||||
|
||||
replicate $x $y $z
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
|
||||
@ -1,38 +0,0 @@
|
||||
# small W unit cell for use with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then &
|
||||
"message client md file tmp.couple" &
|
||||
elif "${mode} == zmq" &
|
||||
"message client md zmq localhost:5555" &
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
read_data data.W
|
||||
mass 1 183.85
|
||||
|
||||
group one id 2
|
||||
displace_atoms one move 0.1 0.2 0.3
|
||||
|
||||
replicate $x $y $z
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
dump 1 all custom 1 dump.W.min id type x y z
|
||||
|
||||
thermo 1
|
||||
minimize 1.0e-6 1.0e-6 10 50
|
||||
@ -1,76 +0,0 @@
|
||||
LAMMPS (18 Sep 2018)
|
||||
# small W unit cell for use with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
|
||||
message client md file tmp.couple
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
read_data data.W
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
2 atoms
|
||||
mass 1 183.85
|
||||
|
||||
replicate $x $y $z
|
||||
replicate 1 $y $z
|
||||
replicate 1 1 $z
|
||||
replicate 1 1 1
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
2 atoms
|
||||
Time spent = 0.000187325 secs
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
Per MPI rank memory allocation (min/avg/max) = 1.8 | 1.8 | 1.8 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 0 0 -549.75686 36815830
|
||||
1 300 0 0 -549.75686 36815830
|
||||
2 300 0 0 -549.75686 36815830
|
||||
3 300 0 0 -549.75686 36815830
|
||||
Loop time of 0.400933 on 1 procs for 3 steps with 2 atoms
|
||||
|
||||
Performance: 0.646 ns/day, 37.123 hours/ns, 7.483 timesteps/s
|
||||
0.1% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 4.755e-06 | 4.755e-06 | 4.755e-06 | 0.0 | 0.00
|
||||
Output | 0.00010114 | 0.00010114 | 0.00010114 | 0.0 | 0.03
|
||||
Modify | 0.40082 | 0.40082 | 0.40082 | 0.0 | 99.97
|
||||
Other | | 1.232e-05 | | | 0.00
|
||||
|
||||
Nlocal: 2 ave 2 max 2 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7 ave 7 max 7 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
|
||||
Total wall time: 0:00:09
|
||||
@ -1,78 +0,0 @@
|
||||
LAMMPS (19 Sep 2019)
|
||||
# small W unit cell for use with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
|
||||
message client md file tmp.couple
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
read_data data.W
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
2 atoms
|
||||
read_data CPU = 0.0014801 secs
|
||||
mass 1 183.85
|
||||
|
||||
replicate $x $y $z
|
||||
replicate 1 $y $z
|
||||
replicate 1 1 $z
|
||||
replicate 1 1 1
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
2 atoms
|
||||
replicate CPU = 0.000123978 secs
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:166)
|
||||
Per MPI rank memory allocation (min/avg/max) = 1.801 | 1.801 | 1.801 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 0 0 -549.75686 36815830
|
||||
1 298.93216 0 0 -549.75686 36815825
|
||||
2 295.76254 0 0 -549.75687 36814830
|
||||
3 290.55935 0 0 -549.75687 36811865
|
||||
Loop time of 2.60414 on 1 procs for 3 steps with 2 atoms
|
||||
|
||||
Performance: 0.100 ns/day, 241.124 hours/ns, 1.152 timesteps/s
|
||||
0.0% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 7.1526e-06 | 7.1526e-06 | 7.1526e-06 | 0.0 | 0.00
|
||||
Output | 0.00012779 | 0.00012779 | 0.00012779 | 0.0 | 0.00
|
||||
Modify | 2.604 | 2.604 | 2.604 | 0.0 | 99.99
|
||||
Other | | 9.06e-06 | | | 0.00
|
||||
|
||||
Nlocal: 2 ave 2 max 2 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7 ave 7 max 7 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
|
||||
Total wall time: 0:00:05
|
||||
@ -1,92 +0,0 @@
|
||||
LAMMPS (19 Sep 2019)
|
||||
# small W unit cell for use with NWChem
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
|
||||
message client md file tmp.couple
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
read_data data.W
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
2 atoms
|
||||
read_data CPU = 0.00183487 secs
|
||||
mass 1 183.85
|
||||
|
||||
group one id 2
|
||||
1 atoms in group one
|
||||
displace_atoms one move 0.1 0.2 0.3
|
||||
|
||||
replicate $x $y $z
|
||||
replicate 1 $y $z
|
||||
replicate 1 1 $z
|
||||
replicate 1 1 1
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
2 atoms
|
||||
replicate CPU = 0.000159979 secs
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
dump 1 all custom 1 tmp.dump id type x y z
|
||||
|
||||
thermo 1
|
||||
minimize 1.0e-6 1.0e-6 10 50
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:174)
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:166)
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.676 | 4.676 | 4.676 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 0 0 -547.52142 28510277
|
||||
1 300 0 0 -549.43104 35614471
|
||||
2 300 0 0 -549.75661 36815830
|
||||
3 300 0 0 -549.75662 36815830
|
||||
Loop time of 7.71121 on 1 procs for 3 steps with 2 atoms
|
||||
|
||||
0.0% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-547.560202518 -549.795386038 -549.795398827
|
||||
Force two-norm initial, final = 16.0041 0.00108353
|
||||
Force max component initial, final = 9.57978 0.000719909
|
||||
Final line search alpha, max atom move = 1 0.000719909
|
||||
Iterations, force evaluations = 3 5
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 9.5367e-07 | 9.5367e-07 | 9.5367e-07 | 0.0 | 0.00
|
||||
Comm | 1.3113e-05 | 1.3113e-05 | 1.3113e-05 | 0.0 | 0.00
|
||||
Output | 0.00017023 | 0.00017023 | 0.00017023 | 0.0 | 0.00
|
||||
Modify | 7.7109 | 7.7109 | 7.7109 | 0.0 |100.00
|
||||
Other | | 0.0001729 | | | 0.00
|
||||
|
||||
Nlocal: 2 ave 2 max 2 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds not checked
|
||||
Total wall time: 0:00:19
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,817 +0,0 @@
|
||||
argument 1 = nwchem_lammps.nw
|
||||
|
||||
|
||||
|
||||
============================== echo of input deck ==============================
|
||||
echo
|
||||
|
||||
#**** Enter the geometry using fractional coordinates ****
|
||||
geometry units angstrom noautosym
|
||||
system crystal
|
||||
lat_a 3.16d0
|
||||
lat_b 3.16d0
|
||||
lat_c 3.16d0
|
||||
end
|
||||
W 0.999335 0.99967 0.998875
|
||||
W 0.500665 0.50033 0.501125
|
||||
end
|
||||
|
||||
nwpw
|
||||
vectors input nwchem_lammps.movecs
|
||||
end
|
||||
|
||||
#***** setup the nwpw gamma point code ****
|
||||
nwpw
|
||||
simulation_cell
|
||||
ngrid 16 16 16
|
||||
end
|
||||
ewald_ncut 8
|
||||
mulliken
|
||||
lcao #old default
|
||||
end
|
||||
|
||||
nwpw
|
||||
tolerances 1.0d-9 1.0d-9
|
||||
end
|
||||
|
||||
task pspw stress
|
||||
================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Northwest Computational Chemistry Package (NWChem) 6.8
|
||||
------------------------------------------------------
|
||||
|
||||
|
||||
Environmental Molecular Sciences Laboratory
|
||||
Pacific Northwest National Laboratory
|
||||
Richland, WA 99352
|
||||
|
||||
Copyright (c) 1994-2018
|
||||
Pacific Northwest National Laboratory
|
||||
Battelle Memorial Institute
|
||||
|
||||
NWChem is an open-source computational chemistry package
|
||||
distributed under the terms of the
|
||||
Educational Community License (ECL) 2.0
|
||||
A copy of the license is included with this distribution
|
||||
in the LICENSE.TXT file
|
||||
|
||||
ACKNOWLEDGMENT
|
||||
--------------
|
||||
|
||||
This software and its documentation were developed at the
|
||||
EMSL at Pacific Northwest National Laboratory, a multiprogram
|
||||
national laboratory, operated for the U.S. Department of Energy
|
||||
by Battelle under Contract Number DE-AC05-76RL01830. Support
|
||||
for this work was provided by the Department of Energy Office
|
||||
of Biological and Environmental Research, Office of Basic
|
||||
Energy Sciences, and the Office of Advanced Scientific Computing.
|
||||
|
||||
|
||||
Job information
|
||||
---------------
|
||||
|
||||
hostname = singsing
|
||||
program = /home/sjplimp/tools/nwchem-6.8.1-release/bin/LINUX64/nwchem
|
||||
date = Thu Oct 3 16:57:17 2019
|
||||
|
||||
compiled = Wed_Oct_02_09:25:27_2019
|
||||
source = /home/sjplimp/tools/nwchem-6.8.1-release
|
||||
nwchem branch = Development
|
||||
nwchem revision = N/A
|
||||
ga revision = 5.6.5
|
||||
use scalapack = F
|
||||
input = nwchem_lammps.nw
|
||||
prefix = nwchem_lammps.
|
||||
data base = ./nwchem_lammps.db
|
||||
status = restart
|
||||
nproc = 1
|
||||
time left = -1s
|
||||
|
||||
|
||||
|
||||
Memory information
|
||||
------------------
|
||||
|
||||
heap = 13107200 doubles = 100.0 Mbytes
|
||||
stack = 13107197 doubles = 100.0 Mbytes
|
||||
global = 26214400 doubles = 200.0 Mbytes (distinct from heap & stack)
|
||||
total = 52428797 doubles = 400.0 Mbytes
|
||||
verify = yes
|
||||
hardfail = no
|
||||
|
||||
|
||||
Directory information
|
||||
---------------------
|
||||
|
||||
0 permanent = .
|
||||
0 scratch = .
|
||||
|
||||
|
||||
Previous task information
|
||||
-------------------------
|
||||
|
||||
Theory = pspw
|
||||
Operation = stress
|
||||
Status = unknown
|
||||
Qmmm = F
|
||||
Ignore = F
|
||||
|
||||
|
||||
Geometries in the database
|
||||
--------------------------
|
||||
|
||||
Name Natoms Last Modified
|
||||
-------------------------------- ------ ------------------------
|
||||
1 geometry 2 Thu Oct 3 16:57:16 2019
|
||||
|
||||
The geometry named "geometry" is the default for restart
|
||||
|
||||
|
||||
|
||||
Basis sets in the database
|
||||
--------------------------
|
||||
|
||||
There are no basis sets in the database
|
||||
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
|
||||
!!!!!!!!! geom_3d NEEDS TESTING !!!!!!!!!!
|
||||
|
||||
|
||||
Geometry "geometry" -> ""
|
||||
-------------------------
|
||||
|
||||
Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.)
|
||||
|
||||
No. Tag Charge X Y Z
|
||||
---- ---------------- ---------- -------------- -------------- --------------
|
||||
1 W 74.0000 3.15789860 3.15895720 3.15644500
|
||||
2 W 74.0000 1.58210140 1.58104280 1.58355500
|
||||
|
||||
Lattice Parameters
|
||||
------------------
|
||||
|
||||
lattice vectors in angstroms (scale by 1.889725989 to convert to a.u.)
|
||||
|
||||
a1=< 3.160 0.000 0.000 >
|
||||
a2=< 0.000 3.160 0.000 >
|
||||
a3=< 0.000 0.000 3.160 >
|
||||
a= 3.160 b= 3.160 c= 3.160
|
||||
alpha= 90.000 beta= 90.000 gamma= 90.000
|
||||
omega= 31.6
|
||||
|
||||
reciprocal lattice vectors in a.u.
|
||||
|
||||
b1=< 1.052 0.000 -0.000 >
|
||||
b2=< -0.000 1.052 -0.000 >
|
||||
b3=< 0.000 0.000 1.052 >
|
||||
|
||||
Atomic Mass
|
||||
-----------
|
||||
|
||||
W 183.951000
|
||||
|
||||
|
||||
|
||||
XYZ format geometry
|
||||
-------------------
|
||||
2
|
||||
geometry
|
||||
W 3.15789860 3.15895720 3.15644500
|
||||
W 1.58210140 1.58104280 1.58355500
|
||||
|
||||
==============================================================================
|
||||
internuclear distances
|
||||
------------------------------------------------------------------------------
|
||||
center one | center two | atomic units | angstroms
|
||||
------------------------------------------------------------------------------
|
||||
2 W | 1 W | 5.15689 | 2.72891
|
||||
------------------------------------------------------------------------------
|
||||
number of included internuclear distances: 1
|
||||
==============================================================================
|
||||
|
||||
|
||||
|
||||
>>>> PSPW Parallel Module - stress <<<<
|
||||
****************************************************
|
||||
* *
|
||||
* NWPW PSPW Calculation *
|
||||
* *
|
||||
* [ (Grassmann/Stiefel manifold implementation) ] *
|
||||
* *
|
||||
* [ NorthWest Chemistry implementation ] *
|
||||
* *
|
||||
* version #5.10 06/12/02 *
|
||||
* *
|
||||
* This code was developed by Eric J. Bylaska, *
|
||||
* and was based upon algorithms and code *
|
||||
* developed by the group of Prof. John H. Weare *
|
||||
* *
|
||||
****************************************************
|
||||
>>> JOB STARTED AT Thu Oct 3 16:57:17 2019 <<<
|
||||
================ input data ========================
|
||||
|
||||
input psi filename:./nwchem_lammps.movecs
|
||||
|
||||
initializing pspw_APC data structure
|
||||
------------------------------------
|
||||
nga, ngs: 3 6
|
||||
Gc : 2.5000000000000000
|
||||
APC gamma: 1 0.59999999999999998
|
||||
APC gamma: 2 0.90000000000000002
|
||||
APC gamma: 3 1.3500000000000001
|
||||
|
||||
number of processors used: 1
|
||||
processor grid : 1 x 1
|
||||
parallel mapping :2d hilbert
|
||||
parallel mapping : balanced
|
||||
number of threads : 1
|
||||
parallel io : off
|
||||
|
||||
options:
|
||||
boundary conditions = periodic (version3)
|
||||
electron spin = restricted
|
||||
exchange-correlation = LDA (Vosko et al) parameterization
|
||||
|
||||
elements involved in the cluster:
|
||||
1: W valence charge: 6.0000 lmax= 2
|
||||
comment : Troullier-Martins pseudopotential
|
||||
pseudpotential type : 0
|
||||
highest angular component : 2
|
||||
local potential used : 0
|
||||
number of non-local projections: 8
|
||||
semicore corrections included : 1.800 (radius) 4.538 (charge)
|
||||
cutoff = 2.389 3.185 2.244
|
||||
|
||||
|
||||
total charge: 0.000
|
||||
|
||||
atomic composition:
|
||||
W : 2
|
||||
|
||||
number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space)
|
||||
number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space)
|
||||
|
||||
supercell:
|
||||
cell_name: cell_default
|
||||
lattice: a1=< 5.972 0.000 0.000 >
|
||||
a2=< 0.000 5.972 0.000 >
|
||||
a3=< 0.000 0.000 5.972 >
|
||||
reciprocal: b1=< 1.052 0.000 -0.000 >
|
||||
b2=< -0.000 1.052 -0.000 >
|
||||
b3=< 0.000 0.000 1.052 >
|
||||
lattice: a= 5.972 b= 5.972 c= 5.972
|
||||
alpha= 90.000 beta= 90.000 gamma= 90.000
|
||||
omega= 212.9
|
||||
|
||||
density cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task)
|
||||
wavefnc cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task)
|
||||
Ewald summation: cut radius= 1.90 and 8
|
||||
Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413)
|
||||
|
||||
technical parameters:
|
||||
time step= 5.80 fictitious mass= 400000.0
|
||||
tolerance=0.100E-08 (energy) 0.100E-08 (density)
|
||||
maximum iterations = 1000 ( 10 inner 100 outer )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
== Energy Calculation ==
|
||||
|
||||
|
||||
====== Grassmann conjugate gradient iteration ======
|
||||
>>> ITERATION STARTED AT Thu Oct 3 16:57:17 2019 <<<
|
||||
iter. Energy DeltaE DeltaRho
|
||||
------------------------------------------------------
|
||||
10 -0.2020457267E+02 -0.12753E-06 0.54770E-09
|
||||
20 -0.2020457281E+02 -0.96520E-09 0.65680E-11
|
||||
*** tolerance ok. iteration terminated
|
||||
>>> ITERATION ENDED AT Thu Oct 3 16:57:18 2019 <<<
|
||||
|
||||
|
||||
== Summary Of Results ==
|
||||
|
||||
number of electrons: spin up= 6.00000 down= 6.00000 (real space)
|
||||
|
||||
total energy : -0.2020457281E+02 ( -0.10102E+02/ion)
|
||||
total orbital energy: 0.5093546150E+01 ( 0.84892E+00/electron)
|
||||
hartree energy : 0.2903382088E+00 ( 0.48390E-01/electron)
|
||||
exc-corr energy : -0.9445078100E+01 ( -0.15742E+01/electron)
|
||||
ion-ion energy : -0.2193939674E+02 ( -0.10970E+02/ion)
|
||||
|
||||
kinetic (planewave) : 0.1441586264E+02 ( 0.24026E+01/electron)
|
||||
V_local (planewave) : 0.1156111351E+02 ( 0.19269E+01/electron)
|
||||
V_nl (planewave) : -0.1508741234E+02 ( -0.25146E+01/electron)
|
||||
V_Coul (planewave) : 0.5806764176E+00 ( 0.96779E-01/electron)
|
||||
V_xc. (planewave) : -0.6376694082E+01 ( -0.10628E+01/electron)
|
||||
Virial Coefficient : -0.6466707350E+00
|
||||
|
||||
orbital energies:
|
||||
0.5414291E+00 ( 14.733eV)
|
||||
0.5414285E+00 ( 14.733eV)
|
||||
0.5414070E+00 ( 14.733eV)
|
||||
0.3596871E+00 ( 9.788eV)
|
||||
0.3596781E+00 ( 9.787eV)
|
||||
0.2031433E+00 ( 5.528eV)
|
||||
|
||||
Total PSPW energy : -0.2020457281E+02
|
||||
|
||||
|
||||
=== Spin Contamination ===
|
||||
|
||||
<Sexact^2> = 0.0000000000000000
|
||||
<S^2> = 0.0000000000000000
|
||||
|
||||
|
||||
|
||||
== Center of Charge ==
|
||||
|
||||
spin up ( -0.0030, -0.0015, -0.0050 )
|
||||
spin down ( -0.0030, -0.0015, -0.0050 )
|
||||
total ( -0.0030, -0.0015, -0.0050 )
|
||||
ionic ( -1.4929, -1.4929, -1.4929 )
|
||||
|
||||
|
||||
== Molecular Dipole wrt Center of Mass ==
|
||||
|
||||
mu = ( -17.8792, -17.8970, -17.8547 ) au
|
||||
|mu| = 30.9638 au, 78.6976 Debye
|
||||
|
||||
|
||||
Translation force removed: ( -0.00000 -0.00000 -0.00000)
|
||||
|
||||
|
||||
============= Ion Gradients =================
|
||||
Ion Forces:
|
||||
1 W ( 0.002737 0.001358 0.004631 )
|
||||
2 W ( -0.002737 -0.001358 -0.004631 )
|
||||
C.O.M. ( 0.000000 0.000000 0.000000 )
|
||||
===============================================
|
||||
|F| = 0.784689E-02
|
||||
|F|/nion = 0.392344E-02
|
||||
max|Fatom|= 0.554859E-02 ( 0.285eV/Angstrom)
|
||||
|
||||
|
||||
|
||||
|
||||
======================
|
||||
= Stress calculation =
|
||||
======================
|
||||
|
||||
|
||||
============= total gradient ==============
|
||||
S = ( 0.12512 0.00000 0.00000 )
|
||||
( 0.00000 0.12512 0.00001 )
|
||||
( 0.00000 0.00001 0.12511 )
|
||||
===================================================
|
||||
|S| = 0.21671E+00
|
||||
pressure = 0.125E+00 au
|
||||
= 0.368E+02 Mbar
|
||||
= 0.368E+04 GPa
|
||||
= 0.363E+08 atm
|
||||
|
||||
|
||||
dE/da = 0.12512
|
||||
dE/db = 0.12512
|
||||
dE/dc = 0.12511
|
||||
dE/dalpha = -0.00003
|
||||
dE/dbeta = -0.00002
|
||||
dE/dgamma = -0.00001
|
||||
|
||||
|
||||
|
||||
|
||||
*************************************************************
|
||||
** **
|
||||
** PSPW Mulliken analysis **
|
||||
** **
|
||||
** Population analysis algorithm devloped by Ryoichi Kawai **
|
||||
** **
|
||||
** Thu Oct 3 16:57 **
|
||||
** **
|
||||
*************************************************************
|
||||
|
||||
|
||||
== XYZ OUTPUT ==
|
||||
|
||||
|
||||
2
|
||||
|
||||
W -0.002101 -0.001043 -0.003555
|
||||
W -1.577898 -1.578956 -1.576444
|
||||
|
||||
|
||||
== Atomic Orbital Expansion ==
|
||||
|
||||
W nodamping
|
||||
|
||||
|
||||
=====================================================
|
||||
| POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS |
|
||||
=====================================================
|
||||
|
||||
|
||||
== Using pseudoatomic orbital expansion ==
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54143E+00 ( 14.733eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
1 W 1 0.00000 -0.00018 -0.00011 0.00005
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.49999 0.00003 -0.68532 0.00001 0.10591 0.13824
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00001 -0.00003 -0.00187 -0.00238 -0.00028 0.00001 0.00000 -0.00017
|
||||
s
|
||||
2 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
2 W 1 0.00000 0.00018 0.00011 -0.00005
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.49999 0.00003 -0.68532 0.00001 0.10591 0.13824
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00001 -0.00003 0.00187 0.00238 0.00028 -0.00001 -0.00000 0.00017
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 1.0000 0.0000
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12472E+01 E= 0.54143E+00 ( 14.733eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
1 W 1 0.00000 0.00002 -0.00005 -0.00011
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.49998 -0.00001 -0.02322 0.00001 -0.61187 0.35363
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00002 -0.00001 0.00071 -0.00049 -0.00015 -0.00283 0.00006 0.00266
|
||||
s
|
||||
2 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00002 0.00005 0.00011
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.49998 -0.00001 -0.02322 0.00001 -0.61187 0.35363
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00002 -0.00001 -0.00071 0.00049 0.00015 0.00283 -0.00006 -0.00266
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 1.0000 0.0000
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12472E+01 E= 0.54141E+00 ( 14.733eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
1 W 1 0.00000 0.00010 0.00006 0.00020
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.49999 0.00000 0.17259 0.00000 0.33820 0.59651
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00001 0.00000 0.00001 -0.00015 0.00015 -0.00033 -0.00325 -0.00033
|
||||
s
|
||||
2 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00010 -0.00006 -0.00020
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.49999 0.00000 0.17259 0.00000 0.33820 0.59651
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00001 0.00000 -0.00001 0.00015 -0.00015 0.00033 0.00325 0.00033
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 1.0000 0.0000
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14577E+01 E= 0.35969E+00 ( 9.788eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
1 W 1 0.00002 0.00162 -0.00440 0.00049
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.48998 -0.09896 0.00001 0.69296 0.00001 -0.00001
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00999 -0.09993 0.00031 -0.00131 -0.00234 -0.00064 0.00000 0.00022
|
||||
s
|
||||
2 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
2 W 1 0.00002 0.00162 -0.00440 0.00049
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.48998 0.09896 -0.00001 -0.69296 -0.00001 0.00001
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00999 0.09993 0.00031 -0.00131 -0.00234 -0.00064 0.00000 0.00022
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 0.9800 0.0200
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 5*** SPIN=BOTH SUM= 0.14616E+01 E= 0.35968E+00 ( 9.787eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
1 W 1 0.00001 0.00206 0.00063 -0.00121
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.48871 -0.69206 -0.00002 -0.09883 0.00001 0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.01129 -0.10621 0.00214 0.00009 0.00033 0.00014 0.00000 0.00063
|
||||
s
|
||||
2 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
2 W 1 0.00001 0.00206 0.00063 -0.00121
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.48871 0.69206 0.00002 0.09883 -0.00001 -0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.01129 0.10621 0.00214 0.00009 0.00033 0.00014 0.00000 0.00063
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 0.9774 0.0226
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19540E+01 E= 0.20314E+00 ( 5.528eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.49974 -0.70692
|
||||
px pz py
|
||||
1 W 1 0.00000 0.00028 0.00047 0.00014
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00026 0.01609 -0.00000 -0.00007 0.00021 -0.00003 0.00000 -0.00004
|
||||
s
|
||||
2 W 0 0.49974 -0.70692
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00028 -0.00047 -0.00014
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00026 0.01609 0.00000 0.00007 -0.00021 0.00003 -0.00000 0.00004
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.9995 0.0000 0.0000 0.0005
|
||||
|
||||
|
||||
========================================
|
||||
| POPULATION ANALYSIS ON EACH ATOM |
|
||||
========================================
|
||||
|
||||
|
||||
NO ATOM SPIN TOTAL s p d f
|
||||
1 W UP 3.00000 0.49974 0.00003 2.47866 0.02157
|
||||
1 W DOWN 3.00000 0.49974 0.00003 2.47866 0.02157
|
||||
2 W UP 3.00000 0.49974 0.00003 2.47866 0.02157
|
||||
2 W DOWN 3.00000 0.49974 0.00003 2.47866 0.02157
|
||||
|
||||
|
||||
|
||||
=== TOTAL ANGULAR MOMENTUM POPULATION ===
|
||||
|
||||
SPIN s p d f
|
||||
UP 16.66% 0.00% 82.62% 0.72%
|
||||
UP 16.66% 0.00% 82.62% 0.72%
|
||||
TOTAL 16.66% 0.00% 82.62% 0.72%
|
||||
|
||||
*************************************************************
|
||||
** **
|
||||
** PSPW Atomic Point Charge (APC) Analysis **
|
||||
** **
|
||||
** Point charge analysis based on paper by P.E. Blochl **
|
||||
** (J. Chem. Phys. vol 103, page 7422, 1995) **
|
||||
** **
|
||||
*************************************************************
|
||||
|
||||
pspw_APC data structure
|
||||
-----------------------
|
||||
nga, ngs: 3 6
|
||||
Gc : 2.5000000000000000
|
||||
APC gamma: 1 0.59999999999999998
|
||||
APC gamma: 2 0.90000000000000002
|
||||
APC gamma: 3 1.3500000000000001
|
||||
|
||||
charge analysis on each atom
|
||||
----------------------------
|
||||
|
||||
no atom Qelc Qion Qtotal
|
||||
-- ---- ------- ------- -------
|
||||
1 W -6.000 6.000 -0.000
|
||||
2 W -6.000 6.000 -0.000
|
||||
Total Q -12.000 12.000 -0.000
|
||||
|
||||
|
||||
gaussian coefficients of model density
|
||||
--------------------------------------
|
||||
|
||||
no atom g=0.000 g=0.600 g=0.900 g=1.350
|
||||
-- ---- ------- ------- ------- -------
|
||||
1 W 6.000 -7.235 17.653 -16.419
|
||||
2 W 6.000 -7.235 17.653 -16.419
|
||||
|
||||
|
||||
=== Electric Field at Atoms ===
|
||||
|
||||
1 W Atomic Electric Field =( -0.00022 -0.00011 -0.00038 )
|
||||
(ion) =( 0.00094 0.00047 0.00159 )
|
||||
(electronic) =( -0.00116 -0.00058 -0.00197 )
|
||||
2 W Atomic Electric Field =( 0.00022 0.00011 0.00038 )
|
||||
(ion) =( -0.00094 -0.00047 -0.00159 )
|
||||
(electronic) =( 0.00116 0.00058 0.00197 )
|
||||
|
||||
output psi filename:./nwchem_lammps.movecs
|
||||
|
||||
|
||||
== Timing ==
|
||||
|
||||
cputime in seconds
|
||||
prologue : 0.114428E+00
|
||||
main loop : 0.475396E+00
|
||||
epilogue : 0.316691E-01
|
||||
total : 0.621493E+00
|
||||
cputime/step: 0.559289E-02 ( 85 evalulations, 20 linesearches)
|
||||
|
||||
|
||||
Time spent doing total step percent
|
||||
total time : 0.623259E+00 0.733246E-02 100.0 %
|
||||
i/o time : 0.103071E-01 0.121260E-03 1.7 %
|
||||
FFTs : 0.348712E-01 0.410250E-03 5.6 %
|
||||
dot products : 0.981057E-02 0.115418E-03 1.6 %
|
||||
geodesic : 0.696999E-01 0.819999E-03 11.2 %
|
||||
ffm_dgemm : 0.104145E-02 0.122523E-04 0.2 %
|
||||
fmf_dgemm : 0.565297E-01 0.665055E-03 9.1 %
|
||||
mmm_dgemm : 0.129490E-03 0.152342E-05 0.0 %
|
||||
m_diagonalize : 0.701885E-03 0.825747E-05 0.1 %
|
||||
exchange correlation : 0.764353E-01 0.899239E-03 12.3 %
|
||||
local pseudopotentials : 0.439882E-03 0.517509E-05 0.1 %
|
||||
non-local pseudopotentials : 0.271890E-01 0.319871E-03 4.4 %
|
||||
hartree potentials : 0.202482E-02 0.238214E-04 0.3 %
|
||||
ion-ion interaction : 0.104062E+00 0.122426E-02 16.7 %
|
||||
structure factors : 0.152984E-01 0.179981E-03 2.5 %
|
||||
phase factors : 0.107278E-04 0.126210E-06 0.0 %
|
||||
masking and packing : 0.304392E-01 0.358108E-03 4.9 %
|
||||
queue fft : 0.111536E+00 0.131219E-02 17.9 %
|
||||
queue fft (serial) : 0.708244E-01 0.833228E-03 11.4 %
|
||||
queue fft (message passing): 0.360800E-01 0.424470E-03 5.8 %
|
||||
non-local psp FFM : 0.860008E-02 0.101177E-03 1.4 %
|
||||
non-local psp FMF : 0.111482E-01 0.131155E-03 1.8 %
|
||||
non-local psp FFM A : 0.214632E-02 0.252509E-04 0.3 %
|
||||
non-local psp FFM B : 0.560879E-02 0.659858E-04 0.9 %
|
||||
|
||||
>>> JOB COMPLETED AT Thu Oct 3 16:57:18 2019 <<<
|
||||
|
||||
Task times cpu: 0.6s wall: 0.6s
|
||||
Summary of allocated global arrays
|
||||
-----------------------------------
|
||||
No active global arrays
|
||||
|
||||
|
||||
|
||||
GA Statistics for process 0
|
||||
------------------------------
|
||||
|
||||
create destroy get put acc scatter gather read&inc
|
||||
calls: 0 0 0 0 0 0 0 0
|
||||
number of processes/call 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
bytes total: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
Max memory consumed for GA by this process: 0 bytes
|
||||
MA_summarize_allocated_blocks: starting scan ...
|
||||
MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks
|
||||
MA usage statistics:
|
||||
|
||||
allocation statistics:
|
||||
heap stack
|
||||
---- -----
|
||||
current number of blocks 0 0
|
||||
maximum number of blocks 294 17
|
||||
current total bytes 0 0
|
||||
maximum total bytes 4879496 351944
|
||||
maximum total K-bytes 4880 352
|
||||
maximum total M-bytes 5 1
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CITATION
|
||||
--------
|
||||
Please cite the following reference when publishing
|
||||
results obtained with NWChem:
|
||||
|
||||
M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski,
|
||||
T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha,
|
||||
E. Apra, T.L. Windus, W.A. de Jong
|
||||
"NWChem: a comprehensive and scalable open-source
|
||||
solution for large scale molecular simulations"
|
||||
Comput. Phys. Commun. 181, 1477 (2010)
|
||||
doi:10.1016/j.cpc.2010.04.018
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski,
|
||||
T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus,
|
||||
J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata,
|
||||
S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa,
|
||||
Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov,
|
||||
D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich,
|
||||
A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao,
|
||||
P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr,
|
||||
M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju,
|
||||
M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart,
|
||||
Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown,
|
||||
G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall,
|
||||
J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt,
|
||||
P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall,
|
||||
D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson,
|
||||
J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng,
|
||||
T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone,
|
||||
M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang.
|
||||
|
||||
Total times cpu: 0.6s wall: 0.7s
|
||||
@ -1,816 +0,0 @@
|
||||
argument 1 = nwchem_lammps.nw
|
||||
|
||||
|
||||
|
||||
============================== echo of input deck ==============================
|
||||
echo
|
||||
|
||||
#**** Enter the geometry using fractional coordinates ****
|
||||
geometry units angstrom noautosym
|
||||
system crystal
|
||||
lat_a 3.16d0
|
||||
lat_b 3.16d0
|
||||
lat_c 3.16d0
|
||||
end
|
||||
W 0.0158218 0.0316436 0.0474661
|
||||
W 0.515824 0.531647 0.547471
|
||||
end
|
||||
|
||||
nwpw
|
||||
vectors input nwchem_lammps.movecs
|
||||
end
|
||||
|
||||
#***** setup the nwpw gamma point code ****
|
||||
nwpw
|
||||
simulation_cell
|
||||
ngrid 16 16 16
|
||||
end
|
||||
ewald_ncut 8
|
||||
mulliken
|
||||
lcao #old default
|
||||
end
|
||||
|
||||
nwpw
|
||||
tolerances 1.0d-9 1.0d-9
|
||||
end
|
||||
|
||||
task pspw stress
|
||||
================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Northwest Computational Chemistry Package (NWChem) 6.8
|
||||
------------------------------------------------------
|
||||
|
||||
|
||||
Environmental Molecular Sciences Laboratory
|
||||
Pacific Northwest National Laboratory
|
||||
Richland, WA 99352
|
||||
|
||||
Copyright (c) 1994-2018
|
||||
Pacific Northwest National Laboratory
|
||||
Battelle Memorial Institute
|
||||
|
||||
NWChem is an open-source computational chemistry package
|
||||
distributed under the terms of the
|
||||
Educational Community License (ECL) 2.0
|
||||
A copy of the license is included with this distribution
|
||||
in the LICENSE.TXT file
|
||||
|
||||
ACKNOWLEDGMENT
|
||||
--------------
|
||||
|
||||
This software and its documentation were developed at the
|
||||
EMSL at Pacific Northwest National Laboratory, a multiprogram
|
||||
national laboratory, operated for the U.S. Department of Energy
|
||||
by Battelle under Contract Number DE-AC05-76RL01830. Support
|
||||
for this work was provided by the Department of Energy Office
|
||||
of Biological and Environmental Research, Office of Basic
|
||||
Energy Sciences, and the Office of Advanced Scientific Computing.
|
||||
|
||||
|
||||
Job information
|
||||
---------------
|
||||
|
||||
hostname = singsing
|
||||
program = /home/sjplimp/tools/nwchem-6.8.1-release/bin/LINUX64/nwchem
|
||||
date = Thu Oct 3 16:58:54 2019
|
||||
|
||||
compiled = Wed_Oct_02_09:25:27_2019
|
||||
source = /home/sjplimp/tools/nwchem-6.8.1-release
|
||||
nwchem branch = Development
|
||||
nwchem revision = N/A
|
||||
ga revision = 5.6.5
|
||||
use scalapack = F
|
||||
input = nwchem_lammps.nw
|
||||
prefix = nwchem_lammps.
|
||||
data base = ./nwchem_lammps.db
|
||||
status = restart
|
||||
nproc = 1
|
||||
time left = -1s
|
||||
|
||||
|
||||
|
||||
Memory information
|
||||
------------------
|
||||
|
||||
heap = 13107200 doubles = 100.0 Mbytes
|
||||
stack = 13107197 doubles = 100.0 Mbytes
|
||||
global = 26214400 doubles = 200.0 Mbytes (distinct from heap & stack)
|
||||
total = 52428797 doubles = 400.0 Mbytes
|
||||
verify = yes
|
||||
hardfail = no
|
||||
|
||||
|
||||
Directory information
|
||||
---------------------
|
||||
|
||||
0 permanent = .
|
||||
0 scratch = .
|
||||
|
||||
|
||||
Previous task information
|
||||
-------------------------
|
||||
|
||||
Theory = pspw
|
||||
Operation = stress
|
||||
Status = unknown
|
||||
Qmmm = F
|
||||
Ignore = F
|
||||
|
||||
|
||||
Geometries in the database
|
||||
--------------------------
|
||||
|
||||
Name Natoms Last Modified
|
||||
-------------------------------- ------ ------------------------
|
||||
1 geometry 2 Thu Oct 3 16:58:53 2019
|
||||
|
||||
The geometry named "geometry" is the default for restart
|
||||
|
||||
|
||||
|
||||
Basis sets in the database
|
||||
--------------------------
|
||||
|
||||
There are no basis sets in the database
|
||||
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
|
||||
!!!!!!!!! geom_3d NEEDS TESTING !!!!!!!!!!
|
||||
|
||||
|
||||
Geometry "geometry" -> ""
|
||||
-------------------------
|
||||
|
||||
Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.)
|
||||
|
||||
No. Tag Charge X Y Z
|
||||
---- ---------------- ---------- -------------- -------------- --------------
|
||||
1 W 74.0000 0.04999689 0.09999378 0.14999288
|
||||
2 W 74.0000 1.63000384 1.68000452 1.73000836
|
||||
|
||||
Lattice Parameters
|
||||
------------------
|
||||
|
||||
lattice vectors in angstroms (scale by 1.889725989 to convert to a.u.)
|
||||
|
||||
a1=< 3.160 0.000 0.000 >
|
||||
a2=< 0.000 3.160 0.000 >
|
||||
a3=< 0.000 0.000 3.160 >
|
||||
a= 3.160 b= 3.160 c= 3.160
|
||||
alpha= 90.000 beta= 90.000 gamma= 90.000
|
||||
omega= 31.6
|
||||
|
||||
reciprocal lattice vectors in a.u.
|
||||
|
||||
b1=< 1.052 0.000 -0.000 >
|
||||
b2=< -0.000 1.052 -0.000 >
|
||||
b3=< 0.000 0.000 1.052 >
|
||||
|
||||
Atomic Mass
|
||||
-----------
|
||||
|
||||
W 183.951000
|
||||
|
||||
|
||||
|
||||
XYZ format geometry
|
||||
-------------------
|
||||
2
|
||||
geometry
|
||||
W 0.04999689 0.09999378 0.14999288
|
||||
W 1.63000384 1.68000452 1.73000836
|
||||
|
||||
==============================================================================
|
||||
internuclear distances
|
||||
------------------------------------------------------------------------------
|
||||
center one | center two | atomic units | angstroms
|
||||
------------------------------------------------------------------------------
|
||||
2 W | 1 W | 5.17154 | 2.73666
|
||||
------------------------------------------------------------------------------
|
||||
number of included internuclear distances: 1
|
||||
==============================================================================
|
||||
|
||||
|
||||
|
||||
>>>> PSPW Parallel Module - stress <<<<
|
||||
****************************************************
|
||||
* *
|
||||
* NWPW PSPW Calculation *
|
||||
* *
|
||||
* [ (Grassmann/Stiefel manifold implementation) ] *
|
||||
* *
|
||||
* [ NorthWest Chemistry implementation ] *
|
||||
* *
|
||||
* version #5.10 06/12/02 *
|
||||
* *
|
||||
* This code was developed by Eric J. Bylaska, *
|
||||
* and was based upon algorithms and code *
|
||||
* developed by the group of Prof. John H. Weare *
|
||||
* *
|
||||
****************************************************
|
||||
>>> JOB STARTED AT Thu Oct 3 16:58:54 2019 <<<
|
||||
================ input data ========================
|
||||
|
||||
input psi filename:./nwchem_lammps.movecs
|
||||
|
||||
initializing pspw_APC data structure
|
||||
------------------------------------
|
||||
nga, ngs: 3 6
|
||||
Gc : 2.5000000000000000
|
||||
APC gamma: 1 0.59999999999999998
|
||||
APC gamma: 2 0.90000000000000002
|
||||
APC gamma: 3 1.3500000000000001
|
||||
|
||||
number of processors used: 1
|
||||
processor grid : 1 x 1
|
||||
parallel mapping :2d hilbert
|
||||
parallel mapping : balanced
|
||||
number of threads : 1
|
||||
parallel io : off
|
||||
|
||||
options:
|
||||
boundary conditions = periodic (version3)
|
||||
electron spin = restricted
|
||||
exchange-correlation = LDA (Vosko et al) parameterization
|
||||
|
||||
elements involved in the cluster:
|
||||
1: W valence charge: 6.0000 lmax= 2
|
||||
comment : Troullier-Martins pseudopotential
|
||||
pseudpotential type : 0
|
||||
highest angular component : 2
|
||||
local potential used : 0
|
||||
number of non-local projections: 8
|
||||
semicore corrections included : 1.800 (radius) 4.538 (charge)
|
||||
cutoff = 2.389 3.185 2.244
|
||||
|
||||
|
||||
total charge: 0.000
|
||||
|
||||
atomic composition:
|
||||
W : 2
|
||||
|
||||
number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space)
|
||||
number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space)
|
||||
|
||||
supercell:
|
||||
cell_name: cell_default
|
||||
lattice: a1=< 5.972 0.000 0.000 >
|
||||
a2=< 0.000 5.972 0.000 >
|
||||
a3=< 0.000 0.000 5.972 >
|
||||
reciprocal: b1=< 1.052 0.000 -0.000 >
|
||||
b2=< -0.000 1.052 -0.000 >
|
||||
b3=< 0.000 0.000 1.052 >
|
||||
lattice: a= 5.972 b= 5.972 c= 5.972
|
||||
alpha= 90.000 beta= 90.000 gamma= 90.000
|
||||
omega= 212.9
|
||||
|
||||
density cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task)
|
||||
wavefnc cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task)
|
||||
Ewald summation: cut radius= 1.90 and 8
|
||||
Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413)
|
||||
|
||||
technical parameters:
|
||||
time step= 5.80 fictitious mass= 400000.0
|
||||
tolerance=0.100E-08 (energy) 0.100E-08 (density)
|
||||
maximum iterations = 1000 ( 10 inner 100 outer )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
== Energy Calculation ==
|
||||
|
||||
|
||||
====== Grassmann conjugate gradient iteration ======
|
||||
>>> ITERATION STARTED AT Thu Oct 3 16:58:54 2019 <<<
|
||||
iter. Energy DeltaE DeltaRho
|
||||
------------------------------------------------------
|
||||
10 -0.2020460841E+02 -0.37164E-09 0.13892E-11
|
||||
*** tolerance ok. iteration terminated
|
||||
>>> ITERATION ENDED AT Thu Oct 3 16:58:54 2019 <<<
|
||||
|
||||
|
||||
== Summary Of Results ==
|
||||
|
||||
number of electrons: spin up= 6.00000 down= 6.00000 (real space)
|
||||
|
||||
total energy : -0.2020460841E+02 ( -0.10102E+02/ion)
|
||||
total orbital energy: 0.5093526999E+01 ( 0.84892E+00/electron)
|
||||
hartree energy : 0.2902689593E+00 ( 0.48378E-01/electron)
|
||||
exc-corr energy : -0.9445045626E+01 ( -0.15742E+01/electron)
|
||||
ion-ion energy : -0.2193948849E+02 ( -0.10970E+02/ion)
|
||||
|
||||
kinetic (planewave) : 0.1441573280E+02 ( 0.24026E+01/electron)
|
||||
V_local (planewave) : 0.1156119613E+02 ( 0.19269E+01/electron)
|
||||
V_nl (planewave) : -0.1508727219E+02 ( -0.25145E+01/electron)
|
||||
V_Coul (planewave) : 0.5805379185E+00 ( 0.96756E-01/electron)
|
||||
V_xc. (planewave) : -0.6376667662E+01 ( -0.10628E+01/electron)
|
||||
Virial Coefficient : -0.6466688811E+00
|
||||
|
||||
orbital energies:
|
||||
0.5414223E+00 ( 14.733eV)
|
||||
0.5414201E+00 ( 14.733eV)
|
||||
0.5414174E+00 ( 14.733eV)
|
||||
0.3596809E+00 ( 9.787eV)
|
||||
0.3596804E+00 ( 9.787eV)
|
||||
0.2031424E+00 ( 5.528eV)
|
||||
|
||||
Total PSPW energy : -0.2020460841E+02
|
||||
|
||||
|
||||
=== Spin Contamination ===
|
||||
|
||||
<Sexact^2> = 0.0000000000000000
|
||||
<S^2> = 0.0000000000000000
|
||||
|
||||
|
||||
|
||||
== Center of Charge ==
|
||||
|
||||
spin up ( 0.0106, 0.0203, 0.0283 )
|
||||
spin down ( 0.0106, 0.0203, 0.0283 )
|
||||
total ( 0.0106, 0.0203, 0.0283 )
|
||||
ionic ( -1.3984, -1.3039, -1.2094 )
|
||||
|
||||
|
||||
== Molecular Dipole wrt Center of Mass ==
|
||||
|
||||
mu = ( -16.9083, -15.8910, -14.8528 ) au
|
||||
|mu| = 27.5503 au, 70.0218 Debye
|
||||
|
||||
|
||||
Translation force removed: ( -0.00002 0.00000 0.00002)
|
||||
|
||||
|
||||
============= Ion Gradients =================
|
||||
Ion Forces:
|
||||
1 W ( -0.000001 0.000005 0.000014 )
|
||||
2 W ( 0.000001 -0.000005 -0.000014 )
|
||||
C.O.M. ( -0.000000 0.000000 0.000000 )
|
||||
===============================================
|
||||
|F| = 0.216488E-04
|
||||
|F|/nion = 0.108244E-04
|
||||
max|Fatom|= 0.153080E-04 ( 0.001eV/Angstrom)
|
||||
|
||||
|
||||
|
||||
|
||||
======================
|
||||
= Stress calculation =
|
||||
======================
|
||||
|
||||
|
||||
============= total gradient ==============
|
||||
S = ( 0.12513 0.00001 -0.00003 )
|
||||
( 0.00001 0.12513 -0.00001 )
|
||||
( -0.00003 -0.00001 0.12513 )
|
||||
===================================================
|
||||
|S| = 0.21673E+00
|
||||
pressure = 0.125E+00 au
|
||||
= 0.368E+02 Mbar
|
||||
= 0.368E+04 GPa
|
||||
= 0.363E+08 atm
|
||||
|
||||
|
||||
dE/da = 0.12513
|
||||
dE/db = 0.12513
|
||||
dE/dc = 0.12513
|
||||
dE/dalpha = 0.00006
|
||||
dE/dbeta = 0.00020
|
||||
dE/dgamma = -0.00008
|
||||
|
||||
|
||||
|
||||
|
||||
*************************************************************
|
||||
** **
|
||||
** PSPW Mulliken analysis **
|
||||
** **
|
||||
** Population analysis algorithm devloped by Ryoichi Kawai **
|
||||
** **
|
||||
** Thu Oct 3 16:58 **
|
||||
** **
|
||||
*************************************************************
|
||||
|
||||
|
||||
== XYZ OUTPUT ==
|
||||
|
||||
|
||||
2
|
||||
|
||||
W 0.049997 0.099994 0.149993
|
||||
W -1.529995 -1.479995 -1.429991
|
||||
|
||||
|
||||
== Atomic Orbital Expansion ==
|
||||
|
||||
W nodamping
|
||||
|
||||
|
||||
=====================================================
|
||||
| POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS |
|
||||
=====================================================
|
||||
|
||||
|
||||
== Using pseudoatomic orbital expansion ==
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
1 W 1 0.00000 0.00000 0.00000 0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.50000 -0.00001 -0.03953 0.00002 0.50309 0.49532
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00000 -0.00001 -0.00000 -0.00000 0.00000 0.00000 -0.00001 -0.00000
|
||||
s
|
||||
2 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00000 -0.00000 -0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.50000 -0.00001 -0.03953 0.00002 0.50309 0.49532
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00000 -0.00001 0.00000 0.00000 -0.00000 -0.00000 0.00001 0.00000
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 1.0000 0.0000
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
1 W 1 0.00000 0.00000 0.00000 0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.50000 0.00004 0.62658 0.00003 -0.20360 0.25680
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00000 -0.00004 0.00000 0.00000 -0.00000 -0.00000 -0.00001 0.00000
|
||||
s
|
||||
2 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00000 -0.00000 -0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.50000 0.00004 0.62658 0.00003 -0.20360 0.25680
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00000 -0.00004 -0.00000 -0.00000 -0.00000 0.00000 0.00001 -0.00000
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 1.0000 0.0000
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 0.00001
|
||||
px pz py
|
||||
1 W 1 0.00000 0.00000 -0.00000 -0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.50000 -0.00001 -0.32532 -0.00000 -0.45327 0.43441
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00000 0.00001 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000
|
||||
s
|
||||
2 W 0 0.00000 0.00001
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00000 0.00000 0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.50000 -0.00001 -0.32532 -0.00000 -0.45327 0.43441
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00000 0.00001 -0.00000 0.00001 0.00000 0.00000 0.00000 -0.00000
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 1.0000 0.0000
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14785E+01 E= 0.35968E+00 ( 9.787eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
1 W 1 0.00000 -0.00000 0.00001 -0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.48310 0.33381 0.00000 -0.60965 0.00000 0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.01690 0.13001 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000
|
||||
s
|
||||
2 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00000 0.00001 -0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.48310 -0.33381 -0.00000 0.60965 -0.00000 -0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.01690 -0.13001 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 0.9662 0.0338
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 5*** SPIN=BOTH SUM= 0.14407E+01 E= 0.35968E+00 ( 9.787eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.00000 -0.00000
|
||||
px pz py
|
||||
1 W 1 0.00000 -0.00000 -0.00000 0.00001
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.49580 0.61761 -0.00000 0.33817 0.00000 -0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00420 0.06484 -0.00001 0.00000 -0.00000 -0.00000 -0.00000 -0.00000
|
||||
s
|
||||
2 W 0 0.00000 0.00000
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00000 -0.00000 0.00001
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.49580 -0.61761 0.00000 -0.33817 -0.00000 0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00420 -0.06484 -0.00001 0.00000 -0.00000 -0.00000 -0.00000 -0.00000
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.0000 0.0000 0.9916 0.0084
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19540E+01 E= 0.20314E+00 ( 5.528eV)
|
||||
|
||||
NO ATOM L POPULATION
|
||||
s
|
||||
1 W 0 0.49974 -0.70692
|
||||
px pz py
|
||||
1 W 1 0.00000 0.00000 -0.00000 0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
1 W 2 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
1 W 3 0.00026 0.01609 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000
|
||||
s
|
||||
2 W 0 0.49974 -0.70692
|
||||
px pz py
|
||||
2 W 1 0.00000 -0.00000 0.00000 -0.00000
|
||||
dx2-y2 dzx d3z2-1 dyz dxy
|
||||
2 W 2 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000
|
||||
fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2)
|
||||
2 W 3 0.00026 0.01609 0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000
|
||||
|
||||
|
||||
=== DISTRIBUTION ===
|
||||
|
||||
1(W ) 0.5000 2(W ) 0.5000
|
||||
|
||||
|
||||
== ANGULAR MOMENTUM POPULATIONS ===
|
||||
|
||||
s p d f
|
||||
0.9995 0.0000 0.0000 0.0005
|
||||
|
||||
|
||||
========================================
|
||||
| POPULATION ANALYSIS ON EACH ATOM |
|
||||
========================================
|
||||
|
||||
|
||||
NO ATOM SPIN TOTAL s p d f
|
||||
1 W UP 3.00000 0.49974 0.00000 2.47889 0.02137
|
||||
1 W DOWN 3.00000 0.49974 0.00000 2.47889 0.02137
|
||||
2 W UP 3.00000 0.49974 0.00000 2.47889 0.02137
|
||||
2 W DOWN 3.00000 0.49974 0.00000 2.47889 0.02137
|
||||
|
||||
|
||||
|
||||
=== TOTAL ANGULAR MOMENTUM POPULATION ===
|
||||
|
||||
SPIN s p d f
|
||||
UP 16.66% 0.00% 82.63% 0.71%
|
||||
UP 16.66% 0.00% 82.63% 0.71%
|
||||
TOTAL 16.66% 0.00% 82.63% 0.71%
|
||||
|
||||
*************************************************************
|
||||
** **
|
||||
** PSPW Atomic Point Charge (APC) Analysis **
|
||||
** **
|
||||
** Point charge analysis based on paper by P.E. Blochl **
|
||||
** (J. Chem. Phys. vol 103, page 7422, 1995) **
|
||||
** **
|
||||
*************************************************************
|
||||
|
||||
pspw_APC data structure
|
||||
-----------------------
|
||||
nga, ngs: 3 6
|
||||
Gc : 2.5000000000000000
|
||||
APC gamma: 1 0.59999999999999998
|
||||
APC gamma: 2 0.90000000000000002
|
||||
APC gamma: 3 1.3500000000000001
|
||||
|
||||
charge analysis on each atom
|
||||
----------------------------
|
||||
|
||||
no atom Qelc Qion Qtotal
|
||||
-- ---- ------- ------- -------
|
||||
1 W -6.000 6.000 -0.000
|
||||
2 W -6.000 6.000 0.000
|
||||
Total Q -12.000 12.000 -0.000
|
||||
|
||||
|
||||
gaussian coefficients of model density
|
||||
--------------------------------------
|
||||
|
||||
no atom g=0.000 g=0.600 g=0.900 g=1.350
|
||||
-- ---- ------- ------- ------- -------
|
||||
1 W 6.000 -7.235 17.654 -16.419
|
||||
2 W 6.000 -7.234 17.651 -16.418
|
||||
|
||||
|
||||
=== Electric Field at Atoms ===
|
||||
|
||||
1 W Atomic Electric Field =( -0.00002 0.00000 0.00001 )
|
||||
(ion) =( 0.00000 0.00000 0.00000 )
|
||||
(electronic) =( -0.00002 -0.00000 0.00001 )
|
||||
2 W Atomic Electric Field =( -0.00002 0.00000 0.00002 )
|
||||
(ion) =( -0.00000 -0.00000 -0.00000 )
|
||||
(electronic) =( -0.00002 0.00000 0.00002 )
|
||||
|
||||
output psi filename:./nwchem_lammps.movecs
|
||||
|
||||
|
||||
== Timing ==
|
||||
|
||||
cputime in seconds
|
||||
prologue : 0.991130E-01
|
||||
main loop : 0.101190E+00
|
||||
epilogue : 0.203540E-01
|
||||
total : 0.220657E+00
|
||||
cputime/step: 0.252975E-01 ( 4 evalulations, 1 linesearches)
|
||||
|
||||
|
||||
Time spent doing total step percent
|
||||
total time : 0.222262E+00 0.555655E-01 100.0 %
|
||||
i/o time : 0.847340E-02 0.211835E-02 3.8 %
|
||||
FFTs : 0.576015E-02 0.144004E-02 2.6 %
|
||||
dot products : 0.157053E-02 0.392634E-03 0.7 %
|
||||
geodesic : 0.203228E-02 0.508070E-03 0.9 %
|
||||
ffm_dgemm : 0.641376E-04 0.160344E-04 0.0 %
|
||||
fmf_dgemm : 0.202988E-02 0.507471E-03 0.9 %
|
||||
mmm_dgemm : 0.286302E-05 0.715756E-06 0.0 %
|
||||
m_diagonalize : 0.101088E-03 0.252721E-04 0.0 %
|
||||
exchange correlation : 0.287819E-02 0.719547E-03 1.3 %
|
||||
local pseudopotentials : 0.346661E-03 0.866652E-04 0.2 %
|
||||
non-local pseudopotentials : 0.268912E-02 0.672280E-03 1.2 %
|
||||
hartree potentials : 0.163791E-03 0.409476E-04 0.1 %
|
||||
ion-ion interaction : 0.699389E-01 0.174847E-01 31.5 %
|
||||
structure factors : 0.889608E-02 0.222402E-02 4.0 %
|
||||
phase factors : 0.102510E-04 0.256275E-05 0.0 %
|
||||
masking and packing : 0.839656E-02 0.209914E-02 3.8 %
|
||||
queue fft : 0.418949E-02 0.104737E-02 1.9 %
|
||||
queue fft (serial) : 0.264608E-02 0.661519E-03 1.2 %
|
||||
queue fft (message passing): 0.136477E-02 0.341193E-03 0.6 %
|
||||
non-local psp FFM : 0.391964E-03 0.979910E-04 0.2 %
|
||||
non-local psp FMF : 0.407219E-03 0.101805E-03 0.2 %
|
||||
non-local psp FFM A : 0.144235E-03 0.360588E-04 0.1 %
|
||||
non-local psp FFM B : 0.216961E-03 0.542402E-04 0.1 %
|
||||
|
||||
>>> JOB COMPLETED AT Thu Oct 3 16:58:54 2019 <<<
|
||||
|
||||
Task times cpu: 0.2s wall: 0.2s
|
||||
Summary of allocated global arrays
|
||||
-----------------------------------
|
||||
No active global arrays
|
||||
|
||||
|
||||
|
||||
GA Statistics for process 0
|
||||
------------------------------
|
||||
|
||||
create destroy get put acc scatter gather read&inc
|
||||
calls: 0 0 0 0 0 0 0 0
|
||||
number of processes/call 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
bytes total: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00
|
||||
Max memory consumed for GA by this process: 0 bytes
|
||||
MA_summarize_allocated_blocks: starting scan ...
|
||||
MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks
|
||||
MA usage statistics:
|
||||
|
||||
allocation statistics:
|
||||
heap stack
|
||||
---- -----
|
||||
current number of blocks 0 0
|
||||
maximum number of blocks 294 17
|
||||
current total bytes 0 0
|
||||
maximum total bytes 4879496 351944
|
||||
maximum total K-bytes 4880 352
|
||||
maximum total M-bytes 5 1
|
||||
|
||||
|
||||
NWChem Input Module
|
||||
-------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CITATION
|
||||
--------
|
||||
Please cite the following reference when publishing
|
||||
results obtained with NWChem:
|
||||
|
||||
M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski,
|
||||
T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha,
|
||||
E. Apra, T.L. Windus, W.A. de Jong
|
||||
"NWChem: a comprehensive and scalable open-source
|
||||
solution for large scale molecular simulations"
|
||||
Comput. Phys. Commun. 181, 1477 (2010)
|
||||
doi:10.1016/j.cpc.2010.04.018
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski,
|
||||
T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus,
|
||||
J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata,
|
||||
S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa,
|
||||
Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov,
|
||||
D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich,
|
||||
A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao,
|
||||
P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr,
|
||||
M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju,
|
||||
M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart,
|
||||
Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown,
|
||||
G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall,
|
||||
J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt,
|
||||
P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall,
|
||||
D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson,
|
||||
J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng,
|
||||
T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone,
|
||||
M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang.
|
||||
|
||||
Total times cpu: 0.2s wall: 0.3s
|
||||
@ -1,28 +0,0 @@
|
||||
echo
|
||||
|
||||
#**** Enter the geometry using fractional coordinates ****
|
||||
geometry units angstrom noautosym
|
||||
system crystal
|
||||
lat_a 3.16d0
|
||||
lat_b 3.16d0
|
||||
lat_c 3.16d0
|
||||
end
|
||||
W 0.0 0.0 0.0
|
||||
W 0.5 0.5 0.5
|
||||
end
|
||||
|
||||
#***** setup the nwpw gamma point code ****
|
||||
nwpw
|
||||
simulation_cell
|
||||
ngrid 16 16 16
|
||||
end
|
||||
ewald_ncut 8
|
||||
mulliken
|
||||
lcao #old default
|
||||
end
|
||||
|
||||
nwpw
|
||||
tolerances 1.0d-9 1.0d-9
|
||||
end
|
||||
|
||||
task pspw stress
|
||||
@ -1,53 +0,0 @@
|
||||
# Startparameter for this run:
|
||||
NWRITE = 2 write-flag & timer
|
||||
PREC = normal normal or accurate (medium, high low for compatibility)
|
||||
ISTART = 0 job : 0-new 1-cont 2-samecut
|
||||
ICHARG = 2 charge: 1-file 2-atom 10-const
|
||||
ISPIN = 1 spin polarized calculation?
|
||||
LSORBIT = F spin-orbit coupling
|
||||
INIWAV = 1 electr: 0-lowe 1-rand 2-diag
|
||||
|
||||
# Electronic Relaxation 1
|
||||
ENCUT = 600.0 eV #Plane wave energy cutoff
|
||||
ENINI = 600.0 initial cutoff
|
||||
NELM = 100; NELMIN= 2; NELMDL= -5 # of ELM steps
|
||||
EDIFF = 0.1E-05 stopping-criterion for ELM
|
||||
# Ionic relaxation
|
||||
EDIFFG = 0.1E-02 stopping-criterion for IOM
|
||||
NSW = 0 number of steps for IOM
|
||||
NBLOCK = 1; KBLOCK = 1 inner block; outer block
|
||||
IBRION = -1 ionic relax: 0-MD 1-quasi-New 2-CG #No ion relaxation with -1
|
||||
NFREE = 0 steps in history (QN), initial steepest desc. (CG)
|
||||
ISIF = 2 stress and relaxation # 2: F-yes Sts-yes RlxIon-yes cellshape-no cellvol-no
|
||||
IWAVPR = 10 prediction: 0-non 1-charg 2-wave 3-comb # 10: TMPCAR stored in memory rather than file
|
||||
|
||||
POTIM = 0.5000 time-step for ionic-motion
|
||||
TEBEG = 3500.0; TEEND = 3500.0 temperature during run # Finite Temperature variables if AI-MD is on
|
||||
SMASS = -3.00 Nose mass-parameter (am)
|
||||
estimated Nose-frequenzy (Omega) = 0.10E-29 period in steps =****** mass= -0.366E-27a.u.
|
||||
PSTRESS= 0.0 pullay stress
|
||||
|
||||
# DOS related values:
|
||||
EMIN = 10.00; EMAX =-10.00 energy-range for DOS
|
||||
EFERMI = 0.00
|
||||
ISMEAR = 0; SIGMA = 0.10 broadening in eV -4-tet -1-fermi 0-gaus
|
||||
|
||||
# Electronic relaxation 2 (details)
|
||||
IALGO = 48 algorithm
|
||||
|
||||
# Write flags
|
||||
LWAVE = T write WAVECAR
|
||||
LCHARG = T write CHGCAR
|
||||
LVTOT = F write LOCPOT, total local potential
|
||||
LVHAR = F write LOCPOT, Hartree potential only
|
||||
LELF = F write electronic localiz. function (ELF)
|
||||
|
||||
# Dipole corrections
|
||||
LMONO = F monopole corrections only (constant potential shift)
|
||||
LDIPOL = F correct potential (dipole corrections)
|
||||
IDIPOL = 0 1-x, 2-y, 3-z, 4-all directions
|
||||
EPSILON= 1.0000000 bulk dielectric constant
|
||||
|
||||
# Exchange correlation treatment:
|
||||
GGA = -- GGA type
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
K-Points
|
||||
0
|
||||
Monkhorst Pack
|
||||
15 15 15
|
||||
0 0 0
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
W unit cell
|
||||
1.0
|
||||
3.16 0.00000000 0.00000000
|
||||
0.00000000 3.16 0.00000000
|
||||
0.00000000 0.00000000 3.16
|
||||
W
|
||||
2
|
||||
Direct
|
||||
0.00000000 0.00000000 0.00000000
|
||||
0.50000000 0.50000000 0.50000000
|
||||
|
||||
@ -1,149 +0,0 @@
|
||||
Sample LAMMPS MD wrapper on VASP quantum DFT via client/server
|
||||
coupling
|
||||
|
||||
See the MESSAGE package documentation Build_extras.html#message
|
||||
and Build_extras.html#message for more details on how client/server
|
||||
coupling works in LAMMPS.
|
||||
|
||||
In this dir, the vasp_wrap.py is a wrapper on the VASP quantum DFT
|
||||
code so it can work as a "server" code which LAMMPS drives as a
|
||||
"client" code to perform ab initio MD. LAMMPS performs the MD
|
||||
timestepping, sends VASP a current set of coordinates each timestep,
|
||||
VASP computes forces and energy and virial and returns that info to
|
||||
LAMMPS.
|
||||
|
||||
Messages are exchanged between MC and LAMMPS via a client/server
|
||||
library (CSlib), which is included in the LAMMPS distribution in
|
||||
lib/message. As explained below you can choose to exchange data
|
||||
between the two programs either via files or sockets (ZMQ). If the
|
||||
vasp_wrap.py program became parallel, or the CSlib library calls were
|
||||
integrated into VASP directly, then data could also be exchanged via
|
||||
MPI.
|
||||
|
||||
----------------
|
||||
|
||||
Build LAMMPS with its MESSAGE package installed:
|
||||
|
||||
See the Build extras doc page and its MESSAGE package
|
||||
section for details.
|
||||
|
||||
CMake:
|
||||
|
||||
-D PKG_MESSAGE=yes # include the MESSAGE package
|
||||
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
|
||||
|
||||
Traditional make:
|
||||
|
||||
cd lammps/lib/message
|
||||
python Install.py -m -z # build CSlib with MPI and ZMQ support
|
||||
cd lammps/src
|
||||
make yes-message
|
||||
make mpi
|
||||
|
||||
You can leave off the -z if you do not have ZMQ on your system.
|
||||
|
||||
----------------
|
||||
|
||||
Build the CSlib in a form usable by the vasp_wrapper.py script:
|
||||
|
||||
% cd lammps/lib/message/cslib/src
|
||||
% make shlib # build serial and parallel shared lib with ZMQ support
|
||||
% make shlib zmq=no # build serial and parallel shared lib w/out ZMQ support
|
||||
|
||||
This will make a shared library versions of the CSlib, which Python
|
||||
requires. Python must be able to find both the cslib.py script and
|
||||
the libcsnompi.so library in your lammps/lib/message/cslib/src
|
||||
directory. If it is not able to do this, you will get an error when
|
||||
you run vasp_wrapper.py.
|
||||
|
||||
You can do this by augmenting two environment variables, either
|
||||
from the command line, or in your shell start-up script.
|
||||
Here is the sample syntax for the csh or tcsh shells:
|
||||
|
||||
setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/lib/message/cslib/src
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/lib/message/cslib/src
|
||||
|
||||
----------------
|
||||
|
||||
Prepare to use VASP and the vasp_wrapper.py script
|
||||
|
||||
You can run the vasp_wrap.py script as-is to test that the coupling
|
||||
between it and LAMMPS is functional. This will use the included
|
||||
vasprun.xml file output by a previous VASP run.
|
||||
|
||||
But note that the as-is version of vasp_wrap.py will not attempt to
|
||||
run VASP.
|
||||
|
||||
To do this, you must edit the 1st vaspcmd line at the top of
|
||||
vasp_wrapper.py to be the launch command needed to run VASP on your
|
||||
system. It can be a command to run VASP in serial or in parallel,
|
||||
e.g. an mpirun command. Then comment out the 2nd vaspcmd line
|
||||
immediately following it.
|
||||
|
||||
Insure you have the necessary VASP input files in this
|
||||
directory, suitable for the VASP calculation you want to perform:
|
||||
|
||||
INCAR
|
||||
KPOINTS
|
||||
POSCAR_template
|
||||
POTCAR
|
||||
|
||||
Examples of all but the POTCAR file are provided. As explained below,
|
||||
POSCAR_W is an input file for a 2-atom unit cell of tungsten and can
|
||||
be used to test the LAMMPS/VASP coupling. The POTCAR file is a
|
||||
proprietary VASP file, so use one from your VASP installation.
|
||||
|
||||
Note that the POSCAR_template file should be matched to the LAMMPS
|
||||
input script (# of atoms and atom types, box size, etc). The provided
|
||||
POSCAR_W matches in.client.W.
|
||||
|
||||
Once you run VASP yourself, the vasprun.xml file will be overwritten.
|
||||
|
||||
----------------
|
||||
|
||||
To run in client/server mode:
|
||||
|
||||
NOTE: The vasp_wrap.py script must be run with Python version 2, not
|
||||
3. This is because it used the CSlib python wrapper, which only
|
||||
supports version 2. We plan to upgrade CSlib to support Python 3.
|
||||
|
||||
Both the client (LAMMPS) and server (vasp_wrap.py) must use the same
|
||||
messaging mode, namely file or zmq. This is an argument to the
|
||||
vasp_wrap.py code; it can be selected by setting the "mode" variable
|
||||
when you run LAMMPS. The default mode = file.
|
||||
|
||||
Here we assume LAMMPS was built to run in parallel, and the MESSAGE
|
||||
package was installed with socket (ZMQ) support. This means either of
|
||||
the messaging modes can be used and LAMMPS can be run in serial or
|
||||
parallel. The vasp_wrap.py code is always run in serial, but it
|
||||
launches VASP from Python via an mpirun command which can run VASP
|
||||
itself in parallel.
|
||||
|
||||
When you run, the server should print out thermodynamic info every
|
||||
timestep which corresponds to the forces and virial computed by VASP.
|
||||
VASP will also generate output files each timestep. The vasp_wrapper.py
|
||||
script could be generalized to archive these.
|
||||
|
||||
The examples below are commands you should use in two different
|
||||
terminal windows. The order of the two commands (client or server
|
||||
launch) does not matter. You can run them both in the same window if
|
||||
you append a "&" character to the first one to run it in the
|
||||
background.
|
||||
|
||||
--------------
|
||||
|
||||
File mode of messaging:
|
||||
|
||||
% mpirun -np 1 lmp_mpi -v mode file -in in.client.W
|
||||
% python vasp_wrap.py file POSCAR_W
|
||||
|
||||
% mpirun -np 2 lmp_mpi -v mode file -in in.client.W
|
||||
% python vasp_wrap.py file POSCAR_W
|
||||
|
||||
ZMQ mode of messaging:
|
||||
|
||||
% mpirun -np 1 lmp_mpi -v mode zmq -in in.client.W
|
||||
% python vasp_wrap.py zmq POSCAR_W
|
||||
|
||||
% mpirun -np 2 lmp_mpi -v mode zmq -in in.client.W
|
||||
% python vasp_wrap.py zmq POSCAR_W
|
||||
@ -1,15 +0,0 @@
|
||||
LAMMPS W data file
|
||||
|
||||
2 atoms
|
||||
|
||||
1 atom types
|
||||
|
||||
0.0 3.16 xlo xhi
|
||||
0.0 3.16 ylo yhi
|
||||
0.0 3.16 zlo zhi
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0.000 0.000 0.000
|
||||
2 1 1.58 1.58 1.58
|
||||
|
||||
@ -1,35 +0,0 @@
|
||||
# small W unit cell for use with VASP
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then &
|
||||
"message client md file tmp.couple" &
|
||||
elif "${mode} == zmq" &
|
||||
"message client md zmq localhost:5555" &
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
read_data data.W
|
||||
mass 1 183.85
|
||||
|
||||
replicate $x $y $z
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
|
||||
message quit
|
||||
@ -1,76 +0,0 @@
|
||||
LAMMPS (22 Aug 2018)
|
||||
# small W unit cell for use with VASP
|
||||
|
||||
variable mode index file
|
||||
|
||||
if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
|
||||
message client md zmq localhost:5555
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify sort 0 0.0 map yes
|
||||
|
||||
read_data data.W
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
2 atoms
|
||||
mass 1 183.85
|
||||
|
||||
replicate $x $y $z
|
||||
replicate 1 $y $z
|
||||
replicate 1 1 $z
|
||||
replicate 1 1 1
|
||||
orthogonal box = (0 0 0) to (3.16 3.16 3.16)
|
||||
1 by 1 by 2 MPI processor grid
|
||||
2 atoms
|
||||
Time spent = 0.000148058 secs
|
||||
|
||||
velocity all create 300.0 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 10 check no
|
||||
|
||||
fix 1 all nve
|
||||
fix 2 all client/md
|
||||
fix_modify 2 energy yes
|
||||
|
||||
thermo 1
|
||||
run 3
|
||||
Per MPI rank memory allocation (min/avg/max) = 1.8 | 1.8 | 1.8 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 0 0 -48.030793 -78159.503
|
||||
1 298.24318 0 0 -48.03102 -78167.19
|
||||
2 296.85584 0 0 -48.031199 -78173.26
|
||||
3 295.83795 0 0 -48.031331 -78177.714
|
||||
Loop time of 0.457491 on 2 procs for 3 steps with 2 atoms
|
||||
|
||||
Performance: 0.567 ns/day, 42.360 hours/ns, 6.558 timesteps/s
|
||||
50.1% CPU use with 2 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 1.3828e-05 | 2.9922e-05 | 4.6015e-05 | 0.0 | 0.01
|
||||
Output | 7.5817e-05 | 9.3937e-05 | 0.00011206 | 0.0 | 0.02
|
||||
Modify | 0.45735 | 0.45736 | 0.45736 | 0.0 | 99.97
|
||||
Other | | 1.204e-05 | | | 0.00
|
||||
|
||||
Nlocal: 1 ave 1 max 1 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4 ave 4 max 4 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds not checked
|
||||
|
||||
Total wall time: 0:01:21
|
||||
@ -1,300 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
# https://www.lammps.org/ Sandia National Laboratories
|
||||
# Steve Plimpton, sjplimp@sandia.gov
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Syntax: vasp_wrap.py file/zmq POSCARfile
|
||||
|
||||
# wrapper on VASP to act as server program using CSlib
|
||||
# receives message with list of coords from client
|
||||
# creates VASP inputs
|
||||
# invokes VASP to calculate self-consistent energy of that config
|
||||
# reads VASP outputs
|
||||
# sends message with energy, forces, pressure to client
|
||||
|
||||
# NOTES:
|
||||
# check to insure basic VASP input files are in place?
|
||||
# could archive VASP input/output in special filenames or dirs?
|
||||
# need to check that POTCAR file is consistent with atom ordering?
|
||||
# could make syntax for launching VASP more flexible
|
||||
# e.g. command-line arg for # of procs
|
||||
# detect if VASP had an error and return ERROR field, e.g. non-convergence ??
|
||||
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
|
||||
version = sys.version_info[0]
|
||||
if version == 3:
|
||||
sys.exit("The CSlib python wrapper does not yet support python 3")
|
||||
|
||||
import subprocess
|
||||
import xml.etree.ElementTree as ET
|
||||
from cslib import CSlib
|
||||
|
||||
# comment out 2nd line once 1st line is correct for your system
|
||||
|
||||
vaspcmd = "srun -N 1 --ntasks-per-node=4 " + \
|
||||
"-n 4 /projects/vasp/2017-build/cts1/vasp5.4.4/vasp_tfermi/bin/vasp_std"
|
||||
vaspcmd = "touch tmp"
|
||||
|
||||
# enums matching FixClientMD class in LAMMPS
|
||||
|
||||
SETUP,STEP = range(1,2+1)
|
||||
DIM,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE = range(1,10+1)
|
||||
FORCES,ENERGY,VIRIAL,ERROR = range(1,4+1)
|
||||
|
||||
# -------------------------------------
|
||||
# functions
|
||||
|
||||
# error message and exit
|
||||
|
||||
def error(txt):
|
||||
print("ERROR:",txt)
|
||||
sys.exit(1)
|
||||
|
||||
# -------------------------------------
|
||||
# read initial VASP POSCAR file to setup problem
|
||||
# return natoms,ntypes,box
|
||||
|
||||
def vasp_setup(poscar):
|
||||
|
||||
ps = open(poscar,'r').readlines()
|
||||
|
||||
# box size
|
||||
|
||||
words = ps[2].split()
|
||||
xbox = float(words[0])
|
||||
words = ps[3].split()
|
||||
ybox = float(words[1])
|
||||
words = ps[4].split()
|
||||
zbox = float(words[2])
|
||||
box = [xbox,ybox,zbox]
|
||||
|
||||
ntypes = 0
|
||||
natoms = 0
|
||||
words = ps[6].split()
|
||||
for word in words:
|
||||
if word == '#': break
|
||||
ntypes += 1
|
||||
natoms += int(word)
|
||||
|
||||
return natoms,ntypes,box
|
||||
|
||||
# -------------------------------------
|
||||
# write a new POSCAR file for VASP
|
||||
|
||||
def poscar_write(poscar,natoms,ntypes,types,coords,box):
|
||||
|
||||
psold = open(poscar,'r').readlines()
|
||||
psnew = open("POSCAR",'w')
|
||||
|
||||
# header, including box size
|
||||
|
||||
psnew.write(psold[0])
|
||||
psnew.write(psold[1])
|
||||
psnew.write("%g %g %g\n" % (box[0],box[1],box[2]))
|
||||
psnew.write("%g %g %g\n" % (box[3],box[4],box[5]))
|
||||
psnew.write("%g %g %g\n" % (box[6],box[7],box[8]))
|
||||
psnew.write(psold[5])
|
||||
psnew.write(psold[6])
|
||||
|
||||
# per-atom coords
|
||||
# grouped by types
|
||||
|
||||
psnew.write("Cartesian\n")
|
||||
|
||||
for itype in range(1,ntypes+1):
|
||||
for i in range(natoms):
|
||||
if types[i] != itype: continue
|
||||
x = coords[3*i+0]
|
||||
y = coords[3*i+1]
|
||||
z = coords[3*i+2]
|
||||
aline = " %g %g %g\n" % (x,y,z)
|
||||
psnew.write(aline)
|
||||
|
||||
psnew.close()
|
||||
|
||||
# -------------------------------------
|
||||
# read a VASP output vasprun.xml file
|
||||
# uses ElementTree module
|
||||
# see https://docs.python.org/2/library/xml.etree.elementtree.html
|
||||
|
||||
def vasprun_read():
|
||||
tree = ET.parse('vasprun.xml')
|
||||
root = tree.getroot()
|
||||
|
||||
#fp = open("vasprun.xml","r")
|
||||
#root = ET.parse(fp)
|
||||
|
||||
scsteps = root.findall('calculation/scstep')
|
||||
energy = scsteps[-1].find('energy')
|
||||
for child in energy:
|
||||
if child.attrib["name"] == "e_0_energy":
|
||||
eout = float(child.text)
|
||||
|
||||
fout = []
|
||||
sout = []
|
||||
|
||||
varrays = root.findall('calculation/varray')
|
||||
for varray in varrays:
|
||||
if varray.attrib["name"] == "forces":
|
||||
forces = varray.findall("v")
|
||||
for line in forces:
|
||||
fxyz = line.text.split()
|
||||
fxyz = [float(value) for value in fxyz]
|
||||
fout += fxyz
|
||||
if varray.attrib["name"] == "stress":
|
||||
tensor = varray.findall("v")
|
||||
stensor = []
|
||||
for line in tensor:
|
||||
sxyz = line.text.split()
|
||||
sxyz = [float(value) for value in sxyz]
|
||||
stensor.append(sxyz)
|
||||
sxx = stensor[0][0]
|
||||
syy = stensor[1][1]
|
||||
szz = stensor[2][2]
|
||||
# symmetrize off-diagonal components
|
||||
sxy = 0.5 * (stensor[0][1] + stensor[1][0])
|
||||
sxz = 0.5 * (stensor[0][2] + stensor[2][0])
|
||||
syz = 0.5 * (stensor[1][2] + stensor[2][1])
|
||||
sout = [sxx,syy,szz,sxy,sxz,syz]
|
||||
|
||||
#fp.close()
|
||||
|
||||
return eout,fout,sout
|
||||
|
||||
# -------------------------------------
|
||||
# main program
|
||||
|
||||
# command-line args
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
print("Syntax: python vasp_wrap.py file/zmq POSCARfile")
|
||||
sys.exit(1)
|
||||
|
||||
mode = sys.argv[1]
|
||||
poscar_template = sys.argv[2]
|
||||
|
||||
if mode == "file": cs = CSlib(1,mode,"tmp.couple",None)
|
||||
elif mode == "zmq": cs = CSlib(1,mode,"*:5555",None)
|
||||
else:
|
||||
print("Syntax: python vasp_wrap.py file/zmq POSCARfile")
|
||||
sys.exit(1)
|
||||
|
||||
natoms,ntypes,box = vasp_setup(poscar_template)
|
||||
|
||||
# initial message for MD protocol
|
||||
|
||||
msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv()
|
||||
if msgID != 0: error("Bad initial client/server handshake")
|
||||
protocol = cs.unpack_string(1)
|
||||
if protocol != "md": error("Mismatch in client/server protocol")
|
||||
cs.send(0,0)
|
||||
|
||||
# endless server loop
|
||||
|
||||
while 1:
|
||||
|
||||
# recv message from client
|
||||
# msgID = 0 = all-done message
|
||||
|
||||
msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv()
|
||||
if msgID < 0: break
|
||||
|
||||
# SETUP receive at beginning of each run
|
||||
# required fields: DIM, PERIODICTY, ORIGIN, BOX,
|
||||
# NATOMS, NTYPES, TYPES, COORDS
|
||||
# optional fields: others in enum above, but VASP ignores them
|
||||
|
||||
if msgID == SETUP:
|
||||
|
||||
origin = []
|
||||
box = []
|
||||
natoms_recv = ntypes_recv = 0
|
||||
types = []
|
||||
coords = []
|
||||
|
||||
for field in fieldID:
|
||||
if field == DIM:
|
||||
dim = cs.unpack_int(DIM)
|
||||
if dim != 3: error("VASP only performs 3d simulations")
|
||||
elif field == PERIODICITY:
|
||||
periodicity = cs.unpack(PERIODICITY,1)
|
||||
if not periodicity[0] or not periodicity[1] or not periodicity[2]:
|
||||
error("VASP wrapper only currently supports fully periodic systems")
|
||||
elif field == ORIGIN:
|
||||
origin = cs.unpack(ORIGIN,1)
|
||||
elif field == BOX:
|
||||
box = cs.unpack(BOX,1)
|
||||
elif field == NATOMS:
|
||||
natoms_recv = cs.unpack_int(NATOMS)
|
||||
if natoms != natoms_recv:
|
||||
error("VASP wrapper mis-match in number of atoms")
|
||||
elif field == NTYPES:
|
||||
ntypes_recv = cs.unpack_int(NTYPES)
|
||||
if ntypes != ntypes_recv:
|
||||
error("VASP wrapper mis-match in number of atom types")
|
||||
elif field == TYPES:
|
||||
types = cs.unpack(TYPES,1)
|
||||
elif field == COORDS:
|
||||
coords = cs.unpack(COORDS,1)
|
||||
|
||||
if not origin or not box or not natoms or not ntypes or \
|
||||
not types or not coords:
|
||||
error("Required VASP wrapper setup field not received");
|
||||
|
||||
# STEP receive at each timestep of run or minimization
|
||||
# required fields: COORDS
|
||||
# optional fields: ORIGIN, BOX
|
||||
|
||||
elif msgID == STEP:
|
||||
|
||||
coords = []
|
||||
|
||||
for field in fieldID:
|
||||
if field == COORDS:
|
||||
coords = cs.unpack(COORDS,1)
|
||||
elif field == ORIGIN:
|
||||
origin = cs.unpack(ORIGIN,1)
|
||||
elif field == BOX:
|
||||
box = cs.unpack(BOX,1)
|
||||
|
||||
if not coords: error("Required VASP wrapper step field not received");
|
||||
|
||||
else: error("VASP wrapper received unrecognized message")
|
||||
|
||||
# create POSCAR file
|
||||
|
||||
poscar_write(poscar_template,natoms,ntypes,types,coords,box)
|
||||
|
||||
# invoke VASP
|
||||
|
||||
print("\nLaunching VASP ...")
|
||||
print(vaspcmd)
|
||||
subprocess.check_output(vaspcmd,stderr=subprocess.STDOUT,shell=True)
|
||||
|
||||
# process VASP output
|
||||
|
||||
energy,forces,virial = vasprun_read()
|
||||
|
||||
# convert VASP kilobars to bars
|
||||
|
||||
for i,value in enumerate(virial): virial[i] *= 1000.0
|
||||
|
||||
# return forces, energy, pressure to client
|
||||
|
||||
cs.send(msgID,3);
|
||||
cs.pack(FORCES,4,3*natoms,forces)
|
||||
cs.pack_double(ENERGY,energy)
|
||||
cs.pack(VIRIAL,4,6,virial)
|
||||
|
||||
# final reply to client
|
||||
|
||||
cs.send(0,0)
|
||||
|
||||
# clean-up
|
||||
|
||||
del cs
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
3.36316 1.87373 1.87607 -0.00346 -0.00172 -0.00104
|
||||
1.87373 3.36170 1.87425 0.00443 0.00033 0.00014
|
||||
1.87607 1.87425 3.36573 0.00143 0.00155 0.00127
|
||||
-0.00346 0.00443 0.00143 1.87425 0.00127 0.00033
|
||||
-0.00172 0.00033 0.00155 0.00127 1.87607 -0.00346
|
||||
-0.00104 0.00014 0.00127 0.00033 -0.00346 1.87373
|
||||
118
examples/ELASTIC_T/BORN_MATRIX/Argon/Analytical/compute_born.py
Normal file
118
examples/ELASTIC_T/BORN_MATRIX/Argon/Analytical/compute_born.py
Normal file
@ -0,0 +1,118 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import numpy as np
|
||||
|
||||
def reduce_Born(Cf):
|
||||
C = np.zeros((6,6), dtype=np.float64)
|
||||
C[0,0] = Cf[0]
|
||||
C[1,1] = Cf[1]
|
||||
C[2,2] = Cf[2]
|
||||
C[3,3] = Cf[3]
|
||||
C[4,4] = Cf[4]
|
||||
C[5,5] = Cf[5]
|
||||
C[0,1] = Cf[6]
|
||||
C[0,2] = Cf[7]
|
||||
C[0,3] = Cf[8]
|
||||
C[0,4] = Cf[9]
|
||||
C[0,5] = Cf[10]
|
||||
C[1,2] = Cf[11]
|
||||
C[1,3] = Cf[12]
|
||||
C[1,4] = Cf[13]
|
||||
C[1,5] = Cf[14]
|
||||
C[2,3] = Cf[15]
|
||||
C[2,4] = Cf[16]
|
||||
C[2,5] = Cf[17]
|
||||
C[3,4] = Cf[18]
|
||||
C[3,5] = Cf[19]
|
||||
C[4,5] = Cf[20]
|
||||
C = np.where(C,C,C.T)
|
||||
return C
|
||||
|
||||
def compute_delta():
|
||||
D = np.zeros((3,3,3,3))
|
||||
for a in range(3):
|
||||
for b in range(3):
|
||||
for m in range(3):
|
||||
for n in range(3):
|
||||
D[a,b,m,n] = (a==m)*(b==n) + (a==n)*(b==m)
|
||||
d = np.zeros((6,6))
|
||||
d[0,0] = D[0,0,0,0]
|
||||
d[1,1] = D[1,1,1,1]
|
||||
d[2,2] = D[2,2,2,2]
|
||||
d[3,3] = D[1,2,1,2]
|
||||
d[4,4] = D[0,2,0,2]
|
||||
d[5,5] = D[0,1,0,1]
|
||||
d[0,1] = D[0,0,1,1]
|
||||
d[0,2] = D[0,0,2,2]
|
||||
d[0,3] = D[0,0,1,2]
|
||||
d[0,4] = D[0,0,0,2]
|
||||
d[0,5] = D[0,0,0,1]
|
||||
d[1,2] = D[1,1,2,2]
|
||||
d[1,3] = D[1,1,1,2]
|
||||
d[1,4] = D[1,1,0,2]
|
||||
d[1,5] = D[1,1,0,1]
|
||||
d[2,3] = D[2,2,1,2]
|
||||
d[2,4] = D[2,2,0,2]
|
||||
d[2,5] = D[2,2,0,1]
|
||||
d[3,4] = D[1,2,0,2]
|
||||
d[3,5] = D[1,2,0,1]
|
||||
d[4,5] = D[0,2,0,1]
|
||||
d = np.where(d,d,d.T)
|
||||
return d
|
||||
|
||||
|
||||
def write_matrix(C, filename):
|
||||
with open(filename, 'w') as f:
|
||||
f.write("# Cij Matrix from post process computation\n")
|
||||
for i in C:
|
||||
f.write("{:8.5f} {:8.5f} {:8.5f} {:8.5f} {:8.5f} {:8.5f}\n".format(
|
||||
i[0]*10**-9, i[1]*10**-9, i[2]*10**-9, i[3]*10**-9, i[4]*10**-9, i[5]*10**-9,
|
||||
)
|
||||
)
|
||||
return
|
||||
|
||||
def main():
|
||||
|
||||
N = 500
|
||||
vol = 27.047271**3 * 10**-30 # m^3
|
||||
T = 60 # K
|
||||
kb = 1.380649 * 10**-23 # J/K
|
||||
kbT = T*kb # J
|
||||
kcalmol2J = 4183.9954/(6.022*10**23)
|
||||
|
||||
born = np.loadtxt('born.out')
|
||||
stre = np.loadtxt('vir.out')
|
||||
stre[:, 1:] = -stre[:, 1:]*101325 # -> Pa
|
||||
try:
|
||||
mean_born = np.mean(born[:, 1:], axis=0)
|
||||
except IndexError:
|
||||
mean_born = born[1:]
|
||||
|
||||
CB = kcalmol2J/vol*reduce_Born(mean_born) # -> J/m^3=Pa
|
||||
Cs = vol/kbT*np.cov(stre[:,1:].T)
|
||||
Ct = N*kbT/vol * compute_delta()
|
||||
C = CB - Cs + Ct
|
||||
write_matrix(CB, 'born_matrix.out')
|
||||
write_matrix(Cs, 'stre_matrix.out')
|
||||
write_matrix(Ct, 'temp_matrix.out')
|
||||
write_matrix(C, 'full_matrix.out')
|
||||
C11 = np.mean([C[0,0], C[1,1], C[2,2]]) * 10**-9
|
||||
C12 = np.mean([C[0,1], C[0,2], C[1,2]]) * 10**-9
|
||||
C44 = np.mean([C[3,3], C[4,4], C[5,5]]) * 10**-9
|
||||
eC11 = np.std([C[0,0], C[1,1], C[2,2]]) * 10**-9
|
||||
eC12 = np.std([C[0,1], C[0,2], C[1,2]]) * 10**-9
|
||||
eC44 = np.std([C[3,3], C[4,4], C[5,5]]) * 10**-9
|
||||
print(C*10**-9)
|
||||
print("C11 = {:f} ± {:f}; C12 = {:f} ± {:f}; C44 = {:f} ± {:f}".format(C11, eC11, C12, eC12, C44, eC44))
|
||||
|
||||
return
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
main()
|
||||
except KeyboardInterrupt:
|
||||
raise SystemExit("User interruption.")
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
2.18161 1.13726 1.16596 -0.01607 -0.02637 0.00291
|
||||
1.13726 2.20242 1.16714 0.00386 -0.05820 0.02644
|
||||
1.16596 1.16714 2.24704 -0.00354 -0.00368 0.02714
|
||||
-0.01607 0.00386 -0.00354 1.43706 0.00210 0.01003
|
||||
-0.02637 -0.05820 -0.00368 0.00210 1.37530 0.01401
|
||||
0.00291 0.02644 0.02714 0.01003 0.01401 1.42403
|
||||
154
examples/ELASTIC_T/BORN_MATRIX/Argon/Analytical/in.ljcov
Normal file
154
examples/ELASTIC_T/BORN_MATRIX/Argon/Analytical/in.ljcov
Normal file
@ -0,0 +1,154 @@
|
||||
# Analytical calculation
|
||||
# of Born matrix
|
||||
|
||||
# Note that because of cubic symmetry and central forces, we have:
|
||||
# C11, pure axial == positive mean value: 1,2,3
|
||||
# C44==C23, pure shear == positive mean value, exactly match in pairs: (4,12),(5,8),(6,7)
|
||||
# C14==C56, shear/axial(normal) == zero mean, exactly match in pairs: (9,21),(14,20),(18,19)
|
||||
# C15, shear/axial(in-plane) == zero mean: 10,11,13,15,16,17
|
||||
|
||||
# adjustable parameters
|
||||
|
||||
units real
|
||||
variable nsteps index 100000 # length of run
|
||||
variable nthermo index 1000 # thermo output interval
|
||||
variable nlat equal 5 # size of box
|
||||
variable T equal 60. # Temperature in K
|
||||
variable rho equal 5.405 # Lattice spacing in A
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc ${rho}
|
||||
region box block 0 ${nlat} 0 ${nlat} 0 ${nlat}
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
mass * 39.948
|
||||
|
||||
velocity all create ${T} 87287 loop geom
|
||||
velocity all zero linear
|
||||
|
||||
pair_style lj/cut 12.0
|
||||
pair_coeff 1 1 0.238067 3.405
|
||||
|
||||
neighbor 0.0 bin
|
||||
neigh_modify every 1 delay 0 check no
|
||||
|
||||
variable vol equal vol
|
||||
thermo 100
|
||||
fix aL all ave/time 1 1 1 v_vol ave running
|
||||
fix NPT all npt temp $T $T 100 aniso 1. 1. 1000 fixedpoint 0. 0. 0.
|
||||
|
||||
run 20000
|
||||
|
||||
unfix NPT
|
||||
|
||||
variable newL equal "f_aL^(1./3.)"
|
||||
change_box all x final 0 ${newL} y final 0. ${newL} z final 0. ${newL} remap units box
|
||||
|
||||
unfix aL
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
# Conversion variables
|
||||
variable kb equal 1.38065e-23 # J/K
|
||||
variable Myvol equal "vol*10^-30" # Volume in m^3
|
||||
variable kbt equal "v_kb*v_T"
|
||||
variable Nat equal atoms
|
||||
variable Rhokbt equal "v_kbt*v_Nat/v_Myvol"
|
||||
variable at2Pa equal 101325
|
||||
variable kcalmol2J equal "4183.9954/(6.022e23)"
|
||||
variable C1 equal "v_kcalmol2J/v_Myvol" # Convert Cb from energy to pressure units
|
||||
variable C2 equal "v_Myvol/v_kbt" # Factor for Cfl terms
|
||||
variable Pa2GPa equal 1e-9
|
||||
|
||||
# Born compute giving <C^b> terms
|
||||
compute born all born/matrix
|
||||
# The six virial stress component to compute <C^fl>
|
||||
compute VIR all pressure NULL virial
|
||||
variable s1 equal "-c_VIR[1]*v_at2Pa"
|
||||
variable s2 equal "-c_VIR[2]*v_at2Pa"
|
||||
variable s3 equal "-c_VIR[3]*v_at2Pa"
|
||||
variable s6 equal "-c_VIR[4]*v_at2Pa"
|
||||
variable s5 equal "-c_VIR[5]*v_at2Pa"
|
||||
variable s4 equal "-c_VIR[6]*v_at2Pa"
|
||||
variable press equal press
|
||||
|
||||
|
||||
# Average of Born term and vector to store stress
|
||||
# for post processing
|
||||
fix CB all ave/time 1 ${nthermo} ${nthermo} c_born[*] ave running file born.out overwrite
|
||||
fix CPR all ave/time 1 1 1 c_VIR[*] file vir.out
|
||||
fix APR all ave/time 1 1 1 v_press ave running
|
||||
fix VEC all vector 1 v_s1 v_s2 v_s3 v_s4 v_s5 v_s6
|
||||
|
||||
thermo ${nthermo}
|
||||
thermo_style custom step temp press f_APR c_born[1] f_CB[1] c_born[12] f_CB[12] c_born[4] f_CB[4]
|
||||
thermo_modify line multi
|
||||
|
||||
fix 1 all nvt temp $T $T 100
|
||||
|
||||
run ${nsteps}
|
||||
|
||||
# Compute vector averages
|
||||
# Note the indice switch.
|
||||
# LAMMPS convention is NOT the Voigt notation.
|
||||
variable aves1 equal "ave(f_VEC[1])"
|
||||
variable aves2 equal "ave(f_VEC[2])"
|
||||
variable aves3 equal "ave(f_VEC[3])"
|
||||
variable aves4 equal "ave(f_VEC[6])"
|
||||
variable aves5 equal "ave(f_VEC[5])"
|
||||
variable aves6 equal "ave(f_VEC[4])"
|
||||
|
||||
# Computing the covariance through the <s_{i}s_{j}>-<s_i><s_j>
|
||||
# is numerically instable. Here we go through the <(s-<s>)^2>
|
||||
# definition.
|
||||
|
||||
# Computing difference relative to average values
|
||||
variable ds1 vector "f_VEC[1]-v_aves1"
|
||||
variable ds2 vector "f_VEC[2]-v_aves2"
|
||||
variable ds3 vector "f_VEC[3]-v_aves3"
|
||||
variable ds4 vector "f_VEC[4]-v_aves4"
|
||||
variable ds5 vector "f_VEC[5]-v_aves5"
|
||||
variable ds6 vector "f_VEC[6]-v_aves6"
|
||||
|
||||
# Squaring and averaging
|
||||
variable dds1 vector "v_ds1*v_ds1"
|
||||
variable dds2 vector "v_ds2*v_ds2"
|
||||
variable dds3 vector "v_ds3*v_ds3"
|
||||
variable vars1 equal "ave(v_dds1)"
|
||||
variable vars2 equal "ave(v_dds2)"
|
||||
variable vars3 equal "ave(v_dds3)"
|
||||
variable C11 equal "v_Pa2GPa*(v_C1*f_CB[1] - v_C2*v_vars1 + 2*v_Rhokbt)"
|
||||
variable C22 equal "v_Pa2GPa*(v_C1*f_CB[2] - v_C2*v_vars2 + 2*v_Rhokbt)"
|
||||
variable C33 equal "v_Pa2GPa*(v_C1*f_CB[3] - v_C2*v_vars3 + 2*v_Rhokbt)"
|
||||
|
||||
variable dds12 vector "v_ds1*v_ds2"
|
||||
variable dds13 vector "v_ds1*v_ds3"
|
||||
variable dds23 vector "v_ds2*v_ds3"
|
||||
variable vars12 equal "ave(v_dds12)"
|
||||
variable vars13 equal "ave(v_dds13)"
|
||||
variable vars23 equal "ave(v_dds23)"
|
||||
variable C12 equal "v_Pa2GPa*(v_C1*f_CB[7] - v_C2*v_vars12)"
|
||||
variable C13 equal "v_Pa2GPa*(v_C1*f_CB[8] - v_C2*v_vars13)"
|
||||
variable C23 equal "v_Pa2GPa*(v_C1*f_CB[12] - v_C2*v_vars23)"
|
||||
|
||||
variable dds4 vector "v_ds4*v_ds4"
|
||||
variable dds5 vector "v_ds5*v_ds5"
|
||||
variable dds6 vector "v_ds6*v_ds6"
|
||||
variable vars4 equal "ave(v_dds4)"
|
||||
variable vars5 equal "ave(v_dds5)"
|
||||
variable vars6 equal "ave(v_dds6)"
|
||||
variable C44 equal "v_Pa2GPa*(v_C1*f_CB[4] - v_C2*v_vars4 + v_Rhokbt)"
|
||||
variable C55 equal "v_Pa2GPa*(v_C1*f_CB[5] - v_C2*v_vars5 + v_Rhokbt)"
|
||||
variable C66 equal "v_Pa2GPa*(v_C1*f_CB[6] - v_C2*v_vars6 + v_Rhokbt)"
|
||||
|
||||
variable aC11 equal "(v_C11 + v_C22 + v_C33)/3."
|
||||
variable aC12 equal "(v_C12 + v_C13 + v_C23)/3."
|
||||
variable aC44 equal "(v_C44 + v_C55 + v_C66)/3."
|
||||
|
||||
print """
|
||||
C11 = ${aC11}
|
||||
C12 = ${aC12}
|
||||
C44 = ${aC44}
|
||||
"""
|
||||
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
1.22342 0.73647 0.71011 0.01261 0.02465 -0.00395
|
||||
0.73647 1.20115 0.70711 0.00057 0.05854 -0.02630
|
||||
0.71011 0.70711 1.16055 0.00497 0.00524 -0.02587
|
||||
0.01261 0.00057 0.00497 0.45813 -0.00083 -0.00969
|
||||
0.02465 0.05854 0.00524 -0.00083 0.52170 -0.01747
|
||||
-0.00395 -0.02630 -0.02587 -0.00969 -0.01747 0.47064
|
||||
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
0.04187 0.00000 0.00000 0.00000 0.00000 0.00000
|
||||
0.00000 0.04187 0.00000 0.00000 0.00000 0.00000
|
||||
0.00000 0.00000 0.04187 0.00000 0.00000 0.00000
|
||||
0.00000 0.00000 0.00000 0.02093 0.00000 0.00000
|
||||
0.00000 0.00000 0.00000 0.00000 0.02093 0.00000
|
||||
0.00000 0.00000 0.00000 0.00000 0.00000 0.02093
|
||||
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
3.35855 1.86892 1.87139 0.00233 0.00218 -0.00179
|
||||
1.86892 3.37104 1.87285 0.00112 0.00085 -0.00007
|
||||
1.87139 1.87285 3.37707 -0.00058 0.00038 -0.00057
|
||||
0.00233 0.00112 -0.00058 1.88326 -0.00039 0.00065
|
||||
0.00218 0.00085 0.00038 -0.00039 1.88229 0.00242
|
||||
-0.00179 -0.00007 -0.00057 0.00065 0.00242 1.87968
|
||||
118
examples/ELASTIC_T/BORN_MATRIX/Argon/Numdiff/compute_born.py
Normal file
118
examples/ELASTIC_T/BORN_MATRIX/Argon/Numdiff/compute_born.py
Normal file
@ -0,0 +1,118 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import numpy as np
|
||||
|
||||
def reduce_Born(Cf):
|
||||
C = np.zeros((6,6), dtype=np.float64)
|
||||
C[0,0] = Cf[0]
|
||||
C[1,1] = Cf[1]
|
||||
C[2,2] = Cf[2]
|
||||
C[3,3] = Cf[3]
|
||||
C[4,4] = Cf[4]
|
||||
C[5,5] = Cf[5]
|
||||
C[0,1] = Cf[6]
|
||||
C[0,2] = Cf[7]
|
||||
C[0,3] = Cf[8]
|
||||
C[0,4] = Cf[9]
|
||||
C[0,5] = Cf[10]
|
||||
C[1,2] = Cf[11]
|
||||
C[1,3] = Cf[12]
|
||||
C[1,4] = Cf[13]
|
||||
C[1,5] = Cf[14]
|
||||
C[2,3] = Cf[15]
|
||||
C[2,4] = Cf[16]
|
||||
C[2,5] = Cf[17]
|
||||
C[3,4] = Cf[18]
|
||||
C[3,5] = Cf[19]
|
||||
C[4,5] = Cf[20]
|
||||
C = np.where(C,C,C.T)
|
||||
return C
|
||||
|
||||
def compute_delta():
|
||||
D = np.zeros((3,3,3,3))
|
||||
for a in range(3):
|
||||
for b in range(3):
|
||||
for m in range(3):
|
||||
for n in range(3):
|
||||
D[a,b,m,n] = (a==m)*(b==n) + (a==n)*(b==m)
|
||||
d = np.zeros((6,6))
|
||||
d[0,0] = D[0,0,0,0]
|
||||
d[1,1] = D[1,1,1,1]
|
||||
d[2,2] = D[2,2,2,2]
|
||||
d[3,3] = D[1,2,1,2]
|
||||
d[4,4] = D[0,2,0,2]
|
||||
d[5,5] = D[0,1,0,1]
|
||||
d[0,1] = D[0,0,1,1]
|
||||
d[0,2] = D[0,0,2,2]
|
||||
d[0,3] = D[0,0,1,2]
|
||||
d[0,4] = D[0,0,0,2]
|
||||
d[0,5] = D[0,0,0,1]
|
||||
d[1,2] = D[1,1,2,2]
|
||||
d[1,3] = D[1,1,1,2]
|
||||
d[1,4] = D[1,1,0,2]
|
||||
d[1,5] = D[1,1,0,1]
|
||||
d[2,3] = D[2,2,1,2]
|
||||
d[2,4] = D[2,2,0,2]
|
||||
d[2,5] = D[2,2,0,1]
|
||||
d[3,4] = D[1,2,0,2]
|
||||
d[3,5] = D[1,2,0,1]
|
||||
d[4,5] = D[0,2,0,1]
|
||||
d = np.where(d,d,d.T)
|
||||
return d
|
||||
|
||||
|
||||
def write_matrix(C, filename):
|
||||
with open(filename, 'w') as f:
|
||||
f.write("# Cij Matrix from post process computation\n")
|
||||
for i in C:
|
||||
f.write("{:8.5f} {:8.5f} {:8.5f} {:8.5f} {:8.5f} {:8.5f}\n".format(
|
||||
i[0]*10**-9, i[1]*10**-9, i[2]*10**-9, i[3]*10**-9, i[4]*10**-9, i[5]*10**-9,
|
||||
)
|
||||
)
|
||||
return
|
||||
|
||||
def main():
|
||||
|
||||
N = 500
|
||||
vol = 27.047271**3 * 10**-30 # m^3
|
||||
T = 60 # K
|
||||
kb = 1.380649 * 10**-23 # J/K
|
||||
kbT = T*kb # J
|
||||
kcalmol2J = 4183.9954/(6.022*10**23)
|
||||
|
||||
born = np.loadtxt('born.out')
|
||||
stre = np.loadtxt('vir.out')
|
||||
stre[:, 1:] = -stre[:, 1:]*101325 # -> Pa
|
||||
try:
|
||||
mean_born = np.mean(born[:, 1:], axis=0)
|
||||
except IndexError:
|
||||
mean_born = born[1:]
|
||||
|
||||
CB = kcalmol2J/vol*reduce_Born(mean_born) # -> J/m^3=Pa
|
||||
Cs = vol/kbT*np.cov(stre[:,1:].T)
|
||||
Ct = N*kbT/vol * compute_delta()
|
||||
C = CB - Cs + Ct
|
||||
write_matrix(CB, 'born_matrix.out')
|
||||
write_matrix(Cs, 'stre_matrix.out')
|
||||
write_matrix(Ct, 'temp_matrix.out')
|
||||
write_matrix(C, 'full_matrix.out')
|
||||
C11 = np.mean([C[0,0], C[1,1], C[2,2]]) * 10**-9
|
||||
C12 = np.mean([C[0,1], C[0,2], C[1,2]]) * 10**-9
|
||||
C44 = np.mean([C[3,3], C[4,4], C[5,5]]) * 10**-9
|
||||
eC11 = np.std([C[0,0], C[1,1], C[2,2]]) * 10**-9
|
||||
eC12 = np.std([C[0,1], C[0,2], C[1,2]]) * 10**-9
|
||||
eC44 = np.std([C[3,3], C[4,4], C[5,5]]) * 10**-9
|
||||
print(C*10**-9)
|
||||
print("C11 = {:f} ± {:f}; C12 = {:f} ± {:f}; C44 = {:f} ± {:f}".format(C11, eC11, C12, eC12, C44, eC44))
|
||||
|
||||
return
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
main()
|
||||
except KeyboardInterrupt:
|
||||
raise SystemExit("User interruption.")
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
2.29922 1.17439 1.20854 -0.01653 -0.01684 0.01188
|
||||
1.17439 2.20673 1.21718 -0.00781 -0.00753 0.00867
|
||||
1.20854 1.21718 2.30804 0.01535 -0.01596 0.00426
|
||||
-0.01653 -0.00781 0.01535 1.47647 -0.01355 -0.01601
|
||||
-0.01684 -0.00753 -0.01596 -0.01355 1.37905 0.01975
|
||||
0.01188 0.00867 0.00426 -0.01601 0.01975 1.40170
|
||||
154
examples/ELASTIC_T/BORN_MATRIX/Argon/Numdiff/in.ljcov
Normal file
154
examples/ELASTIC_T/BORN_MATRIX/Argon/Numdiff/in.ljcov
Normal file
@ -0,0 +1,154 @@
|
||||
# Numerical difference calculation
|
||||
# of Born matrix
|
||||
|
||||
# Note that because of cubic symmetry and central forces, we have:
|
||||
# C11, pure axial == positive mean value: 1,2,3
|
||||
# C44==C23, pure shear == positive mean value, exactly match in pairs: (4,12),(5,8),(6,7)
|
||||
# C14==C56, shear/axial(normal) == zero mean, exactly match in pairs: (9,21),(14,20),(18,19)
|
||||
# C15, shear/axial(in-plane) == zero mean: 10,11,13,15,16,17
|
||||
|
||||
# adjustable parameters
|
||||
|
||||
units real
|
||||
variable nsteps index 100000 # length of run
|
||||
variable nthermo index 1000 # thermo output interval
|
||||
variable nlat equal 5 # size of box
|
||||
variable T equal 60. # Temperature in K
|
||||
variable rho equal 5.405 # Lattice spacing in A
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc ${rho}
|
||||
region box block 0 ${nlat} 0 ${nlat} 0 ${nlat}
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
mass * 39.948
|
||||
|
||||
velocity all create ${T} 87287 loop geom
|
||||
velocity all zero linear
|
||||
|
||||
pair_style lj/cut 12.0
|
||||
pair_coeff 1 1 0.238067 3.405
|
||||
|
||||
neighbor 0.0 bin
|
||||
neigh_modify every 1 delay 0 check no
|
||||
|
||||
variable vol equal vol
|
||||
thermo 100
|
||||
fix aL all ave/time 1 1 1 v_vol ave running
|
||||
fix NPT all npt temp $T $T 100 aniso 1. 1. 1000 fixedpoint 0. 0. 0.
|
||||
|
||||
run 20000
|
||||
|
||||
unfix NPT
|
||||
|
||||
variable newL equal "f_aL^(1./3.)"
|
||||
change_box all x final 0 ${newL} y final 0. ${newL} z final 0. ${newL} remap units box
|
||||
|
||||
unfix aL
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
# Conversion variables
|
||||
variable kb equal 1.38065e-23 # J/K
|
||||
variable Myvol equal "vol*10^-30" # Volume in m^3
|
||||
variable kbt equal "v_kb*v_T"
|
||||
variable Nat equal atoms
|
||||
variable Rhokbt equal "v_kbt*v_Nat/v_Myvol"
|
||||
variable at2Pa equal 101325
|
||||
variable kcalmol2J equal "4183.9954/(6.022e23)"
|
||||
variable C1 equal "v_kcalmol2J/v_Myvol" # Convert Cb from energy to pressure units
|
||||
variable C2 equal "v_Myvol/v_kbt" # Factor for Cfl terms
|
||||
variable Pa2GPa equal 1e-9
|
||||
|
||||
# Born compute giving <C^b> terms
|
||||
# The six virial stress component to compute <C^fl>
|
||||
compute VIR all pressure NULL virial
|
||||
compute born all born/matrix numdiff 1e-6 VIR
|
||||
variable s1 equal "-c_VIR[1]*v_at2Pa"
|
||||
variable s2 equal "-c_VIR[2]*v_at2Pa"
|
||||
variable s3 equal "-c_VIR[3]*v_at2Pa"
|
||||
variable s6 equal "-c_VIR[4]*v_at2Pa"
|
||||
variable s5 equal "-c_VIR[5]*v_at2Pa"
|
||||
variable s4 equal "-c_VIR[6]*v_at2Pa"
|
||||
variable press equal press
|
||||
|
||||
|
||||
# Average of Born term and vector to store stress
|
||||
# for post processing
|
||||
fix CB all ave/time 1 ${nthermo} ${nthermo} c_born[*] ave running file born.out overwrite
|
||||
fix CPR all ave/time 1 1 1 c_VIR[*] file vir.out
|
||||
fix APR all ave/time 1 1 1 v_press ave running
|
||||
fix VEC all vector 1 v_s1 v_s2 v_s3 v_s4 v_s5 v_s6
|
||||
|
||||
thermo ${nthermo}
|
||||
thermo_style custom step temp press f_APR c_born[1] f_CB[1] c_born[12] f_CB[12] c_born[4] f_CB[4]
|
||||
thermo_modify line multi
|
||||
|
||||
fix 1 all nvt temp $T $T 100
|
||||
|
||||
run ${nsteps}
|
||||
|
||||
# Compute vector averages
|
||||
# Note the indice switch.
|
||||
# LAMMPS convention is NOT the Voigt notation.
|
||||
variable aves1 equal "ave(f_VEC[1])"
|
||||
variable aves2 equal "ave(f_VEC[2])"
|
||||
variable aves3 equal "ave(f_VEC[3])"
|
||||
variable aves4 equal "ave(f_VEC[6])"
|
||||
variable aves5 equal "ave(f_VEC[5])"
|
||||
variable aves6 equal "ave(f_VEC[4])"
|
||||
|
||||
# Computing the covariance through the <s_{i}s_{j}>-<s_i><s_j>
|
||||
# is numerically instable. Here we go through the <(s-<s>)^2>
|
||||
# definition.
|
||||
|
||||
# Computing difference relative to average values
|
||||
variable ds1 vector "f_VEC[1]-v_aves1"
|
||||
variable ds2 vector "f_VEC[2]-v_aves2"
|
||||
variable ds3 vector "f_VEC[3]-v_aves3"
|
||||
variable ds4 vector "f_VEC[4]-v_aves4"
|
||||
variable ds5 vector "f_VEC[5]-v_aves5"
|
||||
variable ds6 vector "f_VEC[6]-v_aves6"
|
||||
|
||||
# Squaring and averaging
|
||||
variable dds1 vector "v_ds1*v_ds1"
|
||||
variable dds2 vector "v_ds2*v_ds2"
|
||||
variable dds3 vector "v_ds3*v_ds3"
|
||||
variable vars1 equal "ave(v_dds1)"
|
||||
variable vars2 equal "ave(v_dds2)"
|
||||
variable vars3 equal "ave(v_dds3)"
|
||||
variable C11 equal "v_Pa2GPa*(v_C1*f_CB[1] - v_C2*v_vars1 + 2*v_Rhokbt)"
|
||||
variable C22 equal "v_Pa2GPa*(v_C1*f_CB[2] - v_C2*v_vars2 + 2*v_Rhokbt)"
|
||||
variable C33 equal "v_Pa2GPa*(v_C1*f_CB[3] - v_C2*v_vars3 + 2*v_Rhokbt)"
|
||||
|
||||
variable dds12 vector "v_ds1*v_ds2"
|
||||
variable dds13 vector "v_ds1*v_ds3"
|
||||
variable dds23 vector "v_ds2*v_ds3"
|
||||
variable vars12 equal "ave(v_dds12)"
|
||||
variable vars13 equal "ave(v_dds13)"
|
||||
variable vars23 equal "ave(v_dds23)"
|
||||
variable C12 equal "v_Pa2GPa*(v_C1*f_CB[7] - v_C2*v_vars12)"
|
||||
variable C13 equal "v_Pa2GPa*(v_C1*f_CB[8] - v_C2*v_vars13)"
|
||||
variable C23 equal "v_Pa2GPa*(v_C1*f_CB[12] - v_C2*v_vars23)"
|
||||
|
||||
variable dds4 vector "v_ds4*v_ds4"
|
||||
variable dds5 vector "v_ds5*v_ds5"
|
||||
variable dds6 vector "v_ds6*v_ds6"
|
||||
variable vars4 equal "ave(v_dds4)"
|
||||
variable vars5 equal "ave(v_dds5)"
|
||||
variable vars6 equal "ave(v_dds6)"
|
||||
variable C44 equal "v_Pa2GPa*(v_C1*f_CB[4] - v_C2*v_vars4 + v_Rhokbt)"
|
||||
variable C55 equal "v_Pa2GPa*(v_C1*f_CB[5] - v_C2*v_vars5 + v_Rhokbt)"
|
||||
variable C66 equal "v_Pa2GPa*(v_C1*f_CB[6] - v_C2*v_vars6 + v_Rhokbt)"
|
||||
|
||||
variable aC11 equal "(v_C11 + v_C22 + v_C33)/3."
|
||||
variable aC12 equal "(v_C12 + v_C13 + v_C23)/3."
|
||||
variable aC44 equal "(v_C44 + v_C55 + v_C66)/3."
|
||||
|
||||
print """
|
||||
C11 = ${aC11}
|
||||
C12 = ${aC12}
|
||||
C44 = ${aC44}
|
||||
"""
|
||||
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
1.10120 0.69454 0.66285 0.01885 0.01902 -0.01367
|
||||
0.69454 1.20617 0.65567 0.00893 0.00839 -0.00873
|
||||
0.66285 0.65567 1.11090 -0.01593 0.01634 -0.00483
|
||||
0.01885 0.00893 -0.01593 0.42772 0.01316 0.01666
|
||||
0.01902 0.00839 0.01634 0.01316 0.52416 -0.01733
|
||||
-0.01367 -0.00873 -0.00483 0.01666 -0.01733 0.49891
|
||||
@ -0,0 +1,7 @@
|
||||
# Cij Matrix from post process computation
|
||||
0.04187 0.00000 0.00000 0.00000 0.00000 0.00000
|
||||
0.00000 0.04187 0.00000 0.00000 0.00000 0.00000
|
||||
0.00000 0.00000 0.04187 0.00000 0.00000 0.00000
|
||||
0.00000 0.00000 0.00000 0.02093 0.00000 0.00000
|
||||
0.00000 0.00000 0.00000 0.00000 0.02093 0.00000
|
||||
0.00000 0.00000 0.00000 0.00000 0.00000 0.02093
|
||||
13
examples/ELASTIC_T/BORN_MATRIX/Argon/README.md
Normal file
13
examples/ELASTIC_T/BORN_MATRIX/Argon/README.md
Normal file
@ -0,0 +1,13 @@
|
||||
This repository is a test case for the compute born/matrix. It provides short
|
||||
scripts creating argon fcc crystal and computing the Born term using the two
|
||||
methods described in the documentation.
|
||||
|
||||
In the __Analytical__ directory the terms are computed using the analytical
|
||||
derivation of the Born term for the lj/cut pair style.
|
||||
|
||||
In the __Numdiff__ directory, the Born term is evaluated through small
|
||||
numerical differences of the stress tensor. This method can be used with any
|
||||
interaction potential.
|
||||
|
||||
Both script show examples on how to compute the full Cij elastic stiffness
|
||||
tensor in LAMMPS.
|
||||
1
examples/ELASTIC_T/BORN_MATRIX/Silicon/Si.sw
Symbolic link
1
examples/ELASTIC_T/BORN_MATRIX/Silicon/Si.sw
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../potentials/Si.sw
|
||||
68
examples/ELASTIC_T/BORN_MATRIX/Silicon/final_output.in
Normal file
68
examples/ELASTIC_T/BORN_MATRIX/Silicon/final_output.in
Normal file
@ -0,0 +1,68 @@
|
||||
# Average moduli for cubic crystals
|
||||
|
||||
variable C11cubic equal (${C11}+${C22}+${C33})/3.0
|
||||
variable C12cubic equal (${C12}+${C13}+${C23})/3.0
|
||||
variable C44cubic equal (${C44}+${C55}+${C66})/3.0
|
||||
|
||||
variable bulkmodulus equal (${C11cubic}+2*${C12cubic})/3.0
|
||||
variable shearmodulus1 equal ${C44cubic}
|
||||
variable shearmodulus2 equal (${C11cubic}-${C12cubic})/2.0
|
||||
variable poissonratio equal 1.0/(1.0+${C11cubic}/${C12cubic})
|
||||
|
||||
# For Stillinger-Weber silicon, the analytical results
|
||||
# are known to be (E. R. Cowley, 1988):
|
||||
# C11 = 151.4 GPa
|
||||
# C12 = 76.4 GPa
|
||||
# C44 = 56.4 GPa
|
||||
|
||||
#print "========================================="
|
||||
#print "Components of the Elastic Constant Tensor"
|
||||
#print "========================================="
|
||||
|
||||
print "Elastic Constant C11 = ${C11} ${cunits}"
|
||||
print "Elastic Constant C22 = ${C22} ${cunits}"
|
||||
print "Elastic Constant C33 = ${C33} ${cunits}"
|
||||
|
||||
print "Elastic Constant C12 = ${C12} ${cunits}"
|
||||
print "Elastic Constant C13 = ${C13} ${cunits}"
|
||||
print "Elastic Constant C23 = ${C23} ${cunits}"
|
||||
|
||||
print "Elastic Constant C44 = ${C44} ${cunits}"
|
||||
print "Elastic Constant C55 = ${C55} ${cunits}"
|
||||
print "Elastic Constant C66 = ${C66} ${cunits}"
|
||||
|
||||
print "Elastic Constant C14 = ${C14} ${cunits}"
|
||||
print "Elastic Constant C15 = ${C15} ${cunits}"
|
||||
print "Elastic Constant C16 = ${C16} ${cunits}"
|
||||
|
||||
print "Elastic Constant C24 = ${C24} ${cunits}"
|
||||
print "Elastic Constant C25 = ${C25} ${cunits}"
|
||||
print "Elastic Constant C26 = ${C26} ${cunits}"
|
||||
|
||||
print "Elastic Constant C34 = ${C34} ${cunits}"
|
||||
print "Elastic Constant C35 = ${C35} ${cunits}"
|
||||
print "Elastic Constant C36 = ${C36} ${cunits}"
|
||||
|
||||
print "Elastic Constant C45 = ${C45} ${cunits}"
|
||||
print "Elastic Constant C46 = ${C46} ${cunits}"
|
||||
print "Elastic Constant C56 = ${C56} ${cunits}"
|
||||
|
||||
print "========================================="
|
||||
print "Average properties for a cubic crystal"
|
||||
print "========================================="
|
||||
|
||||
print "Bulk Modulus = ${bulkmodulus} ${cunits}"
|
||||
print "Shear Modulus 1 = ${shearmodulus1} ${cunits}"
|
||||
print "Shear Modulus 2 = ${shearmodulus2} ${cunits}"
|
||||
print "Poisson Ratio = ${poissonratio}"
|
||||
|
||||
# summarize sampling protocol
|
||||
|
||||
variable tmp equal atoms
|
||||
print "Number of atoms = ${tmp}"
|
||||
print "Stress sampling interval = ${nevery}"
|
||||
variable tmp equal ${nrun}/${nevery}
|
||||
print "Stress sample count = ${tmp}"
|
||||
print "Born sampling interval = ${neveryborn}"
|
||||
variable tmp equal ${nrun}/${neveryborn}
|
||||
print "Born sample count = ${tmp}"
|
||||
25
examples/ELASTIC_T/BORN_MATRIX/Silicon/in.elastic
Normal file
25
examples/ELASTIC_T/BORN_MATRIX/Silicon/in.elastic
Normal file
@ -0,0 +1,25 @@
|
||||
# Compute elastic constant tensor for a crystal at finite temperature
|
||||
# These settings replicate the 1477~K benchmark of
|
||||
# Kluge, Ray, and Rahman (1986) that is Ref.[15] in:
|
||||
# Y. Zhen, C. Chu, Computer Physics Communications 183(2012) 261-265
|
||||
|
||||
# here: Y. Zhen, C. Chu, Computer Physics Communications 183(2012) 261-265
|
||||
|
||||
include init.in
|
||||
|
||||
# Compute initial state
|
||||
|
||||
include potential.in
|
||||
thermo_style custom step temp pe press density
|
||||
run ${nequil}
|
||||
|
||||
# Run dynamics
|
||||
|
||||
include potential.in
|
||||
include output.in
|
||||
|
||||
run ${nrun}
|
||||
|
||||
# Output final values
|
||||
|
||||
include final_output.in
|
||||
59
examples/ELASTIC_T/BORN_MATRIX/Silicon/init.in
Normal file
59
examples/ELASTIC_T/BORN_MATRIX/Silicon/init.in
Normal file
@ -0,0 +1,59 @@
|
||||
# NOTE: This script can be modified for different atomic structures,
|
||||
# units, etc. See in.elastic for more info.
|
||||
#
|
||||
|
||||
# Define MD parameters
|
||||
# These can be modified by the user
|
||||
# These settings replicate the 1477~K benchmark of
|
||||
# Kluge, Ray, and Rahman (1986) that is Ref.[15] in:
|
||||
# Y. Zhen, C. Chu, Computer Physics Communications 183(2012) 261-265
|
||||
|
||||
# select temperature and pressure (lattice constant)
|
||||
|
||||
variable temp index 1477.0 # temperature of initial sample
|
||||
variable a index 5.457 # lattice constant
|
||||
|
||||
# select sampling parameters, important for speed/convergence
|
||||
|
||||
variable nthermo index 1500 # interval for thermo output
|
||||
variable nevery index 10 # stress sampling interval
|
||||
variable neveryborn index 100 # Born sampling interval
|
||||
variable timestep index 0.000766 # timestep
|
||||
variable nlat index 3 # number of lattice unit cells
|
||||
|
||||
# other settings
|
||||
|
||||
variable mass1 index 28.06 # mass
|
||||
variable tdamp index 0.01 # time constant for thermostat
|
||||
variable seed index 123457 # seed for thermostat
|
||||
variable thermostat index 1 # 0 if NVE, 1 if NVT
|
||||
variable delta index 1.0e-6 # Born numdiff strain magnitude
|
||||
|
||||
# hard-coded rules-of-thumb for run length, etc.
|
||||
|
||||
variable nfreq equal ${nthermo} # interval for averaging output
|
||||
variable nrepeat equal floor(${nfreq}/${nevery}) # number of samples
|
||||
variable nrepeatborn equal floor(${nfreq}/${neveryborn}) # number of samples
|
||||
variable nequil equal 10*${nthermo} # length of equilibration run
|
||||
variable nrun equal 100*${nthermo} # length of equilibrated run
|
||||
|
||||
# generate the box and atom positions using a diamond lattice
|
||||
|
||||
units metal
|
||||
|
||||
boundary p p p
|
||||
|
||||
# this generates a standard 8-atom cubic cell
|
||||
|
||||
lattice diamond $a
|
||||
region box prism 0 1 0 1 0 1 0 0 0
|
||||
|
||||
# this generates a 2-atom triclinic cell
|
||||
#include tri.in
|
||||
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
mass 1 ${mass1}
|
||||
replicate ${nlat} ${nlat} ${nlat}
|
||||
velocity all create ${temp} 87287
|
||||
|
||||
141
examples/ELASTIC_T/BORN_MATRIX/Silicon/output.in
Normal file
141
examples/ELASTIC_T/BORN_MATRIX/Silicon/output.in
Normal file
@ -0,0 +1,141 @@
|
||||
# Setup output
|
||||
|
||||
# Stress fluctuation term F
|
||||
|
||||
compute stress all pressure thermo_temp
|
||||
variable s1 equal c_stress[1]
|
||||
variable s2 equal c_stress[2]
|
||||
variable s3 equal c_stress[3]
|
||||
variable s4 equal c_stress[6]
|
||||
variable s5 equal c_stress[5]
|
||||
variable s6 equal c_stress[4]
|
||||
|
||||
variable s11 equal v_s1*v_s1
|
||||
variable s22 equal v_s2*v_s2
|
||||
variable s33 equal v_s3*v_s3
|
||||
variable s44 equal v_s4*v_s4
|
||||
variable s55 equal v_s5*v_s5
|
||||
variable s66 equal v_s6*v_s6
|
||||
variable s33 equal v_s3*v_s3
|
||||
variable s12 equal v_s1*v_s2
|
||||
variable s13 equal v_s1*v_s3
|
||||
variable s14 equal v_s1*v_s4
|
||||
variable s15 equal v_s1*v_s5
|
||||
variable s16 equal v_s1*v_s6
|
||||
variable s23 equal v_s2*v_s3
|
||||
variable s24 equal v_s2*v_s4
|
||||
variable s25 equal v_s2*v_s5
|
||||
variable s26 equal v_s2*v_s6
|
||||
variable s34 equal v_s3*v_s4
|
||||
variable s35 equal v_s3*v_s5
|
||||
variable s36 equal v_s3*v_s6
|
||||
variable s45 equal v_s4*v_s5
|
||||
variable s46 equal v_s4*v_s6
|
||||
variable s56 equal v_s5*v_s6
|
||||
|
||||
variable mytemp equal temp
|
||||
variable mypress equal press
|
||||
variable mype equal pe/atoms
|
||||
fix avt all ave/time ${nevery} ${nrepeat} ${nfreq} v_mytemp ave running
|
||||
fix avp all ave/time ${nevery} ${nrepeat} ${nfreq} v_mypress ave running
|
||||
fix avpe all ave/time ${nevery} ${nrepeat} ${nfreq} v_mype ave running
|
||||
fix avs all ave/time ${nevery} ${nrepeat} ${nfreq} v_s1 v_s2 v_s3 v_s4 v_s5 v_s6 ave running
|
||||
fix avssq all ave/time ${nevery} ${nrepeat} ${nfreq} &
|
||||
v_s11 v_s22 v_s33 v_s44 v_s55 v_s66 &
|
||||
v_s12 v_s13 v_s14 v_s15 v_s16 &
|
||||
v_s23 v_s24 v_s25 v_s26 &
|
||||
v_s34 v_s35 v_s36 &
|
||||
v_s45 v_s46 &
|
||||
v_s56 &
|
||||
ave running
|
||||
|
||||
# bar to GPa
|
||||
variable pconv equal 1.0e5/1.0e9
|
||||
variable cunits index GPa
|
||||
# metal unit constants from LAMMPS
|
||||
# force->nktv2p = 1.6021765e6;
|
||||
# force->boltz = 8.617343e-5;
|
||||
variable boltz equal 8.617343e-5
|
||||
variable nktv2p equal 1.6021765e6
|
||||
variable vkt equal vol/(${boltz}*${temp})/${nktv2p}
|
||||
variable ffac equal ${pconv}*${vkt}
|
||||
|
||||
variable F11 equal -(f_avssq[1]-f_avs[1]*f_avs[1])*${ffac}
|
||||
variable F22 equal -(f_avssq[2]-f_avs[2]*f_avs[2])*${ffac}
|
||||
variable F33 equal -(f_avssq[3]-f_avs[3]*f_avs[3])*${ffac}
|
||||
variable F44 equal -(f_avssq[4]-f_avs[4]*f_avs[4])*${ffac}
|
||||
variable F55 equal -(f_avssq[5]-f_avs[5]*f_avs[5])*${ffac}
|
||||
variable F66 equal -(f_avssq[6]-f_avs[6]*f_avs[6])*${ffac}
|
||||
|
||||
variable F12 equal -(f_avssq[7]-f_avs[1]*f_avs[2])*${ffac}
|
||||
variable F13 equal -(f_avssq[8]-f_avs[1]*f_avs[3])*${ffac}
|
||||
variable F14 equal -(f_avssq[9]-f_avs[1]*f_avs[4])*${ffac}
|
||||
variable F15 equal -(f_avssq[10]-f_avs[1]*f_avs[5])*${ffac}
|
||||
variable F16 equal -(f_avssq[11]-f_avs[1]*f_avs[6])*${ffac}
|
||||
|
||||
variable F23 equal -(f_avssq[12]-f_avs[2]*f_avs[3])*${ffac}
|
||||
variable F24 equal -(f_avssq[13]-f_avs[2]*f_avs[4])*${ffac}
|
||||
variable F25 equal -(f_avssq[14]-f_avs[2]*f_avs[5])*${ffac}
|
||||
variable F26 equal -(f_avssq[15]-f_avs[2]*f_avs[6])*${ffac}
|
||||
|
||||
variable F34 equal -(f_avssq[16]-f_avs[3]*f_avs[4])*${ffac}
|
||||
variable F35 equal -(f_avssq[17]-f_avs[3]*f_avs[5])*${ffac}
|
||||
variable F36 equal -(f_avssq[18]-f_avs[3]*f_avs[6])*${ffac}
|
||||
|
||||
variable F45 equal -(f_avssq[19]-f_avs[4]*f_avs[5])*${ffac}
|
||||
variable F46 equal -(f_avssq[20]-f_avs[4]*f_avs[6])*${ffac}
|
||||
|
||||
variable F56 equal -(f_avssq[21]-f_avs[5]*f_avs[6])*${ffac}
|
||||
|
||||
# Born term
|
||||
|
||||
compute virial all pressure NULL virial
|
||||
compute born all born/matrix numdiff ${delta} virial
|
||||
fix avborn all ave/time ${neveryborn} ${nrepeatborn} ${nfreq} c_born[*] ave running
|
||||
|
||||
variable bfac equal ${pconv}*${nktv2p}/vol
|
||||
variable B vector f_avborn*${bfac}
|
||||
|
||||
# Kinetic term
|
||||
|
||||
variable kfac equal ${pconv}*${nktv2p}*atoms*${boltz}*${temp}/vol
|
||||
variable K11 equal 4.0*${kfac}
|
||||
variable K22 equal 4.0*${kfac}
|
||||
variable K33 equal 4.0*${kfac}
|
||||
variable K44 equal 2.0*${kfac}
|
||||
variable K55 equal 2.0*${kfac}
|
||||
variable K66 equal 2.0*${kfac}
|
||||
|
||||
# Add F, K, and B together
|
||||
|
||||
variable C11 equal v_F11+v_B[1]+v_K11
|
||||
variable C22 equal v_F22+v_B[2]+v_K22
|
||||
variable C33 equal v_F33+v_B[3]+v_K33
|
||||
variable C44 equal v_F44+v_B[4]+v_K44
|
||||
variable C55 equal v_F55+v_B[5]+v_K55
|
||||
variable C66 equal v_F66+v_B[6]+v_K66
|
||||
|
||||
variable C12 equal v_F12+v_B[7]
|
||||
variable C13 equal v_F13+v_B[8]
|
||||
variable C14 equal v_F14+v_B[9]
|
||||
variable C15 equal v_F15+v_B[10]
|
||||
variable C16 equal v_F16+v_B[11]
|
||||
|
||||
variable C23 equal v_F23+v_B[12]
|
||||
variable C24 equal v_F24+v_B[13]
|
||||
variable C25 equal v_F25+v_B[14]
|
||||
variable C26 equal v_F26+v_B[15]
|
||||
|
||||
variable C34 equal v_F34+v_B[16]
|
||||
variable C35 equal v_F35+v_B[17]
|
||||
variable C36 equal v_F36+v_B[18]
|
||||
|
||||
variable C45 equal v_F45+v_B[19]
|
||||
variable C46 equal v_F46+v_B[20]
|
||||
|
||||
variable C56 equal v_F56+v_B[21]
|
||||
|
||||
thermo ${nthermo}
|
||||
thermo_style custom step temp pe press density f_avt f_avp f_avpe v_F11 v_F22 v_F33 v_F44 v_F55 v_F66 v_F12 v_F13 v_F23 v_B[*8] v_B[12]
|
||||
|
||||
thermo_modify norm no
|
||||
21
examples/ELASTIC_T/BORN_MATRIX/Silicon/potential.in
Normal file
21
examples/ELASTIC_T/BORN_MATRIX/Silicon/potential.in
Normal file
@ -0,0 +1,21 @@
|
||||
# NOTE: This script can be modified for different pair styles
|
||||
# See in.elastic for more info.
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
# Choose potential
|
||||
pair_style sw
|
||||
pair_coeff * * Si.sw Si
|
||||
|
||||
# Setup neighbor style
|
||||
neighbor 1.0 nsq
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Setup MD
|
||||
|
||||
timestep ${timestep}
|
||||
fix 4 all nve
|
||||
if "${thermostat} == 1" then &
|
||||
"fix 5 all langevin ${temp} ${temp} ${tdamp} ${seed}"
|
||||
|
||||
|
||||
26
examples/ELASTIC_T/BORN_MATRIX/Silicon/tri.in
Normal file
26
examples/ELASTIC_T/BORN_MATRIX/Silicon/tri.in
Normal file
@ -0,0 +1,26 @@
|
||||
# this generates a 2-atom triclinic cell
|
||||
# due to rotation on to x-axis,
|
||||
# elastic constant analysis is not working yet
|
||||
|
||||
# unit lattice vectors are
|
||||
# a1 = (1 0 0)
|
||||
# a2 = (1/2 sqrt3/2 0)
|
||||
# a3 = (1/2 1/(2sqrt3) sqrt2/sqrt3)
|
||||
|
||||
variable a1x equal 1
|
||||
variable a2x equal 1/2
|
||||
variable a2y equal sqrt(3)/2
|
||||
variable a3x equal 1/2
|
||||
variable a3y equal 1/(2*sqrt(3))
|
||||
variable a3z equal sqrt(2/3)
|
||||
variable l equal $a/sqrt(2)
|
||||
|
||||
lattice custom ${l} &
|
||||
a1 ${a1x} 0 0 &
|
||||
a2 ${a2x} ${a2y} 0.0 &
|
||||
a3 ${a3x} ${a3y} ${a3z} &
|
||||
basis 0 0 0 &
|
||||
basis 0.25 0.25 0.25 &
|
||||
spacing 1 1 1
|
||||
|
||||
region box prism 0 ${a1x} 0 ${a2y} 0 ${a3z} ${a2x} ${a3x} ${a3y}
|
||||
1
examples/ELASTIC_T/DEFORMATION/Silicon/Si.sw
Symbolic link
1
examples/ELASTIC_T/DEFORMATION/Silicon/Si.sw
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../potentials/Si.sw
|
||||
@ -1,6 +1,8 @@
|
||||
# NOTE: This script can be modified for different pair styles
|
||||
# See in.elastic for more info.
|
||||
|
||||
# we must undefine any fix ave/* fix before using reset_timestep
|
||||
if "$(is_defined(fix,avp))" then "unfix avp"
|
||||
reset_timestep 0
|
||||
|
||||
# Choose potential
|
||||
@ -1,18 +0,0 @@
|
||||
# DATE: 2007-06-11 CONTRIBUTOR: Aidan Thompson, athomps@sandia.gov CITATION: Stillinger and Weber, Phys Rev B, 31, 5262, (1985)
|
||||
# Stillinger-Weber parameters for various elements and mixtures
|
||||
# multiple entries can be added to this file, LAMMPS reads the ones it needs
|
||||
# these entries are in LAMMPS "metal" units:
|
||||
# epsilon = eV; sigma = Angstroms
|
||||
# other quantities are unitless
|
||||
|
||||
# format of a single entry (one or more lines):
|
||||
# element 1, element 2, element 3,
|
||||
# epsilon, sigma, a, lambda, gamma, costheta0, A, B, p, q, tol
|
||||
|
||||
# Here are the original parameters in metal units, for Silicon from:
|
||||
#
|
||||
# Stillinger and Weber, Phys. Rev. B, v. 31, p. 5262, (1985)
|
||||
#
|
||||
|
||||
Si Si Si 2.1683 2.0951 1.80 21.0 1.20 -0.333333333333
|
||||
7.049556277 0.6022245584 4.0 0.0 0.0
|
||||
@ -1,72 +1,72 @@
|
||||
# DESCRIPTION: haynes-schockley
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable V equal 5000.0
|
||||
variable n0 equal 0.085
|
||||
variable dn equal 2.0*${n0}
|
||||
variable dt equal 0.0005
|
||||
variable s equal 10
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
region simRegion block -50 50 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc convective_drift_diffusion Cu_cddm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 100 1 1 simRegion f p p
|
||||
|
||||
fix_modify AtC material all Cu
|
||||
|
||||
fix_modify AtC mesh create_nodeset lbc -50.0 -50.0 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 50.0 50.0 -INF INF -INF INF
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
#fix_modify AtC initial electron_temperature all 300.0
|
||||
fix_modify AtC fix electron_temperature all 300.
|
||||
#fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5.0 300. 300.
|
||||
fix_modify AtC initial electron_density all gaussian 0 0 0 1 0 0 5.0 ${dn} ${n0}
|
||||
#fix_modify AtC fix electron_density all ${n0}
|
||||
# isolate system:
|
||||
# diffusion: dn/dx = 0
|
||||
# drift : n = 0
|
||||
fix_modify AtC fix electron_density lbc ${n0}
|
||||
fix_modify AtC fix electron_density rbc ${n0}
|
||||
fix_modify AtC fix temperature lbc 300.0
|
||||
fix_modify AtC fix temperature rbc 300.0
|
||||
fix_modify AtC fix electron_temperature lbc 300.0
|
||||
fix_modify AtC fix electron_temperature rbc 300.0
|
||||
fix_modify AtC fix electric_potential all 0.
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
|
||||
# electron velocity
|
||||
fix_modify AtC initial electron_velocity x all 0.
|
||||
#fix_modify AtC fix electron_velocity x all 0.
|
||||
fix_modify AtC initial electron_velocity y all 0.
|
||||
fix_modify AtC fix electron_velocity y all 0
|
||||
fix_modify AtC initial electron_velocity z all 0.
|
||||
fix_modify AtC fix electron_velocity z all 0.
|
||||
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output convective_pulseFE $s text binary
|
||||
thermo $s
|
||||
#run 100
|
||||
|
||||
# free electric field and allow shielding
|
||||
fix_modify AtC unfix electric_potential all
|
||||
fix_modify AtC fix electric_potential lbc -$V
|
||||
fix_modify AtC fix electric_potential rbc 0
|
||||
fix_modify AtC source electric_potential all ${n0}
|
||||
fix_modify AtC extrinsic electron_integration implicit 10
|
||||
run 100
|
||||
# DESCRIPTION: haynes-schockley
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable V equal 5000.0
|
||||
variable n0 equal 0.085
|
||||
variable dn equal 2.0*${n0}
|
||||
variable dt equal 0.0005
|
||||
variable s equal 10
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
region simRegion block -50 50 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc convective_drift_diffusion Cu_cddm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 100 1 1 simRegion f p p
|
||||
|
||||
fix_modify AtC material all Cu
|
||||
|
||||
fix_modify AtC mesh create_nodeset lbc -50.0 -50.0 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 50.0 50.0 -INF INF -INF INF
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
#fix_modify AtC initial electron_temperature all 300.0
|
||||
fix_modify AtC fix electron_temperature all 300.
|
||||
#fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5.0 300. 300.
|
||||
fix_modify AtC initial electron_density all gaussian 0 0 0 1 0 0 5.0 ${dn} ${n0}
|
||||
#fix_modify AtC fix electron_density all ${n0}
|
||||
# isolate system:
|
||||
# diffusion: dn/dx = 0
|
||||
# drift : n = 0
|
||||
fix_modify AtC fix electron_density lbc ${n0}
|
||||
fix_modify AtC fix electron_density rbc ${n0}
|
||||
fix_modify AtC fix temperature lbc 300.0
|
||||
fix_modify AtC fix temperature rbc 300.0
|
||||
fix_modify AtC fix electron_temperature lbc 300.0
|
||||
fix_modify AtC fix electron_temperature rbc 300.0
|
||||
fix_modify AtC fix electric_potential all 0.
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
|
||||
# electron velocity
|
||||
fix_modify AtC initial electron_velocity x all 0.
|
||||
#fix_modify AtC fix electron_velocity x all 0.
|
||||
fix_modify AtC initial electron_velocity y all 0.
|
||||
fix_modify AtC fix electron_velocity y all 0
|
||||
fix_modify AtC initial electron_velocity z all 0.
|
||||
fix_modify AtC fix electron_velocity z all 0.
|
||||
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output convective_pulseFE $s text binary
|
||||
thermo $s
|
||||
#run 100
|
||||
|
||||
# free electric field and allow shielding
|
||||
fix_modify AtC unfix electric_potential all
|
||||
fix_modify AtC fix electric_potential lbc -$V
|
||||
fix_modify AtC fix electric_potential rbc 0
|
||||
fix_modify AtC source electric_potential all ${n0}
|
||||
fix_modify AtC extrinsic electron_integration implicit 10
|
||||
run 100
|
||||
|
||||
@ -1,66 +1,66 @@
|
||||
# needs description
|
||||
# DESCRIPTION: haynes-schockley
|
||||
# poisson eqn for E-field: epsilon phi,xx = -e (n - p + N_D - N_A)
|
||||
# w/ E = phi,x
|
||||
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable dt equal 0.0000001
|
||||
variable s equal 1
|
||||
variable L equal 10.0
|
||||
variable N equal 40
|
||||
variable T equal 30000.0
|
||||
variable E equal 0.5
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
region simRegion block 0 $L 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion-schrodinger Si_ddm_schrodinger.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create $N 1 1 simRegion f p p
|
||||
|
||||
variable a equal $L-0.1
|
||||
variable b equal $L+0.1
|
||||
fix_modify AtC mesh create_nodeset lbc -0.1 0.1 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc $a $b -INF INF -INF INF
|
||||
|
||||
# ics/bcs : density consistent with wave function
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
fix_modify AtC fix temperature all 300.0
|
||||
fix_modify AtC initial electron_temperature all $T
|
||||
fix_modify AtC fix electron_temperature all $T
|
||||
fix_modify AtC initial electron_density all 0.0
|
||||
#fix_modify AtC fix electron_density lbc 0
|
||||
#fix_modify AtC fix electron_density rbc 0
|
||||
fix_modify AtC initial electric_potential all 0.0
|
||||
fix_modify AtC initial electron_wavefunction all 0.0
|
||||
fix_modify AtC fix electron_wavefunction lbc 0
|
||||
fix_modify AtC fix electron_wavefunction rbc 0
|
||||
|
||||
thermo $s
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output ddm_schrodingerFE $s text
|
||||
fix_modify AtC extrinsic electron_integration implicit 1
|
||||
fix_modify AtC extrinsic schrodinger_poisson_solver self_consistency 1 # 100
|
||||
fix_modify AtC unfix electric_potential all
|
||||
# ends zero
|
||||
fix_modify AtC fix electric_potential lbc 0
|
||||
fix_modify AtC fix electric_potential rbc 0
|
||||
run 1
|
||||
# ends from gradient
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 0
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 0
|
||||
run 1
|
||||
|
||||
# needs description
|
||||
# DESCRIPTION: haynes-schockley
|
||||
# poisson eqn for E-field: epsilon phi,xx = -e (n - p + N_D - N_A)
|
||||
# w/ E = phi,x
|
||||
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable dt equal 0.0000001
|
||||
variable s equal 1
|
||||
variable L equal 10.0
|
||||
variable N equal 40
|
||||
variable T equal 30000.0
|
||||
variable E equal 0.5
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
region simRegion block 0 $L 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion-schrodinger Si_ddm_schrodinger.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create $N 1 1 simRegion f p p
|
||||
|
||||
variable a equal $L-0.1
|
||||
variable b equal $L+0.1
|
||||
fix_modify AtC mesh create_nodeset lbc -0.1 0.1 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc $a $b -INF INF -INF INF
|
||||
|
||||
# ics/bcs : density consistent with wave function
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
fix_modify AtC fix temperature all 300.0
|
||||
fix_modify AtC initial electron_temperature all $T
|
||||
fix_modify AtC fix electron_temperature all $T
|
||||
fix_modify AtC initial electron_density all 0.0
|
||||
#fix_modify AtC fix electron_density lbc 0
|
||||
#fix_modify AtC fix electron_density rbc 0
|
||||
fix_modify AtC initial electric_potential all 0.0
|
||||
fix_modify AtC initial electron_wavefunction all 0.0
|
||||
fix_modify AtC fix electron_wavefunction lbc 0
|
||||
fix_modify AtC fix electron_wavefunction rbc 0
|
||||
|
||||
thermo $s
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output ddm_schrodingerFE $s text
|
||||
fix_modify AtC extrinsic electron_integration implicit 1
|
||||
fix_modify AtC extrinsic schrodinger_poisson_solver self_consistency 1 # 100
|
||||
fix_modify AtC unfix electric_potential all
|
||||
# ends zero
|
||||
fix_modify AtC fix electric_potential lbc 0
|
||||
fix_modify AtC fix electric_potential rbc 0
|
||||
run 1
|
||||
# ends from gradient
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 0
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 0
|
||||
run 1
|
||||
|
||||
|
||||
@ -1,75 +1,75 @@
|
||||
#needs description
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable E equal 0.1
|
||||
variable L equal 10.0
|
||||
#variable N equal 100
|
||||
variable N equal 80
|
||||
variable T equal 1000
|
||||
variable n0 equal 0.0001
|
||||
variable dn equal 2.0*${n0}
|
||||
variable dt equal 0.0000001
|
||||
variable s equal 1
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
variable a equal 0.5*$L
|
||||
region simRegion block -$a $a 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion-schrodinger SiGe_ddm_schrodinger.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create $N 1 1 simRegion f p p
|
||||
variable a equal 0.2*$L+0.001
|
||||
fix_modify AtC mesh create_elementset well -$a $a -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset well -$a $a -INF INF -INF INF
|
||||
fix_modify AtC material well Ge
|
||||
|
||||
variable b equal $a-0.002
|
||||
fix_modify AtC mesh create_nodeset lbc -$a -$b -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc $b $a -INF INF -INF INF
|
||||
|
||||
# ics/bcs
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
fix_modify AtC fix temperature all 300.0
|
||||
#
|
||||
fix_modify AtC initial electron_temperature all $T
|
||||
fix_modify AtC fix electron_temperature all $T
|
||||
#
|
||||
fix_modify AtC initial electron_density all 0.0
|
||||
#fix_modify AtC fix electron_density all -0.001
|
||||
#fix_modify AtC fix electron_density well 0.002
|
||||
#
|
||||
fix_modify AtC initial electric_potential all 0.0
|
||||
#fix_modify AtC fix electric_potential lbc 0.5
|
||||
#fix_modify AtC fix electric_potential rbc 0.5
|
||||
fix_modify AtC fix electric_potential lbc 0.0
|
||||
fix_modify AtC fix electric_potential rbc 0.0
|
||||
#
|
||||
fix_modify AtC initial electron_wavefunction all 0.0
|
||||
fix_modify AtC fix electron_wavefunction lbc 0.0
|
||||
fix_modify AtC fix electron_wavefunction rbc 0.0
|
||||
|
||||
|
||||
thermo $s
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output finite_wellFE $s text
|
||||
fix_modify AtC extrinsic electron_integration implicit 3
|
||||
fix_modify AtC extrinsic schrodinger_poisson_solver self_consistency 3 # 30
|
||||
variable m equal 1*$s
|
||||
# (A) no field
|
||||
run $m
|
||||
# (B) fixed boundary field
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 1
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 1
|
||||
run $m
|
||||
#needs description
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable E equal 0.1
|
||||
variable L equal 10.0
|
||||
#variable N equal 100
|
||||
variable N equal 80
|
||||
variable T equal 1000
|
||||
variable n0 equal 0.0001
|
||||
variable dn equal 2.0*${n0}
|
||||
variable dt equal 0.0000001
|
||||
variable s equal 1
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
variable a equal 0.5*$L
|
||||
region simRegion block -$a $a 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion-schrodinger SiGe_ddm_schrodinger.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create $N 1 1 simRegion f p p
|
||||
variable a equal 0.2*$L+0.001
|
||||
fix_modify AtC mesh create_elementset well -$a $a -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset well -$a $a -INF INF -INF INF
|
||||
fix_modify AtC material well Ge
|
||||
|
||||
variable b equal $a-0.002
|
||||
fix_modify AtC mesh create_nodeset lbc -$a -$b -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc $b $a -INF INF -INF INF
|
||||
|
||||
# ics/bcs
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
fix_modify AtC fix temperature all 300.0
|
||||
#
|
||||
fix_modify AtC initial electron_temperature all $T
|
||||
fix_modify AtC fix electron_temperature all $T
|
||||
#
|
||||
fix_modify AtC initial electron_density all 0.0
|
||||
#fix_modify AtC fix electron_density all -0.001
|
||||
#fix_modify AtC fix electron_density well 0.002
|
||||
#
|
||||
fix_modify AtC initial electric_potential all 0.0
|
||||
#fix_modify AtC fix electric_potential lbc 0.5
|
||||
#fix_modify AtC fix electric_potential rbc 0.5
|
||||
fix_modify AtC fix electric_potential lbc 0.0
|
||||
fix_modify AtC fix electric_potential rbc 0.0
|
||||
#
|
||||
fix_modify AtC initial electron_wavefunction all 0.0
|
||||
fix_modify AtC fix electron_wavefunction lbc 0.0
|
||||
fix_modify AtC fix electron_wavefunction rbc 0.0
|
||||
|
||||
|
||||
thermo $s
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output finite_wellFE $s text
|
||||
fix_modify AtC extrinsic electron_integration implicit 3
|
||||
fix_modify AtC extrinsic schrodinger_poisson_solver self_consistency 3 # 30
|
||||
variable m equal 1*$s
|
||||
# (A) no field
|
||||
run $m
|
||||
# (B) fixed boundary field
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 1
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 1
|
||||
run $m
|
||||
|
||||
@ -1,65 +1,65 @@
|
||||
# needs description
|
||||
# DESCRIPTION: haynes-schockley
|
||||
# continuity eqn: n,t = J,x + (G-R) = D n,xx + mu (n E),x + G - 1/tau (n - n_0)
|
||||
# w/ J = D n,x + mu n phi,x
|
||||
# poisson eqn for E-field: epsilon phi,xx = -e (n - p + N_D - N_A)
|
||||
# w/ E = phi,x
|
||||
# NOTE: does not conserve electrons even with fixed E field and zero mobility
|
||||
# if J=0 --> n,x = mu/D n phi,x
|
||||
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable E equal 10.0
|
||||
variable n0 equal 0.0001
|
||||
variable dn equal 2.0*${n0}
|
||||
variable dt equal 0.0000001
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
region simRegion block -50 50 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion Si_ddm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 100 1 1 simRegion f p p
|
||||
|
||||
fix_modify AtC mesh create_nodeset lbc -50.1 -49.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 49.9 50.1 -INF INF -INF INF
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
fix_modify AtC initial electron_temperature all 300.0
|
||||
fix_modify AtC initial electron_density all gaussian 0 0 0 1 0 0 5.0 ${dn} ${n0}
|
||||
# isolate system:
|
||||
# diffusion: dn/dx = 0
|
||||
# drift : n = 0
|
||||
fix_modify AtC fix electron_density lbc ${n0}
|
||||
fix_modify AtC fix electron_density rbc ${n0}
|
||||
fix_modify AtC fix electric_potential all linear 0 0 0 $E 0 0 1
|
||||
variable perm equal 0.06
|
||||
variable nD equal 1.0e-4
|
||||
fix_modify AtC source electric_potential all ${nD}
|
||||
|
||||
variable s equal 10
|
||||
thermo $s
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output no_atoms_ddmFE $s text
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
run 40
|
||||
|
||||
# free electric field and allow shielding
|
||||
fix_modify AtC unfix electric_potential all
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 1
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 1
|
||||
fix_modify AtC extrinsic electron_integration implicit 10
|
||||
run 40
|
||||
# needs description
|
||||
# DESCRIPTION: haynes-schockley
|
||||
# continuity eqn: n,t = J,x + (G-R) = D n,xx + mu (n E),x + G - 1/tau (n - n_0)
|
||||
# w/ J = D n,x + mu n phi,x
|
||||
# poisson eqn for E-field: epsilon phi,xx = -e (n - p + N_D - N_A)
|
||||
# w/ E = phi,x
|
||||
# NOTE: does not conserve electrons even with fixed E field and zero mobility
|
||||
# if J=0 --> n,x = mu/D n phi,x
|
||||
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable E equal 10.0
|
||||
variable n0 equal 0.0001
|
||||
variable dn equal 2.0*${n0}
|
||||
variable dt equal 0.0000001
|
||||
|
||||
timestep ${dt}
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 1.0
|
||||
region simRegion block -50 50 0 1 0 1
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
mass 1 1.0 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion Si_ddm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 100 1 1 simRegion f p p
|
||||
|
||||
fix_modify AtC mesh create_nodeset lbc -50.1 -49.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 49.9 50.1 -INF INF -INF INF
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 300.0
|
||||
fix_modify AtC initial electron_temperature all 300.0
|
||||
fix_modify AtC initial electron_density all gaussian 0 0 0 1 0 0 5.0 ${dn} ${n0}
|
||||
# isolate system:
|
||||
# diffusion: dn/dx = 0
|
||||
# drift : n = 0
|
||||
fix_modify AtC fix electron_density lbc ${n0}
|
||||
fix_modify AtC fix electron_density rbc ${n0}
|
||||
fix_modify AtC fix electric_potential all linear 0 0 0 $E 0 0 1
|
||||
variable perm equal 0.06
|
||||
variable nD equal 1.0e-4
|
||||
fix_modify AtC source electric_potential all ${nD}
|
||||
|
||||
variable s equal 10
|
||||
thermo $s
|
||||
# f_AtC:1 thermal energy, 2 avg T, 3 electron energy, 4 avg Te, 5 total n
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] f_AtC[5]
|
||||
thermo_modify format 1 %5i format 2 %7.2g
|
||||
fix_modify AtC output no_atoms_ddmFE $s text
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
run 40
|
||||
|
||||
# free electric field and allow shielding
|
||||
fix_modify AtC unfix electric_potential all
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 1
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 1
|
||||
fix_modify AtC extrinsic electron_integration implicit 10
|
||||
run 40
|
||||
|
||||
@ -1,79 +1,79 @@
|
||||
# needs description
|
||||
#AtC drift diffusion Coupling
|
||||
# DESCRIPTION:
|
||||
# electric potential solved over whole domain
|
||||
# all others only over the lower half
|
||||
# temperature is fixed over whole domain
|
||||
|
||||
# NOTE the vacuum can fully masked out by making the material
|
||||
# have null electron_density in Ar_ddm.mat
|
||||
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable s equal 100
|
||||
variable T equal 20
|
||||
variable n equal 0.000004
|
||||
variable tol equal 0.1
|
||||
variable W equal 1000
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region FE block -8 8 -6 6 0 3
|
||||
region MD block -7 7 -6 0 0 3
|
||||
region FREE block -4 4 -6 0 0 3
|
||||
|
||||
boundary f f p
|
||||
|
||||
# create atoms
|
||||
create_box 1 FE
|
||||
mass 1 39.95
|
||||
atom_modify sort 0 1
|
||||
|
||||
timestep 0.002
|
||||
thermo $s
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion Ar_ddm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 4 4 1 FE f f p
|
||||
|
||||
variable a equal $W+${tol}
|
||||
fix_modify AtC mesh create_elementset wire -$a $a -INF ${tol} -INF INF
|
||||
fix_modify AtC mesh create_elementset gap -$a $a -${tol} INF -INF INF
|
||||
# void is the complement of the wire nodeset
|
||||
variable a equal $W-${tol}
|
||||
fix_modify AtC mesh create_nodeset void -$a $a ${tol} INF -INF INF
|
||||
fix_modify AtC mesh output null_material_ddmMESH binary
|
||||
|
||||
fix_modify AtC control thermal none
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all $T
|
||||
fix_modify AtC initial electron_temperature all $T
|
||||
fix_modify AtC initial electron_density all $n
|
||||
fix_modify AtC initial electric_potential all 0.0
|
||||
fix_modify AtC initial temperature void 0.0
|
||||
fix_modify AtC initial electron_density void 0.0
|
||||
fix_modify AtC initial electric_potential void 0.0
|
||||
|
||||
# create vacuum
|
||||
fix_modify AtC material gap Vacuum
|
||||
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4]
|
||||
fix_modify AtC output null_material_ddmFE $s full_text binary
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
|
||||
#
|
||||
fix_modify AtC mesh create_nodeset lbc -8.1 -7.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 7.9 8.1 -INF INF -INF INF
|
||||
fix_modify AtC fix electron_temperature lbc $T
|
||||
fix_modify AtC fix electron_temperature rbc $T
|
||||
fix_modify AtC fix electron_density lbc $n
|
||||
fix_modify AtC fix electric_potential lbc 0.0
|
||||
|
||||
variable m equal $s*10
|
||||
run $m
|
||||
|
||||
# needs description
|
||||
#AtC drift diffusion Coupling
|
||||
# DESCRIPTION:
|
||||
# electric potential solved over whole domain
|
||||
# all others only over the lower half
|
||||
# temperature is fixed over whole domain
|
||||
|
||||
# NOTE the vacuum can fully masked out by making the material
|
||||
# have null electron_density in Ar_ddm.mat
|
||||
|
||||
echo both
|
||||
units metal
|
||||
|
||||
variable s equal 100
|
||||
variable T equal 20
|
||||
variable n equal 0.000004
|
||||
variable tol equal 0.1
|
||||
variable W equal 1000
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region FE block -8 8 -6 6 0 3
|
||||
region MD block -7 7 -6 0 0 3
|
||||
region FREE block -4 4 -6 0 0 3
|
||||
|
||||
boundary f f p
|
||||
|
||||
# create atoms
|
||||
create_box 1 FE
|
||||
mass 1 39.95
|
||||
atom_modify sort 0 1
|
||||
|
||||
timestep 0.002
|
||||
thermo $s
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC all atc drift_diffusion Ar_ddm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 4 4 1 FE f f p
|
||||
|
||||
variable a equal $W+${tol}
|
||||
fix_modify AtC mesh create_elementset wire -$a $a -INF ${tol} -INF INF
|
||||
fix_modify AtC mesh create_elementset gap -$a $a -${tol} INF -INF INF
|
||||
# void is the complement of the wire nodeset
|
||||
variable a equal $W-${tol}
|
||||
fix_modify AtC mesh create_nodeset void -$a $a ${tol} INF -INF INF
|
||||
fix_modify AtC mesh output null_material_ddmMESH binary
|
||||
|
||||
fix_modify AtC control thermal none
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all $T
|
||||
fix_modify AtC initial electron_temperature all $T
|
||||
fix_modify AtC initial electron_density all $n
|
||||
fix_modify AtC initial electric_potential all 0.0
|
||||
fix_modify AtC initial temperature void 0.0
|
||||
fix_modify AtC initial electron_density void 0.0
|
||||
fix_modify AtC initial electric_potential void 0.0
|
||||
|
||||
# create vacuum
|
||||
fix_modify AtC material gap Vacuum
|
||||
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4]
|
||||
fix_modify AtC output null_material_ddmFE $s full_text binary
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
|
||||
#
|
||||
fix_modify AtC mesh create_nodeset lbc -8.1 -7.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 7.9 8.1 -INF INF -INF INF
|
||||
fix_modify AtC fix electron_temperature lbc $T
|
||||
fix_modify AtC fix electron_temperature rbc $T
|
||||
fix_modify AtC fix electron_density lbc $n
|
||||
fix_modify AtC fix electric_potential lbc 0.0
|
||||
|
||||
variable m equal $s*10
|
||||
run $m
|
||||
|
||||
|
||||
@ -1,91 +1,91 @@
|
||||
# needs description
|
||||
#AtC Thermal Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -9 9 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# specify atom types
|
||||
#fix_modify AtC boundary Lghost
|
||||
#fix_modify AtC boundary Rghost
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC control localized_lambda on
|
||||
fix_modify AtC control momentum glc_velocity
|
||||
fix_modify AtC filter type exponential
|
||||
fix_modify AtC filter scale 1000.0
|
||||
fix_modify AtC filter on
|
||||
|
||||
# run to extension
|
||||
#fix_modify AtC output bar1dFE 50 text
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
fix_modify AtC output bar1dFE 500 text
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 10000
|
||||
# needs description
|
||||
#AtC Thermal Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -9 9 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# specify atom types
|
||||
#fix_modify AtC boundary Lghost
|
||||
#fix_modify AtC boundary Rghost
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC control localized_lambda on
|
||||
fix_modify AtC control momentum glc_velocity
|
||||
fix_modify AtC filter type exponential
|
||||
fix_modify AtC filter scale 1000.0
|
||||
fix_modify AtC filter on
|
||||
|
||||
# run to extension
|
||||
#fix_modify AtC output bar1dFE 50 text
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
fix_modify AtC output bar1dFE 500 text
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 10000
|
||||
|
||||
@ -1,116 +1,116 @@
|
||||
# needs description
|
||||
echo both
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -9 9 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 2 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass * 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
#pair_coeff * * .238 3.405 13.5
|
||||
pair_coeff * * 0.010323166 3.405 13.5
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_damped.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
|
||||
|
||||
variable v equal 0.00000004e3
|
||||
variable n equal 1000
|
||||
variable dt equal 0.005
|
||||
variable u equal $v*$n*${dt}
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc $v
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# specify atom types
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC control localized_lambda on
|
||||
fix_modify AtC control momentum glc_velocity
|
||||
#fix_modify AtC filter type exponential
|
||||
#fix_modify AtC filter scale 1.0
|
||||
#fix_modify AtC filter on
|
||||
|
||||
# run to extension
|
||||
timestep 0.005
|
||||
thermo 100
|
||||
thermo_style custom step cpu ke pe
|
||||
run 0
|
||||
variable pe0 equal pe
|
||||
variable pe equal pe-${pe0}
|
||||
thermo_style custom step cpu ke pe v_pe f_AtC[1] f_AtC[2] f_AtC[4] f_AtC[5]
|
||||
|
||||
run $n
|
||||
|
||||
fix_modify AtC output bar1d_dampedFE 500 text
|
||||
dump CONFIG all custom 500 bar1d_damped.dmp id type x y z vx vy vz
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc $u
|
||||
|
||||
# run to equilibrium
|
||||
thermo 100
|
||||
log bar1d_damped.log
|
||||
run 2000
|
||||
fix_modify AtC material all cubic # M damping
|
||||
run 2000
|
||||
fix_modify AtC material all damped # K damping
|
||||
run 2000
|
||||
# ATC: CB stiffness: 7.56717 Einstein freq: 0.355649 from Ar_CauchyBorn.mat
|
||||
# real to metal 1 kcal/mol = 0.04336 eV
|
||||
variable kCal2eV equal 0.04336
|
||||
variable fconv equal 1./0.000103643 # NOTE old routine was doing calculations in lammps units, not atc units, so this conversion is necessary for bmark to pass
|
||||
#variable k equal 1.e-3 # 7.56717*${kCal2eV} NOTE <<<
|
||||
#variable k equal 0.75*0.355649e3*${kCal2eV}
|
||||
variable k equal 0.5*39.95*${fconv} # NOTE it was set to above, should have been 2 above, but there was a bug so this value is here for bmark
|
||||
#variable g equal 0.75*0.355649e3*${kCal2eV}
|
||||
variable g equal 1.e-3*${fconv} # NOTE it should be above, but there was a bug so this value is here for bmark
|
||||
variable m equal 2. #0.5*39.95
|
||||
fix_modify AtC boundary_dynamics damped_harmonic $k $g $m
|
||||
run 2000
|
||||
# needs description
|
||||
echo both
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -9 9 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 2 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass * 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
#pair_coeff * * .238 3.405 13.5
|
||||
pair_coeff * * 0.010323166 3.405 13.5
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_damped.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
|
||||
|
||||
variable v equal 0.00000004e3
|
||||
variable n equal 1000
|
||||
variable dt equal 0.005
|
||||
variable u equal $v*$n*${dt}
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc $v
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# specify atom types
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC control localized_lambda on
|
||||
fix_modify AtC control momentum glc_velocity
|
||||
#fix_modify AtC filter type exponential
|
||||
#fix_modify AtC filter scale 1.0
|
||||
#fix_modify AtC filter on
|
||||
|
||||
# run to extension
|
||||
timestep 0.005
|
||||
thermo 100
|
||||
thermo_style custom step cpu ke pe
|
||||
run 0
|
||||
variable pe0 equal pe
|
||||
variable pe equal pe-${pe0}
|
||||
thermo_style custom step cpu ke pe v_pe f_AtC[1] f_AtC[2] f_AtC[4] f_AtC[5]
|
||||
|
||||
run $n
|
||||
|
||||
fix_modify AtC output bar1d_dampedFE 500 text
|
||||
dump CONFIG all custom 500 bar1d_damped.dmp id type x y z vx vy vz
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc $u
|
||||
|
||||
# run to equilibrium
|
||||
thermo 100
|
||||
log bar1d_damped.log
|
||||
run 2000
|
||||
fix_modify AtC material all cubic # M damping
|
||||
run 2000
|
||||
fix_modify AtC material all damped # K damping
|
||||
run 2000
|
||||
# ATC: CB stiffness: 7.56717 Einstein freq: 0.355649 from Ar_CauchyBorn.mat
|
||||
# real to metal 1 kcal/mol = 0.04336 eV
|
||||
variable kCal2eV equal 0.04336
|
||||
variable fconv equal 1./0.000103643 # NOTE old routine was doing calculations in lammps units, not atc units, so this conversion is necessary for bmark to pass
|
||||
#variable k equal 1.e-3 # 7.56717*${kCal2eV} NOTE <<<
|
||||
#variable k equal 0.75*0.355649e3*${kCal2eV}
|
||||
variable k equal 0.5*39.95*${fconv} # NOTE it was set to above, should have been 2 above, but there was a bug so this value is here for bmark
|
||||
#variable g equal 0.75*0.355649e3*${kCal2eV}
|
||||
variable g equal 1.e-3*${fconv} # NOTE it should be above, but there was a bug so this value is here for bmark
|
||||
variable m equal 2. #0.5*39.95
|
||||
fix_modify AtC boundary_dynamics damped_harmonic $k $g $m
|
||||
run 2000
|
||||
|
||||
@ -1,98 +1,98 @@
|
||||
# needs description
|
||||
#AtC Thermal Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -9 9 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
|
||||
pair_style lj/cut 13.
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.
|
||||
pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
#fix_modify AtC boundary Lghost
|
||||
#fix_modify AtC boundary Rghost
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
#fix_modify AtC fix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
fix_modify AtC internal_quadrature off
|
||||
#fix_modify AtC control lumped_lambda_solve on
|
||||
#fix_modify AtC momentum control glc_velocity
|
||||
#fix_modify AtC momentum control flux faceset obndy
|
||||
fix_modify AtC control momentum flux interpolate
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
|
||||
# run to extension
|
||||
compute myTemp internal temp
|
||||
compute atomStress internal stress/atom NULL
|
||||
compute avgStress internal reduce sum c_atomStress[1] c_atomStress[2] c_atomStress[3]
|
||||
variable myPres equal -(c_avgStress[1]+c_avgStress[2]+c_avgStress[3])/(3*vol)
|
||||
thermo_style custom step c_myTemp v_myPres pe
|
||||
fix_modify AtC output bar1d_fluxFE 10 text
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
fix_modify AtC output bar1d_fluxFE 500 text
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 10000
|
||||
# needs description
|
||||
#AtC Thermal Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -9 9 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
|
||||
pair_style lj/cut 13.
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.
|
||||
pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
#fix_modify AtC boundary Lghost
|
||||
#fix_modify AtC boundary Rghost
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
#fix_modify AtC fix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
fix_modify AtC internal_quadrature off
|
||||
#fix_modify AtC control lumped_lambda_solve on
|
||||
#fix_modify AtC momentum control glc_velocity
|
||||
#fix_modify AtC momentum control flux faceset obndy
|
||||
fix_modify AtC control momentum flux interpolate
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
|
||||
# run to extension
|
||||
compute myTemp internal temp
|
||||
compute atomStress internal stress/atom NULL
|
||||
compute avgStress internal reduce sum c_atomStress[1] c_atomStress[2] c_atomStress[3]
|
||||
variable myPres equal -(c_avgStress[1]+c_avgStress[2]+c_avgStress[3])/(3*vol)
|
||||
thermo_style custom step c_myTemp v_myPres pe
|
||||
fix_modify AtC output bar1d_fluxFE 10 text
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
fix_modify AtC output bar1d_fluxFE 500 text
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 10000
|
||||
|
||||
@ -1,99 +1,99 @@
|
||||
# needs description
|
||||
#AtC Elastic Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -8 8 -3 3 -3 3
|
||||
region mdRegion block -6 6 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region atomRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
pair_style lj/cut 13.
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.5
|
||||
pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
fix_modify AtC time_integration fractional_step
|
||||
fix_modify AtC internal_atom_integrate off
|
||||
fix iNVE internal nve
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# specify atom types
|
||||
#fix_modify AtC boundary Lghost
|
||||
#fix_modify AtC boundary Rghost
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC control localized_lambda on
|
||||
fix_modify AtC control momentum flux interpolate
|
||||
#fix_modify AtC control momentum hoover # tested in this mode
|
||||
#fix_modify AtC filter type exponential
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
#fix_modify AtC filter on
|
||||
|
||||
# run to extension
|
||||
#fix_modify AtC output bar1d_frac_step_initFE 50 text binary
|
||||
#dump D1 all atom 50 bar1d_frac_step_init.dmp
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# reset time
|
||||
fix_modify AtC reset_time 0.
|
||||
reset_timestep 0
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
fix_modify AtC output bar1d_frac_stepFE 500 text #binary
|
||||
#fix_modify AtC output index step
|
||||
#undump D1
|
||||
#dump D1 all atom 500 bar1d_frac_step.dmp
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 5000
|
||||
# needs description
|
||||
#AtC Elastic Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
# create atoms
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region atomRegion block -8 8 -3 3 -3 3
|
||||
region mdRegion block -6 6 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region atomRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
pair_style lj/cut 13.
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.5
|
||||
pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC initial displacement y all 0.0
|
||||
fix_modify AtC initial displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC initial velocity y all 0.0
|
||||
fix_modify AtC initial velocity z all 0.0
|
||||
fix_modify AtC time_integration fractional_step
|
||||
fix_modify AtC internal_atom_integrate off
|
||||
fix iNVE internal nve
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# specify atom types
|
||||
#fix_modify AtC boundary Lghost
|
||||
#fix_modify AtC boundary Rghost
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC control localized_lambda on
|
||||
fix_modify AtC control momentum flux interpolate
|
||||
#fix_modify AtC control momentum hoover # tested in this mode
|
||||
#fix_modify AtC filter type exponential
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
#fix_modify AtC filter on
|
||||
|
||||
# run to extension
|
||||
#fix_modify AtC output bar1d_frac_step_initFE 50 text binary
|
||||
#dump D1 all atom 50 bar1d_frac_step_init.dmp
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# reset time
|
||||
fix_modify AtC reset_time 0.
|
||||
reset_timestep 0
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC fix velocity x rbc 0.
|
||||
fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
fix_modify AtC output bar1d_frac_stepFE 500 text #binary
|
||||
#fix_modify AtC output index step
|
||||
#undump D1
|
||||
#dump D1 all atom 500 bar1d_frac_step.dmp
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 5000
|
||||
|
||||
@ -1,101 +1,101 @@
|
||||
# Computes elastic waves propagating in and out of a finite temperature region
|
||||
#AtC ThermoElastic Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0, NOTE next for lines commented out for restart
|
||||
pair_style lj/cut 13.
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.
|
||||
pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC internal_atom_integrate off
|
||||
fix iNVE internal nve
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC fix displacement y all 0.0
|
||||
fix_modify AtC fix displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC fix velocity y all 0.0
|
||||
fix_modify AtC fix velocity z all 0.0
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
#fix_modify AtC fix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# turn on multiscale
|
||||
fix_modify AtC control momentum ghost_flux
|
||||
|
||||
# new boundary conditions
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
#fix_modify AtC localized_lambda on
|
||||
#fix_modify AtC momentum control glc_velocity
|
||||
#fix_modify AtC momentum control flux faceset obndy
|
||||
#fix_modify AtC control momentum flux
|
||||
#fix_modify AtC control momentum ghost_flux
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
|
||||
# run to extension
|
||||
compute myTemp internal temp
|
||||
compute atomStress internal stress/atom NULL
|
||||
compute avgStress internal reduce sum c_atomStress[1] c_atomStress[2] c_atomStress[3]
|
||||
variable myPres equal -(c_avgStress[1]+c_avgStress[2]+c_avgStress[3])/(3*vol)
|
||||
thermo_style custom step c_myTemp v_myPres pe
|
||||
fix_modify AtC output bar1d_ghost_fluxFE 500 text
|
||||
#dump D1 all atom 100 bar1d_ghost_flux.dmp
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC unfix velocity x rbc
|
||||
#fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
#fix_modify AtC output bar1d_fluxFE 500 text binary
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 3000
|
||||
# Computes elastic waves propagating in and out of a finite temperature region
|
||||
#AtC ThermoElastic Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region mdRegion block -8 8 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 simRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0, NOTE next for lines commented out for restart
|
||||
pair_style lj/cut 13.
|
||||
#pair_coeff 1 1 0.010323166 3.405 13.
|
||||
pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc elastic Ar_elastic.mat
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC internal_atom_integrate off
|
||||
fix iNVE internal nve
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC fix displacement y all 0.0
|
||||
fix_modify AtC fix displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC fix velocity y all 0.0
|
||||
fix_modify AtC fix velocity z all 0.0
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
#fix_modify AtC fix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# turn on multiscale
|
||||
fix_modify AtC control momentum ghost_flux
|
||||
|
||||
# new boundary conditions
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
#fix_modify AtC localized_lambda on
|
||||
#fix_modify AtC momentum control glc_velocity
|
||||
#fix_modify AtC momentum control flux faceset obndy
|
||||
#fix_modify AtC control momentum flux
|
||||
#fix_modify AtC control momentum ghost_flux
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
|
||||
# run to extension
|
||||
compute myTemp internal temp
|
||||
compute atomStress internal stress/atom NULL
|
||||
compute avgStress internal reduce sum c_atomStress[1] c_atomStress[2] c_atomStress[3]
|
||||
variable myPres equal -(c_avgStress[1]+c_avgStress[2]+c_avgStress[3])/(3*vol)
|
||||
thermo_style custom step c_myTemp v_myPres pe
|
||||
fix_modify AtC output bar1d_ghost_fluxFE 500 text
|
||||
#dump D1 all atom 100 bar1d_ghost_flux.dmp
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC unfix velocity x rbc
|
||||
#fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
#fix_modify AtC output bar1d_fluxFE 500 text binary
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 3000
|
||||
|
||||
@ -1,139 +1,139 @@
|
||||
# Computes elastic waves propagating in and out of a finite temperature region
|
||||
#AtC ThermoElastic Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
# NOTE following 3 lines added for restart
|
||||
boundary f p p
|
||||
pair_style lj/cut 13.
|
||||
read_data temp.init
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
# create atoms, NOTE commented out for restart
|
||||
#region mdRegion block -8 8 -3 3 -3 3
|
||||
#boundary f p p
|
||||
#region mdBox block -9 9 -3 3 -3 3
|
||||
#create_box 1 mdBox
|
||||
#create_atoms 1 region mdRegion
|
||||
#mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0, NOTE next for lines commented out for restart
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
#pair_style lj/cut 13.
|
||||
##pair_coeff 1 1 0.010323166 3.405 13.
|
||||
#pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
#write_restart tinit.dat
|
||||
|
||||
# zero initial momentum
|
||||
fix AtC internal atc elastic Ar_thermo_elastic.mat
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC fix displacement x all 0.
|
||||
fix_modify AtC fix displacement y all 0.
|
||||
fix_modify AtC fix displacement z all 0.
|
||||
fix_modify AtC fix velocity x all 0.
|
||||
fix_modify AtC fix velocity y all 0.
|
||||
fix_modify AtC fix velocity z all 0.
|
||||
fix_modify AtC control momentum glc_velocity
|
||||
#fix_modify AtC output bar1d_thermo_elastic_initializeFE 1 text #binary
|
||||
timestep 0
|
||||
thermo 1
|
||||
run 1
|
||||
unfix AtC
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc thermo_elastic Ar_thermo_elastic.mat
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
fix_modify AtC internal_quadrature off
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC fix displacement y all 0.0
|
||||
fix_modify AtC fix displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC fix velocity y all 0.0
|
||||
fix_modify AtC fix velocity z all 0.0
|
||||
fix_modify AtC fix temperature all 20.
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
#fix_modify AtC fix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# rescale thermostat for initial atomic temperatures
|
||||
fix_modify AtC control thermal rescale 10
|
||||
fix_modify AtC control momentum ghost_flux
|
||||
fix_modify AtC output bar1d_thermo_elasticFE 100 text #binary
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# free all nodes
|
||||
#fix_modify AtC unfix displacement x all
|
||||
#fix_modify AtC unfix velocity x all
|
||||
fix_modify AtC unfix temperature all
|
||||
|
||||
# new boundary conditions
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
fix_modify AtC fix temperature lbc 20.
|
||||
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
#fix_modify AtC localized_lambda on
|
||||
#fix_modify AtC momentum control glc_velocity
|
||||
#fix_modify AtC momentum control flux faceset obndy
|
||||
#fix_modify AtC control momentum flux
|
||||
#fix_modify AtC control momentum ghost_flux
|
||||
fix_modify AtC control thermal flux
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
|
||||
# run to extension
|
||||
compute myTemp internal temp
|
||||
compute atomStress internal stress/atom NULL
|
||||
compute avgStress internal reduce sum c_atomStress[1] c_atomStress[2] c_atomStress[3]
|
||||
variable myPres equal -(c_avgStress[1]+c_avgStress[2]+c_avgStress[3])/(3*vol)
|
||||
thermo_style custom step c_myTemp v_myPres pe
|
||||
fix_modify AtC output bar1d_thermo_elasticFE 500 text
|
||||
#dump D1 all custom 100 bar1d_thermo_elastic.dmp id type x y z vx vy vz
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC unfix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
#fix_modify AtC output bar1d_fluxFE 500 text binary
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 3000
|
||||
# Computes elastic waves propagating in and out of a finite temperature region
|
||||
#AtC ThermoElastic Coupling
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
||||
|
||||
# NOTE following 3 lines added for restart
|
||||
boundary f p p
|
||||
pair_style lj/cut 13.
|
||||
read_data temp.init
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
# create atoms, NOTE commented out for restart
|
||||
#region mdRegion block -8 8 -3 3 -3 3
|
||||
#boundary f p p
|
||||
#region mdBox block -9 9 -3 3 -3 3
|
||||
#create_box 1 mdBox
|
||||
#create_atoms 1 region mdRegion
|
||||
#mass 1 39.95
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -6 6 -3 3 -3 3
|
||||
region leftghost block -8 -6 -3 3 -3 3
|
||||
region rightghost block 6 8 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
group Lghost region leftghost
|
||||
group Rghost region rightghost
|
||||
group ghosts union Lghost Rghost
|
||||
|
||||
# velocities have Vcm = 0, NOTE next for lines commented out for restart
|
||||
#velocity internal create 40. 87287 mom yes loop geom
|
||||
#pair_style lj/cut 13.
|
||||
##pair_coeff 1 1 0.010323166 3.405 13.
|
||||
#pair_coeff 1 1 .2381 3.405 13.
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
#write_restart tinit.dat
|
||||
|
||||
# zero initial momentum
|
||||
fix AtC internal atc elastic Ar_thermo_elastic.mat
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC fix displacement x all 0.
|
||||
fix_modify AtC fix displacement y all 0.
|
||||
fix_modify AtC fix displacement z all 0.
|
||||
fix_modify AtC fix velocity x all 0.
|
||||
fix_modify AtC fix velocity y all 0.
|
||||
fix_modify AtC fix velocity z all 0.
|
||||
fix_modify AtC control momentum glc_velocity
|
||||
#fix_modify AtC output bar1d_thermo_elastic_initializeFE 1 text #binary
|
||||
timestep 0
|
||||
thermo 1
|
||||
run 1
|
||||
unfix AtC
|
||||
|
||||
# define layer
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc thermo_elastic Ar_thermo_elastic.mat
|
||||
fix_modify AtC boundary ghosts
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||
fix_modify AtC internal_quadrature off
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC initial displacement x all 0.0
|
||||
fix_modify AtC fix displacement y all 0.0
|
||||
fix_modify AtC fix displacement z all 0.0
|
||||
fix_modify AtC initial velocity x all 0.0
|
||||
fix_modify AtC fix velocity y all 0.0
|
||||
fix_modify AtC fix velocity z all 0.0
|
||||
fix_modify AtC fix temperature all 20.
|
||||
|
||||
# set node sets and bcs
|
||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
#fix_modify AtC fix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.
|
||||
fix_modify AtC fix displacement x lbc 0.
|
||||
fix_modify AtC fix velocity x lbc 0.
|
||||
|
||||
# rescale thermostat for initial atomic temperatures
|
||||
fix_modify AtC control thermal rescale 10
|
||||
fix_modify AtC control momentum ghost_flux
|
||||
fix_modify AtC output bar1d_thermo_elasticFE 100 text #binary
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# free all nodes
|
||||
#fix_modify AtC unfix displacement x all
|
||||
#fix_modify AtC unfix velocity x all
|
||||
fix_modify AtC unfix temperature all
|
||||
|
||||
# new boundary conditions
|
||||
fix_modify AtC fix velocity x rbc 0.00000004
|
||||
fix_modify AtC fix temperature lbc 20.
|
||||
|
||||
|
||||
#fix_modify AtC output follow_ex.fe 50
|
||||
#fix_modify AtC localized_lambda on
|
||||
#fix_modify AtC momentum control glc_velocity
|
||||
#fix_modify AtC momentum control flux faceset obndy
|
||||
#fix_modify AtC control momentum flux
|
||||
#fix_modify AtC control momentum ghost_flux
|
||||
fix_modify AtC control thermal flux
|
||||
#fix_modify AtC filter scale 1000.0
|
||||
|
||||
# run to extension
|
||||
compute myTemp internal temp
|
||||
compute atomStress internal stress/atom NULL
|
||||
compute avgStress internal reduce sum c_atomStress[1] c_atomStress[2] c_atomStress[3]
|
||||
variable myPres equal -(c_avgStress[1]+c_avgStress[2]+c_avgStress[3])/(3*vol)
|
||||
thermo_style custom step c_myTemp v_myPres pe
|
||||
fix_modify AtC output bar1d_thermo_elasticFE 500 text
|
||||
#dump D1 all custom 100 bar1d_thermo_elastic.dmp id type x y z vx vy vz
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# change nodes to fixed
|
||||
fix_modify AtC unfix velocity x rbc 0.
|
||||
#fix_modify AtC fix displacement x rbc 0.0002
|
||||
|
||||
#fix_modify AtC output bar1d_fluxFE 500 text binary
|
||||
|
||||
# run to equilibrium
|
||||
timestep 5
|
||||
thermo 100
|
||||
run 3000
|
||||
|
||||
@ -1,80 +1,80 @@
|
||||
echo both
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify map hash
|
||||
boundary p p p
|
||||
|
||||
variable l equal 3
|
||||
variable l2 equal 0.5*$l
|
||||
variable L equal 10
|
||||
variable L2 equal 0.5*$L
|
||||
variable h equal $L
|
||||
|
||||
lattice fcc 4.08 origin 0.25 0.25 0.25
|
||||
region BOX block -${l2} ${l2} -${L2} ${L2} -${l2} ${l2}
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
|
||||
pair_style eam
|
||||
pair_coeff * * Au_u3.eam
|
||||
mass * 196.97
|
||||
|
||||
|
||||
### NOTE change to CB -linear
|
||||
fix PP all atc field Au_elastic.mat
|
||||
fix_modify PP mesh create 1 $h 1 BOX p f p
|
||||
fix_modify PP fields add displacement velocity potential_energy cauchy_born_energy # kinetic_energy
|
||||
fix_modify PP gradients add displacement
|
||||
fix_modify PP set reference_potential_energy
|
||||
fix_modify PP output counter step
|
||||
fix_modify PP output eam_energyPP 1 text
|
||||
|
||||
fix ATC all atc elastic Au_elastic.mat
|
||||
fix_modify ATC mesh create 1 $h 1 BOX p f p
|
||||
fix_modify ATC internal_quadrature off
|
||||
fix_modify ATC control momentum none
|
||||
#fix_modify ATC consistent_fe_initialization on
|
||||
fix_modify ATC output counter step
|
||||
fix_modify ATC output eam_energyFE 1 text binary
|
||||
fix_modify ATC material all Au_cubic
|
||||
|
||||
|
||||
dump CONFIG all custom 1 eam_energy.dmp id type x y z
|
||||
thermo 1
|
||||
|
||||
timestep 0 # 1.e-20 # 0
|
||||
|
||||
variable e0 equal pe
|
||||
variable L0 equal ly
|
||||
run 0
|
||||
variable pe equal pe-${e0}
|
||||
variable dL equal ly-${L0}
|
||||
variable strain equal v_dL/${L0}
|
||||
|
||||
variable x equal y[1]
|
||||
variable x2 equal y[2]
|
||||
variable v equal vy[1]
|
||||
thermo_style custom step etotal v_pe ke f_ATC[1] f_ATC[2] v_x v_v v_x2 ly v_dL v_strain
|
||||
thermo_modify format 2 %15.8g
|
||||
|
||||
###############################################################################
|
||||
log eam_energy.log
|
||||
run 1
|
||||
velocity all set 0 0.1 0 units box
|
||||
fix_modify ATC fix velocity y all 0.1
|
||||
run 1
|
||||
velocity all set 0 0.2 0 units box
|
||||
fix_modify ATC fix velocity y all 0.2
|
||||
run 1
|
||||
velocity all set 0 0.3 0 units box
|
||||
fix_modify ATC fix velocity y all 0.3
|
||||
run 1
|
||||
change_box all y scale 1.01 remap
|
||||
fix_modify ATC fix displacement y all linear 0 0 0 0 0.01 0 0
|
||||
run 1
|
||||
change_box all y scale 1.01 remap
|
||||
fix_modify ATC fix displacement y all linear 0 0 0 0 0.0201 0 0
|
||||
run 1
|
||||
change_box all y scale 1.01 remap
|
||||
fix_modify ATC fix displacement y all linear 0 0 0 0 0.030301 0 0
|
||||
run 1
|
||||
echo both
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify map hash
|
||||
boundary p p p
|
||||
|
||||
variable l equal 3
|
||||
variable l2 equal 0.5*$l
|
||||
variable L equal 10
|
||||
variable L2 equal 0.5*$L
|
||||
variable h equal $L
|
||||
|
||||
lattice fcc 4.08 origin 0.25 0.25 0.25
|
||||
region BOX block -${l2} ${l2} -${L2} ${L2} -${l2} ${l2}
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
|
||||
pair_style eam
|
||||
pair_coeff * * Au_u3.eam
|
||||
mass * 196.97
|
||||
|
||||
|
||||
### NOTE change to CB -linear
|
||||
fix PP all atc field Au_elastic.mat
|
||||
fix_modify PP mesh create 1 $h 1 BOX p f p
|
||||
fix_modify PP fields add displacement velocity potential_energy cauchy_born_energy # kinetic_energy
|
||||
fix_modify PP gradients add displacement
|
||||
fix_modify PP set reference_potential_energy
|
||||
fix_modify PP output counter step
|
||||
fix_modify PP output eam_energyPP 1 text
|
||||
|
||||
fix ATC all atc elastic Au_elastic.mat
|
||||
fix_modify ATC mesh create 1 $h 1 BOX p f p
|
||||
fix_modify ATC internal_quadrature off
|
||||
fix_modify ATC control momentum none
|
||||
#fix_modify ATC consistent_fe_initialization on
|
||||
fix_modify ATC output counter step
|
||||
fix_modify ATC output eam_energyFE 1 text binary
|
||||
fix_modify ATC material all Au_cubic
|
||||
|
||||
|
||||
dump CONFIG all custom 1 eam_energy.dmp id type x y z
|
||||
thermo 1
|
||||
|
||||
timestep 0 # 1.e-20 # 0
|
||||
|
||||
variable e0 equal pe
|
||||
variable L0 equal ly
|
||||
run 0
|
||||
variable pe equal pe-${e0}
|
||||
variable dL equal ly-${L0}
|
||||
variable strain equal v_dL/${L0}
|
||||
|
||||
variable x equal y[1]
|
||||
variable x2 equal y[2]
|
||||
variable v equal vy[1]
|
||||
thermo_style custom step etotal v_pe ke f_ATC[1] f_ATC[2] v_x v_v v_x2 ly v_dL v_strain
|
||||
thermo_modify format 2 %15.8g
|
||||
|
||||
###############################################################################
|
||||
log eam_energy.log
|
||||
run 1
|
||||
velocity all set 0 0.1 0 units box
|
||||
fix_modify ATC fix velocity y all 0.1
|
||||
run 1
|
||||
velocity all set 0 0.2 0 units box
|
||||
fix_modify ATC fix velocity y all 0.2
|
||||
run 1
|
||||
velocity all set 0 0.3 0 units box
|
||||
fix_modify ATC fix velocity y all 0.3
|
||||
run 1
|
||||
change_box all y scale 1.01 remap
|
||||
fix_modify ATC fix displacement y all linear 0 0 0 0 0.01 0 0
|
||||
run 1
|
||||
change_box all y scale 1.01 remap
|
||||
fix_modify ATC fix displacement y all linear 0 0 0 0 0.0201 0 0
|
||||
run 1
|
||||
change_box all y scale 1.01 remap
|
||||
fix_modify ATC fix displacement y all linear 0 0 0 0 0.030301 0 0
|
||||
run 1
|
||||
|
||||
@ -1,74 +1,74 @@
|
||||
# needs description
|
||||
echo both
|
||||
units metal
|
||||
# PARAMETERS-----------------------------
|
||||
variable s equal 1
|
||||
variable L equal 10
|
||||
variable e equal 4
|
||||
variable E equal 0.0001
|
||||
variable V equal $E*$L
|
||||
# END -----------------------------------
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 1.0
|
||||
boundary f p p
|
||||
region box block -$L $L 0 1 0 1
|
||||
create_box 1 box
|
||||
group box region box
|
||||
atom_modify sort 0 1
|
||||
timestep 0.0
|
||||
mass * 12.01
|
||||
|
||||
# coupling
|
||||
### NOTE ATC: material cnt does not provide all interfaces for charge_density physics and will be treated as null
|
||||
fix AtC box atc electrostatic-equilibrium CNT.mat
|
||||
fix_modify AtC internal_quadrature off
|
||||
#fix_modify AtC atom_weight constant internal 1.0 NOTE penultimate is a group
|
||||
fix_modify AtC atom_weight constant box 1.0
|
||||
fix_modify AtC omit atomic_charge
|
||||
fix_modify AtC mesh create $e 1 1 box f p p
|
||||
#fix_modify AtC control momentum flux
|
||||
fix_modify AtC mesh create_elementset all -INF INF -INF INF -INF INF
|
||||
|
||||
# bcs/ics conditions
|
||||
fix_modify AtC fix displacement x all 0.0
|
||||
fix_modify AtC fix displacement y all 0.0
|
||||
fix_modify AtC fix displacement z all 0.0
|
||||
fix_modify AtC fix velocity x all 0.0
|
||||
fix_modify AtC fix velocity y all 0.0
|
||||
fix_modify AtC fix velocity z all 0.0
|
||||
|
||||
fix_modify AtC mesh create_nodeset lbc -10 -10 INF INF INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 10 10 INF INF INF INF
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 $V
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 $V
|
||||
|
||||
# run
|
||||
thermo_style custom step cpu etotal ke
|
||||
thermo $s
|
||||
fix_modify AtC output electron_densityFE $s text
|
||||
fix_modify AtC output index step
|
||||
log electron_density.log
|
||||
|
||||
# run default material
|
||||
print "default material - table linear"
|
||||
run $s
|
||||
|
||||
# run CNT1 material
|
||||
print "CNT1 material - analytical linear"
|
||||
fix_modify AtC material all CNT1
|
||||
run $s
|
||||
|
||||
# run CNT2 material
|
||||
print "CNT2 material - analytical exponetial"
|
||||
fix_modify AtC material all CNT2
|
||||
run $s
|
||||
|
||||
# run CNT material
|
||||
print "CNT material - table DOS"
|
||||
fix_modify AtC material all CNT
|
||||
#variable E equal 10*$E
|
||||
#fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 $V
|
||||
#fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 $V
|
||||
run $s
|
||||
|
||||
# needs description
|
||||
echo both
|
||||
units metal
|
||||
# PARAMETERS-----------------------------
|
||||
variable s equal 1
|
||||
variable L equal 10
|
||||
variable e equal 4
|
||||
variable E equal 0.0001
|
||||
variable V equal $E*$L
|
||||
# END -----------------------------------
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 1.0
|
||||
boundary f p p
|
||||
region box block -$L $L 0 1 0 1
|
||||
create_box 1 box
|
||||
group box region box
|
||||
atom_modify sort 0 1
|
||||
timestep 0.0
|
||||
mass * 12.01
|
||||
|
||||
# coupling
|
||||
### NOTE ATC: material cnt does not provide all interfaces for charge_density physics and will be treated as null
|
||||
fix AtC box atc electrostatic-equilibrium CNT.mat
|
||||
fix_modify AtC internal_quadrature off
|
||||
#fix_modify AtC atom_weight constant internal 1.0 NOTE penultimate is a group
|
||||
fix_modify AtC atom_weight constant box 1.0
|
||||
fix_modify AtC omit atomic_charge
|
||||
fix_modify AtC mesh create $e 1 1 box f p p
|
||||
#fix_modify AtC control momentum flux
|
||||
fix_modify AtC mesh create_elementset all -INF INF -INF INF -INF INF
|
||||
|
||||
# bcs/ics conditions
|
||||
fix_modify AtC fix displacement x all 0.0
|
||||
fix_modify AtC fix displacement y all 0.0
|
||||
fix_modify AtC fix displacement z all 0.0
|
||||
fix_modify AtC fix velocity x all 0.0
|
||||
fix_modify AtC fix velocity y all 0.0
|
||||
fix_modify AtC fix velocity z all 0.0
|
||||
|
||||
fix_modify AtC mesh create_nodeset lbc -10 -10 INF INF INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 10 10 INF INF INF INF
|
||||
fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 $V
|
||||
fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 $V
|
||||
|
||||
# run
|
||||
thermo_style custom step cpu etotal ke
|
||||
thermo $s
|
||||
fix_modify AtC output electron_densityFE $s text
|
||||
fix_modify AtC output index step
|
||||
log electron_density.log
|
||||
|
||||
# run default material
|
||||
print "default material - table linear"
|
||||
run $s
|
||||
|
||||
# run CNT1 material
|
||||
print "CNT1 material - analytical linear"
|
||||
fix_modify AtC material all CNT1
|
||||
run $s
|
||||
|
||||
# run CNT2 material
|
||||
print "CNT2 material - analytical exponetial"
|
||||
fix_modify AtC material all CNT2
|
||||
run $s
|
||||
|
||||
# run CNT material
|
||||
print "CNT material - table DOS"
|
||||
fix_modify AtC material all CNT
|
||||
#variable E equal 10*$E
|
||||
#fix_modify AtC fix electric_potential lbc linear 0 0 0 $E 0 0 $V
|
||||
#fix_modify AtC fix electric_potential rbc linear 0 0 0 $E 0 0 $V
|
||||
run $s
|
||||
|
||||
|
||||
@ -1,56 +1,56 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
region mdInternal block -10 10 -3 3 -3 3
|
||||
|
||||
# create atoms
|
||||
boundary f p p
|
||||
create_box 1 mdRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
|
||||
# specify interal/ghost atoms
|
||||
group internal region mdInternal
|
||||
velocity internal create 40 87287 mom yes loop geom # <<< NOTE
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
fix_modify AtC mesh read gaussianIC1d_hex.mesh
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
# turn on thermostat
|
||||
fix_modify AtC extrinsic exchange off
|
||||
fix_modify AtC control thermal rescale 10
|
||||
|
||||
# equilibrate MD field
|
||||
timestep 5.0
|
||||
thermo 10
|
||||
|
||||
#output
|
||||
fix_modify AtC output gaussianIC1d_hexFE 10 text
|
||||
|
||||
# change thermostat
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
# run with FE
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
reset_timestep 0
|
||||
run 100 # 400
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
region mdInternal block -10 10 -3 3 -3 3
|
||||
|
||||
# create atoms
|
||||
boundary f p p
|
||||
create_box 1 mdRegion
|
||||
create_atoms 1 region mdRegion
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
|
||||
# specify interal/ghost atoms
|
||||
group internal region mdInternal
|
||||
velocity internal create 40 87287 mom yes loop geom # <<< NOTE
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
fix_modify AtC mesh read gaussianIC1d_hex.mesh
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
# turn on thermostat
|
||||
fix_modify AtC extrinsic exchange off
|
||||
fix_modify AtC control thermal rescale 10
|
||||
|
||||
# equilibrate MD field
|
||||
timestep 5.0
|
||||
thermo 10
|
||||
|
||||
#output
|
||||
fix_modify AtC output gaussianIC1d_hexFE 10 text
|
||||
|
||||
# change thermostat
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
# run with FE
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
reset_timestep 0
|
||||
run 100 # 400
|
||||
|
||||
@ -1,69 +1,69 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdRegion cylinder z 0. 0. ${l2} -$w $w
|
||||
region mdInternal cylinder z 0. 0. $l -$w $w
|
||||
|
||||
boundary f f f
|
||||
pair_style lj/cut 13.5
|
||||
read_data circle_temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
group ghost subtract all internal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
# computational geometry
|
||||
fix_modify AtC mesh read gaussianIC2d_hex.mesh
|
||||
#fix_modify AtC mesh read gaussianIC2d_hex.exo
|
||||
#fix_modify AtC mesh read gaussianIC2d_hex2.exo
|
||||
#fix_modify AtC mesh read gaussianIC2d_hex2.mesh
|
||||
fix_modify AtC mesh write parsed_gaussianIC2d_hex.mesh
|
||||
fix_modify AtC mesh output gaussianIC2d_hexMESH
|
||||
fix_modify AtC boundary ghost
|
||||
# numerical parameters
|
||||
fix_modify AtC time_integration fractional_step
|
||||
fix_modify AtC internal_quadrature off
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC fix electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
# thermostat
|
||||
fix_modify AtC control thermal rescale 10
|
||||
fix_modify AtC extrinsic exchange off
|
||||
|
||||
# run to equilibrate
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 400
|
||||
|
||||
# boundary conditions
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
|
||||
# numerical parameters
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
# thermostat
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
|
||||
# output
|
||||
fix_modify AtC output gaussianIC2d_hexFE 10 full_text binary
|
||||
dump D1 all atom 10 gaussianIC2d_hex.dmp
|
||||
|
||||
# relax the system
|
||||
run 1000
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdRegion cylinder z 0. 0. ${l2} -$w $w
|
||||
region mdInternal cylinder z 0. 0. $l -$w $w
|
||||
|
||||
boundary f f f
|
||||
pair_style lj/cut 13.5
|
||||
read_data circle_temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
group ghost subtract all internal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
# computational geometry
|
||||
fix_modify AtC mesh read gaussianIC2d_hex.mesh
|
||||
#fix_modify AtC mesh read gaussianIC2d_hex.exo
|
||||
#fix_modify AtC mesh read gaussianIC2d_hex2.exo
|
||||
#fix_modify AtC mesh read gaussianIC2d_hex2.mesh
|
||||
fix_modify AtC mesh write parsed_gaussianIC2d_hex.mesh
|
||||
fix_modify AtC mesh output gaussianIC2d_hexMESH
|
||||
fix_modify AtC boundary ghost
|
||||
# numerical parameters
|
||||
fix_modify AtC time_integration fractional_step
|
||||
fix_modify AtC internal_quadrature off
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC fix electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
# thermostat
|
||||
fix_modify AtC control thermal rescale 10
|
||||
fix_modify AtC extrinsic exchange off
|
||||
|
||||
# run to equilibrate
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 400
|
||||
|
||||
# boundary conditions
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
|
||||
# numerical parameters
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
# thermostat
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
|
||||
# output
|
||||
fix_modify AtC output gaussianIC2d_hexFE 10 full_text binary
|
||||
dump D1 all atom 10 gaussianIC2d_hex.dmp
|
||||
|
||||
# relax the system
|
||||
run 1000
|
||||
|
||||
@ -1,37 +1,37 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdInternal block -$l $l -$l $l -$w $w
|
||||
|
||||
boundary f f f # p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
fix_modify AtC mesh read gaussianIC2d_hex20_uniform.mesh
|
||||
fix_modify AtC output gaussianIC2d_hex20_uniformFE 10 full_text
|
||||
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 100
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdInternal block -$l $l -$l $l -$w $w
|
||||
|
||||
boundary f f f # p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
fix_modify AtC mesh read gaussianIC2d_hex20_uniform.mesh
|
||||
fix_modify AtC output gaussianIC2d_hex20_uniformFE 10 full_text
|
||||
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 100
|
||||
|
||||
@ -1,37 +1,37 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdInternal block -$l $l -$l $l -$w $w
|
||||
|
||||
boundary f f f # p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
fix_modify AtC mesh read gaussianIC2d_hex27_uniform.mesh
|
||||
fix_modify AtC output gaussianIC2d_hex27_uniformFE 10 full_text
|
||||
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 100
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdInternal block -$l $l -$l $l -$w $w
|
||||
|
||||
boundary f f f # p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
fix_modify AtC mesh read gaussianIC2d_hex27_uniform.mesh
|
||||
fix_modify AtC output gaussianIC2d_hex27_uniformFE 10 full_text
|
||||
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 100
|
||||
|
||||
@ -1,40 +1,40 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdInternal block -$l $l -$l $l -$w $w
|
||||
|
||||
boundary f f f # p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
fix_modify AtC mesh read gaussianIC2d_tet.mesh
|
||||
#fix_modify AtC mesh read gaussianIC2d_tet.exo
|
||||
fix_modify AtC mesh write parsed_gaussianIC2d_tet.mesh
|
||||
fix_modify AtC mesh output parsed_gaussianIC2d_tetMESH
|
||||
fix_modify AtC output gaussianIC2d_tetFE 10 full_text
|
||||
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 100
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 12
|
||||
variable l2 equal 6
|
||||
variable l equal 4
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region mdInternal block -$l $l -$l $l -$w $w
|
||||
|
||||
boundary f f f # p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
mass 1 39.95
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
fix_modify AtC mesh read gaussianIC2d_tet.mesh
|
||||
#fix_modify AtC mesh read gaussianIC2d_tet.exo
|
||||
fix_modify AtC mesh write parsed_gaussianIC2d_tet.mesh
|
||||
fix_modify AtC mesh output parsed_gaussianIC2d_tetMESH
|
||||
fix_modify AtC output gaussianIC2d_tetFE 10 full_text
|
||||
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
# NOTE this is only gaussian in x
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix temperature 11 20.0
|
||||
fix_modify AtC fix temperature 12 20.0
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
timestep 1.0
|
||||
thermo 10
|
||||
run 100
|
||||
|
||||
@ -1,32 +1,32 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# correct mass density = 1.0120
|
||||
# NOTE the mesh is not currently periodic, so the density estimate is off by a factor of 2
|
||||
|
||||
variable L equal 6
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region BOX block -$L $L -$L $L -$w $w
|
||||
|
||||
boundary f f p
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region BOX
|
||||
|
||||
fix AtC internal atc hardy
|
||||
fix_modify AtC kernel quartic_cylinder 5.0
|
||||
fix_modify AtC mesh read gaussianIC2d_hex.mesh
|
||||
fix_modify AtC fields add mass_density
|
||||
fix_modify AtC output kernel2d_hexFE 1 full_text binary
|
||||
#dump CONFIG all custom 1 kernel2d_hexMD.dmp id type x y z
|
||||
|
||||
thermo_style custom step cpu temp
|
||||
timestep 0.0
|
||||
thermo 1
|
||||
run 2
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# correct mass density = 1.0120
|
||||
# NOTE the mesh is not currently periodic, so the density estimate is off by a factor of 2
|
||||
|
||||
variable L equal 6
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region BOX block -$L $L -$L $L -$w $w
|
||||
|
||||
boundary f f p
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region BOX
|
||||
|
||||
fix AtC internal atc hardy
|
||||
fix_modify AtC kernel quartic_cylinder 5.0
|
||||
fix_modify AtC mesh read gaussianIC2d_hex.mesh
|
||||
fix_modify AtC fields add mass_density
|
||||
fix_modify AtC output kernel2d_hexFE 1 full_text binary
|
||||
#dump CONFIG all custom 1 kernel2d_hexMD.dmp id type x y z
|
||||
|
||||
thermo_style custom step cpu temp
|
||||
timestep 0.0
|
||||
thermo 1
|
||||
run 2
|
||||
|
||||
@ -1,28 +1,28 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 6
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region BOX block -$L $L -$L $L -$w $w
|
||||
|
||||
boundary f f p
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region BOX
|
||||
|
||||
fix AtC internal atc hardy
|
||||
fix_modify AtC kernel quartic_sphere 5.0
|
||||
fix_modify AtC mesh read gaussianIC2d_tet.mesh
|
||||
fix_modify AtC fields add mass_density
|
||||
fix_modify AtC output kernel2d_tetFE 1 full_text binary
|
||||
|
||||
thermo_style custom step cpu temp
|
||||
timestep 0.0
|
||||
thermo 1
|
||||
run 2
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 6
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region BOX block -$L $L -$L $L -$w $w
|
||||
|
||||
boundary f f p
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region BOX
|
||||
|
||||
fix AtC internal atc hardy
|
||||
fix_modify AtC kernel quartic_sphere 5.0
|
||||
fix_modify AtC mesh read gaussianIC2d_tet.mesh
|
||||
fix_modify AtC fields add mass_density
|
||||
fix_modify AtC output kernel2d_tetFE 1 full_text binary
|
||||
|
||||
thermo_style custom step cpu temp
|
||||
timestep 0.0
|
||||
thermo 1
|
||||
run 2
|
||||
|
||||
@ -1,29 +1,29 @@
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 6
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region BOX block -$L $L -$L $L -$w $w
|
||||
|
||||
boundary f f p
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region BOX
|
||||
|
||||
fix AtC internal atc field
|
||||
fix_modify AtC mesh read gaussianIC2d_tet.mesh
|
||||
fix_modify AtC fields add mass_density
|
||||
fix_modify AtC output mesh2d_tetFE 1 full_text binary
|
||||
|
||||
dump CONFIG all custom 10 mesh2d_tet.dmp id type x y z
|
||||
|
||||
thermo_style custom step cpu temp
|
||||
timestep 0.0
|
||||
thermo 1
|
||||
run 2
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable L equal 6
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region BOX block -$L $L -$L $L -$w $w
|
||||
|
||||
boundary f f p
|
||||
create_box 1 BOX
|
||||
create_atoms 1 region BOX
|
||||
mass 1 39.95
|
||||
pair_style lj/cut 13.5
|
||||
pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region BOX
|
||||
|
||||
fix AtC internal atc field
|
||||
fix_modify AtC mesh read gaussianIC2d_tet.mesh
|
||||
fix_modify AtC fields add mass_density
|
||||
fix_modify AtC output mesh2d_tetFE 1 full_text binary
|
||||
|
||||
dump CONFIG all custom 10 mesh2d_tet.dmp id type x y z
|
||||
|
||||
thermo_style custom step cpu temp
|
||||
timestep 0.0
|
||||
thermo 1
|
||||
run 2
|
||||
|
||||
@ -1,101 +1,101 @@
|
||||
# this input can be used to generate the benchmark for in.gaussianIC2d_hex_uniform
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable l equal 8
|
||||
variable g equal 2
|
||||
variable lg equal $l+$g
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
boundary f f f
|
||||
|
||||
# region to create atoms
|
||||
region bigCyl cylinder z 0. 0. ${lg} -$w $w
|
||||
region offsetPlane block -${lg} $g -${lg} ${lg} -$w $w
|
||||
region mdRegion intersect 2 bigCyl offsetPlane
|
||||
#create_box 1 mdRegion
|
||||
pair_style lj/cut 13.5
|
||||
read_data semicircle.init
|
||||
|
||||
# region for internal atoms
|
||||
region mdInternalCyl cylinder z 0. 0. $l -$w $w
|
||||
region leftHalfPlane block INF 0. INF INF INF INF
|
||||
region mdInternal intersect 2 mdInternalCyl leftHalfPlane
|
||||
|
||||
# region for coupling ghosts
|
||||
region rightHalfPlane block 0. INF INF INF INF INF
|
||||
region mdGhost union 2 rightHalfPlane mdInternal side out
|
||||
|
||||
#create_atoms 1 region mdRegion
|
||||
#create_atoms 1 region mdInternal
|
||||
#create_atoms 2 region mdGhost
|
||||
#region outerGhost intersect 2 rightHalfPlane mdRegion
|
||||
#create_atoms 3 region outerGhost
|
||||
|
||||
#pair_style lj/cut 13.5
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
#mass 1 39.95
|
||||
#pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
group ghost region mdGhost
|
||||
#velocity internal create 40 102486 mom yes rot yes dist gaussian
|
||||
#write_restart semicircle_init.rst
|
||||
|
||||
# ATC commands
|
||||
fix AtC internal atc thermal Ar_ttm.mat
|
||||
fix_modify AtC boundary ghost
|
||||
fix_modify AtC mesh read semicircle.mesh f f p
|
||||
fix_modify AtC mesh nodeset_to_elementset 2 hole min
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC time_integration fractional_step
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC fix temperature all 20.
|
||||
fix_modify AtC control thermal rescale 10
|
||||
fix_modify AtC control tolerance 1.e-14 # tolerance needed to produce consistent parallel and serial results
|
||||
|
||||
# initial output
|
||||
#fix_modify AtC mesh output semicircle_mesh
|
||||
#fix_modify AtC output semicircle_init 100 text binary
|
||||
#dump D1 all atom 100 semicircle_init.dmp
|
||||
|
||||
# run
|
||||
timestep 5.0
|
||||
thermo 100
|
||||
run 500
|
||||
|
||||
# boundary conditions
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC fix temperature 1 20.
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC control localized_lambda on
|
||||
|
||||
# NOTE appears to be a problem with the temporal ramp function
|
||||
variable delta_t equal 1000*5.
|
||||
fix_modify AtC source temperature hole temporal_ramp 0. 0.0000000001 ${delta_t}
|
||||
|
||||
# equilibrate filter
|
||||
fix_modify AtC filter type exponential
|
||||
fix_modify AtC filter scale 1000.
|
||||
fix_modify AtC filter on
|
||||
|
||||
# equilibration output
|
||||
fix_modify AtC output semicircleFE 100 full_text #binary
|
||||
#undump D1
|
||||
#dump D1 all atom 100 semicircle_equil.dmp
|
||||
|
||||
# run
|
||||
fix_modify AtC reset_time 0.
|
||||
reset_timestep 0
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# heat source
|
||||
# NOTE second run omitted as it causes diffs in parallel execution after just one timestep, not sure why
|
||||
#fix_modify AtC source temperature hole 0.0000000001
|
||||
#fix_modify AtC output semicircleFE 1 full_text #binary
|
||||
#undump D1
|
||||
#dump D1 all atom 100 semicircle.dmp
|
||||
#run 1#000
|
||||
# this input can be used to generate the benchmark for in.gaussianIC2d_hex_uniform
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
variable l equal 8
|
||||
variable g equal 2
|
||||
variable lg equal $l+$g
|
||||
variable w equal 2
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
boundary f f f
|
||||
|
||||
# region to create atoms
|
||||
region bigCyl cylinder z 0. 0. ${lg} -$w $w
|
||||
region offsetPlane block -${lg} $g -${lg} ${lg} -$w $w
|
||||
region mdRegion intersect 2 bigCyl offsetPlane
|
||||
#create_box 1 mdRegion
|
||||
pair_style lj/cut 13.5
|
||||
read_data semicircle.init
|
||||
|
||||
# region for internal atoms
|
||||
region mdInternalCyl cylinder z 0. 0. $l -$w $w
|
||||
region leftHalfPlane block INF 0. INF INF INF INF
|
||||
region mdInternal intersect 2 mdInternalCyl leftHalfPlane
|
||||
|
||||
# region for coupling ghosts
|
||||
region rightHalfPlane block 0. INF INF INF INF INF
|
||||
region mdGhost union 2 rightHalfPlane mdInternal side out
|
||||
|
||||
#create_atoms 1 region mdRegion
|
||||
#create_atoms 1 region mdInternal
|
||||
#create_atoms 2 region mdGhost
|
||||
#region outerGhost intersect 2 rightHalfPlane mdRegion
|
||||
#create_atoms 3 region outerGhost
|
||||
|
||||
#pair_style lj/cut 13.5
|
||||
fix ZWALLS all wall/reflect zlo EDGE zhi EDGE
|
||||
#mass 1 39.95
|
||||
#pair_coeff 1 1 .238 3.405 13.5
|
||||
group internal region mdInternal
|
||||
group ghost region mdGhost
|
||||
#velocity internal create 40 102486 mom yes rot yes dist gaussian
|
||||
#write_restart semicircle_init.rst
|
||||
|
||||
# ATC commands
|
||||
fix AtC internal atc thermal Ar_ttm.mat
|
||||
fix_modify AtC boundary ghost
|
||||
fix_modify AtC mesh read semicircle.mesh f f p
|
||||
fix_modify AtC mesh nodeset_to_elementset 2 hole min
|
||||
fix_modify AtC internal_quadrature off
|
||||
fix_modify AtC time_integration fractional_step
|
||||
|
||||
# initial conditions
|
||||
fix_modify AtC fix temperature all 20.
|
||||
fix_modify AtC control thermal rescale 10
|
||||
fix_modify AtC control tolerance 1.e-14 # tolerance needed to produce consistent parallel and serial results
|
||||
|
||||
# initial output
|
||||
#fix_modify AtC mesh output semicircle_mesh
|
||||
#fix_modify AtC output semicircle_init 100 text binary
|
||||
#dump D1 all atom 100 semicircle_init.dmp
|
||||
|
||||
# run
|
||||
timestep 5.0
|
||||
thermo 100
|
||||
run 500
|
||||
|
||||
# boundary conditions
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC fix temperature 1 20.
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC control localized_lambda on
|
||||
|
||||
# NOTE appears to be a problem with the temporal ramp function
|
||||
variable delta_t equal 1000*5.
|
||||
fix_modify AtC source temperature hole temporal_ramp 0. 0.0000000001 ${delta_t}
|
||||
|
||||
# equilibrate filter
|
||||
fix_modify AtC filter type exponential
|
||||
fix_modify AtC filter scale 1000.
|
||||
fix_modify AtC filter on
|
||||
|
||||
# equilibration output
|
||||
fix_modify AtC output semicircleFE 100 full_text #binary
|
||||
#undump D1
|
||||
#dump D1 all atom 100 semicircle_equil.dmp
|
||||
|
||||
# run
|
||||
fix_modify AtC reset_time 0.
|
||||
reset_timestep 0
|
||||
thermo 100
|
||||
run 1000
|
||||
|
||||
# heat source
|
||||
# NOTE second run omitted as it causes diffs in parallel execution after just one timestep, not sure why
|
||||
#fix_modify AtC source temperature hole 0.0000000001
|
||||
#fix_modify AtC output semicircleFE 1 full_text #binary
|
||||
#undump D1
|
||||
#dump D1 all atom 100 semicircle.dmp
|
||||
#run 1#000
|
||||
|
||||
@ -1,56 +1,56 @@
|
||||
# needs description
|
||||
#AtC thermal Coupling
|
||||
#
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region feRegion block -10 10 -1 1 -1 1
|
||||
boundary f p p
|
||||
create_box 1 feRegion
|
||||
mass 1 39.95 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
region dummyRegion block -100 -99 -1 1 -1 1
|
||||
group dummy region dummyRegion
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC dummy atc thermal Ar_thermal.mat
|
||||
timestep 5.0
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 10 1 1 feRegion f p p
|
||||
|
||||
# fix end temperatures and an internal source
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC source temperature all 0.0000000000632
|
||||
fix_modify AtC mesh create_nodeset lbc -10.1 -9.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 9.9 10.1 -INF INF -INF INF
|
||||
fix_modify AtC fix temperature lbc 20.
|
||||
fix_modify AtC fix temperature rbc 20.
|
||||
|
||||
fix_modify AtC mesh create_elementset middle -4.1 4.1 -INF INF -INF INF
|
||||
fix_modify AtC material middle Ar2
|
||||
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2]
|
||||
fix_modify AtC output no_atomsFE 1000 text binary
|
||||
thermo 100
|
||||
run 10000
|
||||
|
||||
|
||||
fix_modify AtC remove_source temperature all
|
||||
fix_modify AtC unfix temperature rbc
|
||||
|
||||
fix_modify AtC fix temperature all 20.
|
||||
run 1
|
||||
fix_modify AtC unfix temperature all
|
||||
reset_timestep 0
|
||||
|
||||
# fix one end temperature and the a source at the other
|
||||
fix_modify AtC fix temperature lbc 20.
|
||||
fix_modify AtC mesh create_faceset rbcFace plane x 10.0
|
||||
fix_modify AtC fix_flux temperature rbcFace 0.000000001
|
||||
|
||||
fix_modify AtC output no_atoms_flux_FE 1000 text binary # NOTE not used
|
||||
thermo 100
|
||||
run 10000
|
||||
# needs description
|
||||
#AtC thermal Coupling
|
||||
#
|
||||
echo both
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region feRegion block -10 10 -1 1 -1 1
|
||||
boundary f p p
|
||||
create_box 1 feRegion
|
||||
mass 1 39.95 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
region dummyRegion block -100 -99 -1 1 -1 1
|
||||
group dummy region dummyRegion
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC dummy atc thermal Ar_thermal.mat
|
||||
timestep 5.0
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 10 1 1 feRegion f p p
|
||||
|
||||
# fix end temperatures and an internal source
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC source temperature all 0.0000000000632
|
||||
fix_modify AtC mesh create_nodeset lbc -10.1 -9.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 9.9 10.1 -INF INF -INF INF
|
||||
fix_modify AtC fix temperature lbc 20.
|
||||
fix_modify AtC fix temperature rbc 20.
|
||||
|
||||
fix_modify AtC mesh create_elementset middle -4.1 4.1 -INF INF -INF INF
|
||||
fix_modify AtC material middle Ar2
|
||||
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2]
|
||||
fix_modify AtC output no_atomsFE 1000 text binary
|
||||
thermo 100
|
||||
run 10000
|
||||
|
||||
|
||||
fix_modify AtC remove_source temperature all
|
||||
fix_modify AtC unfix temperature rbc
|
||||
|
||||
fix_modify AtC fix temperature all 20.
|
||||
run 1
|
||||
fix_modify AtC unfix temperature all
|
||||
reset_timestep 0
|
||||
|
||||
# fix one end temperature and the a source at the other
|
||||
fix_modify AtC fix temperature lbc 20.
|
||||
fix_modify AtC mesh create_faceset rbcFace plane x 10.0
|
||||
fix_modify AtC fix_flux temperature rbcFace 0.000000001
|
||||
|
||||
fix_modify AtC output no_atoms_flux_FE 1000 text binary # NOTE not used
|
||||
thermo 100
|
||||
run 10000
|
||||
|
||||
@ -1,87 +1,87 @@
|
||||
# needs description
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# delete elements from the mesh
|
||||
# heating and then relaxation
|
||||
|
||||
echo both
|
||||
units metal
|
||||
variable INF equal 1000
|
||||
|
||||
variable T equal 20
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region FE block -8 8 -6 6 0 3
|
||||
region MD block -7 7 -6 0 0 3
|
||||
region FREE block -4 4 -6 0 0 3
|
||||
|
||||
boundary f f p
|
||||
|
||||
# create atoms
|
||||
#create_box 1 FE
|
||||
#create_atoms 1 region MD
|
||||
#group internal region FREE
|
||||
#mass 1 39.95
|
||||
#read_data cutout.data
|
||||
#pair_coeff * * .238 3.405 13.5
|
||||
#velocity internal create 40 87287 mom yes loop geom
|
||||
#fix NVE internal nve
|
||||
#thermo 100
|
||||
#dump CONFIG all atom 100 cutout.dump
|
||||
##run 1000
|
||||
#unfix NVE
|
||||
#write_restart cutout.rst
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
read_data cutout.init
|
||||
group internal region FREE
|
||||
group ghost subtract all internal
|
||||
|
||||
timestep 0.002
|
||||
thermo 20
|
||||
|
||||
# allow initial state to relax
|
||||
fix NVT internal nvt temp $T $T 10 drag 0.2
|
||||
fix RESCALE internal temp/rescale 25 $T $T 0.05 1.0
|
||||
run 200
|
||||
unfix RESCALE
|
||||
run 800
|
||||
unfix NVT
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 8 6 1 FE f f p
|
||||
|
||||
fix_modify AtC mesh create_elementset wire -4 4 -INF 0 -INF INF
|
||||
fix_modify AtC mesh create_nodeset gap -4 4 -0 INF -INF INF
|
||||
fix_modify AtC mesh create_elementset gap -4 4 -0 INF -INF INF
|
||||
fix_modify AtC mesh delete_elements gap
|
||||
|
||||
fix_modify AtC mesh create_faceset bndy box -4 4 -INF 0 -INF INF
|
||||
fix_modify AtC control thermal flux faceset bndy
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC initial electron_temperature all 30.0
|
||||
fix_modify AtC initial temperature gap 0.0
|
||||
|
||||
# relaxation
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4]
|
||||
fix_modify AtC output cutoutFE 10 text
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
|
||||
# heating
|
||||
fix_modify AtC mesh create_nodeset lbc -8 -8 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 8 8 -INF INF -INF INF
|
||||
fix_modify AtC fix electron_temperature lbc 20.
|
||||
fix_modify AtC fix electron_temperature rbc 20.
|
||||
fix_modify AtC source electron_temperature wire 0.001
|
||||
run 200
|
||||
|
||||
# relaxation
|
||||
fix_modify AtC remove_source electron_temperature wire
|
||||
run 200
|
||||
# needs description
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# delete elements from the mesh
|
||||
# heating and then relaxation
|
||||
|
||||
echo both
|
||||
units metal
|
||||
variable INF equal 1000
|
||||
|
||||
variable T equal 20
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region FE block -8 8 -6 6 0 3
|
||||
region MD block -7 7 -6 0 0 3
|
||||
region FREE block -4 4 -6 0 0 3
|
||||
|
||||
boundary f f p
|
||||
|
||||
# create atoms
|
||||
#create_box 1 FE
|
||||
#create_atoms 1 region MD
|
||||
#group internal region FREE
|
||||
#mass 1 39.95
|
||||
#read_data cutout.data
|
||||
#pair_coeff * * .238 3.405 13.5
|
||||
#velocity internal create 40 87287 mom yes loop geom
|
||||
#fix NVE internal nve
|
||||
#thermo 100
|
||||
#dump CONFIG all atom 100 cutout.dump
|
||||
##run 1000
|
||||
#unfix NVE
|
||||
#write_restart cutout.rst
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
read_data cutout.init
|
||||
group internal region FREE
|
||||
group ghost subtract all internal
|
||||
|
||||
timestep 0.002
|
||||
thermo 20
|
||||
|
||||
# allow initial state to relax
|
||||
fix NVT internal nvt temp $T $T 10 drag 0.2
|
||||
fix RESCALE internal temp/rescale 25 $T $T 0.05 1.0
|
||||
run 200
|
||||
unfix RESCALE
|
||||
run 800
|
||||
unfix NVT
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 8 6 1 FE f f p
|
||||
|
||||
fix_modify AtC mesh create_elementset wire -4 4 -INF 0 -INF INF
|
||||
fix_modify AtC mesh create_nodeset gap -4 4 -0 INF -INF INF
|
||||
fix_modify AtC mesh create_elementset gap -4 4 -0 INF -INF INF
|
||||
fix_modify AtC mesh delete_elements gap
|
||||
|
||||
fix_modify AtC mesh create_faceset bndy box -4 4 -INF 0 -INF INF
|
||||
fix_modify AtC control thermal flux faceset bndy
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC initial electron_temperature all 30.0
|
||||
fix_modify AtC initial temperature gap 0.0
|
||||
|
||||
# relaxation
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4]
|
||||
fix_modify AtC output cutoutFE 10 text
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
|
||||
# heating
|
||||
fix_modify AtC mesh create_nodeset lbc -8 -8 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 8 8 -INF INF -INF INF
|
||||
fix_modify AtC fix electron_temperature lbc 20.
|
||||
fix_modify AtC fix electron_temperature rbc 20.
|
||||
fix_modify AtC source electron_temperature wire 0.001
|
||||
run 200
|
||||
|
||||
# relaxation
|
||||
fix_modify AtC remove_source electron_temperature wire
|
||||
run 200
|
||||
|
||||
@ -1,94 +1,94 @@
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# full overlap of MD and FE regions w/ free ends & lateral periodic bcs
|
||||
# initial gaussian electron temperature profile and uniform phonon temperature
|
||||
# results in fast exchange followed by slower diffusion and finally relaxation
|
||||
# to equilibrium
|
||||
#
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3,
|
||||
# where N = 4 for fcc,
|
||||
# s = 3.405 A (Wagner)
|
||||
# a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
# to create restart :
|
||||
# write_restart temp.bin
|
||||
# then : restart2data temp.bin temp.init
|
||||
#if {restart}
|
||||
boundary f p p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
#endif
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region feRegion block -10 10 -3 3 -3 3
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
region mdInternal block -10 10 -3 3 -3 3
|
||||
|
||||
|
||||
# create atoms, NOTE commented out for restart
|
||||
#if !{restart}
|
||||
#boundary f p p
|
||||
#create_box 1 mdRegion
|
||||
#create_atoms 1 region mdRegion
|
||||
#mass 1 39.95
|
||||
#pair_style lj/cut 13.5
|
||||
#pair_coeff 1 1 .238 3.405 13.5
|
||||
#velocity internal create 40 87287 mom yes loop geom
|
||||
#endif
|
||||
|
||||
# specify interal/ghost atoms
|
||||
group internal region mdInternal
|
||||
# do not define ghosts if outside fe region
|
||||
#group ghost subtract all internal
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 10 1 1 feRegion f p p
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
|
||||
# turn on thermostat
|
||||
fix_modify AtC extrinsic exchange off
|
||||
fix_modify AtC control thermal rescale 10
|
||||
|
||||
# equilibrate MD field
|
||||
timestep 5.0
|
||||
#timestep 0.1
|
||||
thermo 10
|
||||
#if !{restart}
|
||||
#run 1000
|
||||
#endif
|
||||
|
||||
# write restart file (for atoms)
|
||||
#if !{restart}
|
||||
#write_restart gaussianT0.dat
|
||||
#endif
|
||||
|
||||
#output
|
||||
fix_modify AtC output gaussianIC_ttmFE 10 text
|
||||
|
||||
# change thermostat
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
# run with FE
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
reset_timestep 0
|
||||
run 400
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# full overlap of MD and FE regions w/ free ends & lateral periodic bcs
|
||||
# initial gaussian electron temperature profile and uniform phonon temperature
|
||||
# results in fast exchange followed by slower diffusion and finally relaxation
|
||||
# to equilibrium
|
||||
#
|
||||
echo both
|
||||
units real
|
||||
atom_style atomic
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3,
|
||||
# where N = 4 for fcc,
|
||||
# s = 3.405 A (Wagner)
|
||||
# a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
# to create restart :
|
||||
# write_restart temp.bin
|
||||
# then : restart2data temp.bin temp.init
|
||||
#if {restart}
|
||||
boundary f p p
|
||||
pair_style lj/cut 13.5
|
||||
read_data temp.init
|
||||
#endif
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region feRegion block -10 10 -3 3 -3 3
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
region mdInternal block -10 10 -3 3 -3 3
|
||||
|
||||
|
||||
# create atoms, NOTE commented out for restart
|
||||
#if !{restart}
|
||||
#boundary f p p
|
||||
#create_box 1 mdRegion
|
||||
#create_atoms 1 region mdRegion
|
||||
#mass 1 39.95
|
||||
#pair_style lj/cut 13.5
|
||||
#pair_coeff 1 1 .238 3.405 13.5
|
||||
#velocity internal create 40 87287 mom yes loop geom
|
||||
#endif
|
||||
|
||||
# specify interal/ghost atoms
|
||||
group internal region mdInternal
|
||||
# do not define ghosts if outside fe region
|
||||
#group ghost subtract all internal
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 10 1 1 feRegion f p p
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
fix_modify AtC fix electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
|
||||
# turn on thermostat
|
||||
fix_modify AtC extrinsic exchange off
|
||||
fix_modify AtC control thermal rescale 10
|
||||
|
||||
# equilibrate MD field
|
||||
timestep 5.0
|
||||
#timestep 0.1
|
||||
thermo 10
|
||||
#if !{restart}
|
||||
#run 1000
|
||||
#endif
|
||||
|
||||
# write restart file (for atoms)
|
||||
#if !{restart}
|
||||
#write_restart gaussianT0.dat
|
||||
#endif
|
||||
|
||||
#output
|
||||
fix_modify AtC output gaussianIC_ttmFE 10 text
|
||||
|
||||
# change thermostat
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC control thermal flux
|
||||
fix_modify AtC extrinsic exchange on
|
||||
fix_modify AtC extrinsic electron_integration explicit 10
|
||||
|
||||
# run with FE
|
||||
thermo_style custom step temp pe f_AtC[2] f_AtC[4]
|
||||
reset_timestep 0
|
||||
run 400
|
||||
|
||||
@ -1,61 +1,61 @@
|
||||
# needs description
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# no atoms and FE regions with periodic boundary conditions.
|
||||
# heating and then relaxation
|
||||
|
||||
echo both
|
||||
#units real
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region simRegion block -14 14 -3 3 -3 3
|
||||
region feRegion block -12 12 -3 3 -3 3
|
||||
|
||||
# need to create atoms or lammps throws an error
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 mdRegion
|
||||
mass 1 39.95 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
region dummyRegion block -100 -99 -1 1 -1 1
|
||||
group dummy region dummyRegion
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC dummy atc two_temperature Cu_ttm.mat
|
||||
timestep 0.002
|
||||
thermo 20
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 feRegion f p p
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
#fix_modify AtC initial electron_temperature all 30.0
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
# relaxation
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4]
|
||||
fix_modify AtC output no_atomsFE 10 text
|
||||
#fix_modify AtC extrinsic electron_integration subcycle 100
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
run 400
|
||||
|
||||
# heating
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix electron_temperature lbc 20.
|
||||
fix_modify AtC fix electron_temperature rbc 20.
|
||||
#fix_modify AtC extrinsic exchange off
|
||||
#fix_modify AtC fix temperature lbc 20.
|
||||
#fix_modify AtC fix temperature rbc 20.
|
||||
#fix_modify AtC extrinsic electron_integration lockstep
|
||||
#fix_modify AtC source electron_temperature all 1000.0
|
||||
fix_modify AtC source electron_temperature all 0.521981
|
||||
run 400
|
||||
|
||||
# relaxation
|
||||
fix_modify AtC remove_source electron_temperature all
|
||||
run 400
|
||||
# needs description
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# no atoms and FE regions with periodic boundary conditions.
|
||||
# heating and then relaxation
|
||||
|
||||
echo both
|
||||
#units real
|
||||
units metal
|
||||
|
||||
atom_style atomic
|
||||
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
region simRegion block -14 14 -3 3 -3 3
|
||||
region feRegion block -12 12 -3 3 -3 3
|
||||
|
||||
# need to create atoms or lammps throws an error
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
boundary f p p
|
||||
create_box 1 mdRegion
|
||||
mass 1 39.95 # need to keep this
|
||||
atom_modify sort 0 1
|
||||
region dummyRegion block -100 -99 -1 1 -1 1
|
||||
group dummy region dummyRegion
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC dummy atc two_temperature Cu_ttm.mat
|
||||
timestep 0.002
|
||||
thermo 20
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 12 1 1 feRegion f p p
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC initial temperature all 20.0
|
||||
#fix_modify AtC initial electron_temperature all 30.0
|
||||
fix_modify AtC initial electron_temperature all gaussian 0 0 0 1 0 0 5 20 20
|
||||
|
||||
# relaxation
|
||||
thermo_style custom step cpu f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4]
|
||||
fix_modify AtC output no_atomsFE 10 text
|
||||
#fix_modify AtC extrinsic electron_integration subcycle 100
|
||||
fix_modify AtC extrinsic electron_integration implicit
|
||||
run 400
|
||||
|
||||
# heating
|
||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
||||
fix_modify AtC fix electron_temperature lbc 20.
|
||||
fix_modify AtC fix electron_temperature rbc 20.
|
||||
#fix_modify AtC extrinsic exchange off
|
||||
#fix_modify AtC fix temperature lbc 20.
|
||||
#fix_modify AtC fix temperature rbc 20.
|
||||
#fix_modify AtC extrinsic electron_integration lockstep
|
||||
#fix_modify AtC source electron_temperature all 1000.0
|
||||
fix_modify AtC source electron_temperature all 0.521981
|
||||
run 400
|
||||
|
||||
# relaxation
|
||||
fix_modify AtC remove_source electron_temperature all
|
||||
run 400
|
||||
|
||||
@ -1,66 +1,66 @@
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# full overlap of MD and FE regions with full periodic boundary conditions.
|
||||
# initial electron and phonon temperatures are different and then allowed to
|
||||
# relax.
|
||||
#
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
boundary p p p
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3,
|
||||
# where N = 4 for fcc,
|
||||
# s = 3.405 A (Wagner)
|
||||
# a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
|
||||
read_data uniform_exchange.init
|
||||
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region feRegion block -12 12 -3 3 -3 3
|
||||
|
||||
# create atoms
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -12 12 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 4 1 1 feRegion p p p
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
fix_modify AtC fix electron_temperature all 30.0
|
||||
|
||||
timestep 5.0
|
||||
|
||||
# output
|
||||
thermo_style custom step pe temp f_AtC[2] f_AtC[4]
|
||||
thermo 10
|
||||
|
||||
# equilibrate MD field
|
||||
fix_modify AtC control thermal rescale 13
|
||||
run 500
|
||||
|
||||
# relax
|
||||
fix_modify AtC output uniform_exchangeFE 100 text
|
||||
fix_modify AtC filter type exponential
|
||||
fix_modify AtC filter scale 5.0e2
|
||||
fix_modify AtC filter on
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC control thermal flux
|
||||
|
||||
# run with FE
|
||||
run 5000
|
||||
#AtC Two temperature Coupling
|
||||
# DESCRIPTION:
|
||||
# full overlap of MD and FE regions with full periodic boundary conditions.
|
||||
# initial electron and phonon temperatures are different and then allowed to
|
||||
# relax.
|
||||
#
|
||||
|
||||
units real
|
||||
atom_style atomic
|
||||
boundary p p p
|
||||
|
||||
# create domain
|
||||
#lattice type reduced density rho* = 4*(sigma/a)^3,
|
||||
# where N = 4 for fcc,
|
||||
# s = 3.405 A (Wagner)
|
||||
# a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||
|
||||
pair_style lj/cut 13.5
|
||||
|
||||
read_data uniform_exchange.init
|
||||
|
||||
region simRegion block -12 12 -3 3 -3 3
|
||||
region feRegion block -12 12 -3 3 -3 3
|
||||
|
||||
# create atoms
|
||||
region mdRegion block -12 12 -3 3 -3 3
|
||||
|
||||
# specify interal/ghost atoms
|
||||
region mdInternal block -12 12 -3 3 -3 3
|
||||
group internal region mdInternal
|
||||
|
||||
neighbor 5. bin
|
||||
neigh_modify every 10 delay 0 check no
|
||||
|
||||
# ID group atc PhysicsType ParameterFile
|
||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||
|
||||
# ID part keywords nx ny nz region
|
||||
fix_modify AtC mesh create 4 1 1 feRegion p p p
|
||||
|
||||
# fix a temperature
|
||||
fix_modify AtC fix temperature all 20.0
|
||||
fix_modify AtC fix electron_temperature all 30.0
|
||||
|
||||
timestep 5.0
|
||||
|
||||
# output
|
||||
thermo_style custom step pe temp f_AtC[2] f_AtC[4]
|
||||
thermo 10
|
||||
|
||||
# equilibrate MD field
|
||||
fix_modify AtC control thermal rescale 13
|
||||
run 500
|
||||
|
||||
# relax
|
||||
fix_modify AtC output uniform_exchangeFE 100 text
|
||||
fix_modify AtC filter type exponential
|
||||
fix_modify AtC filter scale 5.0e2
|
||||
fix_modify AtC filter on
|
||||
fix_modify AtC unfix temperature all
|
||||
fix_modify AtC unfix electron_temperature all
|
||||
fix_modify AtC control thermal flux
|
||||
|
||||
# run with FE
|
||||
run 5000
|
||||
|
||||
@ -1,20 +1,24 @@
|
||||
#! /bin/bash
|
||||
|
||||
DATE='2Jul21'
|
||||
LMPDIR=/Users/ohenrich/Work/code/lammps
|
||||
DATE='14Dec21'
|
||||
TOL=1e-8
|
||||
|
||||
LMPDIR=/Users/ohenrich/Work/code/lammps
|
||||
SRCDIR=$LMPDIR/src
|
||||
EXDIR=$LMPDIR/examples/PACKAGES/cgdna/examples
|
||||
|
||||
if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
echo '# Compiling executable in' $SRCDIR
|
||||
echo '# Compiling executable in' $SRCDIR | tee -a $EXDIR/test.log
|
||||
|
||||
cd $SRCDIR
|
||||
make clean-all
|
||||
make -j8 mpi
|
||||
make clean-all | tee -a $EXDIR/test.log
|
||||
make purge | tee -a $EXDIR/test.log
|
||||
make pu | tee -a $EXDIR/test.log
|
||||
make ps | tee -a $EXDIR/test.log
|
||||
make -j8 mpi | tee -a $EXDIR/test.log
|
||||
|
||||
######################################################
|
||||
echo '# Running oxDNA duplex1 test'
|
||||
echo '# Running oxDNA duplex1 test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxDNA/duplex1
|
||||
mkdir test
|
||||
cd test
|
||||
@ -24,20 +28,32 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex1 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex1.g++.1
|
||||
grep etot log.$DATE.duplex1.g++.1 > e_test.dat
|
||||
grep etot ../log*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex1.g++.1 > e_test.1.dat
|
||||
grep etot ../log*1 > e_old.1.dat
|
||||
ndiff -relerr $TOL e_test.1.dat e_old.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex1 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex1.g++.4
|
||||
grep etot log.$DATE.duplex1.g++.4 > e_test.dat
|
||||
grep etot ../log*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex1.g++.4 > e_test.4.dat
|
||||
grep etot ../log*4 > e_old.4.dat
|
||||
ndiff -relerr $TOL e_test.4.dat e_old.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
echo '# Running oxDNA duplex2 test'
|
||||
echo '# Running oxDNA duplex2 test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxDNA/duplex2
|
||||
mkdir test
|
||||
cd test
|
||||
@ -47,20 +63,32 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex2 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex2.g++.1
|
||||
grep etot log.$DATE.duplex2.g++.1 > e_test.dat
|
||||
grep etot ../log*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex2.g++.1 > e_test.1.dat
|
||||
grep etot ../log*1 > e_old.1.dat
|
||||
ndiff -relerr $TOL e_test.1.dat e_old.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex2 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex2.g++.4
|
||||
grep etot log.$DATE.duplex2.g++.4 > e_test.dat
|
||||
grep etot ../log*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex2.g++.4 > e_test.4.dat
|
||||
grep etot ../log*4 > e_old.4.dat
|
||||
ndiff -relerr $TOL e_test.4.dat e_old.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
echo '# Running oxDNA2 duplex1 test'
|
||||
echo '# Running oxDNA2 duplex1 test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxDNA2/duplex1
|
||||
mkdir test
|
||||
cd test
|
||||
@ -70,20 +98,32 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex1 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex1.g++.1
|
||||
grep etot log.$DATE.duplex1.g++.1 > e_test.dat
|
||||
grep etot ../log*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex1.g++.1 > e_test.1.dat
|
||||
grep etot ../log*1 > e_old.1.dat
|
||||
ndiff -relerr $TOL e_test.1.dat e_old.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex1 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex1.g++.4
|
||||
grep etot log.$DATE.duplex1.g++.4 > e_test.dat
|
||||
grep etot ../log*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex1.g++.4 > e_test.4.dat
|
||||
grep etot ../log*4 > e_old.4.dat
|
||||
ndiff -relerr $TOL e_test.4.dat e_old.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
echo '# Running oxDNA2 duplex2 test'
|
||||
echo '# Running oxDNA2 duplex2 test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxDNA2/duplex2
|
||||
mkdir test
|
||||
cd test
|
||||
@ -93,20 +133,32 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex2 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex2.g++.1
|
||||
grep etot log.$DATE.duplex2.g++.1 > e_test.dat
|
||||
grep etot ../log*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex2.g++.1 > e_test.1.dat
|
||||
grep etot ../log*1 > e_old.1.dat
|
||||
ndiff -relerr $TOL e_test.1.dat e_old.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex2 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex2.g++.4
|
||||
grep etot log.$DATE.duplex2.g++.4 > e_test.dat
|
||||
grep etot ../log*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex2.g++.4 > e_test.4.dat
|
||||
grep etot ../log*4 > e_old.4.dat
|
||||
ndiff -relerr $TOL e_test.4.dat e_old.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
echo '# Running oxDNA2 duplex3 test'
|
||||
echo '# Running oxDNA2 duplex3 test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxDNA2/duplex3
|
||||
mkdir test
|
||||
cd test
|
||||
@ -116,20 +168,32 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex3 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex3.g++.1
|
||||
grep etot log.$DATE.duplex3.g++.1 > e_test.dat
|
||||
grep etot ../log*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex3.g++.1 > e_test.1.dat
|
||||
grep etot ../log*1 > e_old.1.dat
|
||||
ndiff -relerr $TOL e_test.1.dat e_old.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex3 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex3.g++.4
|
||||
grep etot log.$DATE.duplex3.g++.4 > e_test.dat
|
||||
grep etot ../log*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex3.g++.4 > e_test.4.dat
|
||||
grep etot ../log*4 > e_old.4.dat
|
||||
ndiff -relerr $TOL e_test.4.dat e_old.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
echo '# Running oxDNA2 unique_bp test'
|
||||
echo '# Running oxDNA2 unique_bp test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxDNA2/unique_bp
|
||||
mkdir test
|
||||
cd test
|
||||
@ -141,32 +205,56 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex4.4type > /dev/null
|
||||
mv log.lammps log.$DATE.duplex4.4type.g++.1
|
||||
grep etot log.$DATE.duplex4.4type.g++.1 > e_test.dat
|
||||
grep etot ../log*4type*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex4.4type.g++.1 > e_test.4type.1.dat
|
||||
grep etot ../log*4type*1 > e_old.4type.1.dat
|
||||
ndiff -relerr $TOL e_test.4type.1.dat e_old.4type.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task 4 types passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task 4 types unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex4.4type > /dev/null
|
||||
mv log.lammps log.$DATE.duplex4.4type.g++.4
|
||||
grep etot log.$DATE.duplex4.4type.g++.4 > e_test.dat
|
||||
grep etot ../log*4type*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex4.4type.g++.4 > e_test.4type.4.dat
|
||||
grep etot ../log*4type*4 > e_old.4type.4.dat
|
||||
ndiff -relerr $TOL e_test.4type.4.dat e_old.4type.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks 4 types passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks 4 types unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex4.8type > /dev/null
|
||||
mv log.lammps log.$DATE.duplex4.8type.g++.1
|
||||
grep etot log.$DATE.duplex4.8type.g++.1 > e_test.dat
|
||||
grep etot ../log*8type*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex4.8type.g++.1 > e_test.8type.1.dat
|
||||
grep etot ../log*8type*1 > e_old.8type.1.dat
|
||||
ndiff -relerr $TOL e_test.8type.1.dat e_old.8type.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task 8 types passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task 8 types unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex4.8type > /dev/null
|
||||
mv log.lammps log.$DATE.duplex4.8type.g++.4
|
||||
grep etot log.$DATE.duplex4.8type.g++.4 > e_test.dat
|
||||
grep etot ../log*8type*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex4.8type.g++.4 > e_test.8type.4.dat
|
||||
grep etot ../log*8type*4 > e_old.8type.4.dat
|
||||
ndiff -relerr $TOL e_test.8type.4.dat e_old.8type.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks 8 types passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks 8 types unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
echo '# Running oxDNA2 dsring test'
|
||||
echo '# Running oxDNA2 dsring test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxDNA2/dsring
|
||||
mkdir test
|
||||
cd test
|
||||
@ -176,20 +264,32 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.dsring > /dev/null
|
||||
mv log.lammps log.$DATE.dsring.g++.1
|
||||
grep etot log.$DATE.dsring.g++.1 > e_test.dat
|
||||
grep etot ../log*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.dsring.g++.1 > e_test.1.dat
|
||||
grep etot ../log*1 > e_old.1.dat
|
||||
ndiff -relerr $TOL e_test.1.dat e_old.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.dsring > /dev/null
|
||||
mv log.lammps log.$DATE.dsring.g++.4
|
||||
grep etot log.$DATE.dsring.g++.4 > e_test.dat
|
||||
grep etot ../log*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.dsring.g++.4 > e_test.4.dat
|
||||
grep etot ../log*4 > e_old.4.dat
|
||||
ndiff -relerr $TOL e_test.4.dat e_old.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
|
||||
######################################################
|
||||
echo '# Running oxRNA2 duplex2 test'
|
||||
echo '# Running oxRNA2 duplex2 test' | tee -a $EXDIR/test.log
|
||||
cd $EXDIR/oxRNA2/duplex2
|
||||
mkdir test
|
||||
cd test
|
||||
@ -199,18 +299,30 @@ if [ $# -eq 1 ] && [ $1 = run ]; then
|
||||
|
||||
mpirun -np 1 ./lmp_mpi < in.duplex2 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex2.g++.1
|
||||
grep etot log.$DATE.duplex2.g++.1 > e_test.dat
|
||||
grep etot ../log*1 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex2.g++.1 > e_test.1.dat
|
||||
grep etot ../log*1 > e_old.1.dat
|
||||
ndiff -relerr $TOL e_test.1.dat e_old.1.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 1 MPI-task passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 1 MPI-task unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
mpirun -np 4 ./lmp_mpi < in.duplex2 > /dev/null
|
||||
mv log.lammps log.$DATE.duplex2.g++.4
|
||||
grep etot log.$DATE.duplex2.g++.4 > e_test.dat
|
||||
grep etot ../log*4 > e_old.dat
|
||||
ndiff -relerr 1e-8 e_test.dat e_old.dat
|
||||
grep etot log.$DATE.duplex2.g++.4 > e_test.4.dat
|
||||
grep etot ../log*4 > e_old.4.dat
|
||||
ndiff -relerr $TOL e_test.4.dat e_old.4.dat
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
echo "# 4 MPI-tasks passed" | tee -a $EXDIR/test.log
|
||||
else
|
||||
echo "# 4 MPI-tasks unsuccessful" | tee -a $EXDIR/test.log
|
||||
fi
|
||||
|
||||
######################################################
|
||||
echo '# Done'
|
||||
echo '# Done' | tee -a $EXDIR/test.log
|
||||
|
||||
elif [ $# -eq 1 ] && [ $1 = clean ]; then
|
||||
echo '# Deleting test directories'
|
||||
@ -222,6 +334,7 @@ elif [ $# -eq 1 ] && [ $1 = clean ]; then
|
||||
rm -rf $EXDIR/oxDNA2/unique_bp/test
|
||||
rm -rf $EXDIR/oxDNA2/dsring/test
|
||||
rm -rf $EXDIR/oxRNA2/duplex2/test
|
||||
rm -rf $EXDIR/test.log
|
||||
echo '# Done'
|
||||
|
||||
else
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS data file: two oppositely charged ions confined between two walls
|
||||
LAMMPS data file: two oppositely charged ions confined between two walls epsilon1=2 | epsilon2=10 | epsilon1=2
|
||||
|
||||
4002 atoms
|
||||
3 atom types
|
||||
@ -4015,5 +4015,5 @@ Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em e
|
||||
3998 0 1 0 38.5078 42.4438 30.002 0 0 -1 0.866 8 6 6 0
|
||||
3999 0 1 0 39.0079 41.5776 30.002 0 0 -1 0.866 8 6 6 0
|
||||
4000 0 1 0 39.508 42.4438 30.002 0 0 -1 0.866 8 6 6 0
|
||||
4001 0 2 1 15 20 15 0 0 1 0.866 8 6 10 0
|
||||
4002 0 3 -1 25 20 25 0 0 1 0.866 8 6 10 0
|
||||
4001 0 2 1 15 20 15 0 0 1 1.0 8 6 10 0
|
||||
4002 0 3 -1 25 20 25 0 0 1 1.0 8 6 10 0
|
||||
|
||||
@ -4,6 +4,8 @@
|
||||
# top interface: n = (0, 0, -1)
|
||||
# so that ed's are the same for both interfaces
|
||||
|
||||
# Dielectric constants can be set to be different from the input data file
|
||||
|
||||
variable epsilon1 index 20
|
||||
variable epsilon2 index 8
|
||||
|
||||
@ -21,6 +23,8 @@ variable method index gmres # gmres = BEM/GMRES
|
||||
# dof = Direct optimization of the functional
|
||||
# none
|
||||
|
||||
# compute the relevant values for the interface particles
|
||||
|
||||
variable ed equal "v_epsilon2 - v_epsilon1"
|
||||
variable em equal "(v_epsilon2 + v_epsilon1)/2"
|
||||
variable epsilon equal 1.0 # epsilon at the patch, not used for now
|
||||
@ -34,12 +38,10 @@ group ions type 2 3
|
||||
group cations type 2
|
||||
group anions type 3
|
||||
|
||||
# 1.0 = q * epsilon2 = qreal for cations
|
||||
# -1.0 = q * epsilon2 = qreal for anions
|
||||
variable qscale equal "1.0 / v_epsilon2"
|
||||
set group cations charge ${qscale}
|
||||
variable qscale equal "-1.0 / v_epsilon2"
|
||||
set group anions charge ${qscale}
|
||||
# set the dielectric constant of the medium where the ions reside
|
||||
|
||||
set group cations epsilon ${epsilon2}
|
||||
set group anions epsilon ${epsilon2}
|
||||
|
||||
pair_style lj/cut/coul/long/dielectric 1.122 10.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
@ -59,6 +61,8 @@ dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1
|
||||
|
||||
fix 1 ions nve
|
||||
|
||||
# fix modify is used to set the properties of the interface particle group
|
||||
|
||||
if "${method} == gmres" then &
|
||||
"fix 3 interface polarize/bem/gmres 1 1.0e-4" &
|
||||
"fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" &
|
||||
|
||||
@ -1,10 +1,16 @@
|
||||
Examples for Extended Dissipative Particle Dynamics (DPD)
|
||||
---------------------------------------------------------
|
||||
This directory contains examples for extended DPD simulations
|
||||
Examples for Basic Dissipative Particle Dynamics (DPD)
|
||||
------------------------------------------------------
|
||||
This directory contains examples for DPD simulations using
|
||||
pair styles from the DPD-BASIC package.
|
||||
|
||||
1) 'dpdext' - test case (DPD fluid) for 'dpdext' pair style (in.dpdext) and an initial
|
||||
configuration (dpdext.data)
|
||||
1) 'dpd' - simple example (DPD fluid) for 'dpd' pair style (in.dpd)
|
||||
|
||||
2) 'dpdext_tstat' - test case (coarse-grained SPC/E water) for 'dpdext/tstat' pair style
|
||||
(in.cg_spce), an initial configuration (dpdext.data) and tabulated potential
|
||||
2) 'dpd_tstat' - coarse-grained SPC/E water example for 'dpd/tstat' pair style
|
||||
(in.dpd_tstat), an initial configuration (dpdext.data) and tabulated potential
|
||||
(cg_spce_table.pot) obtained by bottom-up coarse-graining of the atomistic SPC/E water.
|
||||
|
||||
3) 'dpdext' - simple example (DPD fluid) for 'dpd/ext' pair style (in.dpdext)
|
||||
|
||||
4) 'dpdext_tstat' - coarse-grained SPC/E water example for 'dpd/ext/tstat' pair style
|
||||
(in.dpdext_tstat), an initial configuration (dpdext.data) and tabulated potential
|
||||
(cg_spce_table.pot) obtained by bottom-up coarse-graining of the atomistic SPC/E water.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user