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 @@ -11,7 +11,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', pluginName= ['SoftRobots',
'Sofa.Component.SolidMechanics.Spring',
'Sofa.Component.Engine.Select',
'Sofa.Component.ODESolver.Backward',
'Sofa.Component.IntegrationScheme.Backward',
'Sofa.Component.IO.Mesh',
'Sofa.GL.Component.Rendering2D',
'Sofa.GL.Component.Rendering3D',
Expand Down Expand Up @@ -41,7 +41,7 @@ def createScene(rootNode):
################################################### Bunny ######################################################
################################################################################################################
bunny = rootNode.addChild('bunny')
bunny.addObject('EulerImplicitSolver', name='odesolver')
bunny.addObject('EulerImplicitIntegrationScheme', name='odesolver')
bunny.addObject('EigenSimplicialLDLT', template="CompressedRowSparseMatrixMat3x3d")

bunny.addObject('MeshVTKLoader', name='loader', filename=path+'Hollow_Stanford_Bunny.vtu')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def createScene(rootNode):
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
"Sofa.Component.Topology.Container.Constant", # Needed to use components MeshTopology
Expand Down
4 changes: 2 additions & 2 deletions examples/component/constraint/CableConstraint/Finger.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def createScene(rootNode):
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.Setting", # Needed to use components BackgroundSetting
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
Expand Down Expand Up @@ -44,7 +44,7 @@ def createScene(rootNode):
# FEM Model #
##########################################
finger = rootNode.addChild('finger')
finger.addObject('EulerImplicitSolver', name='odesolver', rayleighMass=0.1, rayleighStiffness=0.1)
finger.addObject('EulerImplicitIntegrationScheme', name='odesolver', rayleighMass=0.1, rayleighStiffness=0.1)
finger.addObject('SparseLDLSolver', template='CompressedRowSparseMatrixMat3x3d')

# Add a component to load a VTK tetrahedral mesh and expose the resulting topology in the scene .
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def createScene(rootNode):
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
"Sofa.Component.Topology.Container.Dynamic", # Needed to use components TetrahedronSetTopologyContainer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', name='Sofa.Component.IO.Mesh') # Needed to use components [MeshSTLLoader]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Mapping.NonLinear') # Needed to use components [RigidMapping]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Mass') # Needed to use components [UniformMass]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.ODESolver.Backward') # Needed to use components [EulerImplicitSolver]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.IntegrationScheme.Backward') # Needed to use components [EulerImplicitIntegrationScheme]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Setting') # Needed to use components [BackgroundSetting]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.SolidMechanics.FEM.Elastic') # Needed to use components [BeamFEMForceField]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.StateContainer') # Needed to use components [MechanicalObject]
Expand All @@ -32,7 +32,7 @@ def createScene(rootNode):

# Simulation node
simulation = rootNode.addChild('Simulation')
simulation.addObject('EulerImplicitSolver')
simulation.addObject('EulerImplicitIntegrationScheme')
simulation.addObject('SparseLDLSolver', template="CompressedRowSparseMatrixd")
simulation.addObject('GenericConstraintCorrection')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ def createScene(rootnode):
rootnode.addObject('VisualStyle', displayFlags='showForceFields')

body = rootnode.addChild('Body')
body.addObject('EulerImplicitSolver')
body.addObject('EulerImplicitIntegrationScheme')
body.addObject('SparseLDLSolver')
body.addObject('RegularGridTopology', min=[0, 0, 0], max=[0.5, 1, 0.1], n=[5, 10, 2])
body.addObject('MechanicalObject')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def createScene(rootNode):
"Sofa.Component.IO.Mesh", # Needed to use components MeshOBJLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
"Sofa.Component.Topology.Container.Constant", # Needed to use components MeshTopology
Expand All @@ -38,7 +38,7 @@ def createScene(rootNode):
rootNode.addObject('DefaultVisualManagerLoop')
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)
Bunny(rootNode, name='BunnyPressure', controlType='pressure', initialValue=2000)
Bunny(rootNode, translation=[15, 0, 0], controlType='volumeGrowth', name='BunnyVolume', initialValue=0.04)

return rootNode
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def createScene(rootNode):
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.Setting", # Needed to use components BackgroundSetting
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
Expand All @@ -43,7 +43,7 @@ def createScene(rootNode):
# FEM Model #
##########################################
accordion = rootNode.addChild('accordion')
accordion.addObject('EulerImplicitSolver', firstOrder=False, rayleighStiffness=0.2, rayleighMass=0.2)
accordion.addObject('EulerImplicitIntegrationScheme', firstOrder=False, rayleighStiffness=0.2, rayleighMass=0.2)
accordion.addObject('SparseLDLSolver')

accordion.addObject('MeshVTKLoader', name='loader', filename=path + 'Springy.vtk', rotation=[0, 0, 0])
Expand Down Expand Up @@ -76,7 +76,7 @@ def createScene(rootNode):
cavity.addObject('SurfacePressureConstraint', template='Vec3', name="pressure",
triangles='@topo.triangles',
valueType=1,
value=8)
value=800)

# This adds a BarycentricMapping. A BarycentricMapping is a key element as it will add a bi-directional link
#  between the cavity wall (surfacic mesh) and the accordion (volumetric mesh) so that movements of the cavity's DoFs will be mapped
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', name='Sofa.Component.LinearSolver.Direct') # Needed to use components [EigenSimplicialLDLT]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Mapping.Linear') # Needed to use components [BarycentricMapping,IdentityMapping]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.Mass') # Needed to use components [UniformMass]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.ODESolver.Backward') # Needed to use components [EulerImplicitSolver]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.IntegrationScheme.Backward') # Needed to use components [EulerImplicitIntegrationScheme]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.SolidMechanics.FEM.Elastic') # Needed to use components [FastTetrahedralCorotationalForceField]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.SolidMechanics.Spring') # Needed to use components [RestShapeSpringsForceField]
rootNode.addObject('RequiredPlugin', name='Sofa.Component.StateContainer') # Needed to use components [MechanicalObject]
Expand All @@ -36,7 +36,7 @@ def createScene(rootNode):

# bunny
bunny = rootNode.addChild('bunny')
bunny.addObject('EulerImplicitSolver', name='odesolver')
bunny.addObject('EulerImplicitIntegrationScheme', name='odesolver')
bunny.addObject('EigenSimplicialLDLT', template='CompressedRowSparseMatrixMat3x3')
bunny.addObject('MeshVTKLoader', name='loader', filename=path + 'Hollow_Stanford_Bunny.vtu')
bunny.addObject('TetrahedronSetTopologyContainer', src='@loader', name='container')
Expand All @@ -57,7 +57,7 @@ def createScene(rootNode):
cavity.addObject('MeshOBJLoader', name='loader', filename=path + 'Hollow_Bunny_Body_Cavity.obj')
cavity.addObject('MeshTopology', src='@loader', name='topo')
cavity.addObject('MechanicalObject', name='cavity')
cavity.addObject('SurfacePressureConstraint', triangles='@topo.triangles', value=40, valueType=1)
cavity.addObject('SurfacePressureConstraint', triangles='@topo.triangles', value=4000, valueType=1)
cavity.addObject('BarycentricMapping', name='mapping', mapForces=False, mapMasses=False)

# bunny/bunnyVisu
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def createScene(rootNode):
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.Setting", # Needed to use components BackgroundSetting
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
Expand Down Expand Up @@ -51,7 +51,7 @@ def createScene(rootNode):

# FEM Model
tentacle = rootNode.addChild('tentacle')
tentacle.addObject('EulerImplicitSolver', name='odesolver', rayleighMass=0.1, rayleighStiffness=0.1)
tentacle.addObject('EulerImplicitIntegrationScheme', name='odesolver', rayleighMass=0.1, rayleighStiffness=0.1)
tentacle.addObject('SparseLDLSolver', template='CompressedRowSparseMatrixMat3x3d')

