Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def createScene(rootNode):
rootNode.addObject('VisualStyle', displayFlags='showVisualModels hideBehaviorModels showCollisionModels hideBoundingCollisionModels hideForceFields showInteractionForceFields hideWireframe')

rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', printLog='0')
rootNode.addObject('BlockGaussSeidelConstraintSolver', printLog='0')

################################################################################################################
################################################### Bunny ######################################################
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def createScene(rootNode):
"Sofa.Component.Collision.Response.Contact", # Needed to use components RuleBasedContactManager
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand Down
6 changes: 3 additions & 3 deletions examples/component/constraint/CableConstraint/Finger.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', pluginName=[
"Sofa.Component.AnimationLoop", # Needed to use components FreeMotionAnimationLoop
"Sofa.Component.Constraint.Lagrangian.Correction", # Needed to use components GenericConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand All @@ -34,8 +34,8 @@ def createScene(rootNode):
# when manipulating the robots by specifying their effector's position instead of by direct control
#  of the actuator's parameters.
# rootNode.addObject('QPInverseProblemSolver', printLog=False)
# Otherwise use a ProjectedGaussSeidelConstraintSolver
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)
# Otherwise use a BlockGaussSeidelConstraintSolver
rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)

rootNode.gravity = [0, -9810, 0]
rootNode.dt = 0.01
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def createScene(rootNode):
"Sofa.Component.AnimationLoop", # Needed to use components FreeMotionAnimationLoop
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand All @@ -36,7 +36,7 @@ def createScene(rootNode):

rootNode.addObject("FreeMotionAnimationLoop")
rootNode.addObject('DefaultVisualManagerLoop')
rootNode.addObject("ProjectedGaussSeidelConstraintSolver", maxIterations=1000, tolerance=0.001)
rootNode.addObject("BlockGaussSeidelConstraintSolver", maxIterations=1000, tolerance=0.001)

finger = ElasticMaterialObject(name="finger",
volumeMeshFileName="mesh/finger.vtk",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', name='ArticulatedSystemPlugin') # Needed to use components [ArticulatedHierarchyContainer,ArticulatedSystemMapping,Articulation,ArticulationCenter]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.AnimationLoop') # Needed to use components [FreeMotionAnimationLoop]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Correction') # Needed to use components [UncoupledConstraintCorrection]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Solver') # Needed to use components [ProjectedGaussSeidelConstraintSolver]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Solver') # Needed to use components [BlockGaussSeidelConstraintSolver]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Projective') # Needed to use components [FixedProjectiveConstraint]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Engine.Generate') # Needed to use components [GenerateRigidMass]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.IO.Mesh') # Needed to use components [MeshSTLLoader]
Expand All @@ -28,7 +28,7 @@ def createScene(rootNode):
rootNode.gravity = [0., -9810., 0.]
rootNode.addObject('VisualStyle', displayFlags='showBehaviorModels')
rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-4)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-4)

# Simulation node
simulation = rootNode.addChild('Simulation')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ def createScene(rootnode):
rootnode.addObject('RequiredPlugin', name='SoftRobots')

rootnode.addObject('FreeMotionAnimationLoop')
rootnode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1e4, tolerance=1e-5, printLog=True)
rootnode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1e4, tolerance=1e-5, printLog=True)
rootnode.gravity = [0, -9.81, 0]
rootnode.addObject('VisualStyle', displayFlags='showForceFields')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def createScene(rootNode):
"Sofa.Component.AnimationLoop", # Needed to use components FreeMotionAnimationLoop
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshOBJLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand All @@ -36,7 +36,7 @@ def createScene(rootNode):

rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('DefaultVisualManagerLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=500, printLog=False, tolerance=0.0000001)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=500, printLog=False, tolerance=0.0000001)

Bunny(rootNode, name='BunnyPressure', controlType='pressure', initialValue=2)
Bunny(rootNode, translation=[15, 0, 0], controlType='volumeGrowth', name='BunnyVolume', initialValue=40)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def createScene(rootNode):
"Sofa.Component.AnimationLoop", # Needed to use components FreeMotionAnimationLoop
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand All @@ -33,7 +33,7 @@ def createScene(rootNode):
rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('DefaultVisualManagerLoop')

rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1000, tolerance=1e-3)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1000, tolerance=1e-3)

rootNode.addObject('BackgroundSetting', color=[0, 0.168627, 0.211765, 1])
rootNode.findData('gravity').value = [0, 0, -981.0]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ def createScene(rootNode):

rootNode.addObject('RequiredPlugin', name='Sofa.Component.AnimationLoop') # Needed to use components [FreeMotionAnimationLoop]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Correction') # Needed to use components [LinearSolverConstraintCorrection]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Solver') # Needed to use components [ProjectedGaussSeidelConstraintSolver]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Solver') # Needed to use components [BlockGaussSeidelConstraintSolver]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Engine.Select') # Needed to use components [BoxROI]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.IO.Mesh') # Needed to use components [MeshOBJLoader,MeshVTKLoader]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.LinearSolver.Direct') # Needed to use components [EigenSimplicialLDLT]
Expand All @@ -32,7 +32,7 @@ def createScene(rootNode):

rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('DefaultVisualManagerLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.0000001)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.0000001)

# bunny
bunny = rootNode.addChild('bunny')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def createScene(rootNode):
"Sofa.Component.Collision.Response.Contact", # Needed to use components CollisionResponse
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand All @@ -35,7 +35,7 @@ def createScene(rootNode):
rootNode.addObject('VisualStyle', displayFlags="showVisualModels hideBehaviorModels showCollisionModels hideBoundingCollisionModels hideForceFields showInteractionForceFields hideWireframe")
rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('DefaultVisualManagerLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1000, tolerance=1e-3)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1000, tolerance=1e-3)

rootNode.addObject('CollisionPipeline')
rootNode.addObject('BruteForceBroadPhase', name="N2")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ def createScene(rootNode):
"Sofa.Component.AnimationLoop", # Needed to use components FreeMotionAnimationLoop
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand All @@ -26,7 +26,7 @@ def createScene(rootNode):

rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('DefaultVisualManagerLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1000, tolerance=1e-14)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1000, tolerance=1e-14)

rootNode.gravity.value = [0, 0, -981.0]
rootNode.dt.value = 0.01
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def createScene(rootNode):
"Sofa.Component.Collision.Geometry", # Needed to use components SphereCollisionModel
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection, UncoupledConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver
"Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
Expand All @@ -35,7 +35,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', name='SoftRobots.Inverse')
rootNode.addObject('QPInverseProblemSolver', epsilon=1e-1, maxIterations=1000, tolerance=1e-14)
else:
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-5)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-5)

rootNode.gravity.value = [0, 0, -981.0]
rootNode.dt.value = 0.01
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def createScene(rootNode):
"Sofa.Component.Constraint.Lagrangian.Correction",
# Needed to use components LinearSolverConstraintCorrection, UncoupledConstraintCorrection
"Sofa.Component.Constraint.Lagrangian.Solver",
# Needed to use components ProjectedGaussSeidelConstraintSolver
# Needed to use components BlockGaussSeidelConstraintSolver
"Sofa.Component.Engine.Select", # Needed to use components BoxROI
"Sofa.Component.IO.Mesh",
# Needed to use components MeshOBJLoader, MeshSTLLoader, MeshVTKLoader
Expand Down Expand Up @@ -53,7 +53,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', name='SoftRobots.Inverse')
rootNode.addObject('QPInverseProblemSolver', epsilon=1e-1, maxIterations=1000, tolerance=1e-14)
else:
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-5)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-5)

rootNode.gravity.value = [0, 0, -981.0]
rootNode.dt.value = 0.01
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def createScene(rootNode):

rootNode.addObject('FreeMotionAnimationLoop')

rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)
rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)

rootNode.addObject('BackgroundSetting', color=[0, 0.168627, 0.211765, 1])
rootNode.addObject('OglSceneFrame', style="Arrows", alignment="TopRight")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def createScene(rootNode):

rootNode.addObject('FreeMotionAnimationLoop')

rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)
rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)

rootNode.addObject('BackgroundSetting', color=[0, 0.168627, 0.211765, 1])
rootNode.addObject('OglSceneFrame', style="Arrows", alignment="TopRight")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def createScene(rootNode):
displayFlags='showVisualModels hideBehaviorModels showCollisionModels hideBoundingCollisionModels hideForceFields showInteractionForceFields hideWireframe')

rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.0000001)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.0000001)

# bunny mechanical model
bunny = rootNode.addChild('bunny')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def createScene(rootNode):
displayFlags='showVisualModels hideBehaviorModels showCollisionModels hideBoundingCollisionModels hideForceFields showInteractionForceFields hideWireframe')

rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.0000001)
rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.0000001)

# bunny mechanical model
bunny = rootNode.addChild('bunny')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def createScene(rootNode):
rootNode.gravity = [0., 0., -9810]

rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-6, maxIterations=50000)
rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-6, maxIterations=50000)

rootNode.addObject('BackgroundSetting', color=[0, 0.168627, 0.211765, 1])
rootNode.addObject('OglSceneFrame', style="Arrows", alignment="TopRight")
Expand Down
2 changes: 1 addition & 1 deletion examples/tutorials/CableGripper/details/step3.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def createScene(rootNode):
MainHeader(rootNode, plugins=["SoftRobots"])
rootNode.VisualStyle.displayFlags = "showBehavior showCollisionModels"
rootNode.addObject('FreeMotionAnimationLoop')
rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)
rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-5, maxIterations=100)

Finger(rootNode)

Expand Down
Loading
Loading