Implement chained bodies and interactions tracking on 1D/2D multi-bodies

Registered by Bruno Chareyre

The implementation starts with r2344.
Keeping the connectivity data in a special "State" class is experimented.
Beam-like structures are represented as Minkowsky sum of polyline and sphere, and modelized with chained cylinders.
Cylinders are at connected at "nodes", using CohFrict interactions and ScGeom geometry where one radius equals 0 (the node) and the other equals the length of the cylinder.
Mass are concentrated at nodes, which also define positions of cylinders, as inspired by https://yade-dem.org/wiki/File:Chareyre%26Villard2005_licensed.pdf.

The following rules apply for interactions between spheres and chained cylinders :
rule 1 : sphere-node and sphere-cylinder contacts are mutually exclusive if they concern cylinders adjacent to the node
rule 2 : cylinders have the priority as soon as the projected sphere falls inside the cylinder length.

With these rules, it is possible to track contacts moving from one element to the other along a path on a convex part of the chain.
In this case, the interaction created when the reaches element i+1 will be initialized with geometry and physics of the interaction with element i. Hence, the shear force and rotations are not starting from 0.

TODO1 : implement sphere-cylinder and (second step) cylinder-cylinder interactions. -> will need interactions between 3 bodies, which can be done but breaks current design. -> DONE
TODO2 : implement tracking of interactions in case they are jumping from one cylinder to the other. -> DONE in r2614

Extrapolating to deformable triangulated surfaces (like membranes in current versions of SDEC in Grenoble) will be described in another blueprint, since it will be another story... The mechanics described above will apply however.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Bruno Chareyre
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Bruno Chareyre
Completed by
Bruno Chareyre

Related branches

Sprints

Whiteboard

- Example script is available here : scipts/test/chained-cylinder-spring.py (cylinders alone), scipts/test/chained-cylinder-root.py (cylinders+spheres+boxes).

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.