- Rod sphere contact by @Rahul-JOON in GazzolaLab#298 and @Ali-7800 in GazzolaLab#301
- Importing mesh capability is implemented @Rahul-JOON in GazzolaLab#275, GazzolaLab#277, GazzolaLab#283
- Contact unit tests were implemented @Rahul-JOON in GazzolaLab#257, GazzolaLab#258, GazzolaLab#260, GazzolaLab#261, GazzolaLab#262, GazzolaLab#267, GazzolaLab#269, GazzolaLab#274
- Contact functions refactored and moved to a standalone contact module @Ali-7800 in GazzolaLab#281, GazzolaLab#291, GazzolaLab#293, GazzolaLab#314, GazzolaLab#316, GazzolaLab#317, GazzolaLab#328
- Memory block refactor by @sy-cui in GazzolaLab#296
- New example Continuum Snake With Lifting Wave added by @Ali-7800 in GazzolaLab#317
- Catenary curve validation by @Ali-7800 in GazzolaLab#335
- Fix links in README.md by @tokoro10g in GazzolaLab#256
- Fix knot theory functionalities import by @Ali-7800 in GazzolaLab#268
- Binder snake example bug fix by @Ali-7800 in GazzolaLab#330
- Binder environment setup fix by @Ali-7800 in GazzolaLab#340
- Python 3.11 support by @bhosale2 in GazzolaLab#307
- @tokoro10g made their first contribution in GazzolaLab#256
- @Ali-7800 made their first contribution in GazzolaLab#268
Full Changelog: https://github.com/GazzolaLab/PyElastica/compare/v0.3.1...v0.3.2
- Ring Cosserat rods by @armantekinalp in GazzolaLab#229
- Magnetic Cosserat rods functionality by @bhosale2 in GazzolaLab#245
- Dynamic validation example by @sy-cui in GazzolaLab#173
- Refactor: change typings in forcing/constraints/connections to SystemType or RodType by @sy-cui in GazzolaLab#191
- Wildcard imports removed by @AsadNizami in GazzolaLab#238
- Remove internal damping option for Cosserat rod by @bhosale2 in GazzolaLab#243
- Fix main yml windows python version by @armantekinalp in GazzolaLab#206
- Fix restart functionality by @armantekinalp in GazzolaLab#249
- Replaced 'moviepy' with 'ffmpeg' for video generation by @Rahul-JOON in GazzolaLab#232
- Windows CI fix by @bhosale2 in GazzolaLab#192
- autoflake funtionality by @bhosale2 in GazzolaLab#175
- @sy-cui made their first contribution in GazzolaLab#173
- @Rahul-JOON made their first contribution in GazzolaLab#232
- @AsadNizami made their first contribution in GazzolaLab#238
- @erfanhamdi made their first contribution in GazzolaLab#247
Full Changelog: https://github.com/GazzolaLab/PyElastica/compare/v0.3.0...v0.3.1
- Refactor internal dissipation as external addon damping module by @bhosale2 in GazzolaLab#114
- New AnalyticalDamper
- Update timestep values for the new damping module by @bhosale2 in GazzolaLab#120
- Filter Damper class by @bhosale2 in GazzolaLab#123
- Adding
ConfigurableFixedConstraint
boundary condition class by @mstoelzle in GazzolaLab#143
- Adds significant digits to shear coefficient (Alpha) (#79) by @bhosale2 in GazzolaLab#82
- Dissipation constant fix (#81) by @bhosale2 in GazzolaLab#87
- Scale dissipation constant by mass instead of length.
- Update FixedJoints: restoring spring-damped-torques, initial rotation offset by @mstoelzle in GazzolaLab#135
- Update: Damping values for rod-rigid body contact cases (#171) by @bhosale2 in GazzolaLab#172
- Fix damping force direction by @bhosale2 in GazzolaLab#170
- Refactor:
wrappers
->modules
by @skim0119 in GazzolaLab#177
- Fix compute shear energy function typo by @bhosale2 in GazzolaLab#88
- Track velocity norms as dynamic proxies in Axial stretching and Timoshenko examples by @tp5uiuc in GazzolaLab#97
- Node to element interpolation fix by @bhosale2 in GazzolaLab#98
- Update: numba disable jit flag in poetry command by @bhosale2 in GazzolaLab#146
- Adjusting data structure of
fixed_positions
andfixed_directors
by @mstoelzle in GazzolaLab#147 - Docs: correct endpoint forces docstring by @bhosale2 in GazzolaLab#157
- Update: remove sys append calls in examples by @bhosale2 in GazzolaLab#162
- Enabling joints to connect rods and rigid bodies by @mstoelzle in GazzolaLab#149
- Codeowners setup by @bhosale2 in GazzolaLab#115
- Remove _elastica_numba folder while keeping _elastica_numba.py by @bhosale2 in GazzolaLab#138
- Update CI: Add sphinx build by @skim0119 in GazzolaLab#139
- Poetry setup for PyElastica (#101) by @bhosale2 in GazzolaLab#141
- Add pre commit to pyelastica by @bhosale2 in GazzolaLab#151
- Update makefile commands: test by @skim0119 in GazzolaLab#156
Full Changelog: https://github.com/GazzolaLab/PyElastica/compare/v0.2.4...v0.3.0
- Refactor EndPointForcesSinusoidal example and test cases by @armantekinalp in GazzolaLab#110
- Fix save_every condition in ExportCallBack by @mstoelzle in GazzolaLab#125
- Fix and update contact examples by @armantekinalp in GazzolaLab#109
- Update rigid body rod contact by @armantekinalp in GazzolaLab#117
- Update rigid body rod contact friction by @armantekinalp in GazzolaLab#124
- Update ExportCallback by @skim0119 in GazzolaLab#130
- @mstoelzle made their first contribution in GazzolaLab#125
The major updates are knot theory module added to the Cosserat rod as mixin, and muscular snake example is added.
- #70: Knot theory module to compute topological quantities.
- #71: Reorganize rod constructor warning messages and collect messages in log.
- #72: Muscular snake example is added.
The major documentation update is finished in this version. Constraint and finalize module are refactored to enhance readability.
- #64: Core wrapper redesign. The finalizing code is refactored for easier integration.
- #65: Documentation update.
- #56: Constraint module has been refactored to include proper abstract base class. Additionally, new
FixedConstraint
is added for generalized fixed boundary condition. - More test cases are added to increase code-coverage.
Contact model between two different rods and rod with itself is implemented. Testing the contact model is done through simulations. These simulation scripts can be found under RodContactCase. However, in future releases we have to add unit tests for contact model functions to test them and increase code coverage.
- #31: Merge contact model to master PR #40 in public
- #46: The progress bar can be disabled by passing an argument to
integrate
. - #48: Experimental modules are added to hold functions that are in test phase.
Click to expand
- Rod-Rod contact and Rod self contact is added.
- Two example cases for rod-rod contact is added, i.e. two rods colliding to each other in space.
- Two example cases for rod self contact is added, i.e. plectonemes and solenoids.
- Progress bar can be disabled by passing an argument to
integrate
function. - Experimental module added.
- Bugfix in callback mechanism
Good luck! If it explode, increase nu. 🤣 If it doesn't explode, thoroughly check for the bug.
- #84: Block implementation
- #75: Poisson ratio and definition of modulus PR #26 in public
- #95: MuscularFlagella example case is added
- #100: ExportCallBack is added to export the rod-data into file.
- #109: Numpy-only version is now removed. Numba-implementation is set to default.
- #112: Save and load implementation with the example are added.
Click to expand
- Block structure is included as part of optimization strategy.
- Different Poisson ratio is supported.
- Contributing guideline is added.
- Update readme
- Add MuscularFlagella example case
- Minimum requirement for dependencies is specified.
- Shear coefficient is corrected.
- Connection index assertion fixed.
- Remove numpy-only version.
- Save/Load example