Viscous friction ? #4659
-
Hi SOFA community ! I'm looking to add a viscous friction force, i.e. a friction force proportionnal to the slipping velocity. Is there a component that can help me do this ? Otherwise, how can I get started to contribute one ? |
Beta Was this translation helpful? Give feedback.
Replies: 13 comments 7 replies
-
I read some of the code for |
Beta Was this translation helpful? Give feedback.
-
Still in if(normFt > fN)
{
const SReal factor = fN / normFt;
force[line+1] *= factor;
force[line+2] *= factor;
} returns a tangential force that either blocks tangential movement if normFt < fN, or is clamped to fN and represents the dry friction force that opposes tangential movement. So I need to find a way to bring velocity information to this function and replace I guess this means I may have to write new classes similar to |
Beta Was this translation helpful? Give feedback.
-
I worked on figuring out where the constraints are instantitated. CollisionResponse implements ContactManager and thus determines the contact response, in the method createNewContacts. In CollisionResponse.cpp, l. 168 : responseUsed is a string that is passed to a factory in Contact::Create. Contact.cpp, l.45: This means you have to register the collision response model with the contact manager. This sends us back to the FrictionContact class, where the registration must happen in l.39 of FrictionContact.h : From this, a Contact object must receive all its information about the scene from two CollisionModels and an IntersectionMethod. In order to implement the force I'm looking for directly with a contact, I must be able to get the velocity information from the collision models and the intersection method. If the data I need is accessible from those classes, I may not be able to implement viscous friction from the contact response. I may need to define a force field that takes into account collision information, instead of a collision response taking into account velocity. edit : goodish news, TetrahedronModel has methods v1, v2, v3, v4 that returns velocities of the vertices, and TriangleModel has a method velocity that returns the average of the velocities of the vertices. So, at least in the particular case of triangular mesh collision models, which is the one I'm interested in, this should work. |
Beta Was this translation helpful? Give feedback.
-
Do not hesitate to keep us posted regarding your progress in this post @aleblanc30 |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Hi @bakpaul @hugtalbot, hope you are doing well ! I'm pretty happy about where things are going but I'm facing an issue. With @bakpaul, we created a separate From what I gathered, it may be related to multiple registrations of the same classes in the object factory, or to a problem with the rootNode.addObject('CollisionResponse', name='Response', response='FrictionContactConstraint', responseParams=f'mu=0.,alpha={alpha}') Would any of you have some time to look into it ? |
Beta Was this translation helpful? Give feedback.
-
Do you have the complete stacktrace of the segfault ?
This can be informative to locate which function created the segfault (in general the ones just after the line: |
Beta Was this translation helpful? Give feedback.
-
Here is a trace when I try to run the benchmark with runSofa : ➜ sofa ./install/bin/runSofa -lSofaPython3 src/sofa/benchmark/benchmark_viscous.py
[INFO] [runSofa] PluginRepository paths = /home/alexandre/workspace/sofa/install/plugins:/home/alexandre/workspace/sofa/install/collections:/home/alexandre/workspace/sofa/install/lib
[INFO] [runSofa] DataRepository paths = /home/alexandre/workspace/sofa/install/share/sofa:/home/alexandre/workspace/sofa/install/share/sofa/examples:/home/alexandre/workspace/sofa/install/share/sofa:/home/alexandre/workspace/sofa/install/share/sofa/examples
[INFO] [runSofa] GuiDataRepository paths = /home/alexandre/workspace/sofa/install/share/sofa/gui/runSofa:/home/alexandre/workspace/sofa/install/share/sofa/gui/qt
[INFO] [GUIManager] Registered batch as a GUI.
WARNING: Multiple instance of a singleton class
[WARNING] [ObjectFactory] cannot create template alias Vec1 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec2 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec3 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec6 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Rigid2 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Rigid3 as it already exists
[WARNING] [ObjectFactory] cannot create template alias CompressedRowSparseMatrix as it already exists
[WARNING] [ObjectFactory] cannot create template alias CompressedRowSparseMatrixMat3x3 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Mat2x2 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Mat3x3 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Mat4x4 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Mat6x6 as it already exists
[WARNING] [ObjectFactory] cannot create template alias Rigid as it already exists
[WARNING] [ObjectFactory] cannot create template alias Rigid2f as it already exists
[WARNING] [ObjectFactory] cannot create template alias Rigid3f as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec1f as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec2f as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec3f as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec6f as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec1d as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec2d as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec3d as it already exists
[WARNING] [ObjectFactory] cannot create template alias Vec6d as it already exists
[WARNING] [ObjectFactory] cannot create template alias Rigid2d as it already exists
[WARNING] [ObjectFactory] cannot create template alias Rigid3d as it already exists
[WARNING] [ObjectFactory] cannot create template alias float as it already exists
[WARNING] [ObjectFactory] cannot create template alias double as it already exists
[WARNING] [ObjectFactory] cannot create template alias vector<int> as it already exists
[WARNING] [ObjectFactory] cannot create template alias vector<unsigned_int> as it already exists
[WARNING] [ObjectFactory] cannot create template alias vector<float> as it already exists
[WARNING] [ObjectFactory] cannot create template alias vector<double> as it already exists
[WARNING] [ObjectFactory] cannot create template alias int as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<int> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<double> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<bool> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<Vec<2u,unsigned int>> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<Vec<2u,double>> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<Vec<3u,double>> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<Vec<4u,double>> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<RigidCoord<2u,double>> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<RigidDeriv<2u,double>> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<RigidCoord<3u,double>> as it already exists
[WARNING] [ObjectFactory] cannot create template alias Data<RigidDeriv<3u,double>> as it already exists
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DefaultAnimationLoop
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DefaultVisualManagerLoop
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RequiredPlugin
[ERROR] [TaskSchedulerFactory] Cannot register task scheduler '_default' into the factory: a task scheduler with this name already exists
[INFO] [SofaPython3] Initializing with python version 3.10.15 (main, Sep 7 2024, 18:35:33) [GCC 9.4.0]
[INFO] [SofaPython3] Registering a scene loader for [.py, .py3, .pyscn, .py3scn] files.
[INFO] [SofaPython3] Initializing python
[INFO] [SofaPython3] Added '/home/alexandre/workspace/sofa/install/plugins/SofaPython3/lib/python3/site-packages' to sys.path
---------------------------------------
Checking SOFA_ROOT and SOFAPYTHON3_ROOT
Using environment variable SOFA_ROOT: /home/alexandre/workspace/sofa/install
---------------------------------------
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: MeshTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CubeTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SphereQuadTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: GridTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RegularGridTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SparseGridTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CylinderGridTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SphereGridTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SparseGridMultipleTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SparseGridRamificationTopology
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: BilateralLagrangianConstraint<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: BilateralLagrangianConstraint<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: FixedLagrangianConstraint<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: FixedLagrangianConstraint<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: FixedLagrangianConstraint<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: FixedLagrangianConstraint<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: FixedLagrangianConstraint<Vec6d>
[WARNING] [ObjectFactory] Default template for class SlidingLagrangianConstraint already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SlidingLagrangianConstraint<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: StopperLagrangianConstraint<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: UniformLagrangianConstraint<Vec1d>
[ERROR] [ObjectFactory] Component already registered: UnilateralLagrangianConstraint<>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DistanceFromTargetMapping<Rigid3d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DistanceFromTargetMapping<Vec1d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DistanceFromTargetMapping<Vec3d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DistanceMapping<Rigid3d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DistanceMapping<Vec3d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DistanceMultiMapping<Rigid3d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DistanceMultiMapping<Vec3d,Vec1d>
[WARNING] [ObjectFactory] Default template for class RigidMapping already registered (Rigid3d,Vec3d), do not register Rigid3d,Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RigidMapping<Rigid2d,Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RigidMapping<Rigid3d,Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RigidMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SquareDistanceMapping<Rigid3d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SquareDistanceMapping<Vec3d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SquareMapping<Vec1d,Vec1d>
[WARNING] [ObjectFactory] Default template for class EdgeSetGeometryAlgorithms already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: EdgeSetGeometryAlgorithms<Rigid2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: EdgeSetGeometryAlgorithms<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: EdgeSetGeometryAlgorithms<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: EdgeSetGeometryAlgorithms<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: EdgeSetGeometryAlgorithms<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: EdgeSetTopologyContainer
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: EdgeSetTopologyModifier
[WARNING] [ObjectFactory] Default template for class HexahedronSetGeometryAlgorithms already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: HexahedronSetGeometryAlgorithms<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: HexahedronSetGeometryAlgorithms<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: HexahedronSetTopologyContainer
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: HexahedronSetTopologyModifier
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: MultilevelHexahedronSetTopologyContainer
[WARNING] [ObjectFactory] Default template for class PointSetGeometryAlgorithms already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PointSetGeometryAlgorithms<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PointSetGeometryAlgorithms<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PointSetGeometryAlgorithms<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PointSetTopologyContainer
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PointSetTopologyModifier
[WARNING] [ObjectFactory] Default template for class QuadSetGeometryAlgorithms already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: QuadSetGeometryAlgorithms<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: QuadSetGeometryAlgorithms<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: QuadSetTopologyContainer
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: QuadSetTopologyModifier
[WARNING] [ObjectFactory] Default template for class TetrahedronSetGeometryAlgorithms already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TetrahedronSetGeometryAlgorithms<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TetrahedronSetGeometryAlgorithms<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TetrahedronSetTopologyContainer
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TetrahedronSetTopologyModifier
[WARNING] [ObjectFactory] Default template for class TriangleSetGeometryAlgorithms already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleSetGeometryAlgorithms<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleSetGeometryAlgorithms<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleSetTopologyContainer
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleSetTopologyModifier
[WARNING] [ObjectFactory] Default template for class DynamicSparseGridGeometryAlgorithms already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DynamicSparseGridGeometryAlgorithms<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DynamicSparseGridGeometryAlgorithms<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DynamicSparseGridTopologyContainer
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DynamicSparseGridTopologyModifier
[WARNING] [ObjectFactory] Default template for class BarycentricMapping already registered (Vec3d,Vec3d), do not register Vec3d,Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: BarycentricMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: BarycentricMapping<Vec3d,Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: BeamLinearMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CenterOfMassMapping<Rigid2d,Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CenterOfMassMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CenterOfMassMulti2Mapping<Vec3d,Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CenterOfMassMultiMapping<Rigid3d,Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CenterOfMassMultiMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CenterOfMassMultiMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: DeformableOnRigidFrameMapping<Vec3d,Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Rigid2d,Rigid2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Rigid2d,Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Rigid3d,Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Vec1d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Vec2d,Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Vec6d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMapping<Vec6d,Vec6d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMultiMapping<Rigid3d,Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: IdentityMultiMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: LineSetSkinningMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: Mesh2PointMechanicalMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: Mesh2PointTopologicalMapping
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SimpleTesselatedHexaTopologicalMapping
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SimpleTesselatedTetraMechanicalMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SimpleTesselatedTetraTopologicalMapping
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SkinningMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMapping<Rigid3d,Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMapping<Vec1d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMultiMapping<Rigid3d,Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMultiMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMultiMapping<Vec1d,Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMultiMapping<Vec2d,Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SubsetMultiMapping<Vec3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TubularMapping<Rigid3d,Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: VoidMapping
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CubeCollisionModel
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CylinderCollisionModel<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: LineCollisionModel<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PointCollisionModel<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RayCollisionModel
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SphereCollisionModel<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SphereCollisionModel<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TetrahedronCollisionModel
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleCollisionModel<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleModelInRegularGrid
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleOctreeModel
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: AngularSpringForceField<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: FastTriangularBendingSprings<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: FrameSpringForceField<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: GearSpringForceField<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: JointSpringForceField<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: MeshSpringForceField<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: MeshSpringForceField<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: MeshSpringForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PolynomialRestShapeSpringsForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PolynomialSpringsForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: QuadBendingSprings<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: QuadBendingSprings<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: QuadularBendingSprings<Vec3d>
[WARNING] [ObjectFactory] Default template for class RegularGridSpringForceField already registered (Vec3d), do not register Vec3d as the default
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RegularGridSpringForceField<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RegularGridSpringForceField<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RegularGridSpringForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RegularGridSpringForceField<Vec6d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RepulsiveSpringForceField<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RepulsiveSpringForceField<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RepulsiveSpringForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RestShapeSpringsForceField<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RestShapeSpringsForceField<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RestShapeSpringsForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SpringForceField<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SpringForceField<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SpringForceField<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SpringForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: SpringForceField<Vec6d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: StiffSpringForceField<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: StiffSpringForceField<Vec1d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: StiffSpringForceField<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: StiffSpringForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: StiffSpringForceField<Vec6d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleBendingSprings<Vec2d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangleBendingSprings<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangularBendingSprings<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangularBiquadraticSpringsForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TriangularQuadraticSpringsForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: VectorSpringForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: Camera
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: InteractiveCamera
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: LineAxis
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RecordedCamera
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TrailRenderer<Rigid3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: TrailRenderer<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: Visual3DText
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: VisualGrid
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: VisualModelImpl<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: VisualStyle
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: VisualTransform
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: CollisionResponse
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: ContactListener
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: PenalityContactForceField<Vec3d>
[WARNING] [ObjectFactory] Class already registered in the ObjectFactory: RuleBasedContactManager
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/SofaPython3/lib/libSofaPython3.so
[INFO] [runSofa] Loading automatically plugin list in /home/alexandre/workspace/sofa/install/lib/plugin_list.conf.default
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.ODESolver.Forward.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.ODESolver.Backward.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.ODESolver.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.IO.Mesh.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.IO.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Playback.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SceneUtility.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Container.Constant.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Container.Dynamic.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Container.Grid.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Container.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Mapping.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Utility.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Visual.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSystem.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSolver.Iterative.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSolver.Ordering.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSolver.Direct.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSolver.Preconditioner.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSolver.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mass.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Diffusion.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mapping.Linear.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mapping.NonLinear.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mapping.MappedMatrix.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mapping.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.StateContainer.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.Spring.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.FEM.Elastic.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.FEM.HyperElastic.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.FEM.NonUniform.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.FEM.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.TensorMass.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Constraint.Lagrangian.Model.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Constraint.Lagrangian.Correction.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Constraint.Lagrangian.Solver.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Constraint.Lagrangian.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Constraint.Projective.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Constraint.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.AnimationLoop.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.MechanicalLoad.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Geometry.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Detection.Algorithm.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Detection.Intersection.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Detection.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Response.Mapper.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Response.Contact.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Response.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Setting.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Controller.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Engine.Analyze.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Engine.Generate.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Engine.Select.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Engine.Transform.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Engine.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Haptics.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GL.Component.Rendering2D.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GL.Component.Rendering3D.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GL.Component.Engine.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GL.Component.Shader.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GL.Component.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GUI.Component.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GUI.Batch.so
[INFO] [GUIManager] Registered qglviewer as a GUI.
[INFO] [GUIManager] Registered qt as a GUI.
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GUI.Qt.so
[DEPRECATED] [SofaValidation] SofaValidation is deprecated. It will be removed at v23.06. For CompareState and CompareTopology, use Sofa.Component.Playback instead.
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/SofaValidation/lib/libSofaValidation.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/SceneCreator/lib/libSceneCreator.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/ArticulatedSystemPlugin/lib/libArticulatedSystemPlugin.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/MultiThreading/lib/libMultiThreading.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/CGALPlugin/lib/libCGALPlugin.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/SofaMatrix/lib/libSofaMatrix.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/STLIB/lib/libSTLIB.so
[INFO] [SofaPython3] Added '/home/alexandre/workspace/sofa/install/plugins/STLIB/lib/python3/site-packages' to sys.path
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/plugins/SoftRobots/lib/libSoftRobots.so
[INFO] [SofaPython3] Added '/home/alexandre/workspace/sofa/install/plugins/SoftRobots/lib/python3/site-packages' to sys.path
[INFO] [PluginManager] 76 plugins have been loaded from /home/alexandre/workspace/sofa/install/lib/plugin_list.conf.default
[INFO] [SofaPluginManager] Loading automatically plugin list in /home/alexandre/workspace/sofa/install/config/loadedPlugins.ini
[INFO] [PluginManager] 0 plugins have been loaded from /home/alexandre/workspace/sofa/install/config/loadedPlugins.ini
[WARNING] [Qt] QObject::connect: No such slot sofa::gui::qt::RealGUI::fileSaveAs(sofa::simulation::Node*)
[WARNING] [Qt] QObject::connect: (sender name: 'SimuGraph')
[WARNING] [Qt] QObject::connect: (receiver name: 'GUI')
[INFO] [SceneCheckerVisitor] Validating node "root" with checks: [SceneCheckCollisionResponse, SceneCheckDeprecatedComponents, SceneCheckDuplicatedName, SceneCheckMissingRequiredPlugin, SceneCheckUsingAlias, SceneCheckMultithreading]
[WARNING] [SceneCheckMissingRequiredPlugin] This scene is using component defined in plugins but is not importing the required plugins.
Your scene may not work on a sofa environment with different pre-loaded plugins.
To fix your scene and remove this warning you just need to cut & paste the following lines at the beginning of your scene:
root.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Solver') # Needed to use components [GenericConstraintSolver]
root.addObject('RequiredPlugin', name='Sofa.Component.LinearSystem') # Needed to use components [MatrixLinearSystem]
[SUGGESTION] [SceneCheckMultithreading] This scene is using components implemented sequentially while a parallel implementation is available. Using the parallel implementation may improve the performances. Here is the list of sequential components in your scene and their parallel equivalent:
BVHNarrowPhase -> ParallelBVHNarrowPhase
BruteForceBroadPhase -> ParallelBruteForceBroadPhase
[INFO] [SceneCheckerVisitor] Finished validating node "root".
double free or corruption (!prev)
########## SIG 6 - SIGABRT: usually caused by an abort() or assert() ##########
^C
########## SIG 2 - SIGINT: interactive attention signal, probably a ctrl+c ##########
^C
########## SIG 2 - SIGINT: interactive attention signal, probably a ctrl+c ##########
sofa::helper::BackTrace::sig(int)
__poll
xcb_wait_for_event
clone
|
Beta Was this translation helpful? Give feedback.
-
When I try to run the benchmark using python : ➜ sofa python3.10 src/sofa/benchmark/benchmark_viscous.py
---------------------------------------
Checking SOFA_ROOT and SOFAPYTHON3_ROOT
Using environment variable SOFA_ROOT: /home/alexandre/workspace/sofa/install
---------------------------------------
[ERROR] [ObjectFactory] Component already registered: UnilateralLagrangianConstraint<>
m = 0.09999999999999999
alpha = 1.0
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Detection.Algorithm.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Detection.Intersection.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Geometry.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Collision.Response.Contact.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.IO.Mesh.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSolver.Iterative.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mapping.Linear.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mass.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.ODESolver.Backward.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.SolidMechanics.Spring.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.StateContainer.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Container.Constant.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Container.Grid.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.GL.Component.Rendering3D.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.AnimationLoop.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Constraint.Lagrangian.Correction.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.LinearSolver.Direct.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Mapping.NonLinear.so
[INFO] [PluginManager] Loaded plugin: /home/alexandre/workspace/sofa/install/lib/libSofa.Component.Topology.Container.Dynamic.so
[ERROR] [SofaRuntime] ValueError: Object type FreeMotionAnimationLoop<> was not created
The object 'FreeMotionAnimationLoop' is not in the factory.
This component has been MOVED from SofaConstraint to Sofa.Component.AnimationLoop since SOFA v22.06.
To continue using this component you may need to update your scene by adding
<RequiredPlugin name='Sofa.Component.AnimationLoop'/>
Traceback (most recent call last):
File "/home/alexandre/workspace/sofa/src/sofa/benchmark/benchmark_viscous.py", line 284, in <module>
limit_speed_accuracy()
File "/home/alexandre/workspace/sofa/src/sofa/benchmark/benchmark_viscous.py", line 255, in limit_speed_accuracy
createScene(root, dt=1e-4, m=m, alpha=alpha, g=g)
File "/home/alexandre/workspace/sofa/src/sofa/benchmark/benchmark_viscous.py", line 29, in createScene
rootNode.addObject('FreeMotionAnimationLoop')
[WARNING] [SofaSimulationCore] the library has not been cleaned up (sofa::simulation::core::cleanup() has never been called, see sofa/helper/init.h)
[WARNING] [SofaCore] the library has not been cleaned up (sofa::core::cleanup() has never been called, see sofa/helper/init.h)
[WARNING] [SofaDefaultType] the library has not been cleaned up (sofa::defaulttype::cleanup() has never been called, see sofa/helper/init.h)
[WARNING] [SofaHelper] the library has not been cleaned up (sofa::helper::cleanup() has never been called, see sofa/helper/init.h)
|
Beta Was this translation helpful? Give feedback.
-
I can't seem to reproduce the error I was getting yesterday. FYI @damienmarchal, I'm working on this fork/branch : https://github.com/aleblanc30/sofa/tree/viscous |
Beta Was this translation helpful? Give feedback.
-
I noticed that the issue was appearing only with when using the sofapython3 plugin. I figured out it was an issue with my build, and managed to fix it. |
Beta Was this translation helpful? Give feedback.
-
I'm still having issues with how to pass multiple parameters to the FrictionContacts, though |
Beta Was this translation helpful? Give feedback.
-
I figured out how to pass multiple parameters to the ContactResponse, they must actually be separated by an rootNode.addObject('CollisionResponse', name='Response', response='FrictionContactConstraint', responseParams=f'mu=0.,alpha={alpha}') I need to write : rootNode.addObject('CollisionResponse', name='Response', response='FrictionContactConstraint', responseParams=f'mu=0.&alpha={alpha}') |
Beta Was this translation helpful? Give feedback.
I figured out how to pass multiple parameters to the ContactResponse, they must actually be separated by an
&
, so instead of :I need to write :