Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

PyElastica Examples

This directory contains a number of examples of elastica. Each example cases are stored in separate subdirectories, containing case descriptions, run file, and all other data/script necessary to run. More advanced cases are stored in separate repository with its description.

Case Examples

Some examples provide additional files or links to published paper for a complete description. Examples can serve as a starting template for customized usages.

  • AxialStretchingCase
    • Purpose: Physical convergence test of simple stretching rod.
    • Features: CosseratRod, OneEndFixedRod, EndpointForces
  • TimoshenkoBeamCase
    • Purpose: Physical convergence test of simple Timoshenko beam.
    • Features: CosseratRod, OneEndFixedRod, EndpointForces
  • FlexibleSwingingPendulumCase
    • Purpose: Physical convergence test of simple pendulum with flexible rod.
    • Features: CosseratRod, HingeBC, GravityForces
  • ContinuumSnakeCase
    • Purpose: Demonstrate simple case of modeling biological creature using PyElastica. The example uses friction to create slithering snake, and optimize the speed using CMA.
    • Features: CosseratRod, MuscleTorques, RodPlaneContactWithAnisotropicFriction, Gravity, CMA Optimization
  • ContinuumSnakeWithLiftingWaveCase
    • Purpose: Demonstrate simple case of modeling biological creature using PyElastica. The example uses friction to create slithering snake with lift.
    • Features: CosseratRod, MuscleTorquesLifting(custom implemented), SnakeRodPlaneContact(custom implemented), Gravity
  • MuscularSnake
  • ButterflyCase
    • Purpose: Demonstrate simple restoration with initial strain.
    • Features: CosseratRod
  • CantileverDistributedLoad
    • Purpose: Demonstrate the deformation of a straight cantilever under both conservative (like water pressure) and non-conservative (like gravity) distributed load, compared with numerical solutions from Tschisgale, Silvio (2019)."Chapter 3: Numerical models of partitioned problems" Technische Univerisitat Dresden Institution of Fluid Mechanics
    • Features: CosseratRod
  • CantileverTransversalLoadCase
    • Purpose: Demonstrate the deformation of a curved cantilever under transversal one-end load, and also do Physical convergence test, compared with numerical solutions from Tschisgale, Silvio (2019).
    • Features: CosseratRod
  • TumblingUnconstrainedRod
    • Purpose: Demonstrate the dynamics of tumbling unconstrained rod, compared with analytical solution from Hisao, Kou Hou (1998)., Computer methods in applied mechanics and engineering.
    • Features: CosseratRod
  • FrictionValidationCases
    • Purpose: Physical validation of rolling and translational friction.
    • Features: CosseratRod, UniformForces, RodPlaneContactWithAnisotropicFriction
  • JointCases
    • Purpose: Demonstrate various joint usage with Cosserat Rod.
    • Features: FreeJoint, FixedJoint, HingeJoint, OneEndFixedRod, EndpointForcesSinusoidal
  • RigidBodyCases
    • Purpose: Demonstrate usage of rigid body on simulation.
    • Features: Cylinder, Sphere
    • RodRigidBodyContact
      • Purpose: Demonstrate contact between cylinder and rod, for different intial conditions.
      • Features: Cylinder, CosseratRods, RodCylinderContact
  • HelicalBucklingCase
    • Purpose: Demonstrate helical buckling with extreme twisting boundary condition.
    • Features: HelicalBucklingBC
  • ContinuumFlagellaCase
    • Purpose: Demonstrate flagella modeling using PyElastica.
    • Features: SlenderBodyTheory, MuscleTorques,
  • MuscularFlagella
    • Purpose: Example of customizing Joint module and Force module to implement muscular flagella.
    • Features: MuscleForces(custom implemented)
  • RodContactCase
    • RodRodContact
      • Purpose: Demonstrates contact between two rods, for different initial conditions.
      • Features: CosseratRod, RodRodContact
    • RodSelfContact
      • PlectonemesCase
        • Purpose: Demonstrates rod self contact with Plectoneme example, and how to use link-writhe-twist after simulation completed.
        • Features: CosseratRod, SolenoidsBC, RodSelfContact, Link-Writhe-Twist
      • SolenoidsCase
        • Purpose: Demonstrates rod self contact with Solenoid example, and how to use link-writhe-twist after simulation completed.
        • Features: CosseratRod, SolenoidsBC, RodSelfContact, Link-Writhe-Twist
  • BoundaryConditionsCases
    • Purpose: Demonstrate the usage of boundary conditions for constraining the movement of the system.
    • Features: GeneralConstraint, CosseratRod
  • DynamicCantileverCase
    • Purpose: Validation of dynamic cantilever vibration for multiple modes.
    • Features: CosseratRod, OneEndFixedRod
  • RingRodCase
    • Purpose: Demonstrate simulation of ring rod.
    • Features: RingCosseratRod, OneEndFixedRod, GravityForce
  • CatenaryCase
    • Purpose: Demonstrate simulation of cosserat rod under gravity with fixed ends, compared with Catenary Analytical Solution from Routh, Edward John (1891). "Chapter X: On Strings". A Treatise on Analytical Statics. University Press.
    • Features: CosseratRod, FixedConstraint, GravityForce
  • KnotCase
    • Purpose: Demonstrate simulation of rod forming a knot using a tip-pose control.
    • Features: CosseratRod, KnotTheory, FixedConstraint, RodSelfContact, Custom p-controller for SO3.

Functional Examples

  • RestartExample
    • Purpose: Demonstrate the usage of restart module.
    • Features: save_state, load_state

Advanced Cases

Experimental Cases

  • ParallelConnectionExample
    • Purpose: Demonstrate the usage of parallel connection.
    • Features: connect two parallel rods
  • GenericSystemConnectionCases
    • Purpose: Demonstrate the usage of generic system type connections for connecting different system types (rods and rigid bodies).
    • Features: GenericSystemTypeFixedJoint, GenericSystemTypeFreeJoint, CosseratRod, Cylinder