Skip to content
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

Drag terminal velocity tests #1757

Closed

Conversation

bogdan-tanygin
Copy link
Contributor

One of tests which validate both Velocity Verlet LD and future BD. Hence, it indirectly relates to #1360.

Description of changes:

  • Constant force/torque driven viscous drag motion: translational and rotational kinematics validation
  • The same set of the possible thermostat parameters' setting test cases is kept
  • A performance impact:
    mass-and-rinertia_per_particle .......... Passed 26.20 sec
    ->
    mass-and-rinertia_per_particle .......... Passed 58.29 sec
    c.f. Anisotropic rotational diffusion test #1622 (comment)

PR Checklist

  • Tests?
    • Interface
    • Core
  • Docs?

@codecov
Copy link

codecov bot commented Jan 10, 2018

Codecov Report

❗ No coverage uploaded for pull request base (python@bbf1a43). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff            @@
##             python   #1757   +/-   ##
========================================
  Coverage          ?     57%           
========================================
  Files             ?     390           
  Lines             ?   27164           
  Branches          ?       0           
========================================
  Hits              ?   15508           
  Misses            ?   11656           
  Partials          ?       0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bbf1a43...f4c35a3. Read the comment docs.

@bogdan-tanygin
Copy link
Contributor Author

It is already a part of #1842.
I've not closed it only because I was not sure about the future of #1842. If it is already approved for the release 4.1 then we can close this PR.

@RudolfWeeber
Copy link
Contributor

Same question here. The Langevin test tests the decay of v/omega for T=0 and the diffusion coefficient.
Could you please clarify what this test adds?

@bogdan-tanygin
Copy link
Contributor Author

It tests a viscous acceleration. It focuses not on the exponential details (already validated by the decay tests), rather that the terminal velocity is stable for a long run. Hence, the BD and LD will match. However, it requires also too much of the test runtime. This is why I've relocated this part to the non-automically run test mass-and-rinertia_per_particle_rotdiff-longrun.py in the #1842.

@RudolfWeeber
Copy link
Contributor

RudolfWeeber commented May 27, 2018 via email

@bogdan-tanygin
Copy link
Contributor Author

once an upcoming pr disables the short-range loop entirely for cases, where
it is not needed.

@RudolfWeeber thanks, sounds like an important PR which I need to take into account in further development/refactoring. Could you please clarify corresponding PR or the issue number with some extra details? Just to understand the idea..

@RudolfWeeber
Copy link
Contributor

RudolfWeeber commented May 28, 2018 via email

@bogdan-tanygin
Copy link
Contributor Author

This PR depends on #2021.

@bogdan-tanygin
Copy link
Contributor Author

I've ported the corresponding validations to the BD tests within #1842 . Similar checks of the LD viscous properties without a testing performance degradation will be possible after the above-mentioned PR. I suggest to close the current PR and to return to it (#2028) later.

@bogdan-tanygin bogdan-tanygin deleted the drift-tests-2 branch December 25, 2018 18:16
kodiakhq bot added a commit that referenced this pull request Jan 25, 2020
Fixes #1360, also it contains the integrated changes from PRs #1622, #1757 which were required to validate both existing Langevin- (LD) and new Brownian Dynamics (BD) viscous and fluctuation dynamics including the rotational one.

Description of changes:
- Generally, this is a conventional simplest BD [schlick2010].
- Corresponding Sphinx documentation section is populated with the required details to reveal the concept.
- A velocity, even though it is optional for a simplest implementation of the BD, has been added for a consistency with the existing VV loop (c.f. #1360 (comment)) and all the existing tests and new tests. It does not impact the positional mechanics though which is natural for the BD [schlick2010].
- The velocity and position random walk has been added according to the classical diffusion equations [schlick2010,Pottier2014].
- Rotational motion BD is implemented analogously. Existing quaternion approach has been reused where possible.
- New test `brownian_thermostat.py` is based on the existing `langevin_thermostat.py`. It contains some commented out fragments which are inconsistent for the simplest BD cause ones correspond to more fine dynamical structure compare to the BD temporal relation `time_step >> mass / gamma`. The Maxwell distribution test is passing well and the Gaussian noise type is crucial for this which has been done in the `thermostat.hpp`.
- The `mass-and-rinertia_per_particle.py` contains changes described within the PRs #1622, #1757. Probably, it is of interest for both the LD and BD independently. This is why I've opened that PRs in advance.
- Existing automatic tests execution timeline is minimized.
- Additional "heavy" test has been added without an automatic run: `mass-and-rinertia_per_particle_rotdiff-longrun.py`. It requires ~2 hours of a run and provides the intensive validation of the existing LD and new BD dynamics in the same way.

PR Checklist
------------
 - [ ] Tests?
   - [ ] Interface
   - [ ] Core 
 - [ ] Docs?

_References_
schlick2010: https://link.springer.com/book/10.1007%2F978-1-4419-6351-2
Pottier2014: https://link.springer.com/article/10.1007/s10955-010-0114-6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants