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 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.

Installing Requirements

In order to run examples, you will need to install additional dependencies.

make install_examples_dependencies

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 demformation 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 demformation 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: Demostrate the dynamics of tumbling uncontrained 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, SelonoidsBC, 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, SelonoidsBC, 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
  • Visualization
    • Purpose: Include simple examples of raytrace rendering data.
    • Features: POVray

Advanced Cases

Experimental Cases