diff --git a/examples/component/constraint/CableConstraint/CableSmoothActuation.py b/examples/component/constraint/CableConstraint/CableSmoothActuation.py index 9a4d5287..b73e04cf 100644 --- a/examples/component/constraint/CableConstraint/CableSmoothActuation.py +++ b/examples/component/constraint/CableConstraint/CableSmoothActuation.py @@ -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 ###################################################### diff --git a/examples/component/constraint/CableConstraint/DisplacementVsForceControl.py b/examples/component/constraint/CableConstraint/DisplacementVsForceControl.py index 72aaf71d..da4dc02c 100644 --- a/examples/component/constraint/CableConstraint/DisplacementVsForceControl.py +++ b/examples/component/constraint/CableConstraint/DisplacementVsForceControl.py @@ -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 diff --git a/examples/component/constraint/CableConstraint/Finger.py b/examples/component/constraint/CableConstraint/Finger.py index dc6161b2..e9bb14fe 100644 --- a/examples/component/constraint/CableConstraint/Finger.py +++ b/examples/component/constraint/CableConstraint/Finger.py @@ -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 @@ -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 diff --git a/examples/component/constraint/CableConstraint/FingerWithSTLIB.py b/examples/component/constraint/CableConstraint/FingerWithSTLIB.py index 36aa11cd..1aded738 100644 --- a/examples/component/constraint/CableConstraint/FingerWithSTLIB.py +++ b/examples/component/constraint/CableConstraint/FingerWithSTLIB.py @@ -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 @@ -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", diff --git a/examples/component/constraint/JointConstraint/JointConstraint.py b/examples/component/constraint/JointConstraint/JointConstraint.py index 00a5d145..fea6d87c 100644 --- a/examples/component/constraint/JointConstraint/JointConstraint.py +++ b/examples/component/constraint/JointConstraint/JointConstraint.py @@ -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] @@ -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') diff --git a/examples/component/constraint/PositionConstraint/PositionConstraint.py b/examples/component/constraint/PositionConstraint/PositionConstraint.py index 6df3d279..da3a6e08 100644 --- a/examples/component/constraint/PositionConstraint/PositionConstraint.py +++ b/examples/component/constraint/PositionConstraint/PositionConstraint.py @@ -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') diff --git a/examples/component/constraint/SurfacePressureConstraint/PressureVsVolumeGrowthControl.py b/examples/component/constraint/SurfacePressureConstraint/PressureVsVolumeGrowthControl.py index 76765b5b..edeab60b 100644 --- a/examples/component/constraint/SurfacePressureConstraint/PressureVsVolumeGrowthControl.py +++ b/examples/component/constraint/SurfacePressureConstraint/PressureVsVolumeGrowthControl.py @@ -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 @@ -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) diff --git a/examples/component/constraint/SurfacePressureConstraint/Springy.py b/examples/component/constraint/SurfacePressureConstraint/Springy.py index 5279fc5a..5037f0bd 100644 --- a/examples/component/constraint/SurfacePressureConstraint/Springy.py +++ b/examples/component/constraint/SurfacePressureConstraint/Springy.py @@ -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 @@ -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] diff --git a/examples/component/constraint/SurfacePressureConstraint/SurfacePressureConstraint.py b/examples/component/constraint/SurfacePressureConstraint/SurfacePressureConstraint.py index 4b63358d..fdf4b25e 100644 --- a/examples/component/constraint/SurfacePressureConstraint/SurfacePressureConstraint.py +++ b/examples/component/constraint/SurfacePressureConstraint/SurfacePressureConstraint.py @@ -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] @@ -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') diff --git a/examples/component/constraint/UnilateralPlaneConstraint/ArticulatedTentacle.py b/examples/component/constraint/UnilateralPlaneConstraint/ArticulatedTentacle.py index b2bd7c62..f9e5b403 100644 --- a/examples/component/constraint/UnilateralPlaneConstraint/ArticulatedTentacle.py +++ b/examples/component/constraint/UnilateralPlaneConstraint/ArticulatedTentacle.py @@ -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 @@ -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") diff --git a/examples/component/controller/CommunicationController/SimulationDirect_Receiver.py b/examples/component/controller/CommunicationController/SimulationDirect_Receiver.py index b1c9b302..e0a5913a 100644 --- a/examples/component/controller/CommunicationController/SimulationDirect_Receiver.py +++ b/examples/component/controller/CommunicationController/SimulationDirect_Receiver.py @@ -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 @@ -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 diff --git a/examples/component/controller/CommunicationController/SimulationInverse_Sender.py b/examples/component/controller/CommunicationController/SimulationInverse_Sender.py index 9cc6b103..0bf8a182 100644 --- a/examples/component/controller/CommunicationController/SimulationInverse_Sender.py +++ b/examples/component/controller/CommunicationController/SimulationInverse_Sender.py @@ -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 @@ -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 diff --git a/examples/component/controller/DataVariationLimiter/DataVariationLimiter.py b/examples/component/controller/DataVariationLimiter/DataVariationLimiter.py index de61e76f..c3619297 100644 --- a/examples/component/controller/DataVariationLimiter/DataVariationLimiter.py +++ b/examples/component/controller/DataVariationLimiter/DataVariationLimiter.py @@ -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 @@ -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 diff --git a/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableDisplacement.py b/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableDisplacement.py index 99194a9c..8951efe9 100644 --- a/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableDisplacement.py +++ b/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableDisplacement.py @@ -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") diff --git a/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableForce.py b/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableForce.py index e4f17dd9..f2345d1d 100644 --- a/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableForce.py +++ b/examples/thematicalDocs/T4-DirectActuation/Actuators/Cable/CableForce.py @@ -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") diff --git a/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintPressure.py b/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintPressure.py index f06a655a..8c2d0043 100644 --- a/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintPressure.py +++ b/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintPressure.py @@ -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') diff --git a/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintVolume.py b/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintVolume.py index 7f9d8181..cf82cd19 100644 --- a/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintVolume.py +++ b/examples/thematicalDocs/T4-DirectActuation/Actuators/Pneumatic/SurfaceConstraintVolume.py @@ -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') diff --git a/examples/thematicalDocs/T4-DirectActuation/DriveTheRobot/Simulation.py b/examples/thematicalDocs/T4-DirectActuation/DriveTheRobot/Simulation.py index b531f805..023c9c6f 100644 --- a/examples/thematicalDocs/T4-DirectActuation/DriveTheRobot/Simulation.py +++ b/examples/thematicalDocs/T4-DirectActuation/DriveTheRobot/Simulation.py @@ -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") diff --git a/examples/tutorials/CableGripper/details/step3.py b/examples/tutorials/CableGripper/details/step3.py index 6b8c6e43..9f47341e 100644 --- a/examples/tutorials/CableGripper/details/step3.py +++ b/examples/tutorials/CableGripper/details/step3.py @@ -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) diff --git a/examples/tutorials/CircularRobot/circularrobot.py b/examples/tutorials/CircularRobot/circularrobot.py index 9ed8f2e8..32abf670 100644 --- a/examples/tutorials/CircularRobot/circularrobot.py +++ b/examples/tutorials/CircularRobot/circularrobot.py @@ -122,7 +122,7 @@ def createScene(rootNode): "Sofa.Component.Constraint.Lagrangian.Correction", # Needed to use components GenericConstraintCorrection, UncoupledConstraintCorrection "Sofa.Component.Constraint.Lagrangian.Solver", - # Needed to use components ProjectedGaussSeidelConstraintSolver + # Needed to use components BlockGaussSeidelConstraintSolver "Sofa.Component.IO.Mesh", # Needed to use components MeshOBJLoader, MeshSTLLoader, MeshVTKLoader "Sofa.Component.LinearSolver.Direct", @@ -160,7 +160,7 @@ def createScene(rootNode): rootNode.addObject('QPInverseProblemSolver', epsilon=2e-0, maxIterations=2500, tolerance=1e-7, responseFriction=0.8) else: - rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-5) + rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-5) # Contact detection methods rootNode.addObject('CollisionPipeline') diff --git a/examples/tutorials/DiamondRobot/DiamondRobot.py b/examples/tutorials/DiamondRobot/DiamondRobot.py index d4247657..4d4dce62 100644 --- a/examples/tutorials/DiamondRobot/DiamondRobot.py +++ b/examples/tutorials/DiamondRobot/DiamondRobot.py @@ -20,7 +20,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.Constraint.Projective", # Needed to use components FixedProjectiveConstraint "Sofa.Component.Engine.Select", # Needed to use components BoxROI "Sofa.Component.IO.Mesh", # Needed to use components MeshVTKLoader @@ -35,7 +35,7 @@ def createScene(rootNode): # Constraint solver, here we use a Gauss Seidel algorithm rootNode.addObject('FreeMotionAnimationLoop') - rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-8) + rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=500, tolerance=1e-8) # Robot robot = rootNode.addChild('Robot') diff --git a/examples/tutorials/PneunetGripper/details/step6-pneumaticActuatorAndPythonScriptController.py b/examples/tutorials/PneunetGripper/details/step6-pneumaticActuatorAndPythonScriptController.py index 1109fd50..4d836b94 100644 --- a/examples/tutorials/PneunetGripper/details/step6-pneumaticActuatorAndPythonScriptController.py +++ b/examples/tutorials/PneunetGripper/details/step6-pneumaticActuatorAndPythonScriptController.py @@ -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 [MeshSTLLoader,MeshVTKLoader] rootNode.addObject('RequiredPlugin', name='Sofa.Component.LinearSolver.Direct') # Needed to use components [SparseLDLSolver] @@ -25,7 +25,7 @@ def createScene(rootNode): rootNode.gravity.value = [-9810, 0, 0] rootNode.addObject('AttachBodyButtonSetting', stiffness=10) rootNode.addObject('FreeMotionAnimationLoop') - rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-7, maxIterations=1000) + rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-7, maxIterations=1000) finger = rootNode.addChild('Finger') finger.addObject('EulerImplicitSolver', rayleighStiffness=0.1, rayleighMass=0.1) diff --git a/examples/tutorials/PneunetGripper/details/step7-grabTheCube.py b/examples/tutorials/PneunetGripper/details/step7-grabTheCube.py index 3d9ac980..0ae7e277 100644 --- a/examples/tutorials/PneunetGripper/details/step7-grabTheCube.py +++ b/examples/tutorials/PneunetGripper/details/step7-grabTheCube.py @@ -24,7 +24,7 @@ def createScene(rootNode): rootNode.addObject('RequiredPlugin', name='Sofa.Component.Collision.Geometry') # Needed to use components [LineCollisionModel,PointCollisionModel,TriangleCollisionModel] rootNode.addObject('RequiredPlugin', name='Sofa.Component.Collision.Response.Contact') # Needed to use components [CollisionResponse] rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Correction') # Needed to use components [GenericConstraintCorrection,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.Engine.Select') # Needed to use components [BoxROI] rootNode.addObject('RequiredPlugin', name='Sofa.Component.IO.Mesh') # Needed to use components [MeshOBJLoader,MeshSTLLoader,MeshVTKLoader] rootNode.addObject('RequiredPlugin', name='Sofa.Component.LinearSolver.Direct') # Needed to use components [SparseLDLSolver] @@ -48,7 +48,7 @@ def createScene(rootNode): 'showInteractionForceFields hideWireframe') rootNode.gravity.value = [-9810, 0, 0] rootNode.addObject('FreeMotionAnimationLoop') - rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-7, maxIterations=1000) + rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-7, maxIterations=1000) rootNode.addObject('CollisionPipeline') rootNode.addObject('BruteForceBroadPhase') rootNode.addObject('BVHNarrowPhase') diff --git a/examples/tutorials/PneunetGripper/details/step7-withSTLIB.py b/examples/tutorials/PneunetGripper/details/step7-withSTLIB.py index 5ed9dab6..2ffa545c 100644 --- a/examples/tutorials/PneunetGripper/details/step7-withSTLIB.py +++ b/examples/tutorials/PneunetGripper/details/step7-withSTLIB.py @@ -23,7 +23,7 @@ def createScene(rootNode): rootNode.addObject('RequiredPlugin', name='Sofa.Component.Collision.Geometry') # Needed to use components [LineCollisionModel,PointCollisionModel,TriangleCollisionModel] rootNode.addObject('RequiredPlugin', name='Sofa.Component.Collision.Response.Contact') # Needed to use components [RuleBasedContactManager] rootNode.addObject('RequiredPlugin', name='Sofa.Component.Constraint.Lagrangian.Correction') # Needed to use components [LinearSolverConstraintCorrection,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.Engine.Select') # Needed to use components [BoxROI] rootNode.addObject('RequiredPlugin', name='Sofa.Component.LinearSolver.Direct') # Needed to use components [SparseLDLSolver] rootNode.addObject('RequiredPlugin', name='Sofa.Component.LinearSolver.Iterative') # Needed to use components [CGLinearSolver] diff --git a/examples/tutorials/PneunetGripper/pneunetgripper-tuto.html b/examples/tutorials/PneunetGripper/pneunetgripper-tuto.html index a92030e1..906f31a8 100644 --- a/examples/tutorials/PneunetGripper/pneunetgripper-tuto.html +++ b/examples/tutorials/PneunetGripper/pneunetgripper-tuto.html @@ -127,9 +127,9 @@

Pneumatic Actuator and
rootNode.addObject('PythonScriptController', filename="controllerGripper.py", classname="controller")

In this case, the controller allows to interactively inflate the cavity by pressing ctrl + ‘+’ and deflate it by pressing ctrl + ‘-’.

Solving the constraints

-

To solve the constraints, such as the one define by the pressure actuator, we have to add to the rootNode the component FreeMotionAnimationLoop that will build up the system including constraints. The component ProjectedGaussSeidelConstraintSolver will also be added to solve the constraints problem. Finally, we add the component LinearConstraintCorrection to the finger Node to take into account the correction due to the cavity constraint to the velocity and position:

+

To solve the constraints, such as the one define by the pressure actuator, we have to add to the rootNode the component FreeMotionAnimationLoop that will build up the system including constraints. The component BlockGaussSeidelConstraintSolver will also be added to solve the constraints problem. Finally, we add the component LinearConstraintCorrection to the finger Node to take into account the correction due to the cavity constraint to the velocity and position:

rootNode.addObject('FreeMotionAnimationLoop')
-rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=10000, tolerance=1e-3)
+rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=10000, tolerance=1e-3)
finger.addObject('LinearSolverConstraintCorrection', solverName='directSolver')

With all these components, the scene is now runable and can be used to inflate and deflate the finger.

