From 031cef558e9d334f49f2decdaf7ac05cfdd04640 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Feb 2024 20:18:43 -0500 Subject: [PATCH 1/9] silence unused parameter warnings in the gpu lib tree --- lib/gpu/geryon/ocl_memory.h | 80 ++++++++++++++++----------------- lib/gpu/geryon/ucl_copy.h | 2 +- lib/gpu/geryon/ucl_d_vec.h | 12 ++--- lib/gpu/geryon/ucl_h_vec.h | 10 ++--- lib/gpu/geryon/ucl_print.h | 4 +- lib/gpu/geryon/ucl_s_obj_help.h | 10 ++--- lib/gpu/geryon/ucl_vector.h | 4 +- 7 files changed, 61 insertions(+), 61 deletions(-) diff --git a/lib/gpu/geryon/ocl_memory.h b/lib/gpu/geryon/ocl_memory.h index e665654071..294578101d 100644 --- a/lib/gpu/geryon/ocl_memory.h +++ b/lib/gpu/geryon/ocl_memory.h @@ -491,17 +491,17 @@ template struct _ucl_memcpy; // Both are images template<> struct _ucl_memcpy<2,2> { template - static inline void mc(p1 &dst, const p2 &src, const size_t n, - cl_command_queue &cq, const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/, + cl_command_queue &/*cq*/, const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } template - static inline void mc(p1 &dst, const size_t dpitch, const p2 &src, - const size_t spitch, const size_t cols, - const size_t rows, cl_command_queue &cq, - const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/, + const size_t /*spitch*/, const size_t /*cols*/, + const size_t /*rows*/, cl_command_queue &/*cq*/, + const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } }; @@ -509,17 +509,17 @@ template<> struct _ucl_memcpy<2,2> { // Destination is texture, source on device template<> struct _ucl_memcpy<2,0> { template - static inline void mc(p1 &dst, const p2 &src, const size_t n, - cl_command_queue &cq, const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/, + cl_command_queue &/*cq*/, const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } template - static inline void mc(p1 &dst, const size_t dpitch, const p2 &src, - const size_t spitch, const size_t cols, - const size_t rows, cl_command_queue &cq, - const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/, + const size_t /*spitch*/, const size_t /*cols*/, + const size_t /*rows*/, cl_command_queue &/*cq*/, + const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } }; @@ -527,17 +527,17 @@ template<> struct _ucl_memcpy<2,0> { // Destination is texture, source on host template<> struct _ucl_memcpy<2,1> { template - static inline void mc(p1 &dst, const p2 &src, const size_t n, - cl_command_queue &cq, const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/, + cl_command_queue &/*cq*/, const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } template - static inline void mc(p1 &dst, const size_t dpitch, const p2 &src, - const size_t spitch, const size_t cols, - const size_t rows, cl_command_queue &cq, - const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/, + const size_t /*spitch*/, const size_t /*cols*/, + const size_t /*rows*/, cl_command_queue &/*cq*/, + const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } }; @@ -545,17 +545,17 @@ template<> struct _ucl_memcpy<2,1> { // Source is texture, dest on device template<> struct _ucl_memcpy<0,2> { template - static inline void mc(p1 &dst, const p2 &src, const size_t n, - cl_command_queue &cq, const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/, + cl_command_queue &/*cq*/, const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } template - static inline void mc(p1 &dst, const size_t dpitch, const p2 &src, - const size_t spitch, const size_t cols, - const size_t rows, cl_command_queue &cq, - const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/, + const size_t /*spitch*/, const size_t /*cols*/, + const size_t /*rows*/, cl_command_queue &/*cq*/, + const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } }; @@ -563,17 +563,17 @@ template<> struct _ucl_memcpy<0,2> { // Source is texture, dest on host template<> struct _ucl_memcpy<1,2> { template - static inline void mc(p1 &dst, const p2 &src, const size_t n, - cl_command_queue &cq, const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const p2 &/*src*/, const size_t /*n*/, + cl_command_queue &/*cq*/, const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } template - static inline void mc(p1 &dst, const size_t dpitch, const p2 &src, - const size_t spitch, const size_t cols, - const size_t rows, cl_command_queue &cq, - const cl_bool block, - const size_t dst_offset, const size_t src_offset) { + static inline void mc(p1 &/*dst*/, const size_t /*dpitch*/, const p2 &/*src*/, + const size_t /*spitch*/, const size_t /*cols*/, + const size_t /*rows*/, cl_command_queue &/*cq*/, + const cl_bool /*block*/, + const size_t /*dst_offset*/, const size_t /*src_offset*/) { assert(0==1); } }; diff --git a/lib/gpu/geryon/ucl_copy.h b/lib/gpu/geryon/ucl_copy.h index 94b57f7a09..b7f4c4c986 100644 --- a/lib/gpu/geryon/ucl_copy.h +++ b/lib/gpu/geryon/ucl_copy.h @@ -507,7 +507,7 @@ template <> struct _ucl_cast_copy<0,0> { } template static inline void cc(mat1 & /*dst*/, const mat2 & /*src*/, const size_t /*rows*/, - const size_t cols, mat3 & /*cast_buffer*/, command_queue & /*cq*/) { + const size_t /*cols*/, mat3 & /*cast_buffer*/, command_queue & /*cq*/) { assert(0==1); } }; diff --git a/lib/gpu/geryon/ucl_d_vec.h b/lib/gpu/geryon/ucl_d_vec.h index 5e281fef07..fdb62d8fab 100644 --- a/lib/gpu/geryon/ucl_d_vec.h +++ b/lib/gpu/geryon/ucl_d_vec.h @@ -156,7 +156,7 @@ class UCL_D_Vec : public UCL_BaseMat { * \param stride Number of _elements_ between the start of each row **/ template inline void view(ucl_type &input, const size_t rows, const size_t cols, - const size_t stride) { view(input,rows,cols); } + const size_t /*stride*/) { view(input,rows,cols); } /// Do not allocate memory, instead use an existing allocation from Geryon /** This function must be passed a Geryon vector or matrix container. @@ -185,7 +185,7 @@ class UCL_D_Vec : public UCL_BaseMat { * - The view does not prevent the memory from being freed by the * allocating container when using CUDA APIs **/ template - inline void view(ptr_type input, const size_t rows, const size_t cols, + inline void view(ptr_type input, const size_t /*rows*/, const size_t cols, UCL_Device &dev) { #ifdef UCL_DEBUG assert(rows==1); @@ -213,7 +213,7 @@ class UCL_D_Vec : public UCL_BaseMat { * \param stride Number of _elements_ between the start of each row **/ template inline void view(ptr_type input, const size_t rows, const size_t cols, - const size_t stride, UCL_Device &dev) + const size_t stride, UCL_Device &/*dev*/) { view(input,rows,cols,stride); } /// Do not allocate memory, instead use an existing allocation @@ -262,7 +262,7 @@ class UCL_D_Vec : public UCL_BaseMat { * \param stride Number of _elements_ between the start of each row **/ template inline void view_offset(const size_t offset,ucl_type &input,const size_t rows, - const size_t cols, const size_t stride) + const size_t cols, const size_t /*stride*/) { view_offset(offset,input,rows,cols); } /// Do not allocate memory, instead use an existing allocation from Geryon @@ -292,7 +292,7 @@ class UCL_D_Vec : public UCL_BaseMat { * - The view does not prevent the memory from being freed by the * allocating container when using CUDA APIs **/ template - inline void view_offset(const size_t offset,ptr_type input,const size_t rows, + inline void view_offset(const size_t offset,ptr_type input,const size_t /*rows*/, const size_t cols, UCL_Device &dev) { #ifdef UCL_DEBUG assert(rows==1); @@ -328,7 +328,7 @@ class UCL_D_Vec : public UCL_BaseMat { * \param stride Number of _elements_ between the start of each row **/ template inline void view_offset(const size_t offset,ptr_type input,const size_t rows, - const size_t cols,const size_t stride,UCL_Device &dev) + const size_t cols,const size_t stride,UCL_Device &/*dev*/) { view_offset(offset,input,rows,cols,stride); } /// Do not allocate memory, instead use an existing allocation diff --git a/lib/gpu/geryon/ucl_h_vec.h b/lib/gpu/geryon/ucl_h_vec.h index 9f734ac40c..25e12a3ef5 100644 --- a/lib/gpu/geryon/ucl_h_vec.h +++ b/lib/gpu/geryon/ucl_h_vec.h @@ -156,7 +156,7 @@ class UCL_H_Vec : public UCL_BaseMat { * \param stride Number of _elements_ between the start of each row **/ template inline void view(ucl_type &input, const size_t rows, const size_t cols, - const size_t stride) { view(input,rows,cols); } + const size_t /*stride*/) { view(input,rows,cols); } /// Do not allocate memory, instead use an existing allocation from Geryon /** This function must be passed a Geryon vector or matrix container. @@ -214,7 +214,7 @@ class UCL_H_Vec : public UCL_BaseMat { * \param stride Number of _elements_ between the start of each row **/ template inline void view(ptr_type *input, const size_t rows, const size_t cols, - const size_t stride, UCL_Device &dev) + const size_t stride, UCL_Device &/*dev*/) { view(input,rows,cols,stride); } /// Do not allocate memory, instead use an existing allocation @@ -259,7 +259,7 @@ class UCL_H_Vec : public UCL_BaseMat { * \param stride Number of _elements_ between the start of each row **/ template inline void view_offset(const size_t offset,ucl_type &input,const size_t rows, - const size_t cols, const size_t stride) + const size_t cols, const size_t /*stride*/) { view_offset(offset,input,rows,cols); } /// Do not allocate memory, instead use an existing allocation from Geryon @@ -382,10 +382,10 @@ class UCL_H_Vec : public UCL_BaseMat { /// Get element at index i inline const numtyp & operator[](const int i) const { return _array[i]; } /// 2D access (row should always be 0) - inline numtyp & operator()(const int row, const int col) + inline numtyp & operator()(const int /*row*/, const int col) { return _array[col]; } /// 2D access (row should always be 0) - inline const numtyp & operator()(const int row, const int col) const + inline const numtyp & operator()(const int /*row*/, const int col) const { return _array[col]; } /// Returns pointer to memory pointer for allocation on host diff --git a/lib/gpu/geryon/ucl_print.h b/lib/gpu/geryon/ucl_print.h index 98ae8a8c06..6b1caf90e9 100644 --- a/lib/gpu/geryon/ucl_print.h +++ b/lib/gpu/geryon/ucl_print.h @@ -35,7 +35,7 @@ template <> struct _ucl_print<1> { } template static inline void p(const mat_type &mat, const size_t n, std::ostream &out, - const std::string delim, UCL_Device &dev) { + const std::string delim, UCL_Device &/*dev*/) { p(mat,n,out,delim); } template @@ -59,7 +59,7 @@ template <> struct _ucl_print<1> { template static inline void p(const mat_type &mat,const size_t rows,const size_t cols, std::ostream &out,const std::string delim, - const std::string row_delim, UCL_Device &dev) { + const std::string row_delim, UCL_Device &/*dev*/) { p(mat,rows,cols,out,delim,row_delim); } }; diff --git a/lib/gpu/geryon/ucl_s_obj_help.h b/lib/gpu/geryon/ucl_s_obj_help.h index 9bc2c40fe2..486caa4f2a 100644 --- a/lib/gpu/geryon/ucl_s_obj_help.h +++ b/lib/gpu/geryon/ucl_s_obj_help.h @@ -53,7 +53,7 @@ template <> struct _ucl_s_obj_help<1> { } template - static inline int alloc(t1 &host, t2 &device, t3 &_buffer, + static inline int alloc(t1 &host, t2 &device, t3 &/*_buffer*/, const int cols, mat_type &cq, const enum UCL_MEMOPT kind1, const enum UCL_MEMOPT kind2) { @@ -79,7 +79,7 @@ template <> struct _ucl_s_obj_help<1> { } template - static inline int alloc(t1 &host, t2 &device, t3 &_buffer, + static inline int alloc(t1 &host, t2 &device, t3 &/*_buffer*/, const int rows, const int cols, UCL_Device &acc, const enum UCL_MEMOPT kind1, const enum UCL_MEMOPT kind2) { @@ -105,7 +105,7 @@ template <> struct _ucl_s_obj_help<1> { } template - static inline int alloc(t1 &host, t2 &device, t3 &_buffer, + static inline int alloc(t1 &host, t2 &device, t3 &/*_buffer*/, const int rows, const int cols, mat_type &cq, const enum UCL_MEMOPT kind1, const enum UCL_MEMOPT kind2) { @@ -177,7 +177,7 @@ template <> struct _ucl_s_obj_help<1> { } template - static inline int dev_resize(t1 &device, t2 &host, t3 &buff, const int rows, + static inline int dev_resize(t1 &device, t2 &host, t3 &/*buff*/, const int rows, const int cols) { if (device.kind()==UCL_VIEW) { device.view(host); @@ -369,7 +369,7 @@ template struct _ucl_s_obj_help { } template - static inline int dev_resize(t1 &device, t2 &host, t3 &buff, const int rows, + static inline int dev_resize(t1 &device, t2 &/*host*/, t3 &buff, const int rows, const int cols) { int err=buff.resize(rows,cols); if (err!=UCL_SUCCESS) diff --git a/lib/gpu/geryon/ucl_vector.h b/lib/gpu/geryon/ucl_vector.h index 0939bae31e..10290f0585 100644 --- a/lib/gpu/geryon/ucl_vector.h +++ b/lib/gpu/geryon/ucl_vector.h @@ -147,10 +147,10 @@ class UCL_Vector { /// Get element at index i inline const hosttype & operator[](const int i) const { return host[i]; } /// 2D access (row should always be 0) - inline hosttype & operator()(const int row, const int col) + inline hosttype & operator()(const int /*row*/, const int col) { return host[col]; } /// 2D access (row should always be 0) - inline const hosttype & operator()(const int row, const int col) const + inline const hosttype & operator()(const int /*row*/, const int col) const { return host[col]; } /// Returns pointer to memory pointer for allocation on host From 78863272431865d6d7c792873452c8f1fdd26840 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Feb 2024 20:45:49 -0500 Subject: [PATCH 2/9] reduce warnings in MGPT package --- src/MGPT/pair_mgpt.cpp | 50 ++++++++++++++++++++++++------------------ src/MGPT/pair_mgpt.h | 2 ++ 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/MGPT/pair_mgpt.cpp b/src/MGPT/pair_mgpt.cpp index c924cbea84..f42a0d254e 100644 --- a/src/MGPT/pair_mgpt.cpp +++ b/src/MGPT/pair_mgpt.cpp @@ -589,33 +589,30 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, double *e_s,double *e_p,double *e_t,double *e_q, int evflag,int newton_pair) { Hash bond_hash(100000); - int i,j,k,m,ix,jx,kx,mx,p; + int i,j,k,m,ix,jx,kx,p; double e_single,e_pair,e_triplet,e_triplet_c,e_quad; double volvir2; - double nbc = 0.0,tbl = 0.0,tbm = 0.0; - const int lmax_local = lmax; - - //if(evflag) printf("##### ev flag is set... wasting cycles...\n"); - *e_s = -99.0; *e_p = -99.0; *e_t = -99.0; *e_q = -99.0; - double t0,t1; - - t0 = gettime(1); +#ifdef TIMING_ON + double t0 = gettime(1); +#endif e_single = e_pair = e_triplet = e_triplet_c = e_quad = 0.0; volvir2 = 0.0; t_make_t = t_make_b = t_make_b2 = t_trace = 0.0; n_make = n_make_b2 = n_trace = 0.0; - double tx0,tx1,tsort = 0.0,tpair = 0.0,tlookup = 0.0; +#ifdef TIMING_ON + double tx0,tx1,tpair = 0.0,tlookup = 0.0; double ttriplet = 0.0,tquad = 0.0,tmem = 0.0; double ntsort = 0.0,ntpair = 0.0,ntlookup = 0.0; double nttriplet = 0.0,ntquad = 0.0,ntmem = 0.0,ntquaditer = 0.0; +#endif double mcount = 0.0,mcount2 = 0.0, qcount = 0.0; double fix,fjx,fkx,fmx,dfix,dfjx,dfkx,dfmx; @@ -670,8 +667,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, double trd1y,trd2y,trd3y,trd4y; double trd1z,trd2z,trd3z,trd4z; - - tx0 = gettime(); +#ifdef TIMING_ON + double tx0 = gettime(); +#endif double rhoinv; { @@ -751,9 +749,11 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, first = (int *) memory->smalloc(sizeof(int) * (ntot+1),"mgpt: first"); nlist_short = (int *) memory->smalloc(sizeof(int) * nneitot,"mgpt: nlist_short"); - tx1 = gettime(); +#ifdef TIMING_ON + double tx1 = gettime(); tmem += tx1-tx0; ntmem++; +#endif //printf("[%3d] Starting calculation...\n",comm->me); @@ -786,7 +786,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, const int c1 = c1_outside(ss[i],triclinic,alpha); +#ifdef TIMING_ON tx0 = gettime(); +#endif for (jx = 0; jxf[i][p] = atom->f[i][p] + ff[i][p]; @@ -1529,20 +1541,16 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, if (ss != xx) memory->sfree(ss); memory->sfree(ff); memory->sfree(xx); +#ifdef TIMING_ON tx1 = gettime(); tmem += tx1-tx0; ntmem++; - t1 = gettime(1); + double t1 = gettime(1); - //printf("compute_x: c_p = %d c_t = %d c_q = %d\n",c_p,c_t,c_q); - - -#ifdef TIMING_ON if (comm->me == 0) { double tsum = (tmem+tsort+tpair+tlookup+ttriplet+tquad); double nsum = (ntmem+ntsort+ntpair+ntlookup+nttriplet+ntquad); - //double adj = ((t1-t0)-tsum)/nsum; /* Use adj = 6ns for RDTSC, and 58ns for gettimeofday, on monkfish.llnl.gov, 2.4GHz Intel diff --git a/src/MGPT/pair_mgpt.h b/src/MGPT/pair_mgpt.h index 409643c059..3168a3c41d 100644 --- a/src/MGPT/pair_mgpt.h +++ b/src/MGPT/pair_mgpt.h @@ -273,6 +273,8 @@ public: void allocate(); struct Matrix { + Matrix() = default; + Matrix(const Matrix &) = default; static int sz; double m[8][8]; From 9921338ee1cbe6a507c5368e063eb543573d2a65 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 7 Feb 2024 03:57:12 -0500 Subject: [PATCH 3/9] update log files for MGPT package --- examples/PACKAGES/mgpt/in.bcc0 | 28 ++- examples/PACKAGES/mgpt/in.vac0-bcc | 28 ++- examples/PACKAGES/mgpt/in.vacmin-bcc | 22 ++- examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1 | 134 +++++++++++++++ examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4 | 134 +++++++++++++++ .../PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1 | 144 ++++++++++++++++ .../PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4 | 144 ++++++++++++++++ .../PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1 | 162 ++++++++++++++++++ .../PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4 | 162 ++++++++++++++++++ examples/PACKAGES/mgpt/log.bcc0 | 53 ------ examples/PACKAGES/mgpt/log.vac0-bcc | 55 ------ examples/PACKAGES/mgpt/log.vacmin-bcc | 78 --------- 12 files changed, 916 insertions(+), 228 deletions(-) create mode 100644 examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1 create mode 100644 examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4 create mode 100644 examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1 create mode 100644 examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4 create mode 100644 examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1 create mode 100644 examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4 delete mode 100644 examples/PACKAGES/mgpt/log.bcc0 delete mode 100644 examples/PACKAGES/mgpt/log.vac0-bcc delete mode 100644 examples/PACKAGES/mgpt/log.vacmin-bcc diff --git a/examples/PACKAGES/mgpt/in.bcc0 b/examples/PACKAGES/mgpt/in.bcc0 index 2e20888fd5..c00a1ba3b2 100644 --- a/examples/PACKAGES/mgpt/in.bcc0 +++ b/examples/PACKAGES/mgpt/in.bcc0 @@ -1,9 +1,7 @@ # script for mgpt t=0 eos in bulk bcc structure -echo screen - -units electron -atom_style atomic +units electron +atom_style atomic # Atomic volume for MGPT potential in a.u. variable atomic_vol equal 121.6 @@ -12,10 +10,10 @@ variable atomic_vol equal 121.6 variable lattice_constant equal (${atomic_vol}*2.0)^(1.0/3.0) # Create bcc lattice with 5x5x5 unit cells (250 atoms) -lattice bcc ${lattice_constant} -region box block 0 5 0 5 0 5 -create_box 1 box -create_atoms 1 box +lattice bcc ${lattice_constant} +region box block 0 5 0 5 0 5 +create_box 1 box +create_atoms 1 box # Define potential for use in simulation pair_style mgpt @@ -26,20 +24,20 @@ pair_style mgpt pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} # Create velocities at 0 K -velocity all create 0.0 87287 +velocity all create 0.0 87287 # Set neighbor list parameters -neighbor 0.1 bin -neigh_modify every 1 delay 0 check yes +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes # Set up microcanonical integrator -fix 1 all nve +fix 1 all nve # Dump coordinates to file every 50 timesteps -dump id all atom 50 dump.bcc0 +#dump id all atom 50 dump.bcc0 # Output thermodynamical data every 10 timesteps -thermo 10 +thermo 10 # Set output quantities and output format thermo_style custom step vol temp pe etotal press @@ -48,7 +46,7 @@ thermo_style custom step vol temp pe etotal press #thermo_modify format float %15.5e # Run 0 timesteps -run 0 +run 0 # Convert energy to rydbergs and pressure to gpa diff --git a/examples/PACKAGES/mgpt/in.vac0-bcc b/examples/PACKAGES/mgpt/in.vac0-bcc index 529506ab64..5be9e168e9 100644 --- a/examples/PACKAGES/mgpt/in.vac0-bcc +++ b/examples/PACKAGES/mgpt/in.vac0-bcc @@ -1,10 +1,8 @@ # script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice: # input for unrelaxed vacancy formation energy at constant atomic volume -echo screen - -units electron -atom_style atomic +units electron +atom_style atomic # Atomic volume for MGPT potential in a.u. variable atomic_vol equal 121.6 @@ -16,10 +14,10 @@ variable lat_vol equal ${atomic_vol}*249/250 variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0) # Create bcc lattice with 5x5x5 unit cells (250 atoms) -lattice bcc ${lattice_constant} -region box block 0 5 0 5 0 5 -create_box 1 box -create_atoms 1 box +lattice bcc ${lattice_constant} +region box block 0 5 0 5 0 5 +create_box 1 box +create_atoms 1 box # Remove central atom from bcc lattice to create vacancy region vacancy sphere 2.5 2.5 2.5 0.1 units lattice @@ -34,20 +32,20 @@ pair_style mgpt pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} # Create velocities at 0 K -velocity all create 0.0 87287 +velocity all create 0.0 87287 # Set neighbor list parameters -neighbor 0.1 bin -neigh_modify every 1 delay 0 check yes +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes # Set up microcanonical integrator -fix 1 all nve +fix 1 all nve # Dump coordinates to file every 50 timesteps -dump id all atom 50 dump.vac0-bcc +# dump id all atom 50 dump.vac0-bcc # Output thermodynamical data every 10 timesteps -thermo 10 +thermo 10 # Set output quantities and output format thermo_style custom step vol temp pe etotal press @@ -56,7 +54,7 @@ thermo_style custom step vol temp pe etotal press #thermo_modify format float %15.5e # Run 0 timesteps -run 0 +run 0 # Convert energy to rydbergs and pressure to gpa diff --git a/examples/PACKAGES/mgpt/in.vacmin-bcc b/examples/PACKAGES/mgpt/in.vacmin-bcc index 85fc72ff63..abd6cd3a7f 100644 --- a/examples/PACKAGES/mgpt/in.vacmin-bcc +++ b/examples/PACKAGES/mgpt/in.vacmin-bcc @@ -1,10 +1,8 @@ # script for mgpt t=0 eos with relaxed vacancy in bcc structure: # input for relaxed vacancy formation energy at constant pressure -echo screen - -units electron -atom_style atomic +units electron +atom_style atomic # Atomic volume for MGPT potential variable atomic_vol equal 121.863 @@ -16,10 +14,10 @@ variable lat_vol equal ${atomic_vol}*249/250 variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0) # Create bcc lattice with 5x5x5 unit cells (250 atoms) -lattice bcc ${lattice_constant} -region box block 0 5 0 5 0 5 -create_box 1 box -create_atoms 1 box +lattice bcc ${lattice_constant} +region box block 0 5 0 5 0 5 +create_box 1 box +create_atoms 1 box # Remove central atom from bcc lattice to create vacancy region vacancy sphere 2.5 2.5 2.5 0.1 units lattice @@ -34,14 +32,14 @@ pair_style mgpt pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} # Set neighbor list parameters -neighbor 0.1 bin -neigh_modify every 1 delay 0 check yes +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes # Dump coordinates to file every 50 timesteps -dump id all atom 50 dump.vacmin-bcc +# dump id all atom 50 dump.vacmin-bcc # Output thermodynamical data every 10 timesteps -thermo 10 +thermo 10 # Set output quantities and output format thermo_style custom step vol temp pe etotal press diff --git a/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1 b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1 new file mode 100644 index 0000000000..0425bce75f --- /dev/null +++ b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.1 @@ -0,0 +1,134 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# script for mgpt t=0 eos in bulk bcc structure + +units electron +atom_style atomic + +# Atomic volume for MGPT potential in a.u. +variable atomic_vol equal 121.6 + +# Derive lattice constant from volume +variable lattice_constant equal (${atomic_vol}*2.0)^(1.0/3.0) +variable lattice_constant equal (121.6*2.0)^(1.0/3.0) + +# Create bcc lattice with 5x5x5 unit cells (250 atoms) +lattice bcc ${lattice_constant} +lattice bcc 6.24196300283154 +Lattice spacing in x,y,z = 6.241963 6.241963 6.241963 +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 250 atoms + using lattice units in orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815) + create_atoms CPU = 0.000 seconds + +# Define potential for use in simulation +pair_style mgpt + +# Set parameters for potential: +# parameter files atomic volume +#pair_coeff * * parmin potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6 +Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 + +# Create velocities at 0 K +velocity all create 0.0 87287 + +# Set neighbor list parameters +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes + +# Set up microcanonical integrator +fix 1 all nve + +# Dump coordinates to file every 50 timesteps +#dump id all atom 50 dump.bcc0 + +# Output thermodynamical data every 10 timesteps +thermo 10 + +# Set output quantities and output format +thermo_style custom step vol temp pe etotal press + +## Example: Output floating point number with 5 digits exponential notation. +#thermo_modify format float %15.5e + +# Run 0 timesteps +run 0 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.161827 + ghost atom cutoff = 13.161827 + binsize = 6.5809134, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair mgpt, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair mgpt, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.755 | 3.755 | 3.755 Mbytes + Step Volume Temp PotEng TotEng Press + 0 30400 0 -74.412503 -74.412503 -1.1594626e+09 +Loop time of 1.019e-06 on 1 procs for 0 steps with 250 atoms + +98.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 | 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.019e-06 | | |100.00 + +Nlocal: 250 ave 250 max 250 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1479 ave 1479 max 1479 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8000 ave 8000 max 8000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 16000 ave 16000 max 16000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 16000 +Ave neighs/atom = 64 +Neighbor list builds = 0 +Dangerous builds = 0 + +# Convert energy to rydbergs and pressure to gpa + +variable natoms equal "count(all)" +variable voltot equal "vol" +variable atvol equal "v_voltot/v_natoms" +variable etot equal "2.0*pe" +variable etotry equal "v_etot/v_natoms" +variable ptot equal "press" +variable ptotgpa equal "v_ptot/1.0e+09" + +print "number of atoms = ${natoms}" +number of atoms = 250 +print "atomic volume (a.u.) = ${atvol}" +atomic volume (a.u.) = 121.6 +print "total energy (ry/atom) = ${etotry}" +total energy (ry/atom) = -0.59530002488734 +print "pressure (gpa) = ${ptotgpa}" +pressure (gpa) = -1.15946260887554 +print "${natoms} ${atvol} ${etot} ${ptotgpa}" +250 121.6 -148.825006221835 -1.15946260887554 +print "${atvol} ${etotry} ${ptotgpa}" +121.6 -0.59530002488734 -1.15946260887554 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4 b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4 new file mode 100644 index 0000000000..03195ca9c3 --- /dev/null +++ b/examples/PACKAGES/mgpt/log.7Feb24.bcc0.g++.4 @@ -0,0 +1,134 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# script for mgpt t=0 eos in bulk bcc structure + +units electron +atom_style atomic + +# Atomic volume for MGPT potential in a.u. +variable atomic_vol equal 121.6 + +# Derive lattice constant from volume +variable lattice_constant equal (${atomic_vol}*2.0)^(1.0/3.0) +variable lattice_constant equal (121.6*2.0)^(1.0/3.0) + +# Create bcc lattice with 5x5x5 unit cells (250 atoms) +lattice bcc ${lattice_constant} +lattice bcc 6.24196300283154 +Lattice spacing in x,y,z = 6.241963 6.241963 6.241963 +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 250 atoms + using lattice units in orthogonal box = (0 0 0) to (31.209815 31.209815 31.209815) + create_atoms CPU = 0.000 seconds + +# Define potential for use in simulation +pair_style mgpt + +# Set parameters for potential: +# parameter files atomic volume +#pair_coeff * * parmin potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6 +Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 + +# Create velocities at 0 K +velocity all create 0.0 87287 + +# Set neighbor list parameters +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes + +# Set up microcanonical integrator +fix 1 all nve + +# Dump coordinates to file every 50 timesteps +#dump id all atom 50 dump.bcc0 + +# Output thermodynamical data every 10 timesteps +thermo 10 + +# Set output quantities and output format +thermo_style custom step vol temp pe etotal press + +## Example: Output floating point number with 5 digits exponential notation. +#thermo_modify format float %15.5e + +# Run 0 timesteps +run 0 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.161827 + ghost atom cutoff = 13.161827 + binsize = 6.5809134, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair mgpt, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair mgpt, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.73 | 3.73 | 3.73 Mbytes + Step Volume Temp PotEng TotEng Press + 0 30400 0 -74.412503 -74.412503 -1.1594626e+09 +Loop time of 3.56525e-06 on 4 procs for 0 steps with 250 atoms + +119.2% 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 | | 3.565e-06 | | |100.00 + +Nlocal: 62.5 ave 65 max 60 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 868.5 ave 871 max 866 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 2000 ave 2110 max 1890 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +FullNghs: 4000 ave 4160 max 3840 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 16000 +Ave neighs/atom = 64 +Neighbor list builds = 0 +Dangerous builds = 0 + +# Convert energy to rydbergs and pressure to gpa + +variable natoms equal "count(all)" +variable voltot equal "vol" +variable atvol equal "v_voltot/v_natoms" +variable etot equal "2.0*pe" +variable etotry equal "v_etot/v_natoms" +variable ptot equal "press" +variable ptotgpa equal "v_ptot/1.0e+09" + +print "number of atoms = ${natoms}" +number of atoms = 250 +print "atomic volume (a.u.) = ${atvol}" +atomic volume (a.u.) = 121.6 +print "total energy (ry/atom) = ${etotry}" +total energy (ry/atom) = -0.595300024887348 +print "pressure (gpa) = ${ptotgpa}" +pressure (gpa) = -1.15946260887575 +print "${natoms} ${atvol} ${etot} ${ptotgpa}" +250 121.6 -148.825006221837 -1.15946260887575 +print "${atvol} ${etotry} ${ptotgpa}" +121.6 -0.595300024887348 -1.15946260887575 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1 b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1 new file mode 100644 index 0000000000..88d7e11a8b --- /dev/null +++ b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.1 @@ -0,0 +1,144 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice: +# input for unrelaxed vacancy formation energy at constant atomic volume + +units electron +atom_style atomic + +# Atomic volume for MGPT potential in a.u. +variable atomic_vol equal 121.6 + +# Derive effective lattice volume from atomic volume for 249-site cell +variable lat_vol equal ${atomic_vol}*249/250 +variable lat_vol equal 121.6*249/250 + +# Derive lattice constant from lattice volume +variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0) +variable lattice_constant equal (121.1136*2.0)^(1.0/3.0) + +# Create bcc lattice with 5x5x5 unit cells (250 atoms) +lattice bcc ${lattice_constant} +lattice bcc 6.23362926394575 +Lattice spacing in x,y,z = 6.2336293 6.2336293 6.2336293 +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 250 atoms + using lattice units in orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146) + create_atoms CPU = 0.000 seconds + +# Remove central atom from bcc lattice to create vacancy +region vacancy sphere 2.5 2.5 2.5 0.1 units lattice +delete_atoms region vacancy +Deleted 1 atoms, new total = 249 + +# Define potential for use in simulation +pair_style mgpt + +# Set parameters for potential: +# parameter files atomic volume +#pair_coeff * * parmin potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6 +Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 + +# Create velocities at 0 K +velocity all create 0.0 87287 + +# Set neighbor list parameters +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes + +# Set up microcanonical integrator +fix 1 all nve + +# Dump coordinates to file every 50 timesteps +# dump id all atom 50 dump.vac0-bcc + +# Output thermodynamical data every 10 timesteps +thermo 10 + +# Set output quantities and output format +thermo_style custom step vol temp pe etotal press + +## Example: Output floating point number with 5 digits exponential notation. +#thermo_modify format float %15.5e + +# Run 0 timesteps +run 0 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.161827 + ghost atom cutoff = 13.161827 + binsize = 6.5809134, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair mgpt, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair mgpt, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.755 | 3.755 | 3.755 Mbytes + Step Volume Temp PotEng TotEng Press + 0 30278.4 0 -73.996387 -73.996387 -6.3426731e+08 +Loop time of 1.016e-06 on 1 procs for 0 steps with 249 atoms + +98.4% 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.016e-06 | | |100.00 + +Nlocal: 249 ave 249 max 249 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1479 ave 1479 max 1479 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7936 ave 7936 max 7936 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 15872 ave 15872 max 15872 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15872 +Ave neighs/atom = 63.742972 +Neighbor list builds = 0 +Dangerous builds = 0 + +# Convert energy to rydbergs and pressure to gpa + +variable natoms equal "count(all)" +variable voltot equal "vol" +variable atvol equal "v_voltot/v_natoms" +variable etot equal "2.0*pe" +variable etotry equal "v_etot/v_natoms" +variable ptot equal "press" +variable ptotgpa equal "v_ptot/1.0e+09" + +print "number of atoms = ${natoms}" +number of atoms = 249 +print "atomic volume (a.u.) = ${atvol}" +atomic volume (a.u.) = 121.6 +print "total energy (ry/atom) = ${etotry}" +total energy (ry/atom) = -0.594348488796036 +print "pressure (gpa) = ${ptotgpa}" +pressure (gpa) = -0.634267307139553 +print "${natoms} ${atvol} ${etot} ${ptotgpa}" +249 121.6 -147.992773710213 -0.634267307139553 +print "${atvol} ${etotry} ${ptotgpa}" +121.6 -0.594348488796036 -0.634267307139553 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4 b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4 new file mode 100644 index 0000000000..f78e0f1f4f --- /dev/null +++ b/examples/PACKAGES/mgpt/log.7Feb24.vac0-bcc.g++.4 @@ -0,0 +1,144 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice: +# input for unrelaxed vacancy formation energy at constant atomic volume + +units electron +atom_style atomic + +# Atomic volume for MGPT potential in a.u. +variable atomic_vol equal 121.6 + +# Derive effective lattice volume from atomic volume for 249-site cell +variable lat_vol equal ${atomic_vol}*249/250 +variable lat_vol equal 121.6*249/250 + +# Derive lattice constant from lattice volume +variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0) +variable lattice_constant equal (121.1136*2.0)^(1.0/3.0) + +# Create bcc lattice with 5x5x5 unit cells (250 atoms) +lattice bcc ${lattice_constant} +lattice bcc 6.23362926394575 +Lattice spacing in x,y,z = 6.2336293 6.2336293 6.2336293 +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 250 atoms + using lattice units in orthogonal box = (0 0 0) to (31.168146 31.168146 31.168146) + create_atoms CPU = 0.000 seconds + +# Remove central atom from bcc lattice to create vacancy +region vacancy sphere 2.5 2.5 2.5 0.1 units lattice +delete_atoms region vacancy +Deleted 1 atoms, new total = 249 + +# Define potential for use in simulation +pair_style mgpt + +# Set parameters for potential: +# parameter files atomic volume +#pair_coeff * * parmin potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.6 +Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 + +# Create velocities at 0 K +velocity all create 0.0 87287 + +# Set neighbor list parameters +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes + +# Set up microcanonical integrator +fix 1 all nve + +# Dump coordinates to file every 50 timesteps +# dump id all atom 50 dump.vac0-bcc + +# Output thermodynamical data every 10 timesteps +thermo 10 + +# Set output quantities and output format +thermo_style custom step vol temp pe etotal press + +## Example: Output floating point number with 5 digits exponential notation. +#thermo_modify format float %15.5e + +# Run 0 timesteps +run 0 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.161827 + ghost atom cutoff = 13.161827 + binsize = 6.5809134, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair mgpt, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair mgpt, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.73 | 3.73 | 3.73 Mbytes + Step Volume Temp PotEng TotEng Press + 0 30278.4 0 -73.996387 -73.996387 -6.3426731e+08 +Loop time of 2.64725e-06 on 4 procs for 0 steps with 249 atoms + +37.8% 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.647e-06 | | |100.00 + +Nlocal: 62.25 ave 65 max 60 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 867.75 ave 870 max 865 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Neighs: 1984 ave 2099 max 1875 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +FullNghs: 3968 ave 4149 max 3825 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 15872 +Ave neighs/atom = 63.742972 +Neighbor list builds = 0 +Dangerous builds = 0 + +# Convert energy to rydbergs and pressure to gpa + +variable natoms equal "count(all)" +variable voltot equal "vol" +variable atvol equal "v_voltot/v_natoms" +variable etot equal "2.0*pe" +variable etotry equal "v_etot/v_natoms" +variable ptot equal "press" +variable ptotgpa equal "v_ptot/1.0e+09" + +print "number of atoms = ${natoms}" +number of atoms = 249 +print "atomic volume (a.u.) = ${atvol}" +atomic volume (a.u.) = 121.6 +print "total energy (ry/atom) = ${etotry}" +total energy (ry/atom) = -0.594348488795831 +print "pressure (gpa) = ${ptotgpa}" +pressure (gpa) = -0.634267307088164 +print "${natoms} ${atvol} ${etot} ${ptotgpa}" +249 121.6 -147.992773710162 -0.634267307088164 +print "${atvol} ${etotry} ${ptotgpa}" +121.6 -0.594348488795831 -0.634267307088164 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1 b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1 new file mode 100644 index 0000000000..0e68bd0802 --- /dev/null +++ b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.1 @@ -0,0 +1,162 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# script for mgpt t=0 eos with relaxed vacancy in bcc structure: +# input for relaxed vacancy formation energy at constant pressure + +units electron +atom_style atomic + +# Atomic volume for MGPT potential +variable atomic_vol equal 121.863 + +# Derive effective lattice volume from atomic volume for 249-site cell +variable lat_vol equal ${atomic_vol}*249/250 +variable lat_vol equal 121.863*249/250 + +# Derive lattice constant from lattice volume +variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0) +variable lattice_constant equal (121.375548*2.0)^(1.0/3.0) + +# Create bcc lattice with 5x5x5 unit cells (250 atoms) +lattice bcc ${lattice_constant} +lattice bcc 6.23812011912273 +Lattice spacing in x,y,z = 6.2381201 6.2381201 6.2381201 +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 250 atoms + using lattice units in orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601) + create_atoms CPU = 0.000 seconds + +# Remove central atom from bcc lattice to create vacancy +region vacancy sphere 2.5 2.5 2.5 0.1 units lattice +delete_atoms region vacancy +Deleted 1 atoms, new total = 249 + +# Define potential for use in simulation +pair_style mgpt + +# Set parameters for potential: +# parameter files atomic volume +#pair_coeff * * parmin potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.863 +Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 + +# Set neighbor list parameters +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes + +# Dump coordinates to file every 50 timesteps +# dump id all atom 50 dump.vacmin-bcc + +# Output thermodynamical data every 10 timesteps +thermo 10 + +# Set output quantities and output format +thermo_style custom step vol temp pe etotal press + +## Example: Output floating point number with 5 digits exponential notation. +#thermo_modify format float %15.5e + +# minimize total energy +min_style cg +minimize 1.0e-10 1.0e-10 5000 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.171237 + ghost atom cutoff = 13.171237 + binsize = 6.5856184, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair mgpt, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair mgpt, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.88 | 4.88 | 4.88 Mbytes + Step Volume Temp PotEng TotEng Press + 0 30343.887 0 -73.994511 -73.994511 -1.0504398e+09 + 10 30343.887 0 -74.002332 -74.002332 -1.107516e+09 + 20 30343.887 0 -74.00485 -74.00485 -1.1316373e+09 + 30 30343.887 0 -74.005762 -74.005762 -1.143304e+09 + 40 30343.887 0 -74.006116 -74.006116 -1.149395e+09 + 50 30343.887 0 -74.006262 -74.006262 -1.1527914e+09 + 60 30343.887 0 -74.006323 -74.006323 -1.1547677e+09 + 70 30343.887 0 -74.00635 -74.00635 -1.1559529e+09 + 80 30343.887 0 -74.006361 -74.006361 -1.1566763e+09 + 90 30343.887 0 -74.006366 -74.006366 -1.1571256e+09 + 100 30343.887 0 -74.006369 -74.006369 -1.1574093e+09 + 110 30343.887 0 -74.00637 -74.00637 -1.1575908e+09 + 120 30343.887 0 -74.00637 -74.00637 -1.1577083e+09 + 130 30343.887 0 -74.00637 -74.00637 -1.1577849e+09 + 139 30343.887 0 -74.006371 -74.006371 -1.1578311e+09 +Loop time of 2.58636 on 1 procs for 139 steps with 249 atoms + +90.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + -73.9945109564338 -74.0063705487283 -74.0063705557007 + Force two-norm initial, final = 0.036622686 8.090814e-05 + Force max component initial, final = 0.0073094815 8.0524205e-06 + Final line search alpha, max atom move = 1 8.0524205e-06 + Iterations, force evaluations = 139 139 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.5671 | 2.5671 | 2.5671 | 0.0 | 99.26 +Neigh | 0.015241 | 0.015241 | 0.015241 | 0.0 | 0.59 +Comm | 0.001446 | 0.001446 | 0.001446 | 0.0 | 0.06 +Output | 0.00038428 | 0.00038428 | 0.00038428 | 0.0 | 0.01 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.002161 | | | 0.08 + +Nlocal: 249 ave 249 max 249 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1479 ave 1479 max 1479 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7936 ave 7936 max 7936 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 15872 ave 15872 max 15872 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15872 +Ave neighs/atom = 63.742972 +Neighbor list builds = 4 +Dangerous builds = 0 + +# Convert energy to rydbergs and pressure to gpa + +variable natoms equal "count(all)" +variable voltot equal "vol" +variable atvol equal "v_voltot/v_natoms" +variable etot equal "2.0*pe" +variable etotry equal "v_etot/v_natoms" +variable ptot equal "press" +variable ptotgpa equal "v_ptot/1.0e+09" + +print "number of atoms = ${natoms}" +number of atoms = 249 +print "atomic volume (a.u.) = ${atvol}" +atomic volume (a.u.) = 121.863 +print "total energy (ry/atom) = ${etotry}" +total energy (ry/atom) = -0.594428679162253 +print "pressure (gpa) = ${ptotgpa}" +pressure (gpa) = -1.15783109516516 +print "${natoms} ${atvol} ${etot} ${ptotgpa}" +249 121.863 -148.012741111401 -1.15783109516516 +print "${atvol} ${etotry} ${ptotgpa}" +121.863 -0.594428679162253 -1.15783109516516 +Total wall time: 0:00:02 diff --git a/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4 b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4 new file mode 100644 index 0000000000..50af5c02e1 --- /dev/null +++ b/examples/PACKAGES/mgpt/log.7Feb24.vacmin-bcc.g++.4 @@ -0,0 +1,162 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-744-g031cef558e-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# script for mgpt t=0 eos with relaxed vacancy in bcc structure: +# input for relaxed vacancy formation energy at constant pressure + +units electron +atom_style atomic + +# Atomic volume for MGPT potential +variable atomic_vol equal 121.863 + +# Derive effective lattice volume from atomic volume for 249-site cell +variable lat_vol equal ${atomic_vol}*249/250 +variable lat_vol equal 121.863*249/250 + +# Derive lattice constant from lattice volume +variable lattice_constant equal (${lat_vol}*2.0)^(1.0/3.0) +variable lattice_constant equal (121.375548*2.0)^(1.0/3.0) + +# Create bcc lattice with 5x5x5 unit cells (250 atoms) +lattice bcc ${lattice_constant} +lattice bcc 6.23812011912273 +Lattice spacing in x,y,z = 6.2381201 6.2381201 6.2381201 +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 250 atoms + using lattice units in orthogonal box = (0 0 0) to (31.190601 31.190601 31.190601) + create_atoms CPU = 0.000 seconds + +# Remove central atom from bcc lattice to create vacancy +region vacancy sphere 2.5 2.5 2.5 0.1 units lattice +delete_atoms region vacancy +Deleted 1 atoms, new total = 249 + +# Define potential for use in simulation +pair_style mgpt + +# Set parameters for potential: +# parameter files atomic volume +#pair_coeff * * parmin potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin ${atomic_vol} +pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin 121.863 +Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 + +# Set neighbor list parameters +neighbor 0.1 bin +neigh_modify every 1 delay 0 check yes + +# Dump coordinates to file every 50 timesteps +# dump id all atom 50 dump.vacmin-bcc + +# Output thermodynamical data every 10 timesteps +thermo 10 + +# Set output quantities and output format +thermo_style custom step vol temp pe etotal press + +## Example: Output floating point number with 5 digits exponential notation. +#thermo_modify format float %15.5e + +# minimize total energy +min_style cg +minimize 1.0e-10 1.0e-10 5000 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.171237 + ghost atom cutoff = 13.171237 + binsize = 6.5856184, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair mgpt, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair mgpt, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.855 | 4.855 | 4.855 Mbytes + Step Volume Temp PotEng TotEng Press + 0 30343.887 0 -73.994511 -73.994511 -1.0504398e+09 + 10 30343.887 0 -74.002332 -74.002332 -1.107516e+09 + 20 30343.887 0 -74.00485 -74.00485 -1.1316373e+09 + 30 30343.887 0 -74.005762 -74.005762 -1.143304e+09 + 40 30343.887 0 -74.006116 -74.006116 -1.149395e+09 + 50 30343.887 0 -74.006262 -74.006262 -1.1527914e+09 + 60 30343.887 0 -74.006323 -74.006323 -1.1547677e+09 + 70 30343.887 0 -74.00635 -74.00635 -1.1559529e+09 + 80 30343.887 0 -74.006361 -74.006361 -1.1566763e+09 + 90 30343.887 0 -74.006366 -74.006366 -1.1571256e+09 + 100 30343.887 0 -74.006369 -74.006369 -1.1574093e+09 + 110 30343.887 0 -74.00637 -74.00637 -1.1575908e+09 + 120 30343.887 0 -74.00637 -74.00637 -1.1577083e+09 + 130 30343.887 0 -74.00637 -74.00637 -1.1577849e+09 + 139 30343.887 0 -74.006371 -74.006371 -1.1578311e+09 +Loop time of 0.972735 on 4 procs for 139 steps with 249 atoms + +89.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + -73.9945109564331 -74.0063705487423 -74.0063705556773 + Force two-norm initial, final = 0.036622686 8.090814e-05 + Force max component initial, final = 0.0073094815 8.0524207e-06 + Final line search alpha, max atom move = 1 8.0524207e-06 + Iterations, force evaluations = 139 139 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.9418 | 0.94514 | 0.9488 | 0.3 | 97.16 +Neigh | 0.0083827 | 0.0084423 | 0.0085002 | 0.0 | 0.87 +Comm | 0.011833 | 0.015482 | 0.01882 | 2.0 | 1.59 +Output | 0.0002579 | 0.00029089 | 0.000389 | 0.0 | 0.03 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.003376 | | | 0.35 + +Nlocal: 62.25 ave 68 max 59 min +Histogram: 1 1 0 1 0 0 0 0 0 1 +Nghost: 867.75 ave 871 max 862 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Neighs: 1984 ave 2211 max 1853 min +Histogram: 1 1 1 0 0 0 0 0 0 1 +FullNghs: 3968 ave 4334 max 3761 min +Histogram: 1 1 0 1 0 0 0 0 0 1 + +Total # of neighbors = 15872 +Ave neighs/atom = 63.742972 +Neighbor list builds = 4 +Dangerous builds = 0 + +# Convert energy to rydbergs and pressure to gpa + +variable natoms equal "count(all)" +variable voltot equal "vol" +variable atvol equal "v_voltot/v_natoms" +variable etot equal "2.0*pe" +variable etotry equal "v_etot/v_natoms" +variable ptot equal "press" +variable ptotgpa equal "v_ptot/1.0e+09" + +print "number of atoms = ${natoms}" +number of atoms = 249 +print "atomic volume (a.u.) = ${atvol}" +atomic volume (a.u.) = 121.863 +print "total energy (ry/atom) = ${etotry}" +total energy (ry/atom) = -0.594428679162068 +print "pressure (gpa) = ${ptotgpa}" +pressure (gpa) = -1.15783109519336 +print "${natoms} ${atvol} ${etot} ${ptotgpa}" +249 121.863 -148.012741111355 -1.15783109519336 +print "${atvol} ${etotry} ${ptotgpa}" +121.863 -0.594428679162068 -1.15783109519336 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/mgpt/log.bcc0 b/examples/PACKAGES/mgpt/log.bcc0 deleted file mode 100644 index 4e4df5da4f..0000000000 --- a/examples/PACKAGES/mgpt/log.bcc0 +++ /dev/null @@ -1,53 +0,0 @@ -LAMMPS (23 Oct 2015) -# script for mgpt t=0 eos in bulk bcc structure - -echo screen -Lattice spacing in x,y,z = 6.24196 6.24196 6.24196 -Created orthogonal box = (0 0 0) to (31.2098 31.2098 31.2098) - 1 by 1 by 1 MPI processor grid -Created 250 atoms -Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 -Neighbor list info ... - 2 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 13.1618 - ghost atom cutoff = 13.1618 - binsize = 6.58091 -> bins = 5 5 5 -Memory usage per processor = 3.54482 Mbytes -Step Volume Temp PotEng TotEng Press - 0 30400 0 -74.412503 -74.412503 -1.1594626e+09 -Loop time of 1.90735e-06 on 1 procs for 0 steps with 250 atoms - -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 | 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: 250 ave 250 max 250 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1479 ave 1479 max 1479 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8000 ave 8000 max 8000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 16000 ave 16000 max 16000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 16000 -Ave neighs/atom = 64 -Neighbor list builds = 0 -Dangerous builds = 0 -number of atoms = 250 -atomic volume (a.u.) = 121.6 -total energy (ry/atom) = -0.59530002488734 -pressure (gpa) = -1.15946260887556 -250 121.6 -148.825006221835 -1.15946260887556 -121.6 -0.59530002488734 -1.15946260887556 -Total wall time: 0:00:00 diff --git a/examples/PACKAGES/mgpt/log.vac0-bcc b/examples/PACKAGES/mgpt/log.vac0-bcc deleted file mode 100644 index 63880de450..0000000000 --- a/examples/PACKAGES/mgpt/log.vac0-bcc +++ /dev/null @@ -1,55 +0,0 @@ -LAMMPS (23 Oct 2015) -# script for mgpt t=0 eos with unrelaxed vacancy in bcc lattice: -# input for unrelaxed vacancy formation energy at constant atomic volume - -echo screen -Lattice spacing in x,y,z = 6.23363 6.23363 6.23363 -Created orthogonal box = (0 0 0) to (31.1681 31.1681 31.1681) - 1 by 1 by 1 MPI processor grid -Created 250 atoms -Deleted 1 atoms, new total = 249 -Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 -Neighbor list info ... - 2 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 13.1618 - ghost atom cutoff = 13.1618 - binsize = 6.58091 -> bins = 5 5 5 -Memory usage per processor = 3.54478 Mbytes -Step Volume Temp PotEng TotEng Press - 0 30278.4 0 -73.996387 -73.996387 -6.3426731e+08 -Loop time of 1.90735e-06 on 1 procs for 0 steps with 249 atoms - -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 | 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: 249 ave 249 max 249 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1479 ave 1479 max 1479 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 7936 ave 7936 max 7936 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 15872 ave 15872 max 15872 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 15872 -Ave neighs/atom = 63.743 -Neighbor list builds = 0 -Dangerous builds = 0 -number of atoms = 249 -atomic volume (a.u.) = 121.6 -total energy (ry/atom) = -0.594348488796036 -pressure (gpa) = -0.634267307139601 -249 121.6 -147.992773710213 -0.634267307139601 -121.6 -0.594348488796036 -0.634267307139601 -Total wall time: 0:00:00 diff --git a/examples/PACKAGES/mgpt/log.vacmin-bcc b/examples/PACKAGES/mgpt/log.vacmin-bcc deleted file mode 100644 index 876b34eb1e..0000000000 --- a/examples/PACKAGES/mgpt/log.vacmin-bcc +++ /dev/null @@ -1,78 +0,0 @@ -LAMMPS (23 Oct 2015) -# script for mgpt t=0 eos with relaxed vacancy in bcc structure: -# input for relaxed vacancy formation energy at constant pressure - -echo screen -Lattice spacing in x,y,z = 6.23812 6.23812 6.23812 -Created orthogonal box = (0 0 0) to (31.1906 31.1906 31.1906) - 1 by 1 by 1 MPI processor grid -Created 250 atoms -Deleted 1 atoms, new total = 249 -Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 -Neighbor list info ... - 2 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 13.1712 - ghost atom cutoff = 13.1712 - binsize = 6.58562 -> bins = 5 5 5 -Memory usage per processor = 4.66978 Mbytes -Step Volume Temp PotEng TotEng Press - 0 30343.887 0 -73.994511 -73.994511 -1.0504398e+09 - 10 30343.887 0 -74.002332 -74.002332 -1.107516e+09 - 20 30343.887 0 -74.00485 -74.00485 -1.1316373e+09 - 30 30343.887 0 -74.005762 -74.005762 -1.143304e+09 - 40 30343.887 0 -74.006116 -74.006116 -1.149395e+09 - 50 30343.887 0 -74.006262 -74.006262 -1.1527914e+09 - 60 30343.887 0 -74.006323 -74.006323 -1.1547677e+09 - 70 30343.887 0 -74.00635 -74.00635 -1.1559529e+09 - 80 30343.887 0 -74.006361 -74.006361 -1.1566763e+09 - 90 30343.887 0 -74.006366 -74.006366 -1.1571256e+09 - 100 30343.887 0 -74.006369 -74.006369 -1.1574093e+09 - 110 30343.887 0 -74.00637 -74.00637 -1.1575908e+09 - 120 30343.887 0 -74.00637 -74.00637 -1.1577083e+09 - 130 30343.887 0 -74.00637 -74.00637 -1.1577849e+09 - 139 30343.887 0 -74.006371 -74.006371 -1.1578311e+09 -Loop time of 4.22107 on 1 procs for 139 steps with 249 atoms - -92.1% CPU use with 1 MPI tasks x no OpenMP threads - -Minimization stats: - Stopping criterion = energy tolerance - Energy initial, next-to-last, final = - -73.9945109564 -74.0063705487 -74.0063705557 - Force two-norm initial, final = 0.0366227 8.09081e-05 - Force max component initial, final = 0.00730948 8.05242e-06 - Final line search alpha, max atom move = 1 8.05242e-06 - Iterations, force evaluations = 139 139 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.1973 | 4.1973 | 4.1973 | 0.0 | 99.44 -Neigh | 0.018799 | 0.018799 | 0.018799 | 0.0 | 0.45 -Comm | 0.0017059 | 0.0017059 | 0.0017059 | 0.0 | 0.04 -Output | 0.00080252 | 0.00080252 | 0.00080252 | 0.0 | 0.02 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.002477 | | | 0.06 - -Nlocal: 249 ave 249 max 249 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1479 ave 1479 max 1479 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 7936 ave 7936 max 7936 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 15872 ave 15872 max 15872 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 15872 -Ave neighs/atom = 63.743 -Neighbor list builds = 4 -Dangerous builds = 0 -number of atoms = 249 -atomic volume (a.u.) = 121.863 -total energy (ry/atom) = -0.594428679162064 -pressure (gpa) = -1.15783109519801 -249 121.863 -148.012741111354 -1.15783109519801 -121.863 -0.594428679162064 -1.15783109519801 -Total wall time: 0:00:04 From 6ecc348a664ca294736dbd71c5f759563fea9965 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 7 Feb 2024 04:22:09 -0500 Subject: [PATCH 4/9] final changes so MGPT compiles without warnings with and without timings enabled --- src/MGPT/mgpt_readpot.cpp | 16 ++++------- src/MGPT/pair_mgpt.cpp | 60 ++++++++++++++++++++++++--------------- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/src/MGPT/mgpt_readpot.cpp b/src/MGPT/mgpt_readpot.cpp index ab25a9e190..64153dfe30 100644 --- a/src/MGPT/mgpt_readpot.cpp +++ b/src/MGPT/mgpt_readpot.cpp @@ -156,7 +156,7 @@ static void getparmindata(const char *potin_file,int nvol[1],double vol0[1],doub void potdata::readpot(const char *parmin_file,const char *potin_file,const double vol) { FILE *in; - double x0,x1,dx,dr; + double x0,x1,dx; int nx; double r0x,r1x,drx; @@ -348,7 +348,7 @@ void potdata::readpot(const char *parmin_file,const char *potin_file,const doubl nrx = (int) ((r1x-r0x)/drx + 1.1); /* Really: 1+round((r1-r0)/dr) */ if (ii == 0) { - r0 = r0x; r1 = r1x; dr = drx; nr = nrx; + r0 = r0x; r1 = r1x; nr = nrx; vpairtab = new double[nx*nr]; } else { /* Check that {r0,r1,dr,nr}x == {r0,r1,dr,nr} */ @@ -373,15 +373,12 @@ void potdata::readpot(const char *parmin_file,const char *potin_file,const doubl double r0rws = r0rwstab[i]; double r00 = r0rws*rws,rp = 1.8*rws; if (bscreen == 0) r0rws = 10.0; - double alp = al,alm = al; - if (mode == 2 || mode == 4 || mode == 6) alm = 125.0; + double alp = al; al = alp; double r = r0 + j*(r1-r0)/(nr-1); double rrws = r/rws; - //double rsqr = r*r; - // double fl(double r,int mode,double rp,double p1,double al,double r0) double flr = fl(r,mode,rp,p1,al,r00,pn); double fl2 = flr*flr; double v2a = vatab[i]*fl2*fl2; @@ -392,15 +389,12 @@ void potdata::readpot(const char *parmin_file,const char *potin_file,const doubl double arg = rrws/r0rwstab[i]; double arg1 = arg - 1.0; double arg12 = arg1*arg1; - double f,dp; + double f; if (mode <= 2) { f = fgauss(arg,al); - dp=2.*al*arg*arg1; - } - else { + } else { f = hgauss(arg,al); double arg13 = arg1*arg12; - dp=2.0*al*al*arg*arg13/(1.+al*arg12); } fscr = f*f; } diff --git a/src/MGPT/pair_mgpt.cpp b/src/MGPT/pair_mgpt.cpp index f42a0d254e..986c3e4aef 100644 --- a/src/MGPT/pair_mgpt.cpp +++ b/src/MGPT/pair_mgpt.cpp @@ -39,7 +39,7 @@ using namespace LAMMPS_NS; -//#define TIMING_ON +// #define TIMING_ON #ifdef TIMING_ON #include @@ -49,13 +49,11 @@ using namespace LAMMPS_NS; #include #endif -static double gettime(int x = 0) { +static double gettime() { if (1) { - /* struct timeval tv; gettimeofday(&tv,nullptr); return tv.tv_sec + 1e-6 * tv.tv_usec; - */ /* const double x = 1.0 / CLOCKS_PER_SEC; return clock() * x; @@ -68,16 +66,17 @@ static double gettime(int x = 0) { return x*invfreq; */ + /* const double invfreq = 1.0 / 1.6e9; unsigned long long int x = GetTimeBase(); return x*invfreq; - + */ } else return 0.0; } #else -static double gettime(int /*x*/ = 0) { return 0.0; } +static double gettime() { return 0.0; } #endif @@ -569,6 +568,7 @@ void PairMGPT::force_debug_4(double xx[][3], #ifdef __bg__ #define const #endif +#ifdef TIMING_ON static int ntr_calls = 0; static trtrace3_fun tr_internal; static void tr_count(const double * restrict A, @@ -578,6 +578,7 @@ static void tr_count(const double * restrict A, tr_internal(A,B1,t1,B2,t2,B3,t3); ntr_calls++; } +#endif #ifdef __bg__ #undef const #endif @@ -592,14 +593,16 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, int i,j,k,m,ix,jx,kx,p; double e_single,e_pair,e_triplet,e_triplet_c,e_quad; double volvir2; - +#ifdef TIMING_ON + double nbc = 0.0,tbl = 0.0,tbm = 0.0; +#endif *e_s = -99.0; *e_p = -99.0; *e_t = -99.0; *e_q = -99.0; #ifdef TIMING_ON - double t0 = gettime(1); + double t0 = gettime(); #endif e_single = e_pair = e_triplet = e_triplet_c = e_quad = 0.0; volvir2 = 0.0; @@ -608,12 +611,12 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, n_make = n_make_b2 = n_trace = 0.0; #ifdef TIMING_ON - double tx0,tx1,tpair = 0.0,tlookup = 0.0; + double tsort = 0.0, tpair = 0.0,tlookup = 0.0; double ttriplet = 0.0,tquad = 0.0,tmem = 0.0; double ntsort = 0.0,ntpair = 0.0,ntlookup = 0.0; double nttriplet = 0.0,ntquad = 0.0,ntmem = 0.0,ntquaditer = 0.0; -#endif double mcount = 0.0,mcount2 = 0.0, qcount = 0.0; +#endif double fix,fjx,fkx,fmx,dfix,dfjx,dfkx,dfmx; double fiy,fjy,fky,fmy,dfiy,dfjy,dfky,dfmy; @@ -762,7 +765,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, fiy = fjy = fky = fmy = 0.0; fiz = fjz = fkz = fmz = 0.0; +#ifdef TIMING_ON int c_p = 0, c_t = 0, c_q = 0; +#endif if (false) if (domain->triclinic) { @@ -816,8 +821,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, if (pair_energies == 0) de_pair = 0.0; e_pair = e_pair + de_pair; +#ifdef TIMING_ON c_p++; - +#endif if (pair_forces == 0) df = 0.0; if (volpres_flag && pair_energies) { @@ -995,8 +1001,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, vir3t = vir3t + dvir; xvir3t = xvir3t + dvir; } +#ifdef TIMING_ON mcount2++; - +#endif { const double vc = splinepot.vc; tr_trace3(&(bki->H.m[1][0]), @@ -1048,8 +1055,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, } if (T12 != nullptr) { - //printf("T12 i,j,k = %d,%d,%d\n",i,j,k); +#ifdef TIMING_ON mcount++; +#endif if (three_body_energies && evflag) { tr1 = transtrace(T12->H1H2,T12->H1H2); double dvir = (2.0*(dvir_ij + dvir_jk)*splinepot.vd + @@ -1104,8 +1112,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, } if (T23 != nullptr) { - //printf("T23 i,j,k = %d,%d,%d\n",i,j,k); +#ifdef TIMING_ON mcount++; +#endif if (three_body_energies && evflag) { tr2 = transtrace(T23->H1H2,T23->H1H2); double dvir = (2.0*(dvir_jk + dvir_ki)*splinepot.vd + @@ -1160,8 +1169,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, } if (T31 != nullptr) { - //printf("T31 i,j,k = %d,%d,%d\n",i,j,k); +#ifdef TIMING_ON mcount++; +#endif if (three_body_energies && evflag) { tr3 = transtrace(T31->H1H2,T31->H1H2); double dvir = (2.0*(dvir_ki + dvir_ij)*splinepot.vd + @@ -1220,8 +1230,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, double de_triplet = (splinepot.vc*v33 + splinepot.vd*v43) * e_scale * w3; e_triplet = e_triplet + de_triplet; e_triplet_c = e_triplet_c + splinepot.vc*v33 * e_scale * w3; +#ifdef TIMING_ON c_t++; - +#endif //printf("xxxx %6d %6d %6d :: %20.10e\n",1,2,3,de_triplet); if (evflag) { @@ -1352,8 +1363,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, vir4 = vir4 + dvir; xvir4 = xvir4 + dvir; } +#ifdef TIMING_ON qcount++; - +#endif { const double ve = splinepot.ve; @@ -1381,8 +1393,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, vir4 = vir4 + dvir; xvir4 = xvir4 + dvir; } +#ifdef TIMING_ON qcount++; - +#endif { const double ve = splinepot.ve; @@ -1411,8 +1424,9 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, vir4 = vir4 + dvir; xvir4 = xvir4 + dvir; } +#ifdef TIMING_ON qcount++; - +#endif { const double ve = splinepot.ve; @@ -1435,11 +1449,13 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, double de_quad = splinepot.ve*(tr1 + tr2 + tr3)/anorm4 * e_scale * w4; e_quad = e_quad + de_quad; +#ifdef TIMING_ON if ((T12 && T45) || (T23 && T56) || (T31 && T64)) { c_q++; } +#endif if (evflag) { double drim[3],drjm[3],drkm[3]; @@ -1546,7 +1562,7 @@ void PairMGPT::compute_x(const int *nnei,const int * const *nlist, tmem += tx1-tx0; ntmem++; - double t1 = gettime(1); + double t1 = gettime(); if (comm->me == 0) { double tsum = (tmem+tsort+tpair+tlookup+ttriplet+tquad); @@ -1840,7 +1856,7 @@ void PairMGPT::coeff(int narg, char **arg) single_precision = 0; /* Parse arguments */ { - int volpres_tag = 0,precision_tag = 0,nbody_tag = 0; + int nbody_tag = 0; int iarg = 5; while (iarg < narg) { @@ -1856,7 +1872,6 @@ void PairMGPT::coeff(int narg, char **arg) "The value is \"%s\".\n",FLERR,arg[iarg+1]); error->all(FLERR,line); } - volpres_tag = 1; iarg += 2; if (comm->me == 0) printf("* volpress: volpres_flag = %d [%s %s]\n",volpres_flag,arg[iarg-2],arg[iarg-1]); } else if (strcmp(arg[iarg],"nbody") == 0) { @@ -1892,7 +1907,6 @@ void PairMGPT::coeff(int narg, char **arg) "The value is \"%s\".\n",FLERR,arg[iarg+1]); error->all(FLERR,line); } - precision_tag = 1; iarg += 2; if (comm->me == 0) printf("* precision: single_flag = %d [%s %s]\n",single_precision,arg[iarg-2],arg[iarg-1]); } else { From ff5aa34f5a64d8ebabb550890a025ef26c0b8e85 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 7 Feb 2024 04:31:20 -0500 Subject: [PATCH 5/9] remove some dead code --- src/INTEL/pair_airebo_intel.cpp | 3 --- src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp | 5 +---- src/MGPT/mgpt_readpot.cpp | 1 - 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/INTEL/pair_airebo_intel.cpp b/src/INTEL/pair_airebo_intel.cpp index 8d2475604b..cc3168cb99 100644 --- a/src/INTEL/pair_airebo_intel.cpp +++ b/src/INTEL/pair_airebo_intel.cpp @@ -1602,9 +1602,6 @@ void ref_torsion_single_interaction(KernelArgsAIREBOT * ka, int i, flt_t thmin = ka->params.thmin; flt_t thmax = ka->params.thmax; int itype = map[x[i].w]; - flt_t xtmp = x[i].x; - flt_t ytmp = x[i].y; - flt_t ztmp = x[i].z; int * REBO_neighs_i = &ka->neigh_rebo.entries[ka->neigh_rebo.offset[i]]; int jnum = ka->neigh_rebo.num[i]; int jtype = map[x[j].w]; diff --git a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp index faae6e5cbc..8cd02c934e 100644 --- a/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -131,8 +131,7 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, int nlocal, nall, minlocal; fix->get_buffern(offload, nlocal, nall, minlocal); - const int ago = neighbor->ago; - IP_PRE_pack_separate_buffers(fix, buffers, ago, offload, nlocal, nall); + IP_PRE_pack_separate_buffers(fix, buffers, neighbor->ago, offload, nlocal, nall); ATOM_T * _noalias const x = buffers->get_x(offload); flt_t * _noalias const q = buffers->get_q(offload); @@ -231,7 +230,6 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, else foff = -minlocal; FORCE_T * _noalias const f = f_start + foff; if (NEWTON_PAIR) memset(f + minlocal, 0, f_stride * sizeof(FORCE_T)); - flt_t cutboth = cut_coulsq; const int toffs = tid * ccache_stride; flt_t * _noalias const tdelx = ccachex + toffs; @@ -246,7 +244,6 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, const int itype = x[i].w; const int ptr_off = itype * ntypes; - const flt_t * _noalias const cutsqi = cutsq + ptr_off; const LJ_T * _noalias const lji = lj + ptr_off; const int * _noalias const jlist = firstneigh[i]; diff --git a/src/MGPT/mgpt_readpot.cpp b/src/MGPT/mgpt_readpot.cpp index 64153dfe30..05c9e2ddfc 100644 --- a/src/MGPT/mgpt_readpot.cpp +++ b/src/MGPT/mgpt_readpot.cpp @@ -394,7 +394,6 @@ void potdata::readpot(const char *parmin_file,const char *potin_file,const doubl f = fgauss(arg,al); } else { f = hgauss(arg,al); - double arg13 = arg1*arg12; } fscr = f*f; } From 1eeb7ab19e9c0fa911c9db5ab7a978d8d42ce1f6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 7 Feb 2024 05:03:20 -0500 Subject: [PATCH 6/9] update version tags for feature release --- doc/lammps.1 | 4 ++-- doc/src/Build_settings.rst | 2 +- doc/src/Commands_removed.rst | 2 +- doc/src/Fortran.rst | 6 +++--- doc/src/angle_lepton.rst | 2 +- doc/src/bond_lepton.rst | 2 +- doc/src/compute_pace.rst | 2 +- doc/src/compute_rattlers_atom.rst | 2 +- doc/src/compute_reaxff_atom.rst | 2 +- doc/src/compute_slcsa_atom.rst | 2 +- doc/src/fix_nonaffine_displacement.rst | 2 +- doc/src/info.rst | 2 +- doc/src/molecule.rst | 2 +- doc/src/variable.rst | 4 ++-- python/lammps/core.py | 6 +++--- src/library.cpp | 6 ++++-- src/version.h | 3 +-- 17 files changed, 26 insertions(+), 25 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 100ea9b663..0c7c9a0354 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "21 November 2023" "2023-11-21" +.TH LAMMPS "1" "7 February 2024" "2024-02-07" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 21 November 2023 +\- Molecular Dynamics Simulator. Version 7 February 2024 .SH SYNOPSIS .B lmp diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst index a9a9eb25bf..34100871ce 100644 --- a/doc/src/Build_settings.rst +++ b/doc/src/Build_settings.rst @@ -44,7 +44,7 @@ require use of an FFT library to compute 1d FFTs. The KISS FFT library is included with LAMMPS, but other libraries can be faster. LAMMPS can use them if they are available on your system. -.. versionadded:: TBD +.. versionadded:: 7Feb2024 Alternatively, LAMMPS can use the `heFFTe `_ library for the MPI diff --git a/doc/src/Commands_removed.rst b/doc/src/Commands_removed.rst index 98a52fc2d7..0ade07af64 100644 --- a/doc/src/Commands_removed.rst +++ b/doc/src/Commands_removed.rst @@ -129,7 +129,7 @@ USER-REAXC. USER-REAXC package ------------------ -.. deprecated:: TBD +.. deprecated:: 7Feb2024 The USER-REAXC package has been renamed to :ref:`REAXFF `. In the process also the pair style and related fixes were renamed to use diff --git a/doc/src/Fortran.rst b/doc/src/Fortran.rst index c8d153b2e3..64fca57a02 100644 --- a/doc/src/Fortran.rst +++ b/doc/src/Fortran.rst @@ -1402,7 +1402,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type Set the value of a string-style variable. - .. deprecated:: TBD + .. deprecated:: 7Feb2024 This function assigns a new value from the string *str* to the string-style variable *name*\ . If *name* does not exist or is not a string-style @@ -1423,7 +1423,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type Set the value of a string-style variable. - .. versionadded:: TBD + .. versionadded:: 7Feb2024 This function assigns a new value from the string *str* to the string-style variable *name*\ . If *name* does not exist or is not a string-style @@ -1439,7 +1439,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type Set the value of a internal-style variable. - .. versionadded:: TBD + .. versionadded:: 7Feb2024 This function assigns a new value from the floating-point number *val* to the internal-style variable *name*\ . If *name* does not exist or is not diff --git a/doc/src/angle_lepton.rst b/doc/src/angle_lepton.rst index 22873f5765..e03e5cf456 100644 --- a/doc/src/angle_lepton.rst +++ b/doc/src/angle_lepton.rst @@ -51,7 +51,7 @@ angle coefficient. For example `"200.0*theta^2"` represents a U_{angle,i} = K (\theta_i - \theta_0)^2 = K \theta^2 \qquad \theta = \theta_i - \theta_0 -.. versionchanged:: TBD +.. versionchanged:: 7Feb2024 By default the potential energy U is shifted so that the value U is 0.0 for $theta = theta_0$. This is equivalent to using the optional keyword diff --git a/doc/src/bond_lepton.rst b/doc/src/bond_lepton.rst index 9429535af8..5425b8695c 100644 --- a/doc/src/bond_lepton.rst +++ b/doc/src/bond_lepton.rst @@ -50,7 +50,7 @@ constant *K* of 200.0 energy units: U_{bond,i} = K (r_i - r_0)^2 = K r^2 \qquad r = r_i - r_0 -.. versionchanged:: TBD +.. versionchanged:: 7Feb2024 By default the potential energy U is shifted so that he value U is 0.0 for $r = r_0$. This is equivalent to using the optional keyword diff --git a/doc/src/compute_pace.rst b/doc/src/compute_pace.rst index c510319dfc..b18903f554 100644 --- a/doc/src/compute_pace.rst +++ b/doc/src/compute_pace.rst @@ -36,7 +36,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 7Feb2024 This compute calculates a set of quantities related to the atomic cluster expansion (ACE) descriptors of the atoms in a group. ACE diff --git a/doc/src/compute_rattlers_atom.rst b/doc/src/compute_rattlers_atom.rst index cf4e888657..ba14a1fd44 100644 --- a/doc/src/compute_rattlers_atom.rst +++ b/doc/src/compute_rattlers_atom.rst @@ -32,7 +32,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 7Feb2024 Define a compute that identifies rattlers in a system. Rattlers are often identified in granular or glassy packings as under-coordinated atoms that diff --git a/doc/src/compute_reaxff_atom.rst b/doc/src/compute_reaxff_atom.rst index 997ad02e9f..deab29feea 100644 --- a/doc/src/compute_reaxff_atom.rst +++ b/doc/src/compute_reaxff_atom.rst @@ -40,7 +40,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 7Feb2024 Define a computation that extracts bond information computed by the ReaxFF potential specified by :doc:`pair_style reaxff `. diff --git a/doc/src/compute_slcsa_atom.rst b/doc/src/compute_slcsa_atom.rst index 6b2708c4d9..7338b92d59 100644 --- a/doc/src/compute_slcsa_atom.rst +++ b/doc/src/compute_slcsa_atom.rst @@ -32,7 +32,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 7Feb2024 Define a computation that performs the Supervised Learning Crystal Structure Analysis (SL-CSA) from :ref:`(Lafourcade) ` diff --git a/doc/src/fix_nonaffine_displacement.rst b/doc/src/fix_nonaffine_displacement.rst index 363b0a747a..c6dfbc2e49 100644 --- a/doc/src/fix_nonaffine_displacement.rst +++ b/doc/src/fix_nonaffine_displacement.rst @@ -44,7 +44,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 7Feb2024 This fix computes different metrics of the nonaffine displacement of particles. The first metric, *d2min* calculates the :math:`D^2_\mathrm{min}` diff --git a/doc/src/info.rst b/doc/src/info.rst index ac70034c30..b06fa4fc5d 100644 --- a/doc/src/info.rst +++ b/doc/src/info.rst @@ -92,7 +92,7 @@ The *accelerator* category prints out information about compile time settings of included accelerator support for the GPU, KOKKOS, INTEL, and OPENMP packages. -.. versionadded:: TBD +.. versionadded:: 7Feb2024 The *fft* category prints out information about the included 3d-FFT support. This lists the 3d-FFT engine, FFT precision, FFT library diff --git a/doc/src/molecule.rst b/doc/src/molecule.rst index e1770ced2a..1fe3f36eaa 100644 --- a/doc/src/molecule.rst +++ b/doc/src/molecule.rst @@ -376,7 +376,7 @@ not listed, the default diameter of each atom in the molecule is 1.0. ---------- -.. versionadded:: TBD +.. versionadded:: 7Feb2024 *Dipoles* section: diff --git a/doc/src/variable.rst b/doc/src/variable.rst index a70ac25836..1cd96543f5 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -706,7 +706,7 @@ library. Ceil() is the smallest integer not less than its argument. Floor() if the largest integer not greater than its argument. Round() is the nearest integer to its argument. -.. versionadded:: TBD +.. versionadded:: 7Feb2024 The ternary(x,y,z) function is the equivalent of the ternary operator (? and :) in C or C++. It takes 3 arguments. The first argument is a @@ -1155,7 +1155,7 @@ variable by using the :doc:`compute property/atom Custom atom properties ---------------------- -.. versionadded:: TBD +.. versionadded:: 7Feb2024 Custom atom properties refer to per-atom integer and floating point vectors or arrays that have been added via the :doc:`fix property/atom diff --git a/python/lammps/core.py b/python/lammps/core.py index f4ba7d398b..28b384d6ba 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1254,7 +1254,7 @@ class lammps(object): def set_variable(self,name,value): """Set a new value for a LAMMPS string style variable - .. deprecated:: TBD + .. deprecated:: 7Feb2024 This is a wrapper around the :cpp:func:`lammps_set_variable` function of the C-library interface. @@ -1278,7 +1278,7 @@ class lammps(object): def set_string_variable(self,name,value): """Set a new value for a LAMMPS string style variable - .. versionadded:: TBD + .. versionadded:: 7Feb2024 This is a wrapper around the :cpp:func:`lammps_set_string_variable` function of the C-library interface. @@ -1302,7 +1302,7 @@ class lammps(object): def set_internal_variable(self,name,value): """Set a new value for a LAMMPS internal style variable - .. versionadded:: TBD + .. versionadded:: 7Feb2024 This is a wrapper around the :cpp:func:`lammps_set_internal_variable` function of the C-library interface. diff --git a/src/library.cpp b/src/library.cpp index bdf315acac..fcf0f6a631 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2455,7 +2455,7 @@ static int set_variable_deprecated_flag = 1; /** Set the value of a string-style variable. \verbatim embed:rst -.. deprecated:: TBD +.. deprecated:: 7Feb2024 This function assigns a new value from the string str to the string-style variable *name*. This is a way to directly change the @@ -2493,7 +2493,7 @@ int lammps_set_variable(void *handle, const char *name, const char *str) /** Set the value of a string-style variable. \verbatim embed:rst -.. versionadded:: TBD +.. versionadded:: 7Feb2024 This function assigns a new value from the string str to the string-style variable *name*. This is a way to directly change the @@ -2531,6 +2531,8 @@ int lammps_set_string_variable(void *handle, const char *name, const char *str) * \verbatim embed:rst +.. versionadded:: 7Feb2024 + This function assigns a new value from the floating point number *value* to the internal-style variable *name*. This is a way to directly change the numerical value of such a LAMMPS variable that was previous defined diff --git a/src/version.h b/src/version.h index d1d8472ca6..ee367b68b7 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1 @@ -#define LAMMPS_VERSION "21 Nov 2023" -#define LAMMPS_UPDATE "Development" +#define LAMMPS_VERSION "7 Feb 2024" From 35fe562bdf919cb5c1994fc249e2690776bf2284 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 7 Feb 2024 11:47:44 -0700 Subject: [PATCH 7/9] Fix issue from #4007 --- src/KOKKOS/fftdata_kokkos.h | 68 +++++++++++++++++++++++++++++++++++++ src/lmpfftsettings.h | 66 ----------------------------------- 2 files changed, 68 insertions(+), 66 deletions(-) diff --git a/src/KOKKOS/fftdata_kokkos.h b/src/KOKKOS/fftdata_kokkos.h index 439a914e3a..2a06277635 100644 --- a/src/KOKKOS/fftdata_kokkos.h +++ b/src/KOKKOS/fftdata_kokkos.h @@ -27,6 +27,74 @@ // ------------------------------------------------------------------------- +// if a user sets FFTW, it means FFTW3 + +#ifdef LMP_KOKKOS +# ifdef FFT_KOKKOS_FFTW +# undef FFT_KOKKOS_FFTW +# define FFT_KOKKOS_FFTW3 +# endif +# ifdef FFT_KOKKOS_FFTW_THREADS +# if !defined(FFT_KOKKOS_FFTW3) +# error "Must use -DFFT_KOKKOS_FFTW3 with -DFFT_KOKKOS_FFTW_THREADS" +# endif +# endif +#endif + +// with KOKKOS in CUDA or HIP mode we can only have +// CUFFT/HIPFFT or KISS, thus undefine all other +// FFTs here + +#ifdef KOKKOS_ENABLE_CUDA +# if defined(FFT_KOKKOS_FFTW) +# undef FFT_KOKKOS_FFTW +# endif +# if defined(FFT_KOKKOS_FFTW3) +# undef FFT_KOKKOS_FFTW3 +# endif +# if defined(FFT_KOKKOS_MKL) +# undef FFT_KOKKOS_MKL +# endif +# if !defined(FFT_KOKKOS_CUFFT) && !defined(FFT_KOKKOS_KISS) +# define FFT_KOKKOS_KISS +# endif +#elif defined(KOKKOS_ENABLE_HIP) +# if defined(FFT_KOKKOS_FFTW) +# undef FFT_KOKKOS_FFTW +# endif +# if defined(FFT_KOKKOS_FFTW3) +# undef FFT_KOKKOS_FFTW3 +# endif +# if defined(FFT_KOKKOS_MKL) +# undef FFT_KOKKOS_MKL +# endif +# if !defined(FFT_KOKKOS_HIPFFT) && !defined(FFT_KOKKOS_KISS) +# define FFT_KOKKOS_KISS +# endif +#else +# if defined(FFT_KOKKOS_CUFFT) +# error "Must enable CUDA with KOKKOS to use -DFFT_KOKKOS_CUFFT" +# endif +# if defined(FFT_KOKKOS_HIPFFT) +# error "Must enable HIP with KOKKOS to use -DFFT_KOKKOS_HIPFFT" +# endif +#endif + +// set strings for library info output + +#if defined(FFT_KOKKOS_CUFFT) +#define LMP_FFT_KOKKOS_LIB "cuFFT" +#elif defined(FFT_KOKKOS_HIPFFT) +#define LMP_FFT_KOKKOS_LIB "hipFFT" +#elif defined(FFT_KOKKOS_FFTW3) +#define LMP_FFT_KOKKOS_LIB "FFTW3" +#elif defined(FFT_KOKKOS_MKL) +#define LMP_FFT_KOKKOS_LIB "MKL FFT" +#else +#define LMP_FFT_KOKKOS_LIB "KISS FFT" +#endif + + #if defined(FFT_KOKKOS_MKL) #include "mkl_dfti.h" #if defined(FFT_SINGLE) diff --git a/src/lmpfftsettings.h b/src/lmpfftsettings.h index a5ed057d97..1b9c89274c 100644 --- a/src/lmpfftsettings.h +++ b/src/lmpfftsettings.h @@ -25,18 +25,6 @@ #endif #endif -#ifdef LMP_KOKKOS -# ifdef FFT_KOKKOS_FFTW -# undef FFT_KOKKOS_FFTW -# define FFT_KOKKOS_FFTW3 -# endif -# ifdef FFT_KOKKOS_FFTW_THREADS -# if !defined(FFT_KOKKOS_FFTW3) -# error "Must use -DFFT_KOKKOS_FFTW3 with -DFFT_KOKKOS_FFTW_THREADS" -# endif -# endif -#endif - // set strings for library info output #if defined(FFT_HEFFTE) @@ -59,60 +47,6 @@ #define LMP_FFT_LIB "KISS FFT" #endif -#ifdef LMP_KOKKOS - -// with KOKKOS in CUDA or HIP mode we can only have -// CUFFT/HIPFFT or KISS, thus undefine all other -// FFTs here - -#ifdef KOKKOS_ENABLE_CUDA -# if defined(FFT_KOKKOS_FFTW) -# undef FFT_KOKKOS_FFTW -# endif -# if defined(FFT_KOKKOS_FFTW3) -# undef FFT_KOKKOS_FFTW3 -# endif -# if defined(FFT_KOKKOS_MKL) -# undef FFT_KOKKOS_MKL -# endif -# if !defined(FFT_KOKKOS_CUFFT) && !defined(FFT_KOKKOS_KISS) -# define FFT_KOKKOS_KISS -# endif -#elif defined(KOKKOS_ENABLE_HIP) -# if defined(FFT_KOKKOS_FFTW) -# undef FFT_KOKKOS_FFTW -# endif -# if defined(FFT_KOKKOS_FFTW3) -# undef FFT_KOKKOS_FFTW3 -# endif -# if defined(FFT_KOKKOS_MKL) -# undef FFT_KOKKOS_MKL -# endif -# if !defined(FFT_KOKKOS_HIPFFT) && !defined(FFT_KOKKOS_KISS) -# define FFT_KOKKOS_KISS -# endif -#else -# if defined(FFT_KOKKOS_CUFFT) -# error "Must enable CUDA with KOKKOS to use -DFFT_KOKKOS_CUFFT" -# endif -# if defined(FFT_KOKKOS_HIPFFT) -# error "Must enable HIP with KOKKOS to use -DFFT_KOKKOS_HIPFFT" -# endif -#endif - -#if defined(FFT_KOKKOS_CUFFT) -#define LMP_FFT_KOKKOS_LIB "cuFFT" -#elif defined(FFT_KOKKOS_HIPFFT) -#define LMP_FFT_KOKKOS_LIB "hipFFT" -#elif defined(FFT_KOKKOS_FFTW3) -#define LMP_FFT_KOKKOS_LIB "FFTW3" -#elif defined(FFT_KOKKOS_MKL) -#define LMP_FFT_KOKKOS_LIB "MKL FFT" -#else -#define LMP_FFT_KOKKOS_LIB "KISS FFT" -#endif -#endif - #ifdef FFT_SINGLE typedef float FFT_SCALAR; #define FFT_PRECISION 1 From 9f8d7d295666ccad7fed88bc6d574f848b282c1b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 7 Feb 2024 14:49:05 -0500 Subject: [PATCH 8/9] replace random_external_state.h include from fix_shardlow.h with type declaration --- src/DPD-REACT/fix_shardlow.cpp | 5 +++-- src/DPD-REACT/fix_shardlow.h | 5 ++++- src/DPD-REACT/random_external_state.h | 2 +- src/KOKKOS/fix_shardlow_kokkos.cpp | 1 + 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/DPD-REACT/fix_shardlow.cpp b/src/DPD-REACT/fix_shardlow.cpp index fa0ab384b0..7d4d9ce674 100644 --- a/src/DPD-REACT/fix_shardlow.cpp +++ b/src/DPD-REACT/fix_shardlow.cpp @@ -50,6 +50,7 @@ #include "npair_half_bin_newton_ssa.h" #include "pair_dpd_fdt.h" #include "pair_dpd_fdt_energy.h" +#include "random_external_state.h" #include "update.h" #include @@ -84,8 +85,8 @@ static const char cite_fix_shardlow[] = /* ---------------------------------------------------------------------- */ FixShardlow::FixShardlow(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), pairDPD(nullptr), pairDPDE(nullptr), v_t0(nullptr) - ,rand_state(nullptr) + Fix(lmp, narg, arg), pairDPD(nullptr), pairDPDE(nullptr), v_t0(nullptr), + rand_state(nullptr) { if (lmp->citeme) lmp->citeme->add(cite_fix_shardlow); diff --git a/src/DPD-REACT/fix_shardlow.h b/src/DPD-REACT/fix_shardlow.h index 0086874e31..552ac3b21d 100644 --- a/src/DPD-REACT/fix_shardlow.h +++ b/src/DPD-REACT/fix_shardlow.h @@ -21,7 +21,10 @@ FixStyle(shardlow,FixShardlow); #define LMP_FIX_SHARDLOW_H #include "fix.h" -#include "random_external_state.h" + +namespace random_external_state { +using es_RNG_t = uint64_t; +} namespace LAMMPS_NS { diff --git a/src/DPD-REACT/random_external_state.h b/src/DPD-REACT/random_external_state.h index 9c5958e243..5ce1cf100c 100644 --- a/src/DPD-REACT/random_external_state.h +++ b/src/DPD-REACT/random_external_state.h @@ -76,7 +76,7 @@ // A replacement for the Kokkos Random_XorShift64 class that uses // an external state variable, instead of a class member variable. namespace random_external_state { -typedef uint64_t es_RNG_t; +using es_RNG_t = uint64_t; constexpr uint32_t MAX_URAND = 0xffffffffU; constexpr uint64_t MAX_URAND64 = 0xffffffffffffffffULL - 1; diff --git a/src/KOKKOS/fix_shardlow_kokkos.cpp b/src/KOKKOS/fix_shardlow_kokkos.cpp index bd39ba5114..4cbadc4803 100644 --- a/src/KOKKOS/fix_shardlow_kokkos.cpp +++ b/src/KOKKOS/fix_shardlow_kokkos.cpp @@ -49,6 +49,7 @@ #include "neighbor.h" #include "npair_ssa_kokkos.h" #include "pair_dpd_fdt_energy_kokkos.h" +#include "random_external_state.h" #include "update.h" #include From 420498edbc61516332d7fc8d4618b90a655bfbf2 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 7 Feb 2024 14:51:05 -0700 Subject: [PATCH 9/9] Remove duplicated code; MIN/MAX defined in pointers.h --- src/KOKKOS/fft3d_kokkos.cpp | 3 --- src/KOKKOS/fftdata_kokkos.h | 5 ----- src/KOKKOS/remap_kokkos.cpp | 3 --- 3 files changed, 11 deletions(-) diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp index 1610ae9b4e..5caed42f43 100644 --- a/src/KOKKOS/fft3d_kokkos.cpp +++ b/src/KOKKOS/fft3d_kokkos.cpp @@ -26,9 +26,6 @@ using namespace LAMMPS_NS; -#define MIN(A,B) ((A) < (B) ? (A) : (B)) -#define MAX(A,B) ((A) > (B) ? (A) : (B)) - /* ---------------------------------------------------------------------- */ template diff --git a/src/KOKKOS/fftdata_kokkos.h b/src/KOKKOS/fftdata_kokkos.h index 2a06277635..0cb59f49cb 100644 --- a/src/KOKKOS/fftdata_kokkos.h +++ b/src/KOKKOS/fftdata_kokkos.h @@ -18,11 +18,6 @@ #define LMP_FFT_DATA_KOKKOS_H #include "kokkos_type.h" - -#ifndef MAX -#define MAX(A,B) ((A) > (B) ? (A) : (B)) -#endif - #include "lmpfftsettings.h" // ------------------------------------------------------------------------- diff --git a/src/KOKKOS/remap_kokkos.cpp b/src/KOKKOS/remap_kokkos.cpp index 8cd3aec6dd..0d539ada83 100644 --- a/src/KOKKOS/remap_kokkos.cpp +++ b/src/KOKKOS/remap_kokkos.cpp @@ -19,9 +19,6 @@ using namespace LAMMPS_NS; -#define MIN(A,B) ((A) < (B) ? (A) : (B)) -#define MAX(A,B) ((A) > (B) ? (A) : (B)) - /* ---------------------------------------------------------------------- */ template