Unverified Commit 8e77be08 authored by Steve Plimpton's avatar Steve Plimpton Committed by GitHub
Browse files

Merge pull request #967 from lammps/latte-tweak2

small changes to last LATTE PR, including xControl to upper case
parents 8e141439 fc369418
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ src/COMPRESS/* @akohlmey
src/GPU/*             @ndtrung81
src/KOKKOS/*          @stanmoore1
src/KIM/*             @ellio167
src/LATTE/*           @cnegre
src/USER-CGDNA/*      @ohenrich
src/USER-CGSDK/*      @akohlmey
src/USER-COLVARS/*    @giacomofiorin
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ LATTE INPUT FILE

#General controls
CONTROL{
  xControl= 1
  XCONTROL= 1
  BASISTYPE= NONORTHO
  PARAMPATH= "./TBparam"
  KBT= 0.0
+171 −0
Original line number Diff line number Diff line
LAMMPS (22 Jun 2018)
units           metal
atom_style      full
atom_modify     sort 0 0.0    # turn off sorting of the coordinates

read_data       data.water
  orthogonal box = (0 0 0) to (6.267 6.267 6.267)
  1 by 1 by 1 MPI processor grid
  reading atoms ...
  24 atoms
  0 = max # of 1-2 neighbors
  0 = max # of 1-3 neighbors
  0 = max # of 1-4 neighbors
  1 = max # of special neighbors

# initialize system

velocity        all create 0.0 87287 loop geom

pair_style      zero 1.0
pair_coeff      * *

neighbor        1.0 bin
neigh_modify    every 1 delay 0 check yes

timestep        0.00025

fix             1 all nve
fix             2 all latte NULL
fix_modify      2 energy yes

thermo_style    custom step temp pe etotal press

# dynamics

thermo          10
run             10
Neighbor list info ...
  update every 1 steps, delay 0 steps, check yes
  max neighbors/atom: 2000, page size: 100000
  master list distance cutoff = 2
  ghost atom cutoff = 2
  binsize = 1, bins = 7 7 7
  1 neighbor lists, perpetual/occasional/extra = 1 0 0
  (1) pair zero, perpetual
      attributes: half, newton on
      pair build: half/bin/newton
      stencil: half/bin/3d/newton
      bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.629 | 5.629 | 5.629 Mbytes
Step Temp PotEng TotEng Press 
       0            0   -104.95596   -104.95596    48235.442 
      10    336.53107   -105.96027   -104.95977    97996.851 
Loop time of 0.912921 on 1 procs for 10 steps with 24 atoms

Performance: 0.237 ns/day, 101.436 hours/ns, 10.954 timesteps/s
6614.5% CPU use with 1 MPI tasks x no OpenMP threads

MPI task timing breakdown:
Section |  min time  |  avg time  |  max time  |%varavg| %total
---------------------------------------------------------------
Pair    | 4.3392e-05 | 4.3392e-05 | 4.3392e-05 |   0.0 |  0.00
Bond    | 3.8862e-05 | 3.8862e-05 | 3.8862e-05 |   0.0 |  0.00
Neigh   | 0          | 0          | 0          |   0.0 |  0.00
Comm    | 0.00036955 | 0.00036955 | 0.00036955 |   0.0 |  0.04
Output  | 9.799e-05  | 9.799e-05  | 9.799e-05  |   0.0 |  0.01
Modify  | 0.91199    | 0.91199    | 0.91199    |   0.0 | 99.90
Other   |            | 0.0003812  |            |       |  0.04

Nlocal:    24 ave 24 max 24 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost:    71 ave 71 max 71 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs:    37 ave 37 max 37 min
Histogram: 1 0 0 0 0 0 0 0 0 0

Total # of neighbors = 37
Ave neighs/atom = 1.54167
Ave special neighs/atom = 0
Neighbor list builds = 0
Dangerous builds = 0

# Clear up previus calculation

clear

# simple CH4 molecule with LATTE

units           metal
atom_style      full
atom_modify     sort 0 0.0    # turn off sorting of the coordinates

read_data       data.ch4
  triclinic box = (0 0 0) to (19.523 12.758 11.692) with tilt (0 0 0)
  1 by 1 by 1 MPI processor grid
  reading atoms ...
  5 atoms
  0 = max # of 1-2 neighbors
  0 = max # of 1-3 neighbors
  0 = max # of 1-4 neighbors
  1 = max # of special neighbors

# initialize system

velocity        all create 0.0 87287 loop geom

pair_style      zero 1.0
pair_coeff      * *

neighbor        1.0 bin
neigh_modify    every 1 delay 0 check yes

timestep        0.00025

fix             1 all nve

fix             2 all latte NULL
fix_modify      2 energy yes

thermo_style    custom step temp pe etotal press

# dynamics

thermo          10
run             10
Neighbor list info ...
  update every 1 steps, delay 0 steps, check yes
  max neighbors/atom: 2000, page size: 100000
  master list distance cutoff = 2
  ghost atom cutoff = 2
  binsize = 1, bins = 20 13 12
  1 neighbor lists, perpetual/occasional/extra = 1 0 0
  (1) pair zero, perpetual
      attributes: half, newton on
      pair build: half/bin/newton/tri
      stencil: half/bin/3d/newton/tri
      bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.651 | 5.651 | 5.651 Mbytes
Step Temp PotEng TotEng Press 
       0            0   -23.980353   -23.980353    348.02716 
      10    19.123149   -23.990297    -23.98041    18.774332 
Loop time of 0.0415399 on 1 procs for 10 steps with 5 atoms

Performance: 5.200 ns/day, 4.616 hours/ns, 240.732 timesteps/s
6674.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    | 5.722e-06  | 5.722e-06  | 5.722e-06  |   0.0 |  0.01
Bond    | 7.6294e-06 | 7.6294e-06 | 7.6294e-06 |   0.0 |  0.02
Neigh   | 0          | 0          | 0          |   0.0 |  0.00
Comm    | 1.8358e-05 | 1.8358e-05 | 1.8358e-05 |   0.0 |  0.04
Output  | 2.0981e-05 | 2.0981e-05 | 2.0981e-05 |   0.0 |  0.05
Modify  | 0.041394   | 0.041394   | 0.041394   |   0.0 | 99.65
Other   |            | 9.322e-05  |            |       |  0.22

Nlocal:    5 ave 5 max 5 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:    10 ave 10 max 10 min
Histogram: 1 0 0 0 0 0 0 0 0 0

Total # of neighbors = 10
Ave neighs/atom = 2
Ave special neighs/atom = 0
Neighbor list builds = 0
Dangerous builds = 0

Total wall time: 0:00:01
+27 −4
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
# used to automate the steps described in the README file in this dir

from __future__ import print_function
import sys,os,re,subprocess
import sys,os,re,subprocess,hashlib

# help message

@@ -24,7 +24,7 @@ specify one or more options, order does not matter
  -b = download and build the LATTE library
  -p = specify folder of existing LATTE installation
  -m = copy Makefile.lammps.suffix to Makefile.lammps
  -v = set version of LATTE library to download and set up (default = 1.1.1)
  -v = set version of LATTE library to download and set up (default = 1.2.1)

Example:

@@ -36,6 +36,13 @@ make lib-latte args="-p $HOME/latte" # use existing LATTE installation

version = '1.2.1'

# known checksums for different LATTE versions. used to validate the download.
checksums = { \
        '1.1.0' : '533635721ee222d0ed2925a18fb5b294', \
        '1.2.0' : '68bf0db879da5e068a71281020239ae7', \
        '1.2.1' : 'bed76e7e76c545c36dd848a8f1fd35eb' \
        }

# print error message or help

def error(str=None):
@@ -91,6 +98,17 @@ def geturl(url,fname):
    error("Failed to download source code with 'curl' or 'wget'")
  return

def checkmd5sum(md5sum,fname):
    with open(fname,'rb') as fh:
        m = hashlib.md5()
        while True:
            data = fh.read(81920)
            if not data:
                break
            m.update(data)
    fh.close()
    return m.hexdigest() == md5sum

# parse args

args = sys.argv[1:]
@@ -144,7 +162,12 @@ if buildflag:
  print("Downloading LATTE ...")
  geturl(url,"LATTE.tar.gz")

  print("Unpacking LATTE zipfile ...")
  # verify downloaded archive integrity via md5 checksum, if known.
  if version in checksums:
    if not checkmd5sum(checksums[version],'LATTE.tar.gz'):
      error("Checksum for LATTE library does not match")

  print("Unpacking LATTE ...")
  if os.path.exists(lattedir):
    cmd = 'rm -rf "%s"' % lattedir
    subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
Loading