-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pair hpmc angular step potential #1728
Conversation
Validation tests run on 853ba7c merged with the step potential branch: glotzerlab/hoomd-validation#89 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
I revised the documentation directly. My other suggestions are below.
I also benchmarked the code to confirm that cos
and a non-inlined maskingFunction
are indeed performance penalties:
76.71% python3 _hpmc.cpython-311-x86_64-linux-gnu.so [.] hoomd::hpmc::IntegratorHPMCMono<hoomd::hpmc::ShapeSphere>::update(unsigne◆
5.64% python3 _hpmc.cpython-311-x86_64-linux-gnu.so [.] hoomd::hpmc::PairPotentialAngularStep::maskingFunction(double, hoomd::vec▒
2.86% python3 libm.so.6 [.] __cos_fma ▒
1.26% python3 _hpmc.cpython-311-x86_64-linux-gnu.so [.] void hoomd::hpmc::move_rotate<3u, hoomd::RandomGenerator>(hoomd::quat<dou▒
1.08% python3 _hoomd.cpython-311-x86_64-linux-gnu.so [.] hoomd::SFCPackTuner::generateTraversalOrder(int, int, int, int, int, unsi▒
0.97% python3 _hpmc.cpython-311-x86_64-linux-gnu.so [.] hoomd::hpmc::PairPotentialAngularStep::energy(double, hoomd::vec3<double>▒
0.60% python3 [unknown]
perf
reports these two methods as the top two after the main MC update method.
Co-authored-by: Joshua A. Anderson <[email protected]>
Co-authored-by: Tommy Waltmann <[email protected]>
…lue into pair-hpmc-angularStep
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
Description
This PR adds angular step potential to the hpmc pair potential class.
Motivation and context
CPPotential will be replaced by the new class of pair potentials in hoomd-blue in the version 4.6 release with the removal of llvm's JIT engine. AngularStep potential is a type of pair potential that includes an isotropic component (e.g., LJ) and an angular step function that describes the patch interaction.
Partially Resolves #1652
How has this been tested?
In progress of writing validation tests.
Change log
Checklist:
sphinx-doc/credits.rst
) in the pull request source branch.