-
Notifications
You must be signed in to change notification settings - Fork 299
/
DistanceMultiMapping.scn
67 lines (57 loc) · 4.38 KB
/
DistanceMultiMapping.scn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?xml version="1.0"?>
<Node name="Root" gravity="0 -10 0" time="0" animate="0" dt="0.01">
<Node name="plugins">
<RequiredPlugin name="Sofa.Component.Constraint.Projective"/> <!-- Needed to use components [FixedProjectiveConstraint] -->
<RequiredPlugin name="Sofa.Component.Engine.Transform"/> <!-- Needed to use components [TransformEngine] -->
<RequiredPlugin name="Sofa.Component.IO.Mesh"/> <!-- Needed to use components [StringMeshCreator] -->
<RequiredPlugin name="Sofa.Component.LinearSolver.Iterative"/> <!-- Needed to use components [CGLinearSolver] -->
<RequiredPlugin name="Sofa.Component.Mapping.NonLinear"/> <!-- Needed to use components [DistanceMapping] -->
<RequiredPlugin name="Sofa.Component.Mass"/> <!-- Needed to use components [DiagonalMass] -->
<RequiredPlugin name="Sofa.Component.MechanicalLoad"/> <!-- Needed to use components [UniformVelocityDampingForceField] -->
<RequiredPlugin name="Sofa.Component.ODESolver.Backward"/> <!-- Needed to use components [EulerImplicitSolver] -->
<RequiredPlugin name="Sofa.Component.SolidMechanics.Spring"/> <!-- Needed to use components [RestShapeSpringsForceField] -->
<RequiredPlugin name="Sofa.Component.StateContainer"/> <!-- Needed to use components [MechanicalObject] -->
<RequiredPlugin name="Sofa.Component.Topology.Container.Dynamic"/> <!-- Needed to use components [EdgeSetGeometryAlgorithms EdgeSetTopologyContainer] -->
<RequiredPlugin name="Sofa.Component.Visual"/> <!-- Needed to use components [VisualStyle] -->
</Node>
<DefaultVisualManagerLoop/>
<VisualStyle displayFlags="showVisualModels showBehaviorModels showMappings showForceFields showMechanicalMappings" />
<DefaultAnimationLoop/>
<StringMeshCreator name="loader" resolution="20" />
<EulerImplicitSolver rayleighStiffness="0.1" rayleighMass="0.1"/>
<CGLinearSolver iterations="2500" name="linear solver" tolerance="1.0e-9" threshold="1.0e-9" />
<Node name="springs0" >
<TransformEngine name="translate" input_position="@../loader.position" translation="0 0 0" />
<EdgeSetTopologyContainer name="topology" position="@translate.output_position" edges="@../loader.edges" />
<MechanicalObject name="defoDOF" template="Vec3" />
<EdgeSetGeometryAlgorithms drawEdges="true" />
<FixedProjectiveConstraint indices="0" />
<DiagonalMass name="mass" totalMass="1e-2"/>
<UniformVelocityDampingForceField template="Vec3" name="uniformVelocityDampingFF0" implicit="true" dampingCoefficient="0.005"/>
<Node name="extensionsNode" >
<MechanicalObject template="Vec1" name="extensionsDOF" />
<DistanceMapping name="distanceMapping" topology="@../topology" input="@../defoDOF" output="@extensionsDOF" geometricStiffness="0" applyRestPosition="true" computeDistance="true"/>
<RestShapeSpringsForceField template="Vec1" stiffness="1000"/>
</Node>
</Node>
<Node name="springs1" >
<TransformEngine name="translate" input_position="@../loader.position" translation="1.2 0 0" />
<EdgeSetTopologyContainer name="topology" position="@translate.output_position" edges="@../loader.edges" />
<MechanicalObject name="defoDOF" template="Vec3" />
<EdgeSetGeometryAlgorithms drawEdges="true" />
<FixedProjectiveConstraint indices="19" />
<DiagonalMass name="mass" totalMass="1e-2"/>
<UniformVelocityDampingForceField template="Vec3" name="uniformVelocityDampingFF0" implicit="true" dampingCoefficient="0.005"/>
<Node name="extensionsNode" >
<MechanicalObject template="Vec1" name="extensionsDOF" />
<DistanceMapping name="distanceMapping" topology="@../topology" input="@../defoDOF" output="@extensionsDOF" geometricStiffness="0" applyRestPosition="true" computeDistance="true"/>
<RestShapeSpringsForceField template="Vec1" stiffness="1000"/>
</Node>
</Node>
<Node name="connection">
<MechanicalObject template="Vec1" name="connectionDOF" />
<EdgeSetTopologyContainer edges="0 1"/>
<DistanceMultiMapping template="Vec3,Vec1" input="@../springs0 @../springs1" output="@connectionDOF" indexPairs="0 19 1 0" restLengths="1" geometricStiffness="0" applyRestPosition="true" computeDistance="true"/>
<RestShapeSpringsForceField template="Vec1" stiffness="1"/>
</Node>
</Node>