From b0ca9ed0d4c03d9740dfd9a53a2b60b7c9681382 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Tue, 1 Apr 2025 16:19:37 +0200 Subject: [PATCH] enable lj/cubic for fix adapt --- doc/src/fix_adapt.rst | 2 ++ src/EXTRA-PAIR/pair_lj_cubic.cpp | 10 ++++++++++ src/EXTRA-PAIR/pair_lj_cubic.h | 1 + unittest/force-styles/tests/mol-pair-lj_cubic.yaml | 4 +++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index 449569cf44..cd3953b758 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -184,6 +184,8 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/class2/coul/cut, lj/class2/coul/long ` | epsilon,sigma,coulombic_cutoff | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`lj/cubic ` | epsilon,sigma | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut ` | epsilon,sigma | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm ` | epsilon,sigma,coulombic_cutoff | type pairs | diff --git a/src/EXTRA-PAIR/pair_lj_cubic.cpp b/src/EXTRA-PAIR/pair_lj_cubic.cpp index a20c45928c..8d00ae2e30 100644 --- a/src/EXTRA-PAIR/pair_lj_cubic.cpp +++ b/src/EXTRA-PAIR/pair_lj_cubic.cpp @@ -347,3 +347,13 @@ double PairLJCubic::single(int /*i*/, int /*j*/, int itype, int jtype, double rs return factor_lj * philj; } + +/* ---------------------------------------------------------------------- */ + +void *PairLJCubic::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; +} diff --git a/src/EXTRA-PAIR/pair_lj_cubic.h b/src/EXTRA-PAIR/pair_lj_cubic.h index 9f0603ff6c..02328d901d 100644 --- a/src/EXTRA-PAIR/pair_lj_cubic.h +++ b/src/EXTRA-PAIR/pair_lj_cubic.h @@ -38,6 +38,7 @@ class PairLJCubic : public Pair { void write_restart_settings(FILE *) override; void read_restart_settings(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void *extract(const char *, int &) override; protected: double **cut, **cut_inner, **cut_inner_sq; diff --git a/unittest/force-styles/tests/mol-pair-lj_cubic.yaml b/unittest/force-styles/tests/mol-pair-lj_cubic.yaml index 432e1d5213..e5d86f147c 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cubic.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cubic.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: 166.005266338502 init_coul: 0