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

New feature: ring Cosserat rods #229

Merged
merged 40 commits into from
Apr 7, 2023

Conversation

armantekinalp
Copy link
Contributor

Ring Cosserat rods will be added with this PR. Ring rods requires a periodic boundary condition at their ends to simulate the effect of closed loop. In order to implement this periodic boundary condition, in backend we modified the memory block and included two additional nodes, elements and voronoi. Position, directors, velocity and omega of these boundary nodes are synched after every kinematic update.

@armantekinalp armantekinalp added enhancement New feature or request prio:high Priority level: high labels Feb 22, 2023
@armantekinalp armantekinalp self-assigned this Feb 22, 2023
@armantekinalp armantekinalp marked this pull request as draft February 22, 2023 22:44
@codecov-commenter
Copy link

codecov-commenter commented Feb 22, 2023

Codecov Report

Patch coverage: 93.75% and project coverage change: +0.48 🎉

Comparison is base (0ff189f) 87.45% compared to head (e785ab9) 87.93%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

Additional details and impacted files
@@               Coverage Diff                @@
##           update-0.3.1     #229      +/-   ##
================================================
+ Coverage         87.45%   87.93%   +0.48%     
================================================
  Files                41       43       +2     
  Lines              2798     3067     +269     
  Branches            320      354      +34     
================================================
+ Hits               2447     2697     +250     
- Misses              330      341      +11     
- Partials             21       29       +8     
Impacted Files Coverage Δ
elastica/modules/base_system.py 94.11% <40.00%> (-4.30%) ⬇️
elastica/rod/cosserat_rod.py 97.95% <69.23%> (-2.05%) ⬇️
elastica/memory_block/memory_block_rod.py 97.80% <92.72%> (-2.20%) ⬇️
elastica/dissipation.py 94.28% <93.93%> (-1.17%) ⬇️
elastica/rod/factory_function.py 96.31% <94.78%> (-1.37%) ⬇️
elastica/_synchronize_periodic_boundary.py 100.00% <100.00%> (ø)
elastica/memory_block/memory_block_rigid_body.py 100.00% <100.00%> (ø)
elastica/memory_block/memory_block_rod_base.py 100.00% <100.00%> (ø)
elastica/modules/memory_block.py 100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@armantekinalp
Copy link
Contributor Author

@ilianasiriziba Can you put the videos of ring rod under gravity simulation here.

@ilianasiriziba
Copy link
Contributor

2D_xy_ring_rod.mp4
2D_xz_ring_rod.mp4
2D_zy_ring_rod.mp4

@skim0119
Copy link
Collaborator

skim0119 commented Mar 9, 2023

I'll start the review.

@bhosale2 bhosale2 added this to the Version 0.3.1 milestone Mar 9, 2023
elastica/dissipation.py Outdated Show resolved Hide resolved
elastica/dissipation.py Outdated Show resolved Hide resolved
elastica/memory_block/memory_block_rod.py Outdated Show resolved Hide resolved
elastica/rod/cosserat_rod.py Show resolved Hide resolved
@armantekinalp
Copy link
Contributor Author

@bhosale2 please start reviewing.

Copy link
Collaborator

@bhosale2 bhosale2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some work and doubts @armantekinalp. @ilianasiriziba can help out here.

elastica/dissipation.py Outdated Show resolved Hide resolved
elastica/dissipation.py Outdated Show resolved Hide resolved
elastica/memory_block/memory_block_rigid_body.py Outdated Show resolved Hide resolved
elastica/memory_block/memory_block_rod.py Show resolved Hide resolved
elastica/memory_block/memory_block_rod.py Show resolved Hide resolved
examples/RingRodCase/ring_rod_post_processing.py Outdated Show resolved Hide resolved
examples/RingRodCase/ring_rod.py Outdated Show resolved Hide resolved
tests/test_ring_rod_initialisation.py Outdated Show resolved Hide resolved
tests/test_synchronize_periodic_boundary.py Outdated Show resolved Hide resolved
@armantekinalp
Copy link
Contributor Author

@bhosale2 I have updated documentation please check and see if it make sense.

@bhosale2 bhosale2 self-requested a review April 7, 2023 01:44
Copy link
Collaborator

@bhosale2 bhosale2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. @armantekinalp and @ilianasiriziba thanks for all the clarifications and adding this new feature.

@armantekinalp armantekinalp merged commit e995c98 into GazzolaLab:update-0.3.1 Apr 7, 2023
@armantekinalp armantekinalp deleted the dev_ring_rods branch April 7, 2023 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request prio:high Priority level: high
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants