From db8dae3300f14aa5d492d74770c402c4255822a1 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Tue, 1 Apr 2025 15:36:44 +0200 Subject: [PATCH] enable lj/gromacs for fix adapt --- doc/src/fix_adapt.rst | 2 ++ src/EXTRA-PAIR/pair_lj_gromacs.cpp | 10 ++++++++++ src/EXTRA-PAIR/pair_lj_gromacs.h | 1 + unittest/force-styles/tests/mol-pair-lj_gromacs.yaml | 4 +++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index b52662fde2..449569cf44 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -198,6 +198,8 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/expand ` | epsilon,sigma,delta | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`lj/lj/gromacs ` | epsilon,sigma | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/mdf ` | epsilon,sigma | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/sf/dipole/sf ` | epsilon,sigma,scale | type pairs | diff --git a/src/EXTRA-PAIR/pair_lj_gromacs.cpp b/src/EXTRA-PAIR/pair_lj_gromacs.cpp index 8142203a6e..3d5cf976c9 100644 --- a/src/EXTRA-PAIR/pair_lj_gromacs.cpp +++ b/src/EXTRA-PAIR/pair_lj_gromacs.cpp @@ -432,3 +432,13 @@ double PairLJGromacs::single(int /*i*/, int /*j*/, int itype, int jtype, double return factor_lj * philj; } + +/* ---------------------------------------------------------------------- */ + +void *PairLJGromacs::extract(const char *str, int &dim) +{ + dim = 2; + if (strcmp(str, "epsilon") == 0) return (void *) epsilon; + if (strcmp(str, "sigma") == 0) return (void *) sigma; + return nullptr; +} \ No newline at end of file diff --git a/src/EXTRA-PAIR/pair_lj_gromacs.h b/src/EXTRA-PAIR/pair_lj_gromacs.h index f210c8c145..66c05f047d 100644 --- a/src/EXTRA-PAIR/pair_lj_gromacs.h +++ b/src/EXTRA-PAIR/pair_lj_gromacs.h @@ -39,6 +39,7 @@ class PairLJGromacs : public Pair { void write_data(FILE *) override; void write_data_all(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void *extract(const char *, int &) override; protected: double cut_inner_global, cut_global; diff --git a/unittest/force-styles/tests/mol-pair-lj_gromacs.yaml b/unittest/force-styles/tests/mol-pair-lj_gromacs.yaml index 6c07bb24ce..3eb452aaf6 100644 --- a/unittest/force-styles/tests/mol-pair-lj_gromacs.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_gromacs.yaml @@ -18,7 +18,9 @@ pair_coeff: ! | 3 3 0.02 3.2 4 4 0.015 3.1 5 5 0.015 3.1 -extract: ! "" +extract: ! | + epsilon 2 + sigma 2 natoms: 29 init_vdwl: 749.2511379269325 init_coul: 0