Skip to content

Segment-wise friction for BeamAdapter wire/collision models (e.g., guidewire tip) #211

@HannesDeittert

Description

@HannesDeittert

I’m using BeamAdapter to model a guidewire with different material properties along its length. Stiffness can be varied via multiple Rod*Section entries in WireRestShape, but friction appears global.

In SingleBeamDeploymentCollision.scn friction is set at the solver/response level:

  • LCPConstraintSolver mu="0.1" (SingleBeamDeploymentCollision.scn (line 26))

  • CollisionResponse response="FrictionContactConstraint" (SingleBeamDeploymentCollision.scn (line 31)) Similarly, in Python, responseParams="mu=..." is global (Scene_Cochlea.py (line 22)).

Request
Is it possible (or could it be added) to specify friction per segment along a wire? Typical use case: higher friction at the guidewire tip, lower friction along the shaft.

Potential API ideas (open to better options)

Allow per-segment/per-edge mu values tied to WireRestShape sections (similar to how youngModulus varies).
Allow CollisionResponse or DefaultContactManager to accept a vector of mu values keyed by collision model group or edge index.
Allow LCPConstraintSolver to use group-specific mu.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions