diff --git a/doc/src/Commands_kspace.rst b/doc/src/Commands_kspace.rst index 0d9b34a2cc..c37d9eee48 100644 --- a/doc/src/Commands_kspace.rst +++ b/doc/src/Commands_kspace.rst @@ -31,3 +31,5 @@ OPT. * :doc:`pppm/dielectric ` * :doc:`pppm/electrode (i) ` * :doc:`scafacos ` + * :doc:`zero ` + diff --git a/doc/src/Developer_plugins.rst b/doc/src/Developer_plugins.rst index c14c4c3a1c..a26a522a01 100644 --- a/doc/src/Developer_plugins.rst +++ b/doc/src/Developer_plugins.rst @@ -264,7 +264,7 @@ the plugin will override the existing code. This can be used to modify the behavior of existing styles or to debug new versions of them without having to re-compile or re-install all of LAMMPS. -.. versionupdated:: 12Jun2025 +.. versionchanged:: 12Jun2025 When using the :doc:`clear ` command, plugins are not unloaded but restored to their respective style maps. This also applies when diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index e7d5e93d72..3f9bdbb747 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -32,6 +32,7 @@ .. index:: kspace_style msm/cg/omp .. index:: kspace_style msm/dielectric .. index:: kspace_style scafacos +.. index:: kspace_style zero kspace_style command ==================== @@ -43,7 +44,7 @@ Syntax kspace_style style value -* style = *none* or *ewald* or *ewald/dipole* or *ewald/dipole/spin* or *ewald/disp* or *ewald/disp/dipole* or *ewald/omp* or *ewald/electrode* or *pppm* or *pppm/cg* or *pppm/disp* or *pppm/tip4p* or *pppm/stagger* or *pppm/disp/tip4p* or *pppm/gpu* or *pppm/intel* or *pppm/disp/intel* or *pppm/kk* or *pppm/omp* or *pppm/cg/omp* or *pppm/disp/tip4p/omp* or *pppm/tip4p/omp* or *pppm/dielectic* or *pppm/disp/dielectric* or *pppm/electrode* or *pppm/electrode/intel* or *msm* or *msm/cg* or *msm/omp* or *msm/cg/omp* or *msm/dielectric* or *scafacos* +* style = *none* or *ewald* or *ewald/dipole* or *ewald/dipole/spin* or *ewald/disp* or *ewald/disp/dipole* or *ewald/omp* or *ewald/electrode* or *pppm* or *pppm/cg* or *pppm/disp* or *pppm/tip4p* or *pppm/stagger* or *pppm/disp/tip4p* or *pppm/gpu* or *pppm/intel* or *pppm/disp/intel* or *pppm/kk* or *pppm/omp* or *pppm/cg/omp* or *pppm/disp/tip4p/omp* or *pppm/tip4p/omp* or *pppm/dielectic* or *pppm/disp/dielectric* or *pppm/electrode* or *pppm/electrode/intel* or *msm* or *msm/cg* or *msm/omp* or *msm/cg/omp* or *msm/dielectric* or *scafacos* or *zero* .. parsed-literal:: @@ -121,6 +122,7 @@ Syntax *scafacos* values = method accuracy method = fmm or p2nfft or p3m or ewald or direct accuracy = desired relative error in forces + *zero* value = none Examples """""""" @@ -132,6 +134,7 @@ Examples kspace_style msm 1.0e-4 kspace_style scafacos fmm 1.0e-4 kspace_style none + kspace_style zero Used in input scripts: @@ -375,6 +378,13 @@ other ScaFaCoS options currently exposed to LAMMPS. ---------- +.. versionadded:: 12Jun2025 + +The *zero* style does not do any calculations, but is compatible +with all pair styles that require some version of a kspace style. + +---------- + The specified *accuracy* determines the relative RMS error in per-atom forces calculated by the long-range solver. It is set as a dimensionless number, relative to the force that two unit point diff --git a/examples/plugins/CMakeLists.txt b/examples/plugins/CMakeLists.txt index 813cc9d1dc..836e1353b0 100644 --- a/examples/plugins/CMakeLists.txt +++ b/examples/plugins/CMakeLists.txt @@ -95,7 +95,6 @@ add_library(zero2plugin MODULE zero2plugin.cpp pair_zero2.cpp bond_zero2.cpp target_link_libraries(zero2plugin PRIVATE lammps) add_library(kspaceplugin MODULE kspaceplugin.cpp kspace_zero2.cpp) -target_include_directories(kspaceplugin PRIVATE "${LAMMPS_HEADER_DIR}/KSPACE") target_link_libraries(kspaceplugin PRIVATE lammps) add_library(runminplugin MODULE runminplugin.cpp min_cg2.cpp verlet2.cpp) diff --git a/examples/plugins/kspace_zero2.cpp b/examples/plugins/kspace_zero2.cpp index c5d6f1b73b..742f0871f5 100644 --- a/examples/plugins/kspace_zero2.cpp +++ b/examples/plugins/kspace_zero2.cpp @@ -41,11 +41,6 @@ KSpaceZero2::KSpaceZero2(LAMMPS *lmp) : KSpace(lmp) spinflag = 1; } -KSpaceZero2::~KSpaceZero2() -{ - fprintf(stderr, "In destructor for KSpace zero2. This = %p\n", this); -} - /* ---------------------------------------------------------------------- */ void KSpaceZero2::settings(int narg, char **arg) diff --git a/examples/plugins/kspace_zero2.h b/examples/plugins/kspace_zero2.h index 7539dd4609..033c2caee5 100644 --- a/examples/plugins/kspace_zero2.h +++ b/examples/plugins/kspace_zero2.h @@ -21,7 +21,6 @@ namespace LAMMPS_NS { class KSpaceZero2 : public KSpace { public: KSpaceZero2(class LAMMPS *); - ~KSpaceZero2() override; void init() override; void setup() override; diff --git a/examples/plugins/kspaceplugin.cpp b/examples/plugins/kspaceplugin.cpp index 3e7b4bd047..4b93aa27e7 100644 --- a/examples/plugins/kspaceplugin.cpp +++ b/examples/plugins/kspaceplugin.cpp @@ -15,7 +15,6 @@ using namespace LAMMPS_NS; static KSpace *zero2creator(LAMMPS *lmp) { KSpace *ptr = (KSpace *) new KSpaceZero2(lmp); - fprintf(stderr, "Created zero2 instance at %p\n", ptr); return ptr; } diff --git a/src/KSPACE/kspace_zero.cpp b/src/kspace_zero.cpp similarity index 97% rename from src/KSPACE/kspace_zero.cpp rename to src/kspace_zero.cpp index 028d42401e..6f3e891558 100644 --- a/src/KSPACE/kspace_zero.cpp +++ b/src/kspace_zero.cpp @@ -41,11 +41,6 @@ KSpaceZero::KSpaceZero(LAMMPS *lmp) : KSpace(lmp) spinflag = 1; } -KSpaceZero::~KSpaceZero() -{ - fprintf(stderr, "In destructor for KSpace zero. This = %p\n", this); -} - /* ---------------------------------------------------------------------- */ void KSpaceZero::settings(int narg, char **arg) diff --git a/src/KSPACE/kspace_zero.h b/src/kspace_zero.h similarity index 97% rename from src/KSPACE/kspace_zero.h rename to src/kspace_zero.h index 9c76c15de7..d55b437fc2 100644 --- a/src/KSPACE/kspace_zero.h +++ b/src/kspace_zero.h @@ -27,7 +27,6 @@ namespace LAMMPS_NS { class KSpaceZero : public KSpace { public: KSpaceZero(class LAMMPS *); - ~KSpaceZero() override; void init() override; void setup() override;