Real images

@@ -211,7 +211,7 @@

Appendix

rootNode.addObject('VisualStyle', displayFlags='showVisualModels hideBehaviorModels hideCollisionModels hideBoundingCollisionModels hideForceFields showInteractionForceFields hideWireframe') rootNode.findData('gravity').value=[-9810, 0, 0]; rootNode.addObject('FreeMotionAnimationLoop') - rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-12, maxIterations=10000) + rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-12, maxIterations=10000) rootNode.addObject('CollisionPipeline') rootNode.addObject('BruteForceDetection') rootNode.addObject('CollisionResponse', response='FrictionContact', responseParams='mu=0.6') diff --git a/examples/tutorials/PneunetGripper/pneunetgripper-tuto.md b/examples/tutorials/PneunetGripper/pneunetgripper-tuto.md index 953c8174..6f745b8c 100644 --- a/examples/tutorials/PneunetGripper/pneunetgripper-tuto.md +++ b/examples/tutorials/PneunetGripper/pneunetgripper-tuto.md @@ -101,10 +101,10 @@ In this case, the controller allows to interactively inflate the cavity by press ## Solving the constraints - To solve the constraints, such as the one define by the pressure actuator, we have to add to the rootNode the component FreeMotionAnimationLoop that will build up the system including constraints. The component ProjectedGaussSeidelConstraintSolver will also be added to solve the constraints problem. Finally, we add the component LinearConstraintCorrection to the finger Node to take into account the correction due to the cavity constraint to the velocity and position: + To solve the constraints, such as the one define by the pressure actuator, we have to add to the rootNode the component FreeMotionAnimationLoop that will build up the system including constraints. The component BlockGaussSeidelConstraintSolver will also be added to solve the constraints problem. Finally, we add the component LinearConstraintCorrection to the finger Node to take into account the correction due to the cavity constraint to the velocity and position: ```python rootNode.addObject('FreeMotionAnimationLoop') -rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=10000, tolerance=1e-3) +rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=10000, tolerance=1e-3) ``` ```python @@ -226,7 +226,7 @@ def createScene(rootNode): rootNode.addObject('VisualStyle', displayFlags='showVisualModels hideBehaviorModels hideCollisionModels hideBoundingCollisionModels hideForceFields showInteractionForceFields hideWireframe') rootNode.findData('gravity').value=[-9810, 0, 0]; rootNode.addObject('FreeMotionAnimationLoop') - rootNode.addObject('ProjectedGaussSeidelConstraintSolver', tolerance=1e-12, maxIterations=10000) + rootNode.addObject('BlockGaussSeidelConstraintSolver', tolerance=1e-12, maxIterations=10000) rootNode.addObject('CollisionPipeline') rootNode.addObject('BruteForceDetection') rootNode.addObject('CollisionResponse', response='FrictionContactConstraint', responseParams='mu=0.6') diff --git a/examples/tutorials/SoftArmGripper/header.py b/examples/tutorials/SoftArmGripper/header.py index 00337ac5..f742ee8c 100644 --- a/examples/tutorials/SoftArmGripper/header.py +++ b/examples/tutorials/SoftArmGripper/header.py @@ -12,7 +12,7 @@ def addHeader(node): "Sofa.Component.Collision.Detection.Intersection", # Needed to use components LocalMinDistance "Sofa.Component.Collision.Response.Contact", # Needed to use components CollisionResponse "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.IO.Mesh", # Needed to use components MeshOBJLoader "Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver "Sofa.Component.Mass", # Needed to use components UniformMass @@ -36,7 +36,7 @@ def addHeader(node): node.addObject('RequiredPlugin', name='SoftRobots.Inverse') node.addObject('QPInverseProblemSolver') else: - node.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.001) + node.addObject('BlockGaussSeidelConstraintSolver', maxIterations=100, tolerance=0.001) node.addObject('CollisionPipeline') node.addObject('BruteForceBroadPhase') node.addObject('BVHNarrowPhase') diff --git a/examples/tutorials/SoftFingerDesign/details/actuated_arm.py b/examples/tutorials/SoftFingerDesign/details/actuated_arm.py index e8aec201..e41b60d9 100644 --- a/examples/tutorials/SoftFingerDesign/details/actuated_arm.py +++ b/examples/tutorials/SoftFingerDesign/details/actuated_arm.py @@ -102,7 +102,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.dt = 0.01 scene.gravity = [0., -9810., 0.] diff --git a/examples/tutorials/SoftFingerDesign/details/actuated_finger.py b/examples/tutorials/SoftFingerDesign/details/actuated_finger.py index f86a299d..17eae255 100644 --- a/examples/tutorials/SoftFingerDesign/details/actuated_finger.py +++ b/examples/tutorials/SoftFingerDesign/details/actuated_finger.py @@ -129,7 +129,7 @@ def __init__(self, *args, **kwargs): self.numContact = 0 # Computation of the contact force applied on the object to grasp - self.node.getRoot().ProjectedGaussSeidelConstraintSolver.computeConstraintForces.value = True + self.node.getRoot().BlockGaussSeidelConstraintSolver.computeConstraintForces.value = True def onKeypressedEvent(self, event): key = event['key'] @@ -150,7 +150,7 @@ def onAnimateBeginEvent(self, eventType): self.actuator.ServoMotor.angleIn = angleInit + angularStep # Computation of the contact force applied on the object to grasp - contactForces = self.node.getRoot().ProjectedGaussSeidelConstraintSolver.constraintForces.value + contactForces = self.node.getRoot().BlockGaussSeidelConstraintSolver.constraintForces.value # print the number of nodes in contact and the norm of the largest contact force self.numContact = 0 @@ -183,7 +183,7 @@ def createScene(rootNode): # Set up the pipeline for the collision computation scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 diff --git a/examples/tutorials/SoftFingerDesign/details/s90_servo.py b/examples/tutorials/SoftFingerDesign/details/s90_servo.py index e5d3c934..c9f83ede 100644 --- a/examples/tutorials/SoftFingerDesign/details/s90_servo.py +++ b/examples/tutorials/SoftFingerDesign/details/s90_servo.py @@ -109,7 +109,7 @@ def animation(target, factor): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.dt = 0.01 diff --git a/examples/tutorials/Tripod/details/actuatedarm.py b/examples/tutorials/Tripod/details/actuatedarm.py index 2ac65363..3cc3ae33 100644 --- a/examples/tutorials/Tripod/details/actuatedarm.py +++ b/examples/tutorials/Tripod/details/actuatedarm.py @@ -112,7 +112,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.VisualStyle.displayFlags = 'showBehavior' scene.dt = 0.01 diff --git a/examples/tutorials/Tripod/details/s90servo.py b/examples/tutorials/Tripod/details/s90servo.py index f450b880..f9b17d81 100644 --- a/examples/tutorials/Tripod/details/s90servo.py +++ b/examples/tutorials/Tripod/details/s90servo.py @@ -109,7 +109,7 @@ def createScene(rootNode): # ArticulatedSystemMapping,Articulation,ArticulationCenter] '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.Constraint.Projective', # Needed to use components [FixedProjectiveConstraint] 'Sofa.Component.IO.Mesh', # Needed to use components [MeshSTLLoader] 'Sofa.Component.LinearSolver.Direct', # Needed to use components [SparseLDLSolver] @@ -130,7 +130,7 @@ def animation(target, factor): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.dt = 0.01 diff --git a/examples/tutorials/Tripod/details/step4-1.py b/examples/tutorials/Tripod/details/step4-1.py index c068140d..7d2fdebd 100644 --- a/examples/tutorials/Tripod/details/step4-1.py +++ b/examples/tutorials/Tripod/details/step4-1.py @@ -70,7 +70,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 rootNode.dt = 0.01 diff --git a/examples/tutorials/Tripod/details/step4-2.py b/examples/tutorials/Tripod/details/step4-2.py index f8dc589e..6a8059d5 100644 --- a/examples/tutorials/Tripod/details/step4-2.py +++ b/examples/tutorials/Tripod/details/step4-2.py @@ -97,7 +97,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.VisualStyle.displayFlags = "showBehavior" diff --git a/examples/tutorials/Tripod/details/step4-3.py b/examples/tutorials/Tripod/details/step4-3.py index 05c3be76..1df653aa 100644 --- a/examples/tutorials/Tripod/details/step4-3.py +++ b/examples/tutorials/Tripod/details/step4-3.py @@ -107,7 +107,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 diff --git a/examples/tutorials/Tripod/details/step4.py b/examples/tutorials/Tripod/details/step4.py index 8dd1e2c7..28bf2a01 100644 --- a/examples/tutorials/Tripod/details/step4.py +++ b/examples/tutorials/Tripod/details/step4.py @@ -20,7 +20,7 @@ def createScene(rootNode): pluginList = ['ArticulatedSystemPlugin', # Needed to use components [ArticulatedHierarchyContainer] '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.Constraint.Projective', # Needed to use components [FixedProjectiveConstraint] 'Sofa.Component.Engine.Select', # Needed to use components [BoxROI,SphereROI] 'Sofa.Component.LinearSolver.Direct', # Needed to use components [SparseLDLSolver] @@ -39,7 +39,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 diff --git a/examples/tutorials/Tripod/details/step5.py b/examples/tutorials/Tripod/details/step5.py index 401c6bb5..b90a9679 100644 --- a/examples/tutorials/Tripod/details/step5.py +++ b/examples/tutorials/Tripod/details/step5.py @@ -43,7 +43,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.005 scene.Settings.mouseButton.stiffness = 10 diff --git a/examples/tutorials/Tripod/details/step7.py b/examples/tutorials/Tripod/details/step7.py index 69a31273..f2642ae7 100644 --- a/examples/tutorials/Tripod/details/step7.py +++ b/examples/tutorials/Tripod/details/step7.py @@ -113,7 +113,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.VisualStyle.displayFlags = "showBehavior" scene.Settings.mouseButton.stiffness = 10 diff --git a/examples/tutorials/Tripod/details/step8-maze.py b/examples/tutorials/Tripod/details/step8-maze.py index 3d429306..31337a74 100644 --- a/examples/tutorials/Tripod/details/step8-maze.py +++ b/examples/tutorials/Tripod/details/step8-maze.py @@ -120,7 +120,7 @@ def createScene(rootNode): scene = Scene(rootNode, gravity=[0., -9810, 0.], dt=0.01, iterative=False, plugins=pluginList) ContactHeader(rootNode, alarmDistance=15, contactDistance=0.5, frictionCoef=0) - scene.removeObject(scene.ProjectedGaussSeidelConstraintSolver) + scene.removeObject(scene.BlockGaussSeidelConstraintSolver) goalNode = EffectorGoal(rootNode, [0, 30, 0]) diff --git a/examples/tutorials/Tripod/details/tripod.py b/examples/tutorials/Tripod/details/tripod.py index 41b03823..f9c1c4ee 100644 --- a/examples/tutorials/Tripod/details/tripod.py +++ b/examples/tutorials/Tripod/details/tripod.py @@ -114,7 +114,7 @@ def createScene(rootNode): # ArticulatedSystemMapping,Articulation,ArticulationCenter] '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.Constraint.Projective', # Needed to use components [FixedProjectiveConstraint] 'Sofa.Component.IO.Mesh', # Needed to use components [MeshSTLLoader] 'Sofa.Component.LinearSolver.Direct', # Needed to use components [SparseLDLSolver] @@ -135,7 +135,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 diff --git a/examples/tutorials/Tripod/details/tutorial.py b/examples/tutorials/Tripod/details/tutorial.py index 1e8c3b34..1be6bcef 100644 --- a/examples/tutorials/Tripod/details/tutorial.py +++ b/examples/tutorials/Tripod/details/tutorial.py @@ -71,7 +71,7 @@ def Scene(parent, **kwargs): Modelling(scene) Simulation(scene) parent.addObject("FreeMotionAnimationLoop") - parent.addObject("ProjectedGaussSeidelConstraintSolver", maxIterations=250, tolerance=1e-20) + parent.addObject("BlockGaussSeidelConstraintSolver", maxIterations=250, tolerance=1e-20) ctx = scene.Config ctx.addObject("MeshSTLLoader", name="loader", filename=getLoadingLocation("data/mesh/blueprint.stl", __file__)) diff --git a/examples/tutorials/Tripod/myproject/actuatedarm.py b/examples/tutorials/Tripod/myproject/actuatedarm.py index 2ac65363..3cc3ae33 100644 --- a/examples/tutorials/Tripod/myproject/actuatedarm.py +++ b/examples/tutorials/Tripod/myproject/actuatedarm.py @@ -112,7 +112,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.VisualStyle.displayFlags = 'showBehavior' scene.dt = 0.01 diff --git a/examples/tutorials/Tripod/myproject/parts/actuatedarm.py b/examples/tutorials/Tripod/myproject/parts/actuatedarm.py index a13b7bee..e424dbce 100644 --- a/examples/tutorials/Tripod/myproject/parts/actuatedarm.py +++ b/examples/tutorials/Tripod/myproject/parts/actuatedarm.py @@ -98,7 +98,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.VisualStyle.displayFlags = 'showBehavior' scene.dt = 0.01 diff --git a/examples/tutorials/Tripod/myproject/parts/s90servo.py b/examples/tutorials/Tripod/myproject/parts/s90servo.py index 819aad90..e95bdc7a 100644 --- a/examples/tutorials/Tripod/myproject/parts/s90servo.py +++ b/examples/tutorials/Tripod/myproject/parts/s90servo.py @@ -111,7 +111,7 @@ def animation(target, factor): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.dt = 0.01 diff --git a/examples/tutorials/Tripod/myproject/parts/tripod.py b/examples/tutorials/Tripod/myproject/parts/tripod.py index 00ef72b5..6283eb54 100644 --- a/examples/tutorials/Tripod/myproject/parts/tripod.py +++ b/examples/tutorials/Tripod/myproject/parts/tripod.py @@ -112,7 +112,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 diff --git a/examples/tutorials/Tripod/myproject/parts/tutorial.py b/examples/tutorials/Tripod/myproject/parts/tutorial.py index f7de0628..fbd0d1ff 100644 --- a/examples/tutorials/Tripod/myproject/parts/tutorial.py +++ b/examples/tutorials/Tripod/myproject/parts/tutorial.py @@ -71,7 +71,7 @@ def Scene(parent, **kwargs): Modelling(scene) Simulation(scene) parent.addObject("FreeMotionAnimationLoop") - parent.addObject("ProjectedGaussSeidelConstraintSolver", maxIterations=250, tolerance=1e-20) + parent.addObject("BlockGaussSeidelConstraintSolver", maxIterations=250, tolerance=1e-20) ctx = scene.Config ctx.addObject("MeshSTLLoader", name="loader", filename=getLoadingLocation("data/mesh/blueprint.stl", __file__)) diff --git a/examples/tutorials/Tripod/myproject/s90servo.py b/examples/tutorials/Tripod/myproject/s90servo.py index f450b880..f9b17d81 100644 --- a/examples/tutorials/Tripod/myproject/s90servo.py +++ b/examples/tutorials/Tripod/myproject/s90servo.py @@ -109,7 +109,7 @@ def createScene(rootNode): # ArticulatedSystemMapping,Articulation,ArticulationCenter] '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.Constraint.Projective', # Needed to use components [FixedProjectiveConstraint] 'Sofa.Component.IO.Mesh', # Needed to use components [MeshSTLLoader] 'Sofa.Component.LinearSolver.Direct', # Needed to use components [SparseLDLSolver] @@ -130,7 +130,7 @@ def animation(target, factor): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=1e3, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.dt = 0.01 diff --git a/examples/tutorials/Tripod/myproject/step4-1.py b/examples/tutorials/Tripod/myproject/step4-1.py index c068140d..7d2fdebd 100644 --- a/examples/tutorials/Tripod/myproject/step4-1.py +++ b/examples/tutorials/Tripod/myproject/step4-1.py @@ -70,7 +70,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 rootNode.dt = 0.01 diff --git a/examples/tutorials/Tripod/myproject/step4-2.py b/examples/tutorials/Tripod/myproject/step4-2.py index f8dc589e..6a8059d5 100644 --- a/examples/tutorials/Tripod/myproject/step4-2.py +++ b/examples/tutorials/Tripod/myproject/step4-2.py @@ -97,7 +97,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.VisualStyle.displayFlags = "showBehavior" diff --git a/examples/tutorials/Tripod/myproject/step4-3.py b/examples/tutorials/Tripod/myproject/step4-3.py index 05c3be76..1df653aa 100644 --- a/examples/tutorials/Tripod/myproject/step4-3.py +++ b/examples/tutorials/Tripod/myproject/step4-3.py @@ -107,7 +107,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 diff --git a/examples/tutorials/Tripod/myproject/step4.py b/examples/tutorials/Tripod/myproject/step4.py index 016367e8..f884a2ea 100644 --- a/examples/tutorials/Tripod/myproject/step4.py +++ b/examples/tutorials/Tripod/myproject/step4.py @@ -20,7 +20,7 @@ def createScene(rootNode): pluginList = ['ArticulatedSystemPlugin', # Needed to use components [ArticulatedHierarchyContainer] '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.Constraint.Projective', # Needed to use components [FixedProjectiveConstraint] 'Sofa.Component.Engine.Select', # Needed to use components [BoxROI,SphereROI] 'Sofa.Component.LinearSolver.Direct', # Needed to use components [SparseLDLSolver] @@ -39,7 +39,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 diff --git a/examples/tutorials/Tripod/myproject/step5.py b/examples/tutorials/Tripod/myproject/step5.py index 401c6bb5..b90a9679 100644 --- a/examples/tutorials/Tripod/myproject/step5.py +++ b/examples/tutorials/Tripod/myproject/step5.py @@ -43,7 +43,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.005 scene.Settings.mouseButton.stiffness = 10 diff --git a/examples/tutorials/Tripod/myproject/step7.py b/examples/tutorials/Tripod/myproject/step7.py index 69a31273..f2642ae7 100644 --- a/examples/tutorials/Tripod/myproject/step7.py +++ b/examples/tutorials/Tripod/myproject/step7.py @@ -113,7 +113,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.VisualStyle.displayFlags = "showBehavior" scene.Settings.mouseButton.stiffness = 10 diff --git a/examples/tutorials/Tripod/myproject/step8-maze.py b/examples/tutorials/Tripod/myproject/step8-maze.py index be3cabcb..0de6977a 100644 --- a/examples/tutorials/Tripod/myproject/step8-maze.py +++ b/examples/tutorials/Tripod/myproject/step8-maze.py @@ -120,7 +120,7 @@ def createScene(rootNode): scene = Scene(rootNode, gravity=[0., -9810, 0.], dt=0.01, iterative=False, plugins=pluginList) ContactHeader(rootNode, alarmDistance=15, contactDistance=0.5, frictionCoef=0) - scene.removeObject(scene.ProjectedGaussSeidelConstraintSolver) + scene.removeObject(scene.BlockGaussSeidelConstraintSolver) goalNode = EffectorGoal(rootNode, [0, 30, 0]) diff --git a/examples/tutorials/Tripod/myproject/step8.py b/examples/tutorials/Tripod/myproject/step8.py index c911ff10..dfc5d966 100644 --- a/examples/tutorials/Tripod/myproject/step8.py +++ b/examples/tutorials/Tripod/myproject/step8.py @@ -97,7 +97,7 @@ def createScene(rootNode): # Inverse Solver scene.addObject('FreeMotionAnimationLoop') # TODO: Replace the constraint solver with the inverse solver - scene.Simulation.addObject('ProjectedGaussSeidelConstraintSolver') + scene.Simulation.addObject('BlockGaussSeidelConstraintSolver') scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 diff --git a/examples/tutorials/Tripod/myproject/tripod.py b/examples/tutorials/Tripod/myproject/tripod.py index 41b03823..f9c1c4ee 100644 --- a/examples/tutorials/Tripod/myproject/tripod.py +++ b/examples/tutorials/Tripod/myproject/tripod.py @@ -114,7 +114,7 @@ def createScene(rootNode): # ArticulatedSystemMapping,Articulation,ArticulationCenter] '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.Constraint.Projective', # Needed to use components [FixedProjectiveConstraint] 'Sofa.Component.IO.Mesh', # Needed to use components [MeshSTLLoader] 'Sofa.Component.LinearSolver.Direct', # Needed to use components [SparseLDLSolver] @@ -135,7 +135,7 @@ def createScene(rootNode): scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 diff --git a/examples/tutorials/Tripod/myproject/tutorial.py b/examples/tutorials/Tripod/myproject/tutorial.py index 1e8c3b34..1be6bcef 100644 --- a/examples/tutorials/Tripod/myproject/tutorial.py +++ b/examples/tutorials/Tripod/myproject/tutorial.py @@ -71,7 +71,7 @@ def Scene(parent, **kwargs): Modelling(scene) Simulation(scene) parent.addObject("FreeMotionAnimationLoop") - parent.addObject("ProjectedGaussSeidelConstraintSolver", maxIterations=250, tolerance=1e-20) + parent.addObject("BlockGaussSeidelConstraintSolver", maxIterations=250, tolerance=1e-20) ctx = scene.Config ctx.addObject("MeshSTLLoader", name="loader", filename=getLoadingLocation("data/mesh/blueprint.stl", __file__)) diff --git a/examples/tutorials/Tripod/tripod-tuto.html b/examples/tutorials/Tripod/tripod-tuto.html index 2a72bf61..e42de69a 100644 --- a/examples/tutorials/Tripod/tripod-tuto.html +++ b/examples/tutorials/Tripod/tripod-tuto.html @@ -552,7 +552,7 @@

