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

Shapes maintenance #3728

Merged
merged 11 commits into from
May 25, 2020
Merged

Shapes maintenance #3728

merged 11 commits into from
May 25, 2020

Conversation

jngrad
Copy link
Member

@jngrad jngrad commented May 25, 2020

Description of changes:

  • fix flipped sign in the surface normal vector of the Torus shape that caused particles to cross the surface instead of bouncing back
  • document the Torus shape
  • re-do the schematic of the Slitpore with correct labels
  • fix OpenGL visualization of Slitpore
  • increase code coverage of Slitpore.cpp (partial fix for Low test coverage: Candidates for downgrade or removal #2071)
  • fix shape visualization sample (partial fix for Sanitize shape parameters #3719)
    • fix incorrect Slitpore geometrical parameters that lead to a non-differentiable surface
    • make Wall a differentiable surface between the unit cell and its periodic images
    • add Torus option
    • only spawn particles outside shapes
    • reduce thermostat friction coefficient

jngrad added 11 commits May 25, 2020 14:40
The smoothing radius was larger than half the pore width, creating
a non-differentiable surface. The dividing plane was incorrectly
placed, causing particles to cross the shape surface as they
experienced forces overcoming the constraint LJ potential.
With periodic boundary conditions, the edges of the wall must align
with periodic images to avoid sharp edges.
Placing particles half a radius away from the constraints surfaces
avoids artificially creating a large potential in the first time
step. Giving initial velocities speeds-up the warmup.
The dividing_plane argument was incorrectly documented and missing
from the schematic. The schematic was re-created in SVG format.
The pore isn't always at the center of the x-axis.
Now that the shapes have been fixed, it's no longer necessary to use
a large friction coefficient nor to constrain the initial conditions.
@codecov
Copy link

codecov bot commented May 25, 2020

Codecov Report

Merging #3728 into python will increase coverage by 0%.
The diff coverage is 100%.

Impacted file tree graph

@@          Coverage Diff           @@
##           python   #3728   +/-   ##
======================================
  Coverage      88%     88%           
======================================
  Files         551     551           
  Lines       24669   24669           
======================================
+ Hits        21739   21766   +27     
+ Misses       2930    2903   -27     
Impacted Files Coverage Δ
src/shapes/src/Torus.cpp 100% <100%> (ø)
src/core/polymer.cpp 92% <0%> (-6%) ⬇️
src/core/electrostatics_magnetostatics/p3m.cpp 87% <0%> (-1%) ⬇️
src/shapes/src/Slitpore.cpp 100% <0%> (+51%) ⬆️

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 17ce4ee...c19dd7d. Read the comment docs.

@jngrad jngrad added the automerge Merge with kodiak label May 25, 2020
@kodiakhq kodiakhq bot merged commit 105fbc1 into espressomd:python May 25, 2020
@jngrad jngrad deleted the shapes-maintenance branch January 18, 2022 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants