Merge branch 'fix-mdi-aimd-enhance' of github.com:lammps/lammps into fix-mdi-aimd-enhance
This commit is contained in:
@ -12,8 +12,8 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
Contributing author: Karl D. Hammond <karlh@ugcs.caltech.edu>
|
||||
University of Tennessee, Knoxville (USA), 2012
|
||||
Contributing author: Karl D. Hammond <hammondkd@missouri.edu>
|
||||
University of Missouri (USA), 2012
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* This is set of "wrapper" functions to assist LAMMPS.F90, which itself
|
||||
@ -23,6 +23,7 @@
|
||||
|
||||
#include <mpi.h>
|
||||
#include "LAMMPS-wrapper.h"
|
||||
#define LAMMPS_LIB_MPI 1
|
||||
#include <library.h>
|
||||
#include <lammps.h>
|
||||
#include <atom.h>
|
||||
@ -56,181 +57,40 @@ void lammps_error_all (void *ptr, const char *file, int line, const char *str)
|
||||
|
||||
int lammps_extract_compute_vectorsize (void *ptr, char *id, int style)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int icompute = lmp->modify->find_compute(id);
|
||||
if ( icompute < 0 ) return 0;
|
||||
class Compute *compute = lmp->modify->compute[icompute];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !compute->vector_flag )
|
||||
return 0;
|
||||
else
|
||||
return compute->size_vector;
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
return lammps_get_natoms (ptr);
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !compute->local_flag )
|
||||
return 0;
|
||||
else
|
||||
return compute->size_local_rows;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
int *size;
|
||||
size = (int *) lammps_extract_compute(ptr, id, style, LMP_SIZE_VECTOR);
|
||||
if (size) return *size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void lammps_extract_compute_arraysize (void *ptr, char *id, int style,
|
||||
int *nrows, int *ncols)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int icompute = lmp->modify->find_compute(id);
|
||||
if ( icompute < 0 )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
class Compute *compute = lmp->modify->compute[icompute];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !compute->array_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = compute->size_array_rows;
|
||||
*ncols = compute->size_array_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
if ( !compute->peratom_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = lammps_get_natoms (ptr);
|
||||
*ncols = compute->size_peratom_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !compute->local_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = compute->size_local_rows;
|
||||
*ncols = compute->size_local_cols;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
|
||||
int *tmp;
|
||||
tmp = (int *) lammps_extract_compute(ptr, id, style, LMP_SIZE_ROWS);
|
||||
if (tmp) *nrows = *tmp;
|
||||
tmp = (int *) lammps_extract_compute(ptr, id, style, LMP_SIZE_COLS);
|
||||
if (tmp) *ncols = *tmp;
|
||||
return;
|
||||
}
|
||||
|
||||
int lammps_extract_fix_vectorsize (void *ptr, char *id, int style)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int ifix = lmp->modify->find_fix(id);
|
||||
if ( ifix < 0 ) return 0;
|
||||
class Fix *fix = lmp->modify->fix[ifix];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !fix->vector_flag )
|
||||
return 0;
|
||||
else
|
||||
return fix->size_vector;
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
return lammps_get_natoms (ptr);
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !fix->local_flag )
|
||||
return 0;
|
||||
else
|
||||
return fix->size_local_rows;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
int *size;
|
||||
size = (int *) lammps_extract_fix(ptr, id, style, LMP_SIZE_VECTOR, 0, 0);
|
||||
if (size) return *size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void lammps_extract_fix_arraysize (void *ptr, char *id, int style,
|
||||
int *nrows, int *ncols)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int ifix = lmp->modify->find_fix(id);
|
||||
if ( ifix < 0 )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
class Fix *fix = lmp->modify->fix[ifix];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !fix->array_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = fix->size_array_rows;
|
||||
*ncols = fix->size_array_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
if ( !fix->peratom_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = lammps_get_natoms (ptr);
|
||||
*ncols = fix->size_peratom_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !fix->local_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = fix->size_local_rows;
|
||||
*ncols = fix->size_local_cols;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
|
||||
int *tmp;
|
||||
tmp = (int *) lammps_extract_fix(ptr, id, style, LMP_SIZE_ROWS, 0, 0);
|
||||
if (tmp) *nrows = *tmp;
|
||||
tmp = (int *) lammps_extract_fix(ptr, id, style, LMP_SIZE_COLS, 0, 0);
|
||||
if (tmp) *ncols = *tmp;
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
/* vim: set ts=3 sts=3 expandtab: */
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
Contributing author: Karl D. Hammond <karlh@ugcs.caltech.edu>
|
||||
University of Tennessee, Knoxville (USA), 2012
|
||||
Contributing author: Karl D. Hammond <hammondkd@missouri.edu>
|
||||
University of Missouri (USA), 2012
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* This is set of "wrapper" functions to assist LAMMPS.F90, which itself
|
||||
|
||||
@ -1292,7 +1292,7 @@ contains !! Wrapper functions local to this module {{{1
|
||||
Cname = string2Cstring (name)
|
||||
Ccount = size(data) / natoms
|
||||
if ( Ccount /= 1 .and. Ccount /= 3 ) &
|
||||
call lammps_error_all (ptr, FLERR, 'lammps_gather_atoms requires&
|
||||
call lammps_error_all (ptr, FLERR, 'lammps_scatter_atoms requires&
|
||||
& count to be either 1 or 3')
|
||||
Fdata = data
|
||||
Cdata = C_loc (Fdata(1))
|
||||
@ -1355,7 +1355,7 @@ contains !! Wrapper functions local to this module {{{1
|
||||
Cname = string2Cstring (name)
|
||||
Ccount = size(data) / ndata
|
||||
if ( Ccount /= 1 .and. Ccount /= 3 ) &
|
||||
call lammps_error_all (ptr, FLERR, 'lammps_gather_atoms requires&
|
||||
call lammps_error_all (ptr, FLERR, 'lammps_scatter_atoms requires&
|
||||
& count to be either 1 or 3')
|
||||
Fdata = data
|
||||
Cdata = C_loc (Fdata(1))
|
||||
|
||||
@ -14,7 +14,7 @@ CXXLIB = -lstdc++ # replace with your C++ runtime libs
|
||||
# Flags for Fortran compiler, C++ compiler, and C preprocessor, respectively
|
||||
FFLAGS = -O2 -fPIC
|
||||
CXXFLAGS = -O2 -fPIC
|
||||
CPPFLAGS = -DOMPI_SKIP_MPICXX=1 -DMPICH_SKIP_MPICXX -DLAMMPS_LIB_MPI
|
||||
CPPFLAGS = -DOMPI_SKIP_MPICXX=1 -DMPICH_SKIP_MPICXX
|
||||
|
||||
all : liblammps_fortran.a liblammps_fortran.so
|
||||
|
||||
|
||||
@ -11,9 +11,8 @@ This interface was created by Karl Hammond who you can contact with
|
||||
questions:
|
||||
|
||||
Karl D. Hammond
|
||||
University of Tennessee, Knoxville
|
||||
karlh at ugcs.caltech.edu
|
||||
karlh at utk.edu
|
||||
University of Missouri
|
||||
hammondkd at missouri.edu
|
||||
|
||||
-------------------------------------
|
||||
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
Contributing author: Karl D. Hammond <karlh@ugcs.caltech.edu>
|
||||
University of Tennessee, Knoxville (USA), 2012
|
||||
Contributing author: Karl D. Hammond <hammondkd@missouri.edu>
|
||||
University of Missouri (USA), 2012
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* This is set of "wrapper" functions to assist LAMMPS.F90, which itself
|
||||
@ -23,6 +23,7 @@
|
||||
|
||||
#include <mpi.h>
|
||||
#include "LAMMPS-wrapper.h"
|
||||
#define LAMMPS_LIB_MPI 1
|
||||
#include <library.h>
|
||||
#include <lammps.h>
|
||||
#include <atom.h>
|
||||
@ -56,181 +57,40 @@ void lammps_error_all (void *ptr, const char *file, int line, const char *str)
|
||||
|
||||
int lammps_extract_compute_vectorsize (void *ptr, char *id, int style)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int icompute = lmp->modify->find_compute(id);
|
||||
if ( icompute < 0 ) return 0;
|
||||
class Compute *compute = lmp->modify->compute[icompute];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !compute->vector_flag )
|
||||
return 0;
|
||||
else
|
||||
return compute->size_vector;
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
return lammps_get_natoms (ptr);
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !compute->local_flag )
|
||||
return 0;
|
||||
else
|
||||
return compute->size_local_rows;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
int *size;
|
||||
size = (int *) lammps_extract_compute(ptr, id, style, LMP_SIZE_VECTOR);
|
||||
if (size) return *size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void lammps_extract_compute_arraysize (void *ptr, char *id, int style,
|
||||
int *nrows, int *ncols)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int icompute = lmp->modify->find_compute(id);
|
||||
if ( icompute < 0 )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
class Compute *compute = lmp->modify->compute[icompute];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !compute->array_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = compute->size_array_rows;
|
||||
*ncols = compute->size_array_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
if ( !compute->peratom_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = lammps_get_natoms (ptr);
|
||||
*ncols = compute->size_peratom_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !compute->local_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = compute->size_local_rows;
|
||||
*ncols = compute->size_local_cols;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
|
||||
int *tmp;
|
||||
tmp = (int *) lammps_extract_compute(ptr, id, style, LMP_SIZE_ROWS);
|
||||
if (tmp) *nrows = *tmp;
|
||||
tmp = (int *) lammps_extract_compute(ptr, id, style, LMP_SIZE_COLS);
|
||||
if (tmp) *ncols = *tmp;
|
||||
return;
|
||||
}
|
||||
|
||||
int lammps_extract_fix_vectorsize (void *ptr, char *id, int style)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int ifix = lmp->modify->find_fix(id);
|
||||
if ( ifix < 0 ) return 0;
|
||||
class Fix *fix = lmp->modify->fix[ifix];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !fix->vector_flag )
|
||||
return 0;
|
||||
else
|
||||
return fix->size_vector;
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
return lammps_get_natoms (ptr);
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !fix->local_flag )
|
||||
return 0;
|
||||
else
|
||||
return fix->size_local_rows;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
int *size;
|
||||
size = (int *) lammps_extract_fix(ptr, id, style, LMP_SIZE_VECTOR, 0, 0);
|
||||
if (size) return *size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void lammps_extract_fix_arraysize (void *ptr, char *id, int style,
|
||||
int *nrows, int *ncols)
|
||||
{
|
||||
class LAMMPS *lmp = (class LAMMPS *) ptr;
|
||||
int ifix = lmp->modify->find_fix(id);
|
||||
if ( ifix < 0 )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
class Fix *fix = lmp->modify->fix[ifix];
|
||||
|
||||
if ( style == 0 )
|
||||
{
|
||||
if ( !fix->array_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = fix->size_array_rows;
|
||||
*ncols = fix->size_array_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 1 )
|
||||
{
|
||||
if ( !fix->peratom_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = lammps_get_natoms (ptr);
|
||||
*ncols = fix->size_peratom_cols;
|
||||
}
|
||||
}
|
||||
else if ( style == 2 )
|
||||
{
|
||||
if ( !fix->local_flag )
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = fix->size_local_rows;
|
||||
*ncols = fix->size_local_cols;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*nrows = 0;
|
||||
*ncols = 0;
|
||||
}
|
||||
|
||||
int *tmp;
|
||||
tmp = (int *) lammps_extract_fix(ptr, id, style, LMP_SIZE_ROWS, 0, 0);
|
||||
if (tmp) *nrows = *tmp;
|
||||
tmp = (int *) lammps_extract_fix(ptr, id, style, LMP_SIZE_COLS, 0, 0);
|
||||
if (tmp) *ncols = *tmp;
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
/* vim: set ts=3 sts=3 expandtab: */
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
Contributing author: Karl D. Hammond <karlh@ugcs.caltech.edu>
|
||||
University of Tennessee, Knoxville (USA), 2012
|
||||
Contributing author: Karl D. Hammond <hammondkd@missouri.edu>
|
||||
University of Missouri (USA), 2012
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* This is set of "wrapper" functions to assist LAMMPS.F90, which itself
|
||||
|
||||
@ -12,8 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
Contributing author: Karl D. Hammond <karlh@ugcs.caltech.edu>
|
||||
University of Tennessee, Knoxville (USA), 2012
|
||||
Contributing author: Nir Goldman, LLNL <ngoldman@llnl.gov>, 2016
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* This is set of "wrapper" functions to assist LAMMPS.F90, which itself
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
Contributing author: Nir Goldman, ngoldman@llnl.gov, Oct. 19th, 2016
|
||||
Contributing author: Nir Goldman, LLNL <ngoldman@llnl.gov>, 2016
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* This is set of "wrapper" functions to assist LAMMPS.F90, which itself
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
!--------------------------------------------------------------------------
|
||||
|
||||
!! ------------------------------------------------------------------------
|
||||
! Contributing author: Karl D. Hammond <karlh@ugcs.caltech.edu>
|
||||
! University of Tennessee, Knoxville (USA), 2012
|
||||
! Contributing author: Karl D. Hammond <hammondkd@missouri.edu>
|
||||
! University of Missouri (USA), 2012
|
||||
!--------------------------------------------------------------------------
|
||||
|
||||
!! LAMMPS, a Fortran 2003 module containing an interface between Fortran
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import numpy as np
|
||||
|
||||
def reduce_Born(Cf):
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import numpy as np
|
||||
|
||||
def reduce_Born(Cf):
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import numpy as np
|
||||
from lammps import lammps, LAMMPS_INT, LMP_STYLE_GLOBAL, LMP_VAR_EQUAL, LMP_VAR_ATOM
|
||||
from lammps import lammps, LMP_VAR_EQUAL
|
||||
|
||||
# method for rotating elastic constants
|
||||
|
||||
|
||||
36
examples/PACKAGES/pace/plugin/CMakeLists.txt
Normal file
36
examples/PACKAGES/pace/plugin/CMakeLists.txt
Normal file
@ -0,0 +1,36 @@
|
||||
##########################################
|
||||
# CMake build system for plugin examples.
|
||||
# The is meant to be used as a template for plugins that are
|
||||
# distributed independent from the LAMMPS package.
|
||||
##########################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(paceplugin VERSION 1.0 LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
include(CheckIncludeFileCXX)
|
||||
include(LAMMPSInterfacePlugin)
|
||||
include(ML-PACE)
|
||||
|
||||
##########################
|
||||
# building the plugins
|
||||
|
||||
add_library(paceplugin MODULE paceplugin.cpp ${LAMMPS_SOURCE_DIR}/ML-PACE/pair_pace.cpp)
|
||||
target_link_libraries(paceplugin PRIVATE pace)
|
||||
target_link_libraries(paceplugin PRIVATE lammps)
|
||||
target_include_directories(paceplugin PRIVATE ${LAMMPS_SOURCE_DIR}/ML-PACE)
|
||||
set_target_properties(paceplugin PROPERTIES PREFIX "" SUFFIX ".so")
|
||||
|
||||
# MacOS seems to need this
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
||||
set_target_properties(paceplugin PROPERTIES LINK_FLAGS "-Wl,-undefined,dynamic_lookup")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
# tell CMake to export all symbols to a .dll on Windows with special case for MinGW cross-compilers
|
||||
set_target_properties(paceplugin PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
set_target_properties(paceplugin PROPERTIES LINK_FLAGS "-Wl,--export-all-symbols")
|
||||
endif()
|
||||
else()
|
||||
set_target_properties(paceplugin PROPERTIES LINK_FLAGS "-rdynamic")
|
||||
endif()
|
||||
1
examples/PACKAGES/pace/plugin/LAMMPSInterfacePlugin.cmake
Symbolic link
1
examples/PACKAGES/pace/plugin/LAMMPSInterfacePlugin.cmake
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../cmake/Modules/LAMMPSInterfacePlugin.cmake
|
||||
1
examples/PACKAGES/pace/plugin/ML-PACE.cmake
Symbolic link
1
examples/PACKAGES/pace/plugin/ML-PACE.cmake
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../cmake/Modules/Packages/ML-PACE.cmake
|
||||
2
examples/PACKAGES/pace/plugin/README.txt
Normal file
2
examples/PACKAGES/pace/plugin/README.txt
Normal file
@ -0,0 +1,2 @@
|
||||
This folder contains a loader and support files to build the ML-PACE package as plugin.
|
||||
For more information please see: https://docs.lammps.org/Developer_plugins.html
|
||||
BIN
examples/PACKAGES/pace/plugin/lammps-text-logo-wide.bmp
Normal file
BIN
examples/PACKAGES/pace/plugin/lammps-text-logo-wide.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
examples/PACKAGES/pace/plugin/lammps.ico
Normal file
BIN
examples/PACKAGES/pace/plugin/lammps.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
28
examples/PACKAGES/pace/plugin/paceplugin.cpp
Normal file
28
examples/PACKAGES/pace/plugin/paceplugin.cpp
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
#include "lammpsplugin.h"
|
||||
#include "version.h"
|
||||
|
||||
#include "pair_pace.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
static Pair *pair_pace_creator(LAMMPS *lmp)
|
||||
{
|
||||
return new PairPACE(lmp);
|
||||
}
|
||||
|
||||
extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc)
|
||||
{
|
||||
lammpsplugin_t plugin;
|
||||
lammpsplugin_regfunc register_plugin = (lammpsplugin_regfunc) regfunc;
|
||||
|
||||
// register pace pair style
|
||||
plugin.version = LAMMPS_VERSION;
|
||||
plugin.style = "pair";
|
||||
plugin.name = "pace";
|
||||
plugin.info = "PACE plugin pair style v1.0";
|
||||
plugin.author = "Axel Kohlmeyer (akohlmey@gmail.com)";
|
||||
plugin.creator.v1 = (lammpsplugin_factory1 *) &pair_pace_creator;
|
||||
plugin.handle = handle;
|
||||
(*register_plugin)(&plugin, lmp);
|
||||
}
|
||||
157
examples/PACKAGES/pace/plugin/paceplugin.nsis
Normal file
157
examples/PACKAGES/pace/plugin/paceplugin.nsis
Normal file
@ -0,0 +1,157 @@
|
||||
#!Nsis Installer Command Script
|
||||
#
|
||||
# The following external defines are recognized:
|
||||
# ${VERSION} = YYYYMMDD
|
||||
|
||||
!include "MUI2.nsh"
|
||||
!include "FileFunc.nsh"
|
||||
|
||||
!define MUI_ICON "lammps.ico"
|
||||
!define MUI_UNICON "lammps.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "lammps-text-logo-wide.bmp"
|
||||
!define MUI_HEADERIMAGE_RIGHT
|
||||
|
||||
Unicode true
|
||||
XPStyle on
|
||||
|
||||
!include "LogicLib.nsh"
|
||||
!addplugindir "envvar/Plugins/x86-unicode"
|
||||
!include "x64.nsh"
|
||||
|
||||
RequestExecutionLevel user
|
||||
|
||||
!macro VerifyUserIsAdmin
|
||||
UserInfo::GetAccountType
|
||||
pop $0
|
||||
${If} $0 != "admin"
|
||||
messageBox mb_iconstop "Administrator rights required!"
|
||||
setErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
|
||||
quit
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
!define PACEPLUGIN "LAMMPS ML-PACE Plugin ${VERSION}"
|
||||
OutFile "LAMMPS-ML-PACE-plugin-${VERSION}.exe"
|
||||
|
||||
Name "${PACEPLUGIN}"
|
||||
InstallDir "$LOCALAPPDATA\${PACEPLUGIN}"
|
||||
|
||||
ShowInstDetails show
|
||||
ShowUninstDetails show
|
||||
SetCompressor lzma
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
function .onInit
|
||||
# Determine if LAMMPS was already installed and check whether it was in 32-bit
|
||||
# or 64-bit. Then look up path to uninstaller and offer to uninstall or quit
|
||||
SetRegView 32
|
||||
ReadRegDWORD $0 HKCU "Software\LAMMPS-ML-PACE" "Bits"
|
||||
SetRegView LastUsed
|
||||
${If} $0 == "32"
|
||||
SetRegView 32
|
||||
${ElseIf} $0 == "64"
|
||||
SetRegView 64
|
||||
${Else}
|
||||
SetRegView 64
|
||||
${EndIf}
|
||||
ClearErrors
|
||||
ReadRegStr $R0 HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" "UninstallString"
|
||||
SetRegView LastUsed
|
||||
${If} ${Errors}
|
||||
DetailPrint "LAMMPS ML-PACE plugin not (yet) installed"
|
||||
${Else}
|
||||
MessageBox MB_YESNO "LAMMPS ML-PACE plugin ($0 bit) is already installed. Uninstall existing version?" /SD IDYES IDNO Quit
|
||||
Pop $R1
|
||||
StrCmp $R1 2 Quit +1
|
||||
Exec $R0
|
||||
Quit:
|
||||
Quit
|
||||
${EndIf}
|
||||
setShellVarContext all
|
||||
functionEnd
|
||||
|
||||
Section "${PACEPLUGIN}" SecPaceplugin
|
||||
SectionIn RO
|
||||
# Write LAMMPS installation bitness marker. Always use 32-bit registry view
|
||||
SetRegView 32
|
||||
IntFmt $0 "0x%08X" 64
|
||||
WriteRegDWORD HKCU "Software\LAMMPS-ML-PACE" "Bits" $0
|
||||
|
||||
# Switch to "native" registry view
|
||||
SetRegView 64
|
||||
SetShellVarContext current
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
File lammps.ico
|
||||
File paceplugin.so
|
||||
|
||||
# Register Application and its uninstaller
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"DisplayName" "${PACEPLUGIN}"
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"Publisher" "The LAMMPS and PACE Developers"
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"URLInfoAbout" "lammps.org"
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"DisplayIcon" "$INSTDIR\lammps.ico"
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"DisplayVersion" "${VERSION}"
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"InstallLocation" "$INSTDIR"
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
||||
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
||||
|
||||
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
||||
IntFmt $0 "0x%08X" $0
|
||||
WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE" \
|
||||
"EstimatedSize" "$0"
|
||||
|
||||
# update path variables
|
||||
EnVar::SetHKCU
|
||||
# add to LAMMPS plugin search path
|
||||
EnVar::AddValue "LAMMPS_PLUGIN_PATH" "$INSTDIR"
|
||||
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
SectionEnd
|
||||
|
||||
function un.onInit
|
||||
SetShellVarContext current
|
||||
functionEnd
|
||||
|
||||
Section "Uninstall"
|
||||
# remove LAMMPS bitness/installation indicator always in 32-bit registry view
|
||||
SetRegView 32
|
||||
DeleteRegKey HKCU "Software\LAMMPS-ML-PACE"
|
||||
|
||||
# unregister extension, and uninstall info
|
||||
SetRegView 64
|
||||
SetShellVarContext current
|
||||
# unregister installation
|
||||
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS-ML-PACE"
|
||||
|
||||
# update path variables
|
||||
EnVar::SetHKCU
|
||||
# remove entry from LAMMPS plugin search path
|
||||
EnVar::DeleteValue "LAMMPS_PLUGIN_PATH" "$INSTDIR"
|
||||
|
||||
Delete /REBOOTOK "$INSTDIR\paceplugin.so"
|
||||
Delete /REBOOTOK "$INSTDIR\Uninstall.exe"
|
||||
Delete /REBOOTOK "$INSTDIR\lammps.ico"
|
||||
RMDir /REBOOTOK "$INSTDIR"
|
||||
SectionEnd
|
||||
|
||||
# Local Variables:
|
||||
# mode: sh
|
||||
# End:
|
||||
@ -6,46 +6,11 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
# enforce out-of-source build
|
||||
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||
message(FATAL_ERROR "In-source builds are not allowed. You must create and use a build directory. "
|
||||
"Please remove CMakeCache.txt and CMakeFiles first.")
|
||||
endif()
|
||||
|
||||
project(kimplugin VERSION 1.0 LANGUAGES CXX)
|
||||
|
||||
set(LAMMPS_SOURCE_DIR "" CACHE PATH "Location of LAMMPS sources folder")
|
||||
if(NOT LAMMPS_SOURCE_DIR)
|
||||
message(FATAL_ERROR "Must set LAMMPS_SOURCE_DIR")
|
||||
endif()
|
||||
|
||||
# by default, install into $HOME/.local (not /usr/local),
|
||||
# so that no root access (and sudo) is needed
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "Default install path" FORCE)
|
||||
endif()
|
||||
|
||||
# ugly hacks for MSVC which by default always reports an old C++ standard in the __cplusplus macro
|
||||
# and prints lots of pointless warnings about "unsafe" functions
|
||||
if(MSVC)
|
||||
add_compile_options(/Zc:__cplusplus)
|
||||
add_compile_options(/wd4244)
|
||||
add_compile_options(/wd4267)
|
||||
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
|
||||
# C++11 is required
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Need -restrict with Intel compilers
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
|
||||
endif()
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
include(CheckIncludeFileCXX)
|
||||
include(LAMMPSInterfaceCXX)
|
||||
include(LAMMPSInterfacePlugin)
|
||||
|
||||
##########################
|
||||
# building the plugins
|
||||
@ -90,9 +55,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
||||
set_target_properties(kimplugin PROPERTIES LINK_FLAGS "-Wl,-undefined,dynamic_lookup")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
# tell CMake to export all symbols to a .dll on Windows with special case for MinGW cross-compilers
|
||||
set_target_properties(kimplugin.so PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
||||
set_target_properties(kimplugin PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
set_target_properties(kimplugin PROPERTIES LINK_FLAGS "-Wl,--export-all-symbols")
|
||||
set_target_properties(kimplugin PROPERTIES LINK_FLAGS "-Wl,--export-all-symbols")
|
||||
endif()
|
||||
else()
|
||||
set_target_properties(kimplugin PROPERTIES LINK_FLAGS "-rdynamic")
|
||||
|
||||
@ -1,88 +0,0 @@
|
||||
# Cmake script code to define the LAMMPS C++ interface
|
||||
# settings required for building LAMMPS plugins
|
||||
|
||||
################################################################################
|
||||
# helper function
|
||||
function(validate_option name values)
|
||||
string(TOLOWER ${${name}} needle_lower)
|
||||
string(TOUPPER ${${name}} needle_upper)
|
||||
list(FIND ${values} ${needle_lower} IDX_LOWER)
|
||||
list(FIND ${values} ${needle_upper} IDX_UPPER)
|
||||
if(${IDX_LOWER} LESS 0 AND ${IDX_UPPER} LESS 0)
|
||||
list_to_bulletpoints(POSSIBLE_VALUE_LIST ${${values}})
|
||||
message(FATAL_ERROR "\n########################################################################\n"
|
||||
"Invalid value '${${name}}' for option ${name}\n"
|
||||
"\n"
|
||||
"Possible values are:\n"
|
||||
"${POSSIBLE_VALUE_LIST}"
|
||||
"########################################################################")
|
||||
endif()
|
||||
endfunction(validate_option)
|
||||
|
||||
#################################################################################
|
||||
# LAMMPS C++ interface. We only need the header related parts.
|
||||
add_library(lammps INTERFACE)
|
||||
target_include_directories(lammps INTERFACE ${LAMMPS_SOURCE_DIR})
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
|
||||
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a)
|
||||
endif()
|
||||
################################################################################
|
||||
# MPI configuration
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
set(MPI_CXX_SKIP_MPICXX TRUE)
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
else()
|
||||
option(BUILD_MPI "Build MPI version" OFF)
|
||||
endif()
|
||||
|
||||
if(BUILD_MPI)
|
||||
find_package(MPI REQUIRED)
|
||||
option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF)
|
||||
if(LAMMPS_LONGLONG_TO_LONG)
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_LONGLONG_TO_LONG)
|
||||
endif()
|
||||
target_link_libraries(lammps INTERFACE MPI::MPI_CXX)
|
||||
else()
|
||||
target_include_directories(lammps INTERFACE "${LAMMPS_SOURCE_DIR}/STUBS")
|
||||
endif()
|
||||
|
||||
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
|
||||
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
|
||||
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
|
||||
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
|
||||
string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_${LAMMPS_SIZES})
|
||||
|
||||
################################################################################
|
||||
# detect if we may enable OpenMP support by default
|
||||
set(BUILD_OMP_DEFAULT OFF)
|
||||
find_package(OpenMP QUIET)
|
||||
if(OpenMP_FOUND)
|
||||
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
|
||||
if(HAVE_OMP_H_INCLUDE)
|
||||
set(BUILD_OMP_DEFAULT ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
option(BUILD_OMP "Build with OpenMP support" ${BUILD_OMP_DEFAULT})
|
||||
|
||||
if(BUILD_OMP)
|
||||
find_package(OpenMP REQUIRED)
|
||||
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
|
||||
if(NOT HAVE_OMP_H_INCLUDE)
|
||||
message(FATAL_ERROR "Cannot find the 'omp.h' header file required for full OpenMP support")
|
||||
endif()
|
||||
|
||||
if (((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)) OR
|
||||
(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR
|
||||
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
|
||||
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
|
||||
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
|
||||
# Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe.
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_OMP_COMPAT=4)
|
||||
else()
|
||||
target_compile_definitions(lammps INTERFACE -DLAMMPS_OMP_COMPAT=3)
|
||||
endif()
|
||||
target_link_libraries(lammps INTERFACE OpenMP::OpenMP_CXX)
|
||||
endif()
|
||||
1
examples/kim/plugin/LAMMPSInterfacePlugin.cmake
Symbolic link
1
examples/kim/plugin/LAMMPSInterfacePlugin.cmake
Symbolic link
@ -0,0 +1 @@
|
||||
../../../cmake/Modules/LAMMPSInterfacePlugin.cmake
|
||||
2
examples/kim/plugin/README.txt
Normal file
2
examples/kim/plugin/README.txt
Normal file
@ -0,0 +1,2 @@
|
||||
This folder contains a loader and support files to build the KIM package as plugin.
|
||||
For more information please see: https://docs.lammps.org/Developer_plugins.html
|
||||
@ -26,7 +26,7 @@
|
||||
# -nsteps 10
|
||||
# number of timesteps, default = 10
|
||||
|
||||
import sys,math,random
|
||||
import sys
|
||||
import mdi
|
||||
import numpy as np
|
||||
from mpi4py import MPI
|
||||
@ -42,10 +42,9 @@ def error(txt=None):
|
||||
def perform_aimd(world,mm_comm,qm_comm):
|
||||
|
||||
me = world.Get_rank()
|
||||
nprocs = world.Get_size()
|
||||
|
||||
# receive number of atoms from the MM engine
|
||||
|
||||
|
||||
mdi.MDI_Send_command("<NATOMS",mm_comm)
|
||||
natoms = mdi.MDI_Recv(1,mdi.MDI_INT,mm_comm)
|
||||
natoms = world.bcast(natoms,root=0)
|
||||
|
||||
@ -32,9 +32,14 @@ else()
|
||||
# ugly hacks for MSVC which by default always reports an old C++ standard in the __cplusplus macro
|
||||
# and prints lots of pointless warnings about "unsafe" functions
|
||||
if(MSVC)
|
||||
add_compile_options(/Zc:__cplusplus)
|
||||
add_compile_options(/wd4244)
|
||||
add_compile_options(/wd4267)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
add_compile_options(/Zc:__cplusplus)
|
||||
add_compile_options(/wd4244)
|
||||
add_compile_options(/wd4267)
|
||||
if(LAMMPS_EXCEPTIONS)
|
||||
add_compile_options(/EHsc)
|
||||
endif()
|
||||
endif()
|
||||
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
94
examples/snap/in.grid.snap
Normal file
94
examples/snap/in.grid.snap
Normal file
@ -0,0 +1,94 @@
|
||||
# Demonstrate calculation of SNAP bispectrum descriptors on a grid
|
||||
|
||||
# CORRECTNESS: The two atom positions coincide with two of
|
||||
# the gridpoints, so c_b[2][1-5] should match c_mygrid[8][4-8].
|
||||
# The same is true for compute grid/local c_mygridlocal[8][4-11].
|
||||
# Local arrays can not be access directly in the script,
|
||||
# but they are printed out to file dump.blocal
|
||||
|
||||
variable nrep index 1
|
||||
variable a index 3.316
|
||||
variable ngrid index 2
|
||||
|
||||
units metal
|
||||
atom_modify map hash
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable ny equal ${nrep}
|
||||
variable nz equal ${nrep}
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice custom $a &
|
||||
a1 1 0 0 &
|
||||
a2 0 1 0 &
|
||||
a3 0 0 1 &
|
||||
basis 0 0 0 &
|
||||
basis 0.5 0.5 0.5 &
|
||||
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# define atom compute and grid compute
|
||||
|
||||
group snapgroup type 1
|
||||
variable twojmax equal 2
|
||||
variable rcutfac equal 4.67637
|
||||
variable rfac0 equal 0.99363
|
||||
variable rmin0 equal 0
|
||||
variable wj equal 1
|
||||
variable radelem equal 0.5
|
||||
variable bzero equal 0
|
||||
variable quadratic equal 0
|
||||
variable switch equal 1
|
||||
|
||||
variable snap_options string &
|
||||
"${rcutfac} ${rfac0} ${twojmax} ${radelem} &
|
||||
${wj} rmin0 ${rmin0} quadraticflag ${quadratic} &
|
||||
bzeroflag ${bzero} switchflag ${switch}"
|
||||
|
||||
# build zero potential to satisfy compute sna/atom
|
||||
|
||||
pair_style zero ${rcutfac}
|
||||
pair_coeff * *
|
||||
|
||||
# define atom and grid computes
|
||||
|
||||
compute b all sna/atom ${snap_options}
|
||||
compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} &
|
||||
${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} &
|
||||
${snap_options}
|
||||
|
||||
# define output
|
||||
|
||||
variable B5atom equal c_b[2][5]
|
||||
variable B5grid equal c_mygrid[8][8]
|
||||
|
||||
variable rmse_global equal "sqrt( &
|
||||
(c_mygrid[8][1] - x[2])^2 + &
|
||||
(c_mygrid[8][2] - y[2])^2 + &
|
||||
(c_mygrid[8][3] - z[2])^2 + &
|
||||
(c_mygrid[8][4] - c_b[2][1])^2 + &
|
||||
(c_mygrid[8][5] - c_b[2][2])^2 + &
|
||||
(c_mygrid[8][6] - c_b[2][3])^2 + &
|
||||
(c_mygrid[8][7] - c_b[2][4])^2 + &
|
||||
(c_mygrid[8][8] - c_b[2][5])^2 &
|
||||
)"
|
||||
|
||||
thermo_style custom step v_B5atom v_B5grid v_rmse_global
|
||||
|
||||
# this is the only way to view the local grid
|
||||
|
||||
dump 1 all local 1000 dump.blocal c_mygridlocal[*]
|
||||
dump 2 all custom 1000 dump.batom id x y z c_b[*]
|
||||
|
||||
# run
|
||||
|
||||
run 0
|
||||
|
||||
114
examples/snap/in.grid.tri
Normal file
114
examples/snap/in.grid.tri
Normal file
@ -0,0 +1,114 @@
|
||||
# Demonstrate calculation of SNAP bispectrum
|
||||
# descriptors on a grid for triclinic cell
|
||||
|
||||
# This triclinic cell has 6 times the volume of the single
|
||||
# unit cell used by in.grid
|
||||
# and contains 12 atoms. It is a 3x2x1 supercell
|
||||
# with each unit cell containing 2 atoms and the
|
||||
# reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1].
|
||||
# The grid is listed in x-fastest order
|
||||
|
||||
# CORRECTNESS: The atom positions coincide with certain
|
||||
# gridpoints, so c_b[1][1-5] should match c_mygrid[1][4-8]
|
||||
# and c_b[7][1-5] should match c_mygrid[13][4-8].
|
||||
# Local arrays can not be access directly in the script,
|
||||
# but they are printed out to file dump.blocal.tri
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nrep index 1
|
||||
variable a index 3.316
|
||||
variable ngrid index 2
|
||||
|
||||
variable nrepx equal 3*${nrep}
|
||||
variable nrepy equal 2*${nrep}
|
||||
variable nrepz equal 1*${nrep}
|
||||
|
||||
variable ngridx equal 3*${ngrid}
|
||||
variable ngridy equal 2*${ngrid}
|
||||
variable ngridz equal 1*${ngrid}
|
||||
|
||||
units metal
|
||||
atom_modify map hash sort 0 0
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrepx}
|
||||
variable ny equal ${nrepy}
|
||||
variable nz equal ${nrepz}
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice custom $a &
|
||||
a1 1 0 0 &
|
||||
a2 1 1 0 &
|
||||
a3 1 1 1 &
|
||||
basis 0 0 0 &
|
||||
basis 0.0 0.0 0.5 &
|
||||
spacing 1 1 1
|
||||
|
||||
box tilt large
|
||||
region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz}
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# define atom compute and grid compute
|
||||
|
||||
group snapgroup type 1
|
||||
variable twojmax equal 2
|
||||
variable rcutfac equal 4.67637
|
||||
variable rfac0 equal 0.99363
|
||||
variable rmin0 equal 0
|
||||
variable wj equal 1
|
||||
variable radelem equal 0.5
|
||||
variable bzero equal 0
|
||||
variable quadratic equal 0
|
||||
variable switch equal 1
|
||||
|
||||
variable snap_options string &
|
||||
"${rcutfac} ${rfac0} ${twojmax} ${radelem} &
|
||||
${wj} rmin0 ${rmin0} quadraticflag ${quadratic} &
|
||||
bzeroflag ${bzero} switchflag ${switch}"
|
||||
|
||||
# build zero potential to satisfy compute sna/atom
|
||||
|
||||
pair_style zero ${rcutfac}
|
||||
pair_coeff * *
|
||||
|
||||
# define atom and grid computes
|
||||
|
||||
compute b all sna/atom ${snap_options}
|
||||
compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} &
|
||||
${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} &
|
||||
${snap_options}
|
||||
|
||||
# define output
|
||||
|
||||
variable B5atom equal c_b[7][5]
|
||||
variable B5grid equal c_mygrid[13][8]
|
||||
|
||||
# do not compare x,y,z because assignment of ids
|
||||
# to atoms is not unnique for different processor grids
|
||||
|
||||
variable rmse_global equal "sqrt( &
|
||||
(c_mygrid[13][4] - c_b[7][1])^2 + &
|
||||
(c_mygrid[13][5] - c_b[7][2])^2 + &
|
||||
(c_mygrid[13][6] - c_b[7][3])^2 + &
|
||||
(c_mygrid[13][7] - c_b[7][4])^2 + &
|
||||
(c_mygrid[13][8] - c_b[7][5])^2 &
|
||||
)"
|
||||
|
||||
thermo_style custom step v_B5atom v_B5grid v_rmse_global
|
||||
|
||||
# this is the only way to view the local grid
|
||||
|
||||
dump 1 all local 1000 dump.blocal.tri c_mygridlocal[*]
|
||||
dump 2 all custom 1000 dump.batom.tri id x y z c_b[*]
|
||||
|
||||
# run
|
||||
|
||||
run 0
|
||||
|
||||
159
examples/snap/log.15Jun22.grid.snap.g++.1
Normal file
159
examples/snap/log.15Jun22.grid.snap.g++.1
Normal file
@ -0,0 +1,159 @@
|
||||
LAMMPS (2 Jun 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate calculation of SNAP bispectrum descriptors on a grid
|
||||
|
||||
# CORRECTNESS: The two atom positions coincide with two of
|
||||
# the gridpoints, so c_b[2][1-5] should match c_mygrid[8][4-8].
|
||||
# The same is true for compute grid/local c_mygridlocal[8][4-11].
|
||||
# Local arrays can not be access directly in the script,
|
||||
# but they are printed out to file dump.blocal
|
||||
|
||||
variable nrep index 1
|
||||
variable a index 3.316
|
||||
variable ngrid index 2
|
||||
|
||||
units metal
|
||||
atom_modify map hash
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 1
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 1
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 1
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice custom $a a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5
|
||||
lattice custom 3.316 a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 1 0 ${ny} 0 ${nz}
|
||||
region box block 0 1 0 1 0 ${nz}
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (3.316 3.316 3.316)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 2 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (3.316 3.316 3.316)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# define atom compute and grid compute
|
||||
|
||||
group snapgroup type 1
|
||||
2 atoms in group snapgroup
|
||||
variable twojmax equal 2
|
||||
variable rcutfac equal 4.67637
|
||||
variable rfac0 equal 0.99363
|
||||
variable rmin0 equal 0
|
||||
variable wj equal 1
|
||||
variable radelem equal 0.5
|
||||
variable bzero equal 0
|
||||
variable quadratic equal 0
|
||||
variable switch equal 1
|
||||
|
||||
variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}"
|
||||
4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# build zero potential to satisfy compute sna/atom
|
||||
|
||||
pair_style zero ${rcutfac}
|
||||
pair_style zero 4.67637
|
||||
pair_coeff * *
|
||||
|
||||
# define atom and grid computes
|
||||
|
||||
compute b all sna/atom ${snap_options}
|
||||
compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 2 ${ngrid} ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 2 2 ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 2 ${ngrid} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 2 2 ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# define output
|
||||
|
||||
variable B5atom equal c_b[2][5]
|
||||
variable B5grid equal c_mygrid[8][8]
|
||||
|
||||
variable rmse_global equal "sqrt( (c_mygrid[8][1] - x[2])^2 + (c_mygrid[8][2] - y[2])^2 + (c_mygrid[8][3] - z[2])^2 + (c_mygrid[8][4] - c_b[2][1])^2 + (c_mygrid[8][5] - c_b[2][2])^2 + (c_mygrid[8][6] - c_b[2][3])^2 + (c_mygrid[8][7] - c_b[2][4])^2 + (c_mygrid[8][8] - c_b[2][5])^2 )"
|
||||
|
||||
thermo_style custom step v_B5atom v_B5grid v_rmse_global
|
||||
|
||||
# this is the only way to view the local grid
|
||||
|
||||
dump 1 all local 1000 dump.blocal c_mygridlocal[*]
|
||||
dump 2 all custom 1000 dump.batom id x y z c_b[*]
|
||||
|
||||
# run
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.67637
|
||||
ghost atom cutoff = 6.67637
|
||||
binsize = 3.338185, bins = 1 1 1
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) compute sna/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.127 | 7.127 | 7.127 Mbytes
|
||||
Step v_B5atom v_B5grid v_rmse_global
|
||||
0 1.0427295 1.0427295 9.1551336e-16
|
||||
Loop time of 1.43e-06 on 1 procs for 0 steps with 2 atoms
|
||||
|
||||
139.9% 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 | 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.43e-06 | | |100.00
|
||||
|
||||
Nlocal: 2 ave 2 max 2 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 339 ave 339 max 339 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 64 ave 64 max 64 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 128
|
||||
Ave neighs/atom = 64
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
160
examples/snap/log.15Jun22.grid.snap.g++.4
Normal file
160
examples/snap/log.15Jun22.grid.snap.g++.4
Normal file
@ -0,0 +1,160 @@
|
||||
LAMMPS (2 Jun 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate calculation of SNAP bispectrum descriptors on a grid
|
||||
|
||||
# CORRECTNESS: The two atom positions coincide with two of
|
||||
# the gridpoints, so c_b[2][1-5] should match c_mygrid[8][4-8].
|
||||
# The same is true for compute grid/local c_mygridlocal[8][4-11].
|
||||
# Local arrays can not be access directly in the script,
|
||||
# but they are printed out to file dump.blocal
|
||||
|
||||
variable nrep index 1
|
||||
variable a index 3.316
|
||||
variable ngrid index 2
|
||||
|
||||
units metal
|
||||
atom_modify map hash
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 1
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 1
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 1
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice custom $a a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5
|
||||
lattice custom 3.316 a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0 0 0 basis 0.5 0.5 0.5
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 1 0 ${ny} 0 ${nz}
|
||||
region box block 0 1 0 1 0 ${nz}
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (3.316 3.316 3.316)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 2 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (3.316 3.316 3.316)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# define atom compute and grid compute
|
||||
|
||||
group snapgroup type 1
|
||||
2 atoms in group snapgroup
|
||||
variable twojmax equal 2
|
||||
variable rcutfac equal 4.67637
|
||||
variable rfac0 equal 0.99363
|
||||
variable rmin0 equal 0
|
||||
variable wj equal 1
|
||||
variable radelem equal 0.5
|
||||
variable bzero equal 0
|
||||
variable quadratic equal 0
|
||||
variable switch equal 1
|
||||
|
||||
variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}"
|
||||
4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# build zero potential to satisfy compute sna/atom
|
||||
|
||||
pair_style zero ${rcutfac}
|
||||
pair_style zero 4.67637
|
||||
pair_coeff * *
|
||||
|
||||
# define atom and grid computes
|
||||
|
||||
compute b all sna/atom ${snap_options}
|
||||
compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygrid all sna/grid grid ${ngrid} ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 2 ${ngrid} ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 2 2 ${snap_options}
|
||||
compute mygrid all sna/grid grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygridlocal all sna/grid/local grid ${ngrid} ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 ${ngrid} ${ngrid} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 2 ${ngrid} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 2 2 ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 2 2 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# define output
|
||||
|
||||
variable B5atom equal c_b[2][5]
|
||||
variable B5grid equal c_mygrid[8][8]
|
||||
|
||||
variable rmse_global equal "sqrt( (c_mygrid[8][1] - x[2])^2 + (c_mygrid[8][2] - y[2])^2 + (c_mygrid[8][3] - z[2])^2 + (c_mygrid[8][4] - c_b[2][1])^2 + (c_mygrid[8][5] - c_b[2][2])^2 + (c_mygrid[8][6] - c_b[2][3])^2 + (c_mygrid[8][7] - c_b[2][4])^2 + (c_mygrid[8][8] - c_b[2][5])^2 )"
|
||||
|
||||
thermo_style custom step v_B5atom v_B5grid v_rmse_global
|
||||
|
||||
# this is the only way to view the local grid
|
||||
|
||||
dump 1 all local 1000 dump.blocal c_mygridlocal[*]
|
||||
dump 2 all custom 1000 dump.batom id x y z c_b[*]
|
||||
|
||||
# run
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.67637
|
||||
ghost atom cutoff = 6.67637
|
||||
binsize = 3.338185, bins = 1 1 1
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) compute sna/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:970)
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.123 | 6.631 | 7.139 Mbytes
|
||||
Step v_B5atom v_B5grid v_rmse_global
|
||||
0 1.0427295 1.0427295 1.6316879e-15
|
||||
Loop time of 2.57125e-06 on 4 procs for 0 steps with 2 atoms
|
||||
|
||||
107.0% CPU use with 4 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 | 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.571e-06 | | |100.00
|
||||
|
||||
Nlocal: 0.5 ave 1 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 274.5 ave 275 max 274 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 16 ave 40 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 1 0 0 1
|
||||
FullNghs: 32 ave 64 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 128
|
||||
Ave neighs/atom = 64
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
192
examples/snap/log.15Jun22.grid.tri.g++.1
Normal file
192
examples/snap/log.15Jun22.grid.tri.g++.1
Normal file
@ -0,0 +1,192 @@
|
||||
LAMMPS (2 Jun 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate calculation of SNAP bispectrum
|
||||
# descriptors on a grid for triclinic cell
|
||||
|
||||
# This triclinic cell has 6 times the volume of the single
|
||||
# unit cell used by in.grid
|
||||
# and contains 12 atoms. It is a 3x2x1 supercell
|
||||
# with each unit cell containing 2 atoms and the
|
||||
# reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1].
|
||||
# The grid is listed in x-fastest order
|
||||
|
||||
# CORRECTNESS: The atom positions coincide with certain
|
||||
# gridpoints, so c_b[1][1-5] should match c_mygrid[1][4-8]
|
||||
# and c_b[7][1-5] should match c_mygrid[13][4-8].
|
||||
# Local arrays can not be access directly in the script,
|
||||
# but they are printed out to file dump.blocal.tri
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nrep index 1
|
||||
variable a index 3.316
|
||||
variable ngrid index 2
|
||||
|
||||
variable nrepx equal 3*${nrep}
|
||||
variable nrepx equal 3*1
|
||||
variable nrepy equal 2*${nrep}
|
||||
variable nrepy equal 2*1
|
||||
variable nrepz equal 1*${nrep}
|
||||
variable nrepz equal 1*1
|
||||
|
||||
variable ngridx equal 3*${ngrid}
|
||||
variable ngridx equal 3*2
|
||||
variable ngridy equal 2*${ngrid}
|
||||
variable ngridy equal 2*2
|
||||
variable ngridz equal 1*${ngrid}
|
||||
variable ngridz equal 1*2
|
||||
|
||||
units metal
|
||||
atom_modify map hash sort 0 0
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrepx}
|
||||
variable nx equal 3
|
||||
variable ny equal ${nrepy}
|
||||
variable ny equal 2
|
||||
variable nz equal ${nrepz}
|
||||
variable nz equal 1
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice custom $a a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1
|
||||
lattice custom 3.316 a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
|
||||
box tilt large
|
||||
region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 ${nz} ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 1 ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 1 2 ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 1 2 1 ${nz}
|
||||
region box prism 0 3 0 2 0 1 2 1 1
|
||||
create_box 1 box
|
||||
Created triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316)
|
||||
WARNING: Triclinic box skew is large (src/domain.cpp:224)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 12 atoms
|
||||
using lattice units in triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# define atom compute and grid compute
|
||||
|
||||
group snapgroup type 1
|
||||
12 atoms in group snapgroup
|
||||
variable twojmax equal 2
|
||||
variable rcutfac equal 4.67637
|
||||
variable rfac0 equal 0.99363
|
||||
variable rmin0 equal 0
|
||||
variable wj equal 1
|
||||
variable radelem equal 0.5
|
||||
variable bzero equal 0
|
||||
variable quadratic equal 0
|
||||
variable switch equal 1
|
||||
|
||||
variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}"
|
||||
4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# build zero potential to satisfy compute sna/atom
|
||||
|
||||
pair_style zero ${rcutfac}
|
||||
pair_style zero 4.67637
|
||||
pair_coeff * *
|
||||
|
||||
# define atom and grid computes
|
||||
|
||||
compute b all sna/atom ${snap_options}
|
||||
compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 4 ${ngridz} ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 4 2 ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 4 ${ngridz} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 4 2 ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# define output
|
||||
|
||||
variable B5atom equal c_b[7][5]
|
||||
variable B5grid equal c_mygrid[13][8]
|
||||
|
||||
# do not compare x,y,z because assignment of ids
|
||||
# to atoms is not unnique for different processor grids
|
||||
|
||||
variable rmse_global equal "sqrt( (c_mygrid[13][4] - c_b[7][1])^2 + (c_mygrid[13][5] - c_b[7][2])^2 + (c_mygrid[13][6] - c_b[7][3])^2 + (c_mygrid[13][7] - c_b[7][4])^2 + (c_mygrid[13][8] - c_b[7][5])^2 )"
|
||||
|
||||
thermo_style custom step v_B5atom v_B5grid v_rmse_global
|
||||
|
||||
# this is the only way to view the local grid
|
||||
|
||||
dump 1 all local 1000 dump.blocal.tri c_mygridlocal[*]
|
||||
dump 2 all custom 1000 dump.batom.tri id x y z c_b[*]
|
||||
|
||||
# run
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.67637
|
||||
ghost atom cutoff = 6.67637
|
||||
binsize = 3.338185, bins = 6 3 1
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton/tri
|
||||
stencil: half/bin/3d/tri
|
||||
bin: standard
|
||||
(2) compute sna/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.183 | 7.183 | 7.183 Mbytes
|
||||
Step v_B5atom v_B5grid v_rmse_global
|
||||
0 1.0427295 1.0427295 7.2262471e-14
|
||||
Loop time of 1.414e-06 on 1 procs for 0 steps with 12 atoms
|
||||
|
||||
70.7% 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 | 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.414e-06 | | |100.00
|
||||
|
||||
Nlocal: 12 ave 12 max 12 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 604 ave 604 max 604 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 384 ave 384 max 384 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 768 ave 768 max 768 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 768
|
||||
Ave neighs/atom = 64
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
192
examples/snap/log.15Jun22.grid.tri.g++.4
Normal file
192
examples/snap/log.15Jun22.grid.tri.g++.4
Normal file
@ -0,0 +1,192 @@
|
||||
LAMMPS (2 Jun 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate calculation of SNAP bispectrum
|
||||
# descriptors on a grid for triclinic cell
|
||||
|
||||
# This triclinic cell has 6 times the volume of the single
|
||||
# unit cell used by in.grid
|
||||
# and contains 12 atoms. It is a 3x2x1 supercell
|
||||
# with each unit cell containing 2 atoms and the
|
||||
# reduced lattice vectors are [1 0 0], [1 1 0], and [1 1 1].
|
||||
# The grid is listed in x-fastest order
|
||||
|
||||
# CORRECTNESS: The atom positions coincide with certain
|
||||
# gridpoints, so c_b[1][1-5] should match c_mygrid[1][4-8]
|
||||
# and c_b[7][1-5] should match c_mygrid[13][4-8].
|
||||
# Local arrays can not be access directly in the script,
|
||||
# but they are printed out to file dump.blocal.tri
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nrep index 1
|
||||
variable a index 3.316
|
||||
variable ngrid index 2
|
||||
|
||||
variable nrepx equal 3*${nrep}
|
||||
variable nrepx equal 3*1
|
||||
variable nrepy equal 2*${nrep}
|
||||
variable nrepy equal 2*1
|
||||
variable nrepz equal 1*${nrep}
|
||||
variable nrepz equal 1*1
|
||||
|
||||
variable ngridx equal 3*${ngrid}
|
||||
variable ngridx equal 3*2
|
||||
variable ngridy equal 2*${ngrid}
|
||||
variable ngridy equal 2*2
|
||||
variable ngridz equal 1*${ngrid}
|
||||
variable ngridz equal 1*2
|
||||
|
||||
units metal
|
||||
atom_modify map hash sort 0 0
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrepx}
|
||||
variable nx equal 3
|
||||
variable ny equal ${nrepy}
|
||||
variable ny equal 2
|
||||
variable nz equal ${nrepz}
|
||||
variable nz equal 1
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice custom $a a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1
|
||||
lattice custom 3.316 a1 1 0 0 a2 1 1 0 a3 1 1 1 basis 0 0 0 basis 0.0 0.0 0.5 spacing 1 1 1
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
|
||||
box tilt large
|
||||
region box prism 0 ${nx} 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 ${ny} 0 ${nz} ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 ${nz} ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 1 ${ny} ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 1 2 ${nz} ${nz}
|
||||
region box prism 0 3 0 2 0 1 2 1 ${nz}
|
||||
region box prism 0 3 0 2 0 1 2 1 1
|
||||
create_box 1 box
|
||||
Created triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316)
|
||||
WARNING: Triclinic box skew is large (src/domain.cpp:224)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 12 atoms
|
||||
using lattice units in triclinic box = (0 0 0) to (9.948 6.632 3.316) with tilt (6.632 3.316 3.316)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
# define atom compute and grid compute
|
||||
|
||||
group snapgroup type 1
|
||||
12 atoms in group snapgroup
|
||||
variable twojmax equal 2
|
||||
variable rcutfac equal 4.67637
|
||||
variable rfac0 equal 0.99363
|
||||
variable rmin0 equal 0
|
||||
variable wj equal 1
|
||||
variable radelem equal 0.5
|
||||
variable bzero equal 0
|
||||
variable quadratic equal 0
|
||||
variable switch equal 1
|
||||
|
||||
variable snap_options string "${rcutfac} ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}"
|
||||
4.67637 ${rfac0} ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 ${twojmax} ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 ${radelem} ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 ${wj} rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 ${rmin0} quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag ${quadratic} bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag ${bzero} switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag ${switch}
|
||||
4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# build zero potential to satisfy compute sna/atom
|
||||
|
||||
pair_style zero ${rcutfac}
|
||||
pair_style zero 4.67637
|
||||
pair_coeff * *
|
||||
|
||||
# define atom and grid computes
|
||||
|
||||
compute b all sna/atom ${snap_options}
|
||||
compute b all sna/atom 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygrid all sna/grid grid ${ngridx} ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 4 ${ngridz} ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 4 2 ${snap_options}
|
||||
compute mygrid all sna/grid grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
compute mygridlocal all sna/grid/local grid ${ngridx} ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 ${ngridy} ${ngridz} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 4 ${ngridz} ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 4 2 ${snap_options}
|
||||
compute mygridlocal all sna/grid/local grid 6 4 2 4.67637 0.99363 2 0.5 1 rmin0 0 quadraticflag 0 bzeroflag 0 switchflag 1
|
||||
|
||||
# define output
|
||||
|
||||
variable B5atom equal c_b[7][5]
|
||||
variable B5grid equal c_mygrid[13][8]
|
||||
|
||||
# do not compare x,y,z because assignment of ids
|
||||
# to atoms is not unnique for different processor grids
|
||||
|
||||
variable rmse_global equal "sqrt( (c_mygrid[13][4] - c_b[7][1])^2 + (c_mygrid[13][5] - c_b[7][2])^2 + (c_mygrid[13][6] - c_b[7][3])^2 + (c_mygrid[13][7] - c_b[7][4])^2 + (c_mygrid[13][8] - c_b[7][5])^2 )"
|
||||
|
||||
thermo_style custom step v_B5atom v_B5grid v_rmse_global
|
||||
|
||||
# this is the only way to view the local grid
|
||||
|
||||
dump 1 all local 1000 dump.blocal.tri c_mygridlocal[*]
|
||||
dump 2 all custom 1000 dump.batom.tri id x y z c_b[*]
|
||||
|
||||
# run
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.67637
|
||||
ghost atom cutoff = 6.67637
|
||||
binsize = 3.338185, bins = 6 3 1
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton/tri
|
||||
stencil: half/bin/3d/tri
|
||||
bin: standard
|
||||
(2) compute sna/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.15 | 7.15 | 7.15 Mbytes
|
||||
Step v_B5atom v_B5grid v_rmse_global
|
||||
0 1.0427295 1.0427295 1.9367585e-14
|
||||
Loop time of 2.65825e-06 on 4 procs for 0 steps with 12 atoms
|
||||
|
||||
84.6% CPU use with 4 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 | 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.658e-06 | | |100.00
|
||||
|
||||
Nlocal: 3 ave 4 max 2 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 459 ave 460 max 458 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 96 ave 128 max 64 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
FullNghs: 192 ave 256 max 128 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 768
|
||||
Ave neighs/atom = 64
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
Reference in New Issue
Block a user