At the end of this ste scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 rootNode.dt = 0.01 @@ -706,7 +706,7 @@

At the end of this ste scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.VisualStyle.displayFlags = "showBehavior" @@ -874,7 +874,7 @@

At the end of this ste scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Settings.mouseButton.stiffness = 10 scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.05 @@ -1024,7 +1024,7 @@

At the end of this ste scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.Simulation.TimeIntegrationSchema.rayleighStiffness = 0.005 scene.Settings.mouseButton.stiffness = 10 @@ -1457,7 +1457,7 @@

At the end of this ste scene.addMainHeader() scene.addObject('DefaultVisualManagerLoop') scene.addObject('FreeMotionAnimationLoop') - scene.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) + scene.addObject('BlockGaussSeidelConstraintSolver', maxIterations=50, tolerance=1e-5) scene.Simulation.addObject('GenericConstraintCorrection') scene.VisualStyle.displayFlags = "showBehavior" scene.Settings.mouseButton.stiffness = 10 @@ -1934,7 +1934,7 @@

STEP 8.3: I scene = Scene(rootNode, gravity=[0., -9810, 0.], dt=0.01, iterative=False, plugins=pluginList) ContactHeader(rootNode, alarmDistance=15, contactDistance=0.5, frictionCoef=0) - scene.removeObject(scene.ProjectedGaussSeidelConstraintSolver) + scene.removeObject(scene.BlockGaussSeidelConstraintSolver) goalNode = EffectorGoal(rootNode, [0, 30, 0]) diff --git a/examples/tutorials/Trunk/trunk.py b/examples/tutorials/Trunk/trunk.py index 12352e11..ee1b95de 100644 --- a/examples/tutorials/Trunk/trunk.py +++ b/examples/tutorials/Trunk/trunk.py @@ -150,7 +150,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.Constraint.Projective", # Needed to use components PartialFixedProjectiveConstraint "Sofa.Component.Engine.Select", # Needed to use components BoxROI "Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader @@ -175,7 +175,7 @@ def createScene(rootNode): rootNode.addObject('QPInverseProblemSolver', epsilon=1e-1) else: # For direct resolution, i.e direct control of the cable displacement - rootNode.addObject('ProjectedGaussSeidelConstraintSolver', maxIterations=100, tolerance=1e-5) + rootNode.addObject('BlockGaussSeidelConstraintSolver', maxIterations=100, tolerance=1e-5) simulation = rootNode.addChild('Simulation') diff --git a/python3/softrobots/parts/bunny/Bunny.py b/python3/softrobots/parts/bunny/Bunny.py index be91bed1..2d0ff5bd 100644 --- a/python3/softrobots/parts/bunny/Bunny.py +++ b/python3/softrobots/parts/bunny/Bunny.py @@ -68,7 +68,7 @@ def createScene(rootNode): # Needed to use components BVHNarrowPhase, BruteForceBroadPhase, CollisionPipeline "Sofa.Component.Collision.Detection.Intersection", # Needed to use components LocalMinDistance "Sofa.Component.Collision.Response.Contact", # Needed to use components RuleBasedContactManager - "Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components ProjectedGaussSeidelConstraintSolver + "Sofa.Component.Constraint.Lagrangian.Solver", # Needed to use components BlockGaussSeidelConstraintSolver "Sofa.Component.Visual", # Needed to use components VisualStyle ]) diff --git a/python3/softrobots/parts/finger/finger.py b/python3/softrobots/parts/finger/finger.py index 23f7371a..634ecc1e 100644 --- a/python3/softrobots/parts/finger/finger.py +++ b/python3/softrobots/parts/finger/finger.py @@ -91,7 +91,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 diff --git a/tests/component/constraint/scenes/SurfacePressureConstraint.scn b/tests/component/constraint/scenes/SurfacePressureConstraint.scn index 261e84d2..79fbf35a 100644 --- a/tests/component/constraint/scenes/SurfacePressureConstraint.scn +++ b/tests/component/constraint/scenes/SurfacePressureConstraint.scn @@ -7,7 +7,7 @@ - + @@ -35,7 +35,7 @@ - +