tentacle.addObject('MeshVTKLoader', name='loader', filename=path+'Tentacle.vtk')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def createScene(rootNode):
rootNode.addObject('RequiredPlugin', pluginName=[
"Sofa.Component.IO.Mesh", # Needed to use components MeshOBJLoader
"Sofa.Component.LinearSolver.Iterative", # Needed to use components CGLinearSolver
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.Setting", # Needed to use components BackgroundSetting
"Sofa.GL.Component.Rendering3D", # Needed to use components OglModel, OglSceneFrame
])
Expand All @@ -23,7 +23,7 @@ def createScene(rootNode):
rootNode.addObject('DefaultVisualManagerLoop')

point = rootNode.addChild('point')
point.addObject('EulerImplicitSolver', firstOrder=True)
point.addObject('EulerImplicitIntegrationScheme', firstOrder=True)
point.addObject('CGLinearSolver', iterations=100, tolerance=1e-5, threshold=1e-5)
point.addObject('MechanicalObject', template='Rigid3',
position=[0, 0, 0, 0, 0, 0, 1],
Expand Down
2 changes: 1 addition & 1 deletion examples/component/controller/AnimationEditor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@

def createScene(rootNode):
point = rootNode.addChild('point')
point.addObject('EulerImplicitSolver', firstOrder=True)
point.addObject('EulerImplicitIntegrationScheme', firstOrder=True)
point.addObject('CGLinearSolver', iterations=100, tolerance=1e-5, threshold=1e-5)
point.addObject('MechanicalObject', template='Rigid3',
position=[0, 0, 0, 0, 0, 0, 1],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def createScene(rootNode):
"Sofa.Component.IO.Mesh", # Needed to use components MeshSTLLoader, MeshVTKLoader
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
"Sofa.Component.Topology.Container.Constant", # Needed to use components MeshTopology
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def createScene(rootNode):
"Sofa.Component.LinearSolver.Direct", # Needed to use components SparseLDLSolver
"Sofa.Component.LinearSolver.Iterative", # Needed to use components CGLinearSolver
"Sofa.Component.Mass", # Needed to use components UniformMass
"Sofa.Component.ODESolver.Backward", # Needed to use components EulerImplicitSolver
"Sofa.Component.IntegrationScheme.Backward", # Needed to use components EulerImplicitIntegrationScheme
"Sofa.Component.SolidMechanics.FEM.Elastic", # Needed to use components TetrahedronFEMForceField
"Sofa.Component.SolidMechanics.Spring", # Needed to use components RestShapeSpringsForceField
"Sofa.Component.Topology.Container.Constant", # Needed to use components MeshTopology
Expand All @@ -45,7 +45,7 @@ def createScene(rootNode):
if INVERSE:
# Effector goal for interactive control
goal = rootNode.addChild('goal')
goal.addObject('EulerImplicitSolver', firstOrder=True)
goal.addObject('EulerImplicitIntegrationScheme', firstOrder=True)
goal.addObject('CGLinearSolver', iterations=100, tolerance=1e-5, threshold=1e-5)
goal.addObject('MechanicalObject', name='goalMO', position=[0, 0, 8])
goal.addObject('SphereCollisionModel', radius=1)
Expand All @@ -60,7 +60,7 @@ def createScene(rootNode):
effector.addObject('BarycentricMapping', mapForces=False, mapMasses=False)

accordion.cavity.pressure.minPressure = 0
accordion.cavity.pressure.maxVolumeGrowth = 8
accordion.cavity.pressure.maxVolumeGrowth = 0.08
for i in range(3):
accordion.cables.getObject('cable' + str(i + 1)).minForce = 0
accordion.cables.getObject('cable' + str(i + 1)).maxPositiveDisp = 1.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
def addAccordion(node, inverse=False):

accordion = node.addChild('accordion')
accordion.addObject('EulerImplicitSolver', firstOrder=False, rayleighStiffness=0.1, rayleighMass=0.1)
accordion.addObject('EulerImplicitIntegrationScheme', firstOrder=False, rayleighStiffness=0.1, rayleighMass=0.1)
accordion.addObject('SparseLDLSolver')
accordion.addObject('MeshVTKLoader', name='loader', filename=path+'Springy.vtk')
accordion.addObject('MeshTopology', src='@loader')
Expand Down
Loading
Loading