Skip to content

Commit

Permalink
Merge pull request #1810 from glotzerlab/enhancement/md-pair-gaussian…
Browse files Browse the repository at this point in the history
…-value-check

Enhancement/md pair gaussian value check
  • Loading branch information
joaander authored Jun 24, 2024
2 parents fc5a5e0 + 298aafc commit 9f19af0
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 7 deletions.
17 changes: 10 additions & 7 deletions hoomd/md/pair/pair.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from hoomd.data.parameterdicts import ParameterDict, TypeParameterDict
from hoomd.data.typeparam import TypeParameter
import numpy as np
from hoomd.data.typeconverter import OnlyFrom, nonnegative_real
from hoomd.data.typeconverter import OnlyFrom, nonnegative_real, positive_real


class Pair(force.Force):
Expand Down Expand Up @@ -257,7 +257,7 @@ class Gaussian(Pair):
* ``epsilon`` (`float`, **required**) - energy parameter
:math:`\varepsilon` :math:`[\mathrm{energy}]`
* ``sigma`` (`float`, **required**) - particle size :math:`\sigma`
* ``sigma`` (`float`, **required**) - particle size :math:`\sigma > 0`
:math:`[\mathrm{length}]`
Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``],
Expand All @@ -275,7 +275,7 @@ def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'):
super().__init__(nlist, default_r_cut, default_r_on, mode)
params = TypeParameter(
'params', 'particle_types',
TypeParameterDict(epsilon=float, sigma=float, len_keys=2))
TypeParameterDict(epsilon=float, sigma=positive_real, len_keys=2))
self._add_typeparam(params)


Expand Down Expand Up @@ -311,7 +311,7 @@ class ExpandedGaussian(Pair):
* ``epsilon`` (`float`, **required**) - energy parameter
:math:`\varepsilon` :math:`[\mathrm{energy}]`
* ``sigma`` (`float`, **required**) - particle size
:math:`\sigma` :math:`[\mathrm{length}]`
:math:`\sigma > 0` :math:`[\mathrm{length}]`
* ``delta`` (`float`, **required**) - shift distance
:math:`\delta` :math:`[\mathrm{length}]`
Expand All @@ -331,7 +331,7 @@ def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'):
params = TypeParameter(
'params', 'particle_types',
TypeParameterDict(epsilon=float,
sigma=float,
sigma=positive_real,
delta=float,
len_keys=2))
self._add_typeparam(params)
Expand Down Expand Up @@ -1844,7 +1844,7 @@ class LJGauss(Pair):
* ``epsilon`` (`float`, **required**) -
energy parameter :math:`\varepsilon` :math:`[\mathrm{energy}]`
* ``sigma`` (`float`, **required**) -
Gaussian width :math:`\sigma` :math:`[\mathrm{length}]`
Gaussian width :math:`\sigma > 0` :math:`[\mathrm{length}]`
* ``r0`` (`float`, **required**) -
Gaussian center :math:`r_0` :math:`[\mathrm{length}]`
Expand All @@ -1868,5 +1868,8 @@ def __init__(self,
super().__init__(nlist, default_r_cut, default_r_on, mode)
params = TypeParameter(
'params', 'particle_types',
TypeParameterDict(epsilon=float, sigma=float, r0=float, len_keys=2))
TypeParameterDict(epsilon=float,
sigma=positive_real,
r0=float,
len_keys=2))
self._add_typeparam(params)
7 changes: 7 additions & 0 deletions hoomd/md/pytest/test_potential.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ def _invalid_params():

gauss_valid_dict = {'sigma': 0.05, 'epsilon': 0.05}
gauss_invalid_dicts = _make_invalid_param_dict(gauss_valid_dict)
gauss_invalid_dicts.append({'sigma': 0, 'epsilon': 0.05})
invalid_params_list.extend(
_make_invalid_params(gauss_invalid_dicts, md.pair.Gaussian, {}))

Expand All @@ -192,6 +193,11 @@ def _invalid_params():
}
expanded_gaussian_invalid_dicts = _make_invalid_param_dict(
expanded_gaussian_valid_dict)
expanded_gaussian_invalid_dicts.append({
'sigma': 0,
'epsilon': 0.05,
'delta': 0.1
})
invalid_params_list.extend(
_make_invalid_params(expanded_gaussian_invalid_dicts,
md.pair.ExpandedGaussian, {}))
Expand Down Expand Up @@ -316,6 +322,7 @@ def _invalid_params():

ljgauss_valid_dict = {'r0': 1.8, 'epsilon': 2.0, 'sigma': 0.02}
ljgauss_invalid_dicts = _make_invalid_param_dict(ljgauss_valid_dict)
ljgauss_invalid_dicts.append({'r0': 1.8, 'epsilon': 0.2, 'sigma': 0})
invalid_params_list.extend(
_make_invalid_params(ljgauss_invalid_dicts, hoomd.md.pair.LJGauss, {}))
table_valid_dict = {
Expand Down
1 change: 1 addition & 0 deletions sphinx-doc/credits.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ The following people have contributed to HOOMD-blue:
* Jenny Fothergill, Boise State University
* Jens Glaser, Oak Ridge National Laboratory
* Joseph Berleant, University of Michigan
* Joseph Burkhart, University of Michigan
* Joshua A. Anderson, University of Michigan
* Kelly Wang, University of Michigan
* Kevin Daly, Princeton University
Expand Down

0 comments on commit 9f19af0

Please sign in to comment.