Skip to content

Monitor

Monitoring of particles

Templates:

  • Rigid3d
  • Vec3d
  • Vec6d

Target: SofaValidation

namespace: sofa::component::misc

parents:

  • BaseObject

Data:

Name Description Default value
name object name unnamed
printLog if true, emits extra messages at runtime. 0
tags list of the subsets the objet belongs to
bbox this object bounding box
componentState The state of the component among (Dirty, Valid, Undefined, Loading, Invalid). Undefined
listening if true, handle the events, otherwise ignore the events 0
indices MechanicalObject points indices to monitor
ExportPositions export Monitored positions as gnuplot file 0
ExportVelocities export Monitored velocities as gnuplot file 0
ExportForces export Monitored forces as gnuplot file 0
PositionsColor define the color of positions
VelocitiesColor define the color of velocities
ForcesColor define the color of forces
TrajectoriesPrecision set the dt between to save of positions 0.1
TrajectoriesColor define the color of the trajectories
sizeFactor factor to multiply to arrows 1
fileName name of the plot files to be generated
Visualization
showPositions see the Monitored positions 0
showVelocities see the Monitored velocities 0
showForces see the Monitored forces 0
showMinThreshold under this value, vectors are not represented 0.01
showTrajectories print the trajectory of Monitored particles 0

Links:

Name Description
context Graph Node containing this object (or BaseContext::getDefault() if no graph is used)
slaves Sub-objects used internally by this object
master nullptr for regular objects, or master object for which this object is one sub-objects

Examples

Component/SceneUtility/Monitor.scn

<Node name="root" gravity="0 -9.81 0" dt="0.0005">
    <VisualStyle displayFlags="showBehaviorModels showForceFields showCollisionModels showMappings" />
    <DefaultAnimationLoop/>    

    <Node name="Poutre1" gravity="0 -9.81 0">
        <RequiredPlugin name="Sofa.Component.Constraint.Projective"/> <!-- Needed to use components [FixedProjectiveConstraint] -->
        <RequiredPlugin name="Sofa.Component.IO.Mesh"/> <!-- Needed to use components [MeshGmshLoader] -->
        <RequiredPlugin name="Sofa.Component.Mass"/> <!-- Needed to use components [UniformMass] -->
        <RequiredPlugin name="Sofa.Component.ODESolver.Forward"/> <!-- Needed to use components [EulerExplicitSolver] -->
        <RequiredPlugin name="Sofa.Component.SolidMechanics.Spring"/> <!-- Needed to use components [StiffSpringForceField] -->
        <RequiredPlugin name="Sofa.Component.StateContainer"/> <!-- Needed to use components [MechanicalObject] -->
        <RequiredPlugin name="Sofa.Component.Visual"/> <!-- Needed to use components [VisualStyle] -->
        <RequiredPlugin name="SofaValidation"/> <!-- Needed to use components [Monitor] -->
        <EulerExplicitSolver name="Explicit" printLog="0" />

        <Node name="M1" gravity="0 -9.81 0">
            <MeshGmshLoader name="loader" filename="mesh/smCube27.msh" />
            <MechanicalObject src="@loader" template="Vec3" name="default1" restScale="1" showObject="1" />
            <UniformMass name="default2" vertexMass="0.1" />
            <FixedProjectiveConstraint template="Vec3" name="default3" indices="0 3 6 9 12 15 18 21 24" />
            <Monitor template="Vec3" name="velocities_2-11-20" listening="1" indices="2 11 20" showPositions="0" PositionsColor="1 1 0 1" showVelocities="1" VelocitiesColor="1 1 0 1" ForcesColor="1 1 0 1" showMinThreshold="0.01" TrajectoriesPrecision="0.1" TrajectoriesColor="1 1 0 1" />
            <Monitor template="Vec3" name="positions_8-16-24" listening="1" indices="8 16 24" showPositions="1" PositionsColor="1 1 0 1" VelocitiesColor="1 1 0 1" ForcesColor="1 1 0 1" showMinThreshold="0.01" TrajectoriesPrecision="0.1" TrajectoriesColor="1 1 0 1" />
            <StiffSpringForceField template="Vec3" name="InternalSprings1" spring="0 9 100 5 3.5&#x0A; 1 10 500 5 3.5&#x0A; 2 11 500 5 3.5&#x0A; 3 12 500 5 3.5&#x0A; 4 13 500 5 3.5&#x0A; 5 14 500 5 3.5&#x0A; 6 15 500 5 3.5&#x0A; 7 16 500 5 3.5&#x0A; 8 17 500 5 3.5&#x0A; 9 18 500 5 3.5&#x0A; 10 19 500 5 3.5&#x0A; 11 20 500 5 3.5&#x0A; 12 21 500 5 3.5&#x0A; 13 22 500 5 3.5&#x0A; 14 23 500 5 3.5&#x0A; 15 24 500 5 3.5&#x0A; 16 25 500 5 3.5&#x0A; 17 26 500 5 3.5&#x0A; 0 3 500 5 3.5&#x0A; 1 4 500 5 3.5&#x0A; 2 5 500 5 3.5&#x0A; 3 6 500 5 3.5&#x0A; 4 7 500 5 3.5&#x0A; 5 8 500 5 3.5&#x0A; 9 12 500 5 3.5&#x0A; 10 13 500 5 3.5&#x0A; 11 14 500 5 3.5&#x0A; 12 15 500 5 3.5&#x0A; 13 16 500 5 3.5&#x0A; 14 17 500 5 3.5&#x0A; 18 21 500 5 3.5&#x0A; 19 22 500 5 3.5&#x0A; 20 23 500 5 3.5&#x0A; 21 24 500 5 3.5&#x0A; 22 25 500 5 3.5&#x0A; 23 26 500 5 3.5&#x0A; 0 1 500 5 3.5&#x0A; 1 2 500 5 3.5&#x0A; 3 4 500 5 3.5&#x0A; 4 5 500 5 3.5&#x0A; 6 7 500 5 3.5&#x0A; 7 8 500 5 3.5&#x0A; 9 10 500 5 3.5&#x0A; 10 11 500 5 3.5&#x0A; 12 13 500 5 3.5&#x0A; 13 14 500 5 3.5&#x0A; 15 16 500 5 3.5&#x0A; 16 17 500 5 3.5&#x0A; 18 19 500 5 3.5&#x0A; 19 20 500 5 3.5&#x0A; 21 22 500 5 3.5&#x0A; 22 23 500 5 3.5&#x0A; 24 25 500 5 3.5&#x0A; 25 26 100 5 3.5&#x0A; 0 13 500 5 6.06218&#x0A; 1 14 500 5 6.06218&#x0A; 3 16 500 5 6.06218&#x0A; 4 17 500 5 6.06218&#x0A; 9 22 500 5 6.06218&#x0A; 10 23 500 5 6.06218&#x0A; 12 25 500 5 6.06218&#x0A; 13 26 500 5 6.06218&#x0A; 9 4 500 5 6.06218&#x0A; 10 5 500 5 6.06218&#x0A; 12 7 500 5 6.06218&#x0A; 13 8 500 5 6.06218&#x0A; 18 13 500 5 6.06218&#x0A; 19 14 500 5 6.06218&#x0A; 21 16 500 5 6.06218&#x0A; 22 17 500 5 6.06218&#x0A; 3 10 500 5 6.06218&#x0A; 4 11 500 5 6.06218&#x0A; 6 13 500 5 6.06218&#x0A; 7 14 500 5 6.06218&#x0A; 12 19 500 5 6.06218&#x0A; 13 20 500 5 6.06218&#x0A; 15 22 500 5 6.06218&#x0A; 16 23 500 5 6.06218&#x0A; 12 1 500 5 6.06218&#x0A; 13 2 500 5 6.06218&#x0A; 15 4 500 5 6.06218&#x0A; 16 5 500 5 6.06218&#x0A; 21 10 500 5 6.06218&#x0A; 22 11 500 5 6.06218&#x0A; 24 13 500 5 6.06218&#x0A; 25 14 500 5 6.06218&#x0A; 0 12 500 5 4.94975&#x0A; 1 13 500 5 4.94975&#x0A; 2 14 500 5 4.94975&#x0A; 3 15 500 5 4.94975&#x0A; 4 16 500 5 4.94975&#x0A; 5 17 500 5 4.94975&#x0A; 9 21 500 5 4.94975&#x0A; 10 22 500 5 4.94975&#x0A; 11 23 500 5 4.94975&#x0A; 12 24 500 5 4.94975&#x0A; 13 25 500 5 4.94975&#x0A; 14 26 500 5 4.94975&#x0A; 3 9 500 5 4.94975&#x0A; 4 10 500 5 4.94975&#x0A; 5 11 500 5 4.94975&#x0A; 6 12 500 5 4.94975&#x0A; 7 13 500 5 4.94975&#x0A; 8 14 500 5 4.94975&#x0A; 12 18 500 5 4.94975&#x0A; 13 19 500 5 4.94975&#x0A; 14 20 500 5 4.94975&#x0A; 15 21 500 5 4.94975&#x0A; 16 22 500 5 4.94975&#x0A; 17 23 500 5 4.94975&#x0A; 0 10 500 5 4.94975&#x0A; 1 11 500 5 4.94975&#x0A; 3 13 500 5 4.94975&#x0A; 4 14 500 5 4.94975&#x0A; 6 16 500 5 4.94975&#x0A; 7 17 500 5 4.94975&#x0A; 9 19 500 5 4.94975&#x0A; 10 20 500 5 4.94975&#x0A; 12 22 500 5 4.94975&#x0A; 13 23 500 5 4.94975&#x0A; 15 25 500 5 4.94975&#x0A; 16 26 500 5 4.94975&#x0A; 9 1 500 5 4.94975&#x0A; 10 2 500 5 4.94975&#x0A; 12 4 500 5 4.94975&#x0A; 13 5 500 5 4.94975&#x0A; 15 7 500 5 4.94975&#x0A; 16 8 500 5 4.94975&#x0A; 18 10 500 5 4.94975&#x0A; 19 11 500 5 4.94975&#x0A; 21 13 500 5 4.94975&#x0A; 22 14 500 5 4.94975&#x0A; 24 16 500 5 4.94975&#x0A; 25 17 500 5 4.94975&#x0A; 0 4 500 5 4.94975&#x0A; 1 5 500 5 4.94975&#x0A; 3 7 500 5 4.94975&#x0A; 4 8 500 5 4.94975&#x0A; 9 13 500 5 4.94975&#x0A; 10 14 500 5 4.94975&#x0A; 12 16 500 5 4.94975&#x0A; 13 17 500 5 4.94975&#x0A; 18 22 500 5 4.94975&#x0A; 19 23 500 5 4.94975&#x0A; 21 25 500 5 4.94975&#x0A; 22 26 500 5 4.94975&#x0A; 3 1 500 5 4.94975&#x0A; 4 2 500 5 4.94975&#x0A; 6 4 500 5 4.94975&#x0A; 7 5 500 5 4.94975&#x0A; 12 10 500 5 4.94975&#x0A; 13 11 500 5 4.94975&#x0A; 15 13 500 5 4.94975&#x0A; 16 14 500 5 4.94975&#x0A; 21 19 500 5 4.94975&#x0A; 22 20 500 5 4.94975&#x0A; 24 22 500 5 4.94975&#x0A; 25 23 500 5 4.94975&#x0A;" />
        </Node>
        <Node name="M2" gravity="0 -9.81 0">
            <MeshGmshLoader name="loader" filename="mesh/smCube27.msh" />
            <MechanicalObject src="@loader" template="Vec3" name="default5" translation="0 0 10.5" restScale="1" />
            <Monitor template="Vec3" name="positions_8-16-24" listening="1" indices="8 16 24" showPositions="1" PositionsColor="1 1 0 1" VelocitiesColor="1 1 0 1" ForcesColor="1 1 0 1" showMinThreshold="0.01" TrajectoriesPrecision="0.1" TrajectoriesColor="1 1 0 1" />
            <UniformMass name="default6" vertexMass="0.1" />
            <StiffSpringForceField template="Vec3" name="InternalSprings2" spring="0 9 100 5 3.5&#x0A; 1 10 500 5 3.5&#x0A; 2 11 500 5 3.5&#x0A; 3 12 500 5 3.5&#x0A; 4 13 500 5 3.5&#x0A; 5 14 500 5 3.5&#x0A; 6 15 500 5 3.5&#x0A; 7 16 500 5 3.5&#x0A; 8 17 500 5 3.5&#x0A; 9 18 500 5 3.5&#x0A; 10 19 500 5 3.5&#x0A; 11 20 500 5 3.5&#x0A; 12 21 500 5 3.5&#x0A; 13 22 500 5 3.5&#x0A; 14 23 500 5 3.5&#x0A; 15 24 500 5 3.5&#x0A; 16 25 500 5 3.5&#x0A; 17 26 500 5 3.5&#x0A; 0 3 500 5 3.5&#x0A; 1 4 500 5 3.5&#x0A; 2 5 500 5 3.5&#x0A; 3 6 500 5 3.5&#x0A; 4 7 500 5 3.5&#x0A; 5 8 500 5 3.5&#x0A; 9 12 500 5 3.5&#x0A; 10 13 500 5 3.5&#x0A; 11 14 500 5 3.5&#x0A; 12 15 500 5 3.5&#x0A; 13 16 500 5 3.5&#x0A; 14 17 500 5 3.5&#x0A; 18 21 500 5 3.5&#x0A; 19 22 500 5 3.5&#x0A; 20 23 500 5 3.5&#x0A; 21 24 500 5 3.5&#x0A; 22 25 500 5 3.5&#x0A; 23 26 500 5 3.5&#x0A; 0 1 500 5 3.5&#x0A; 1 2 500 5 3.5&#x0A; 3 4 500 5 3.5&#x0A; 4 5 500 5 3.5&#x0A; 6 7 500 5 3.5&#x0A; 7 8 500 5 3.5&#x0A; 9 10 500 5 3.5&#x0A; 10 11 500 5 3.5&#x0A; 12 13 500 5 3.5&#x0A; 13 14 500 5 3.5&#x0A; 15 16 500 5 3.5&#x0A; 16 17 500 5 3.5&#x0A; 18 19 500 5 3.5&#x0A; 19 20 500 5 3.5&#x0A; 21 22 500 5 3.5&#x0A; 22 23 500 5 3.5&#x0A; 24 25 500 5 3.5&#x0A; 25 26 100 5 3.5&#x0A; 0 13 500 5 6.06218&#x0A; 1 14 500 5 6.06218&#x0A; 3 16 500 5 6.06218&#x0A; 4 17 500 5 6.06218&#x0A; 9 22 500 5 6.06218&#x0A; 10 23 500 5 6.06218&#x0A; 12 25 500 5 6.06218&#x0A; 13 26 500 5 6.06218&#x0A; 9 4 500 5 6.06218&#x0A; 10 5 500 5 6.06218&#x0A; 12 7 500 5 6.06218&#x0A; 13 8 500 5 6.06218&#x0A; 18 13 500 5 6.06218&#x0A; 19 14 500 5 6.06218&#x0A; 21 16 500 5 6.06218&#x0A; 22 17 500 5 6.06218&#x0A; 3 10 500 5 6.06218&#x0A; 4 11 500 5 6.06218&#x0A; 6 13 500 5 6.06218&#x0A; 7 14 500 5 6.06218&#x0A; 12 19 500 5 6.06218&#x0A; 13 20 500 5 6.06218&#x0A; 15 22 500 5 6.06218&#x0A; 16 23 500 5 6.06218&#x0A; 12 1 500 5 6.06218&#x0A; 13 2 500 5 6.06218&#x0A; 15 4 500 5 6.06218&#x0A; 16 5 500 5 6.06218&#x0A; 21 10 500 5 6.06218&#x0A; 22 11 500 5 6.06218&#x0A; 24 13 500 5 6.06218&#x0A; 25 14 500 5 6.06218&#x0A; 0 12 500 5 4.94975&#x0A; 1 13 500 5 4.94975&#x0A; 2 14 500 5 4.94975&#x0A; 3 15 500 5 4.94975&#x0A; 4 16 500 5 4.94975&#x0A; 5 17 500 5 4.94975&#x0A; 9 21 500 5 4.94975&#x0A; 10 22 500 5 4.94975&#x0A; 11 23 500 5 4.94975&#x0A; 12 24 500 5 4.94975&#x0A; 13 25 500 5 4.94975&#x0A; 14 26 500 5 4.94975&#x0A; 3 9 500 5 4.94975&#x0A; 4 10 500 5 4.94975&#x0A; 5 11 500 5 4.94975&#x0A; 6 12 500 5 4.94975&#x0A; 7 13 500 5 4.94975&#x0A; 8 14 500 5 4.94975&#x0A; 12 18 500 5 4.94975&#x0A; 13 19 500 5 4.94975&#x0A; 14 20 500 5 4.94975&#x0A; 15 21 500 5 4.94975&#x0A; 16 22 500 5 4.94975&#x0A; 17 23 500 5 4.94975&#x0A; 0 10 500 5 4.94975&#x0A; 1 11 500 5 4.94975&#x0A; 3 13 500 5 4.94975&#x0A; 4 14 500 5 4.94975&#x0A; 6 16 500 5 4.94975&#x0A; 7 17 500 5 4.94975&#x0A; 9 19 500 5 4.94975&#x0A; 10 20 500 5 4.94975&#x0A; 12 22 500 5 4.94975&#x0A; 13 23 500 5 4.94975&#x0A; 15 25 500 5 4.94975&#x0A; 16 26 500 5 4.94975&#x0A; 9 1 500 5 4.94975&#x0A; 10 2 500 5 4.94975&#x0A; 12 4 500 5 4.94975&#x0A; 13 5 500 5 4.94975&#x0A; 15 7 500 5 4.94975&#x0A; 16 8 500 5 4.94975&#x0A; 18 10 500 5 4.94975&#x0A; 19 11 500 5 4.94975&#x0A; 21 13 500 5 4.94975&#x0A; 22 14 500 5 4.94975&#x0A; 24 16 500 5 4.94975&#x0A; 25 17 500 5 4.94975&#x0A; 0 4 500 5 4.94975&#x0A; 1 5 500 5 4.94975&#x0A; 3 7 500 5 4.94975&#x0A; 4 8 500 5 4.94975&#x0A; 9 13 500 5 4.94975&#x0A; 10 14 500 5 4.94975&#x0A; 12 16 500 5 4.94975&#x0A; 13 17 500 5 4.94975&#x0A; 18 22 500 5 4.94975&#x0A; 19 23 500 5 4.94975&#x0A; 21 25 500 5 4.94975&#x0A; 22 26 500 5 4.94975&#x0A; 3 1 500 5 4.94975&#x0A; 4 2 500 5 4.94975&#x0A; 6 4 500 5 4.94975&#x0A; 7 5 500 5 4.94975&#x0A; 12 10 500 5 4.94975&#x0A; 13 11 500 5 4.94975&#x0A; 15 13 500 5 4.94975&#x0A; 16 14 500 5 4.94975&#x0A; 21 19 500 5 4.94975&#x0A; 22 20 500 5 4.94975&#x0A; 24 22 500 5 4.94975&#x0A; 25 23 500 5 4.94975&#x0A;" />
        </Node>
        <Node name="M3" gravity="0 -9.81 0">
            <MeshGmshLoader name="loader" filename="mesh/smCube27.msh" />
            <MechanicalObject src="@loader" template="Vec3" name="default8" translation="0 0 21" restScale="1" />
            <Monitor template="Vec3" name="velocities_8-16-24" listening="1" indices="8 16 24" showPositions="0" PositionsColor="1 1 0 1" showVelocities="1" VelocitiesColor="1 1 0 1" ForcesColor="1 1 0 1" showMinThreshold="0.01" TrajectoriesPrecision="0.1" TrajectoriesColor="1 1 0 1" sizeFactor="1" />
            <UniformMass name="default9" vertexMass="0.1" />
            <StiffSpringForceField template="Vec3" name="InternalSprings3" spring="0 9 100 5 3.5&#x0A; 1 10 500 5 3.5&#x0A; 2 11 500 5 3.5&#x0A; 3 12 500 5 3.5&#x0A; 4 13 500 5 3.5&#x0A; 5 14 500 5 3.5&#x0A; 6 15 500 5 3.5&#x0A; 7 16 500 5 3.5&#x0A; 8 17 500 5 3.5&#x0A; 9 18 500 5 3.5&#x0A; 10 19 500 5 3.5&#x0A; 11 20 500 5 3.5&#x0A; 12 21 500 5 3.5&#x0A; 13 22 500 5 3.5&#x0A; 14 23 500 5 3.5&#x0A; 15 24 500 5 3.5&#x0A; 16 25 500 5 3.5&#x0A; 17 26 500 5 3.5&#x0A; 0 3 500 5 3.5&#x0A; 1 4 500 5 3.5&#x0A; 2 5 500 5 3.5&#x0A; 3 6 500 5 3.5&#x0A; 4 7 500 5 3.5&#x0A; 5 8 500 5 3.5&#x0A; 9 12 500 5 3.5&#x0A; 10 13 500 5 3.5&#x0A; 11 14 500 5 3.5&#x0A; 12 15 500 5 3.5&#x0A; 13 16 500 5 3.5&#x0A; 14 17 500 5 3.5&#x0A; 18 21 500 5 3.5&#x0A; 19 22 500 5 3.5&#x0A; 20 23 500 5 3.5&#x0A; 21 24 500 5 3.5&#x0A; 22 25 500 5 3.5&#x0A; 23 26 500 5 3.5&#x0A; 0 1 500 5 3.5&#x0A; 1 2 500 5 3.5&#x0A; 3 4 500 5 3.5&#x0A; 4 5 500 5 3.5&#x0A; 6 7 500 5 3.5&#x0A; 7 8 500 5 3.5&#x0A; 9 10 500 5 3.5&#x0A; 10 11 500 5 3.5&#x0A; 12 13 500 5 3.5&#x0A; 13 14 500 5 3.5&#x0A; 15 16 500 5 3.5&#x0A; 16 17 500 5 3.5&#x0A; 18 19 500 5 3.5&#x0A; 19 20 500 5 3.5&#x0A; 21 22 500 5 3.5&#x0A; 22 23 500 5 3.5&#x0A; 24 25 500 5 3.5&#x0A; 25 26 100 5 3.5&#x0A; 0 13 500 5 6.06218&#x0A; 1 14 500 5 6.06218&#x0A; 3 16 500 5 6.06218&#x0A; 4 17 500 5 6.06218&#x0A; 9 22 500 5 6.06218&#x0A; 10 23 500 5 6.06218&#x0A; 12 25 500 5 6.06218&#x0A; 13 26 500 5 6.06218&#x0A; 9 4 500 5 6.06218&#x0A; 10 5 500 5 6.06218&#x0A; 12 7 500 5 6.06218&#x0A; 13 8 500 5 6.06218&#x0A; 18 13 500 5 6.06218&#x0A; 19 14 500 5 6.06218&#x0A; 21 16 500 5 6.06218&#x0A; 22 17 500 5 6.06218&#x0A; 3 10 500 5 6.06218&#x0A; 4 11 500 5 6.06218&#x0A; 6 13 500 5 6.06218&#x0A; 7 14 500 5 6.06218&#x0A; 12 19 500 5 6.06218&#x0A; 13 20 500 5 6.06218&#x0A; 15 22 500 5 6.06218&#x0A; 16 23 500 5 6.06218&#x0A; 12 1 500 5 6.06218&#x0A; 13 2 500 5 6.06218&#x0A; 15 4 500 5 6.06218&#x0A; 16 5 500 5 6.06218&#x0A; 21 10 500 5 6.06218&#x0A; 22 11 500 5 6.06218&#x0A; 24 13 500 5 6.06218&#x0A; 25 14 500 5 6.06218&#x0A; 0 12 500 5 4.94975&#x0A; 1 13 500 5 4.94975&#x0A; 2 14 500 5 4.94975&#x0A; 3 15 500 5 4.94975&#x0A; 4 16 500 5 4.94975&#x0A; 5 17 500 5 4.94975&#x0A; 9 21 500 5 4.94975&#x0A; 10 22 500 5 4.94975&#x0A; 11 23 500 5 4.94975&#x0A; 12 24 500 5 4.94975&#x0A; 13 25 500 5 4.94975&#x0A; 14 26 500 5 4.94975&#x0A; 3 9 500 5 4.94975&#x0A; 4 10 500 5 4.94975&#x0A; 5 11 500 5 4.94975&#x0A; 6 12 500 5 4.94975&#x0A; 7 13 500 5 4.94975&#x0A; 8 14 500 5 4.94975&#x0A; 12 18 500 5 4.94975&#x0A; 13 19 500 5 4.94975&#x0A; 14 20 500 5 4.94975&#x0A; 15 21 500 5 4.94975&#x0A; 16 22 500 5 4.94975&#x0A; 17 23 500 5 4.94975&#x0A; 0 10 500 5 4.94975&#x0A; 1 11 500 5 4.94975&#x0A; 3 13 500 5 4.94975&#x0A; 4 14 500 5 4.94975&#x0A; 6 16 500 5 4.94975&#x0A; 7 17 500 5 4.94975&#x0A; 9 19 500 5 4.94975&#x0A; 10 20 500 5 4.94975&#x0A; 12 22 500 5 4.94975&#x0A; 13 23 500 5 4.94975&#x0A; 15 25 500 5 4.94975&#x0A; 16 26 500 5 4.94975&#x0A; 9 1 500 5 4.94975&#x0A; 10 2 500 5 4.94975&#x0A; 12 4 500 5 4.94975&#x0A; 13 5 500 5 4.94975&#x0A; 15 7 500 5 4.94975&#x0A; 16 8 500 5 4.94975&#x0A; 18 10 500 5 4.94975&#x0A; 19 11 500 5 4.94975&#x0A; 21 13 500 5 4.94975&#x0A; 22 14 500 5 4.94975&#x0A; 24 16 500 5 4.94975&#x0A; 25 17 500 5 4.94975&#x0A; 0 4 500 5 4.94975&#x0A; 1 5 500 5 4.94975&#x0A; 3 7 500 5 4.94975&#x0A; 4 8 500 5 4.94975&#x0A; 9 13 500 5 4.94975&#x0A; 10 14 500 5 4.94975&#x0A; 12 16 500 5 4.94975&#x0A; 13 17 500 5 4.94975&#x0A; 18 22 500 5 4.94975&#x0A; 19 23 500 5 4.94975&#x0A; 21 25 500 5 4.94975&#x0A; 22 26 500 5 4.94975&#x0A; 3 1 500 5 4.94975&#x0A; 4 2 500 5 4.94975&#x0A; 6 4 500 5 4.94975&#x0A; 7 5 500 5 4.94975&#x0A; 12 10 500 5 4.94975&#x0A; 13 11 500 5 4.94975&#x0A; 15 13 500 5 4.94975&#x0A; 16 14 500 5 4.94975&#x0A; 21 19 500 5 4.94975&#x0A; 22 20 500 5 4.94975&#x0A; 24 22 500 5 4.94975&#x0A; 25 23 500 5 4.94975&#x0A;" />
        </Node>
        <Node name="M4" gravity="0 -9.81 0">
            <MeshGmshLoader name="loader" filename="mesh/smCube27.msh" />
            <MechanicalObject src="@loader" template="Vec3" name="default11" translation="0 0 31.5" restScale="1" />
            <UniformMass name="default12" vertexMass="0.1" />
            <Monitor template="Vec3" name="forces_2-11-20" listening="1" indices="2 11 20" showPositions="0" PositionsColor="1 1 0 1" showVelocities="0" VelocitiesColor="1 1 0 1" showForces="1" ForcesColor="0 1 1 1" showMinThreshold="0.01" TrajectoriesPrecision="0.1" TrajectoriesColor="1 1 0 1" sizeFactor="1" />
            <StiffSpringForceField template="Vec3" name="InternalSprings4" spring="0 9 100 5 3.5&#x0A; 1 10 500 5 3.5&#x0A; 2 11 500 5 3.5&#x0A; 3 12 500 5 3.5&#x0A; 4 13 500 5 3.5&#x0A; 5 14 500 5 3.5&#x0A; 6 15 500 5 3.5&#x0A; 7 16 500 5 3.5&#x0A; 8 17 500 5 3.5&#x0A; 9 18 500 5 3.5&#x0A; 10 19 500 5 3.5&#x0A; 11 20 500 5 3.5&#x0A; 12 21 500 5 3.5&#x0A; 13 22 500 5 3.5&#x0A; 14 23 500 5 3.5&#x0A; 15 24 500 5 3.5&#x0A; 16 25 500 5 3.5&#x0A; 17 26 500 5 3.5&#x0A; 0 3 500 5 3.5&#x0A; 1 4 500 5 3.5&#x0A; 2 5 500 5 3.5&#x0A; 3 6 500 5 3.5&#x0A; 4 7 500 5 3.5&#x0A; 5 8 500 5 3.5&#x0A; 9 12 500 5 3.5&#x0A; 10 13 500 5 3.5&#x0A; 11 14 500 5 3.5&#x0A; 12 15 500 5 3.5&#x0A; 13 16 500 5 3.5&#x0A; 14 17 500 5 3.5&#x0A; 18 21 500 5 3.5&#x0A; 19 22 500 5 3.5&#x0A; 20 23 500 5 3.5&#x0A; 21 24 500 5 3.5&#x0A; 22 25 500 5 3.5&#x0A; 23 26 500 5 3.5&#x0A; 0 1 500 5 3.5&#x0A; 1 2 500 5 3.5&#x0A; 3 4 500 5 3.5&#x0A; 4 5 500 5 3.5&#x0A; 6 7 500 5 3.5&#x0A; 7 8 500 5 3.5&#x0A; 9 10 500 5 3.5&#x0A; 10 11 500 5 3.5&#x0A; 12 13 500 5 3.5&#x0A; 13 14 500 5 3.5&#x0A; 15 16 500 5 3.5&#x0A; 16 17 500 5 3.5&#x0A; 18 19 500 5 3.5&#x0A; 19 20 500 5 3.5&#x0A; 21 22 500 5 3.5&#x0A; 22 23 500 5 3.5&#x0A; 24 25 500 5 3.5&#x0A; 25 26 100 5 3.5&#x0A; 0 13 500 5 6.06218&#x0A; 1 14 500 5 6.06218&#x0A; 3 16 500 5 6.06218&#x0A; 4 17 500 5 6.06218&#x0A; 9 22 500 5 6.06218&#x0A; 10 23 500 5 6.06218&#x0A; 12 25 500 5 6.06218&#x0A; 13 26 500 5 6.06218&#x0A; 9 4 500 5 6.06218&#x0A; 10 5 500 5 6.06218&#x0A; 12 7 500 5 6.06218&#x0A; 13 8 500 5 6.06218&#x0A; 18 13 500 5 6.06218&#x0A; 19 14 500 5 6.06218&#x0A; 21 16 500 5 6.06218&#x0A; 22 17 500 5 6.06218&#x0A; 3 10 500 5 6.06218&#x0A; 4 11 500 5 6.06218&#x0A; 6 13 500 5 6.06218&#x0A; 7 14 500 5 6.06218&#x0A; 12 19 500 5 6.06218&#x0A; 13 20 500 5 6.06218&#x0A; 15 22 500 5 6.06218&#x0A; 16 23 500 5 6.06218&#x0A; 12 1 500 5 6.06218&#x0A; 13 2 500 5 6.06218&#x0A; 15 4 500 5 6.06218&#x0A; 16 5 500 5 6.06218&#x0A; 21 10 500 5 6.06218&#x0A; 22 11 500 5 6.06218&#x0A; 24 13 500 5 6.06218&#x0A; 25 14 500 5 6.06218&#x0A; 0 12 500 5 4.94975&#x0A; 1 13 500 5 4.94975&#x0A; 2 14 500 5 4.94975&#x0A; 3 15 500 5 4.94975&#x0A; 4 16 500 5 4.94975&#x0A; 5 17 500 5 4.94975&#x0A; 9 21 500 5 4.94975&#x0A; 10 22 500 5 4.94975&#x0A; 11 23 500 5 4.94975&#x0A; 12 24 500 5 4.94975&#x0A; 13 25 500 5 4.94975&#x0A; 14 26 500 5 4.94975&#x0A; 3 9 500 5 4.94975&#x0A; 4 10 500 5 4.94975&#x0A; 5 11 500 5 4.94975&#x0A; 6 12 500 5 4.94975&#x0A; 7 13 500 5 4.94975&#x0A; 8 14 500 5 4.94975&#x0A; 12 18 500 5 4.94975&#x0A; 13 19 500 5 4.94975&#x0A; 14 20 500 5 4.94975&#x0A; 15 21 500 5 4.94975&#x0A; 16 22 500 5 4.94975&#x0A; 17 23 500 5 4.94975&#x0A; 0 10 500 5 4.94975&#x0A; 1 11 500 5 4.94975&#x0A; 3 13 500 5 4.94975&#x0A; 4 14 500 5 4.94975&#x0A; 6 16 500 5 4.94975&#x0A; 7 17 500 5 4.94975&#x0A; 9 19 500 5 4.94975&#x0A; 10 20 500 5 4.94975&#x0A; 12 22 500 5 4.94975&#x0A; 13 23 500 5 4.94975&#x0A; 15 25 500 5 4.94975&#x0A; 16 26 500 5 4.94975&#x0A; 9 1 500 5 4.94975&#x0A; 10 2 500 5 4.94975&#x0A; 12 4 500 5 4.94975&#x0A; 13 5 500 5 4.94975&#x0A; 15 7 500 5 4.94975&#x0A; 16 8 500 5 4.94975&#x0A; 18 10 500 5 4.94975&#x0A; 19 11 500 5 4.94975&#x0A; 21 13 500 5 4.94975&#x0A; 22 14 500 5 4.94975&#x0A; 24 16 500 5 4.94975&#x0A; 25 17 500 5 4.94975&#x0A; 0 4 500 5 4.94975&#x0A; 1 5 500 5 4.94975&#x0A; 3 7 500 5 4.94975&#x0A; 4 8 500 5 4.94975&#x0A; 9 13 500 5 4.94975&#x0A; 10 14 500 5 4.94975&#x0A; 12 16 500 5 4.94975&#x0A; 13 17 500 5 4.94975&#x0A; 18 22 500 5 4.94975&#x0A; 19 23 500 5 4.94975&#x0A; 21 25 500 5 4.94975&#x0A; 22 26 500 5 4.94975&#x0A; 3 1 500 5 4.94975&#x0A; 4 2 500 5 4.94975&#x0A; 6 4 500 5 4.94975&#x0A; 7 5 500 5 4.94975&#x0A; 12 10 500 5 4.94975&#x0A; 13 11 500 5 4.94975&#x0A; 15 13 500 5 4.94975&#x0A; 16 14 500 5 4.94975&#x0A; 21 19 500 5 4.94975&#x0A; 22 20 500 5 4.94975&#x0A; 24 22 500 5 4.94975&#x0A; 25 23 500 5 4.94975&#x0A;" />
        </Node>
        <Node name="M5" gravity="0 -9.81 0">
            <MeshGmshLoader name="loader" filename="mesh/smCube27.msh" />
            <MechanicalObject src="@loader" template="Vec3" name="default14" translation="0 0 42" restScale="1" showObject="1" />
            <UniformMass name="default15" vertexMass="0.1" />
            <Monitor template="Vec3" name="trajectories_8-16-24" listening="1" indices="8 16 24" showPositions="0" PositionsColor="1 1 0 1" VelocitiesColor="1 1 0 1" showForces="0" ForcesColor="0 1 1 1" showMinThreshold="0.01" showTrajectories="1" TrajectoriesPrecision="0.1" TrajectoriesColor="1 0 1 1" sizeFactor="1" />
            <StiffSpringForceField template="Vec3" name="InternalSprings5" spring="0 9 100 5 3.5&#x0A; 1 10 500 5 3.5&#x0A; 2 11 500 5 3.5&#x0A; 3 12 500 5 3.5&#x0A; 4 13 500 5 3.5&#x0A; 5 14 500 5 3.5&#x0A; 6 15 500 5 3.5&#x0A; 7 16 500 5 3.5&#x0A; 8 17 500 5 3.5&#x0A; 9 18 500 5 3.5&#x0A; 10 19 500 5 3.5&#x0A; 11 20 500 5 3.5&#x0A; 12 21 500 5 3.5&#x0A; 13 22 500 5 3.5&#x0A; 14 23 500 5 3.5&#x0A; 15 24 500 5 3.5&#x0A; 16 25 500 5 3.5&#x0A; 17 26 500 5 3.5&#x0A; 0 3 500 5 3.5&#x0A; 1 4 500 5 3.5&#x0A; 2 5 500 5 3.5&#x0A; 3 6 500 5 3.5&#x0A; 4 7 500 5 3.5&#x0A; 5 8 500 5 3.5&#x0A; 9 12 500 5 3.5&#x0A; 10 13 500 5 3.5&#x0A; 11 14 500 5 3.5&#x0A; 12 15 500 5 3.5&#x0A; 13 16 500 5 3.5&#x0A; 14 17 500 5 3.5&#x0A; 18 21 500 5 3.5&#x0A; 19 22 500 5 3.5&#x0A; 20 23 500 5 3.5&#x0A; 21 24 500 5 3.5&#x0A; 22 25 500 5 3.5&#x0A; 23 26 500 5 3.5&#x0A; 0 1 500 5 3.5&#x0A; 1 2 500 5 3.5&#x0A; 3 4 500 5 3.5&#x0A; 4 5 500 5 3.5&#x0A; 6 7 500 5 3.5&#x0A; 7 8 500 5 3.5&#x0A; 9 10 500 5 3.5&#x0A; 10 11 500 5 3.5&#x0A; 12 13 500 5 3.5&#x0A; 13 14 500 5 3.5&#x0A; 15 16 500 5 3.5&#x0A; 16 17 500 5 3.5&#x0A; 18 19 500 5 3.5&#x0A; 19 20 500 5 3.5&#x0A; 21 22 500 5 3.5&#x0A; 22 23 500 5 3.5&#x0A; 24 25 500 5 3.5&#x0A; 25 26 100 5 3.5&#x0A; 0 13 500 5 6.06218&#x0A; 1 14 500 5 6.06218&#x0A; 3 16 500 5 6.06218&#x0A; 4 17 500 5 6.06218&#x0A; 9 22 500 5 6.06218&#x0A; 10 23 500 5 6.06218&#x0A; 12 25 500 5 6.06218&#x0A; 13 26 500 5 6.06218&#x0A; 9 4 500 5 6.06218&#x0A; 10 5 500 5 6.06218&#x0A; 12 7 500 5 6.06218&#x0A; 13 8 500 5 6.06218&#x0A; 18 13 500 5 6.06218&#x0A; 19 14 500 5 6.06218&#x0A; 21 16 500 5 6.06218&#x0A; 22 17 500 5 6.06218&#x0A; 3 10 500 5 6.06218&#x0A; 4 11 500 5 6.06218&#x0A; 6 13 500 5 6.06218&#x0A; 7 14 500 5 6.06218&#x0A; 12 19 500 5 6.06218&#x0A; 13 20 500 5 6.06218&#x0A; 15 22 500 5 6.06218&#x0A; 16 23 500 5 6.06218&#x0A; 12 1 500 5 6.06218&#x0A; 13 2 500 5 6.06218&#x0A; 15 4 500 5 6.06218&#x0A; 16 5 500 5 6.06218&#x0A; 21 10 500 5 6.06218&#x0A; 22 11 500 5 6.06218&#x0A; 24 13 500 5 6.06218&#x0A; 25 14 500 5 6.06218&#x0A; 0 12 500 5 4.94975&#x0A; 1 13 500 5 4.94975&#x0A; 2 14 500 5 4.94975&#x0A; 3 15 500 5 4.94975&#x0A; 4 16 500 5 4.94975&#x0A; 5 17 500 5 4.94975&#x0A; 9 21 500 5 4.94975&#x0A; 10 22 500 5 4.94975&#x0A; 11 23 500 5 4.94975&#x0A; 12 24 500 5 4.94975&#x0A; 13 25 500 5 4.94975&#x0A; 14 26 500 5 4.94975&#x0A; 3 9 500 5 4.94975&#x0A; 4 10 500 5 4.94975&#x0A; 5 11 500 5 4.94975&#x0A; 6 12 500 5 4.94975&#x0A; 7 13 500 5 4.94975&#x0A; 8 14 500 5 4.94975&#x0A; 12 18 500 5 4.94975&#x0A; 13 19 500 5 4.94975&#x0A; 14 20 500 5 4.94975&#x0A; 15 21 500 5 4.94975&#x0A; 16 22 500 5 4.94975&#x0A; 17 23 500 5 4.94975&#x0A; 0 10 500 5 4.94975&#x0A; 1 11 500 5 4.94975&#x0A; 3 13 500 5 4.94975&#x0A; 4 14 500 5 4.94975&#x0A; 6 16 500 5 4.94975&#x0A; 7 17 500 5 4.94975&#x0A; 9 19 500 5 4.94975&#x0A; 10 20 500 5 4.94975&#x0A; 12 22 500 5 4.94975&#x0A; 13 23 500 5 4.94975&#x0A; 15 25 500 5 4.94975&#x0A; 16 26 500 5 4.94975&#x0A; 9 1 500 5 4.94975&#x0A; 10 2 500 5 4.94975&#x0A; 12 4 500 5 4.94975&#x0A; 13 5 500 5 4.94975&#x0A; 15 7 500 5 4.94975&#x0A; 16 8 500 5 4.94975&#x0A; 18 10 500 5 4.94975&#x0A; 19 11 500 5 4.94975&#x0A; 21 13 500 5 4.94975&#x0A; 22 14 500 5 4.94975&#x0A; 24 16 500 5 4.94975&#x0A; 25 17 500 5 4.94975&#x0A; 0 4 500 5 4.94975&#x0A; 1 5 500 5 4.94975&#x0A; 3 7 500 5 4.94975&#x0A; 4 8 500 5 4.94975&#x0A; 9 13 500 5 4.94975&#x0A; 10 14 500 5 4.94975&#x0A; 12 16 500 5 4.94975&#x0A; 13 17 500 5 4.94975&#x0A; 18 22 500 5 4.94975&#x0A; 19 23 500 5 4.94975&#x0A; 21 25 500 5 4.94975&#x0A; 22 26 500 5 4.94975&#x0A; 3 1 500 5 4.94975&#x0A; 4 2 500 5 4.94975&#x0A; 6 4 500 5 4.94975&#x0A; 7 5 500 5 4.94975&#x0A; 12 10 500 5 4.94975&#x0A; 13 11 500 5 4.94975&#x0A; 15 13 500 5 4.94975&#x0A; 16 14 500 5 4.94975&#x0A; 21 19 500 5 4.94975&#x0A; 22 20 500 5 4.94975&#x0A; 24 22 500 5 4.94975&#x0A; 25 23 500 5 4.94975&#x0A;" />
        </Node>
        <StiffSpringForceField template="Vec3" name="ExternalSprings1" object1="@M1" object2="@M2" spring="2 0 500 5 3.5&#x0A; 5 3 500 5 3.5&#x0A; 8 6 500 5 3.5&#x0A; 11 9 500 5 3.5&#x0A; 14 12 500 5 3.5&#x0A; 17 15 500 5 3.5&#x0A; 20 18 500 5 3.5&#x0A; 23 21 500 5 3.5&#x0A; 26 24 500 5 3.5&#x0A; 14 0 500 5 6.06218&#x0A; 17 3 500 5 6.06218&#x0A; 23 9 500 5 6.06218&#x0A; 26 12 500 5 6.06218&#x0A; 5 9 500 5 6.06218&#x0A; 8 12 500 5 6.06218&#x0A; 14 18 500 5 6.06218&#x0A; 17 21 500 5 6.06218&#x0A; 11 3 500 5 6.06218&#x0A; 14 6 500 5 6.06218&#x0A; 20 12 500 5 6.06218&#x0A; 23 15 500 5 6.06218&#x0A; 2 12 500 5 6.06218&#x0A; 5 15 500 5 6.06218&#x0A; 11 21 500 5 6.06218&#x0A; 14 24 500 5 6.06218&#x0A; 11 0 500 5 4.94975&#x0A; 14 3 500 5 4.94975&#x0A; 17 6 500 5 4.94975&#x0A; 20 9 500 5 4.94975&#x0A; 23 12 500 5 4.94975&#x0A; 26 15 500 5 4.94975&#x0A; 2 9 500 5 4.94975&#x0A; 5 12 500 5 4.94975&#x0A; 8 15 500 5 4.94975&#x0A; 11 18 500 5 4.94975&#x0A; 14 21 500 5 4.94975&#x0A; 17 24 500 5 4.94975&#x0A; 5 0 500 5 4.94975&#x0A; 8 3 500 5 4.94975&#x0A; 14 9 500 5 4.94975&#x0A; 17 12 500 5 4.94975&#x0A; 23 18 500 5 4.94975&#x0A; 26 21 500 5 4.94975&#x0A; 2 3 500 5 4.94975&#x0A; 5 6 500 5 4.94975&#x0A; 11 12 500 5 4.94975&#x0A; 14 15 500 5 4.94975&#x0A; 20 21 500 5 4.94975&#x0A; 23 24 500 5 4.94975&#x0A;" />
        <StiffSpringForceField template="Vec3" name="ExternalSprings2" object1="@M2" object2="@M3" spring="2 0 500 5 3.5&#x0A; 5 3 500 5 3.5&#x0A; 8 6 500 5 3.5&#x0A; 11 9 500 5 3.5&#x0A; 14 12 500 5 3.5&#x0A; 17 15 500 5 3.5&#x0A; 20 18 500 5 3.5&#x0A; 23 21 500 5 3.5&#x0A; 26 24 500 5 3.5&#x0A; 14 0 500 5 6.06218&#x0A; 17 3 500 5 6.06218&#x0A; 23 9 500 5 6.06218&#x0A; 26 12 500 5 6.06218&#x0A; 5 9 500 5 6.06218&#x0A; 8 12 500 5 6.06218&#x0A; 14 18 500 5 6.06218&#x0A; 17 21 500 5 6.06218&#x0A; 11 3 500 5 6.06218&#x0A; 14 6 500 5 6.06218&#x0A; 20 12 500 5 6.06218&#x0A; 23 15 500 5 6.06218&#x0A; 2 12 500 5 6.06218&#x0A; 5 15 500 5 6.06218&#x0A; 11 21 500 5 6.06218&#x0A; 14 24 500 5 6.06218&#x0A; 11 0 500 5 4.94975&#x0A; 14 3 500 5 4.94975&#x0A; 17 6 500 5 4.94975&#x0A; 20 9 500 5 4.94975&#x0A; 23 12 500 5 4.94975&#x0A; 26 15 500 5 4.94975&#x0A; 2 9 500 5 4.94975&#x0A; 5 12 500 5 4.94975&#x0A; 8 15 500 5 4.94975&#x0A; 11 18 500 5 4.94975&#x0A; 14 21 500 5 4.94975&#x0A; 17 24 500 5 4.94975&#x0A; 5 0 500 5 4.94975&#x0A; 8 3 500 5 4.94975&#x0A; 14 9 500 5 4.94975&#x0A; 17 12 500 5 4.94975&#x0A; 23 18 500 5 4.94975&#x0A; 26 21 500 5 4.94975&#x0A; 2 3 500 5 4.94975&#x0A; 5 6 500 5 4.94975&#x0A; 11 12 500 5 4.94975&#x0A; 14 15 500 5 4.94975&#x0A; 20 21 500 5 4.94975&#x0A; 23 24 500 5 4.94975&#x0A;" />
        <StiffSpringForceField template="Vec3" name="ExternalSprings3" object1="@M3" object2="@M4" spring="2 0 500 5 3.5&#x0A; 5 3 500 5 3.5&#x0A; 8 6 500 5 3.5&#x0A; 11 9 500 5 3.5&#x0A; 14 12 500 5 3.5&#x0A; 17 15 500 5 3.5&#x0A; 20 18 500 5 3.5&#x0A; 23 21 500 5 3.5&#x0A; 26 24 500 5 3.5&#x0A; 14 0 500 5 6.06218&#x0A; 17 3 500 5 6.06218&#x0A; 23 9 500 5 6.06218&#x0A; 26 12 500 5 6.06218&#x0A; 5 9 500 5 6.06218&#x0A; 8 12 500 5 6.06218&#x0A; 14 18 500 5 6.06218&#x0A; 17 21 500 5 6.06218&#x0A; 11 3 500 5 6.06218&#x0A; 14 6 500 5 6.06218&#x0A; 20 12 500 5 6.06218&#x0A; 23 15 500 5 6.06218&#x0A; 2 12 500 5 6.06218&#x0A; 5 15 500 5 6.06218&#x0A; 11 21 500 5 6.06218&#x0A; 14 24 500 5 6.06218&#x0A; 11 0 500 5 4.94975&#x0A; 14 3 500 5 4.94975&#x0A; 17 6 500 5 4.94975&#x0A; 20 9 500 5 4.94975&#x0A; 23 12 500 5 4.94975&#x0A; 26 15 500 5 4.94975&#x0A; 2 9 500 5 4.94975&#x0A; 5 12 500 5 4.94975&#x0A; 8 15 500 5 4.94975&#x0A; 11 18 500 5 4.94975&#x0A; 14 21 500 5 4.94975&#x0A; 17 24 500 5 4.94975&#x0A; 5 0 500 5 4.94975&#x0A; 8 3 500 5 4.94975&#x0A; 14 9 500 5 4.94975&#x0A; 17 12 500 5 4.94975&#x0A; 23 18 500 5 4.94975&#x0A; 26 21 500 5 4.94975&#x0A; 2 3 500 5 4.94975&#x0A; 5 6 500 5 4.94975&#x0A; 11 12 500 5 4.94975&#x0A; 14 15 500 5 4.94975&#x0A; 20 21 500 5 4.94975&#x0A; 23 24 500 5 4.94975&#x0A;" />
        <StiffSpringForceField template="Vec3" name="ExternalSprings4" object1="@M4" object2="@M5" spring="2 0 500 5 3.5&#x0A; 5 3 500 5 3.5&#x0A; 8 6 500 5 3.5&#x0A; 11 9 500 5 3.5&#x0A; 14 12 500 5 3.5&#x0A; 17 15 500 5 3.5&#x0A; 20 18 500 5 3.5&#x0A; 23 21 500 5 3.5&#x0A; 26 24 500 5 3.5&#x0A; 14 0 500 5 6.06218&#x0A; 17 3 500 5 6.06218&#x0A; 23 9 500 5 6.06218&#x0A; 26 12 500 5 6.06218&#x0A; 5 9 500 5 6.06218&#x0A; 8 12 500 5 6.06218&#x0A; 14 18 500 5 6.06218&#x0A; 17 21 500 5 6.06218&#x0A; 11 3 500 5 6.06218&#x0A; 14 6 500 5 6.06218&#x0A; 20 12 500 5 6.06218&#x0A; 23 15 500 5 6.06218&#x0A; 2 12 500 5 6.06218&#x0A; 5 15 500 5 6.06218&#x0A; 11 21 500 5 6.06218&#x0A; 14 24 500 5 6.06218&#x0A; 11 0 500 5 4.94975&#x0A; 14 3 500 5 4.94975&#x0A; 17 6 500 5 4.94975&#x0A; 20 9 500 5 4.94975&#x0A; 23 12 500 5 4.94975&#x0A; 26 15 500 5 4.94975&#x0A; 2 9 500 5 4.94975&#x0A; 5 12 500 5 4.94975&#x0A; 8 15 500 5 4.94975&#x0A; 11 18 500 5 4.94975&#x0A; 14 21 500 5 4.94975&#x0A; 17 24 500 5 4.94975&#x0A; 5 0 500 5 4.94975&#x0A; 8 3 500 5 4.94975&#x0A; 14 9 500 5 4.94975&#x0A; 17 12 500 5 4.94975&#x0A; 23 18 500 5 4.94975&#x0A; 26 21 500 5 4.94975&#x0A; 2 3 500 5 4.94975&#x0A; 5 6 500 5 4.94975&#x0A; 11 12 500 5 4.94975&#x0A; 14 15 500 5 4.94975&#x0A; 20 21 500 5 4.94975&#x0A; 23 24 500 5 4.94975&#x0A;" />
    </Node>
</Node>

```python def createScene(rootNode):

root = rootNode.addChild('root', gravity="0 -9.81 0", dt="0.0005")
root.addObject('VisualStyle', displayFlags="showBehaviorModels showForceFields showCollisionModels showMappings")
root.addObject('DefaultAnimationLoop')

Poutre1 = root.addChild('Poutre1', gravity="0 -9.81 0")
Poutre1.addObject('RequiredPlugin', name="Sofa.Component.Constraint.Projective")
Poutre1.addObject('RequiredPlugin', name="Sofa.Component.IO.Mesh")
Poutre1.addObject('RequiredPlugin', name="Sofa.Component.Mass")
Poutre1.addObject('RequiredPlugin', name="Sofa.Component.ODESolver.Forward")
Poutre1.addObject('RequiredPlugin', name="Sofa.Component.SolidMechanics.Spring")
Poutre1.addObject('RequiredPlugin', name="Sofa.Component.StateContainer")
Poutre1.addObject('RequiredPlugin', name="Sofa.Component.Visual")
Poutre1.addObject('RequiredPlugin', name="SofaValidation")
Poutre1.addObject('EulerExplicitSolver', name="Explicit", printLog="0")

M1 = Poutre1.addChild('M1', gravity="0 -9.81 0")
M1.addObject('MeshGmshLoader', name="loader", filename="mesh/smCube27.msh")
M1.addObject('MechanicalObject', src="@loader", template="Vec3", name="default1", restScale="1", showObject="1")
M1.addObject('UniformMass', name="default2", vertexMass="0.1")
M1.addObject('FixedProjectiveConstraint', template="Vec3", name="default3", indices="0 3 6 9 12 15 18 21 24")
M1.addObject('Monitor', template="Vec3", name="velocities_2-11-20", listening="1", indices="2 11 20", showPositions="0", PositionsColor="1 1 0 1", showVelocities="1", VelocitiesColor="1 1 0 1", ForcesColor="1 1 0 1", showMinThreshold="0.01", TrajectoriesPrecision="0.1", TrajectoriesColor="1 1 0 1")
M1.addObject('Monitor', template="Vec3", name="positions_8-16-24", listening="1", indices="8 16 24", showPositions="1", PositionsColor="1 1 0 1", VelocitiesColor="1 1 0 1", ForcesColor="1 1 0 1", showMinThreshold="0.01", TrajectoriesPrecision="0.1", TrajectoriesColor="1 1 0 1")
M1.addObject('StiffSpringForceField', template="Vec3", name="InternalSprings1", spring="0 9 100 5 3.5

1 10 500 5 3.5 2 11 500 5 3.5 3 12 500 5 3.5 4 13 500 5 3.5 5 14 500 5 3.5 6 15 500 5 3.5 7 16 500 5 3.5 8 17 500 5 3.5 9 18 500 5 3.5 10 19 500 5 3.5 11 20 500 5 3.5 12 21 500 5 3.5 13 22 500 5 3.5 14 23 500 5 3.5 15 24 500 5 3.5 16 25 500 5 3.5 17 26 500 5 3.5 0 3 500 5 3.5 1 4 500 5 3.5 2 5 500 5 3.5 3 6 500 5 3.5 4 7 500 5 3.5 5 8 500 5 3.5 9 12 500 5 3.5 10 13 500 5 3.5 11 14 500 5 3.5 12 15 500 5 3.5 13 16 500 5 3.5 14 17 500 5 3.5 18 21 500 5 3.5 19 22 500 5 3.5 20 23 500 5 3.5 21 24 500 5 3.5 22 25 500 5 3.5 23 26 500 5 3.5 0 1 500 5 3.5 1 2 500 5 3.5 3 4 500 5 3.5 4 5 500 5 3.5 6 7 500 5 3.5 7 8 500 5 3.5 9 10 500 5 3.5 10 11 500 5 3.5 12 13 500 5 3.5 13 14 500 5 3.5 15 16 500 5 3.5 16 17 500 5 3.5 18 19 500 5 3.5 19 20 500 5 3.5 21 22 500 5 3.5 22 23 500 5 3.5 24 25 500 5 3.5 25 26 100 5 3.5 0 13 500 5 6.06218 1 14 500 5 6.06218 3 16 500 5 6.06218 4 17 500 5 6.06218 9 22 500 5 6.06218 10 23 500 5 6.06218 12 25 500 5 6.06218 13 26 500 5 6.06218 9 4 500 5 6.06218 10 5 500 5 6.06218 12 7 500 5 6.06218 13 8 500 5 6.06218 18 13 500 5 6.06218 19 14 500 5 6.06218 21 16 500 5 6.06218 22 17 500 5 6.06218 3 10 500 5 6.06218 4 11 500 5 6.06218 6 13 500 5 6.06218 7 14 500 5 6.06218 12 19 500 5 6.06218 13 20 500 5 6.06218 15 22 500 5 6.06218 16 23 500 5 6.06218 12 1 500 5 6.06218 13 2 500 5 6.06218 15 4 500 5 6.06218 16 5 500 5 6.06218 21 10 500 5 6.06218 22 11 500 5 6.06218 24 13 500 5 6.06218 25 14 500 5 6.06218 0 12 500 5 4.94975 1 13 500 5 4.94975 2 14 500 5 4.94975 3 15 500 5 4.94975 4 16 500 5 4.94975 5 17 500 5 4.94975 9 21 500 5 4.94975 10 22 500 5 4.94975 11 23 500 5 4.94975 12 24 500 5 4.94975 13 25 500 5 4.94975 14 26 500 5 4.94975 3 9 500 5 4.94975 4 10 500 5 4.94975 5 11 500 5 4.94975 6 12 500 5 4.94975 7 13 500 5 4.94975 8 14 500 5 4.94975 12 18 500 5 4.94975 13 19 500 5 4.94975 14 20 500 5 4.94975 15 21 500 5 4.94975 16 22 500 5 4.94975 17 23 500 5 4.94975 0 10 500 5 4.94975 1 11 500 5 4.94975 3 13 500 5 4.94975 4 14 500 5 4.94975 6 16 500 5 4.94975 7 17 500 5 4.94975 9 19 500 5 4.94975 10 20 500 5 4.94975 12 22 500 5 4.94975 13 23 500 5 4.94975 15 25 500 5 4.94975 16 26 500 5 4.94975 9 1 500 5 4.94975 10 2 500 5 4.94975 12 4 500 5 4.94975 13 5 500 5 4.94975 15 7 500 5 4.94975 16 8 500 5 4.94975 18 10 500 5 4.94975 19 11 500 5 4.94975 21 13 500 5 4.94975 22 14 500 5 4.94975 24 16 500 5 4.94975 25 17 500 5 4.94975 0 4 500 5 4.94975 1 5 500 5 4.94975 3 7 500 5 4.94975 4 8 500 5 4.94975 9 13 500 5 4.94975 10 14 500 5 4.94975 12 16 500 5 4.94975 13 17 500 5 4.94975 18 22 500 5 4.94975 19 23 500 5 4.94975 21 25 500 5 4.94975 22 26 500 5 4.94975 3 1 500 5 4.94975 4 2 500 5 4.94975 6 4 500 5 4.94975 7 5 500 5 4.94975 12 10 500 5 4.94975 13 11 500 5 4.94975 15 13 500 5 4.94975 16 14 500 5 4.94975 21 19 500 5 4.94975 22 20 500 5 4.94975 24 22 500 5 4.94975 25 23 500 5 4.94975 ")

    M2 = Poutre1.addChild('M2', gravity="0 -9.81 0")
    M2.addObject('MeshGmshLoader', name="loader", filename="mesh/smCube27.msh")
    M2.addObject('MechanicalObject', src="@loader", template="Vec3", name="default5", translation="0 0 10.5", restScale="1")
    M2.addObject('Monitor', template="Vec3", name="positions_8-16-24", listening="1", indices="8 16 24", showPositions="1", PositionsColor="1 1 0 1", VelocitiesColor="1 1 0 1", ForcesColor="1 1 0 1", showMinThreshold="0.01", TrajectoriesPrecision="0.1", TrajectoriesColor="1 1 0 1")
    M2.addObject('UniformMass', name="default6", vertexMass="0.1")
    M2.addObject('StiffSpringForceField', template="Vec3", name="InternalSprings2", spring="0 9 100 5 3.5

1 10 500 5 3.5 2 11 500 5 3.5 3 12 500 5 3.5 4 13 500 5 3.5 5 14 500 5 3.5 6 15 500 5 3.5 7 16 500 5 3.5 8 17 500 5 3.5 9 18 500 5 3.5 10 19 500 5 3.5 11 20 500 5 3.5 12 21 500 5 3.5 13 22 500 5 3.5 14 23 500 5 3.5 15 24 500 5 3.5 16 25 500 5 3.5 17 26 500 5 3.5 0 3 500 5 3.5 1 4 500 5 3.5 2 5 500 5 3.5 3 6 500 5 3.5 4 7 500 5 3.5 5 8 500 5 3.5 9 12 500 5 3.5 10 13 500 5 3.5 11 14 500 5 3.5 12 15 500 5 3.5 13 16 500 5 3.5 14 17 500 5 3.5 18 21 500 5 3.5 19 22 500 5 3.5 20 23 500 5 3.5 21 24 500 5 3.5 22 25 500 5 3.5 23 26 500 5 3.5 0 1 500 5 3.5 1 2 500 5 3.5 3 4 500 5 3.5 4 5 500 5 3.5 6 7 500 5 3.5 7 8 500 5 3.5 9 10 500 5 3.5 10 11 500 5 3.5 12 13 500 5 3.5 13 14 500 5 3.5 15 16 500 5 3.5 16 17 500 5 3.5 18 19 500 5 3.5 19 20 500 5 3.5 21 22 500 5 3.5 22 23 500 5 3.5 24 25 500 5 3.5 25 26 100 5 3.5 0 13 500 5 6.06218 1 14 500 5 6.06218 3 16 500 5 6.06218 4 17 500 5 6.06218 9 22 500 5 6.06218 10 23 500 5 6.06218 12 25 500 5 6.06218 13 26 500 5 6.06218 9 4 500 5 6.06218 10 5 500 5 6.06218 12 7 500 5 6.06218 13 8 500 5 6.06218 18 13 500 5 6.06218 19 14 500 5 6.06218 21 16 500 5 6.06218 22 17 500 5 6.06218 3 10 500 5 6.06218 4 11 500 5 6.06218 6 13 500 5 6.06218 7 14 500 5 6.06218 12 19 500 5 6.06218 13 20 500 5 6.06218 15 22 500 5 6.06218 16 23 500 5 6.06218 12 1 500 5 6.06218 13 2 500 5 6.06218 15 4 500 5 6.06218 16 5 500 5 6.06218 21 10 500 5 6.06218 22 11 500 5 6.06218 24 13 500 5 6.06218 25 14 500 5 6.06218 0 12 500 5 4.94975 1 13 500 5 4.94975 2 14 500 5 4.94975 3 15 500 5 4.94975 4 16 500 5 4.94975 5 17 500 5 4.94975 9 21 500 5 4.94975 10 22 500 5 4.94975 11 23 500 5 4.94975 12 24 500 5 4.94975 13 25 500 5 4.94975 14 26 500 5 4.94975 3 9 500 5 4.94975 4 10 500 5 4.94975 5 11 500 5 4.94975 6 12 500 5 4.94975 7 13 500 5 4.94975 8 14 500 5 4.94975 12 18 500 5 4.94975 13 19 500 5 4.94975 14 20 500 5 4.94975 15 21 500 5 4.94975 16 22 500 5 4.94975 17 23 500 5 4.94975 0 10 500 5 4.94975 1 11 500 5 4.94975 3 13 500 5 4.94975 4 14 500 5 4.94975 6 16 500 5 4.94975 7 17 500 5 4.94975 9 19 500 5 4.94975 10 20 500 5 4.94975 12 22 500 5 4.94975 13 23 500 5 4.94975 15 25 500 5 4.94975 16 26 500 5 4.94975 9 1 500 5 4.94975 10 2 500 5 4.94975 12 4 500 5 4.94975 13 5 500 5 4.94975 15 7 500 5 4.94975 16 8 500 5 4.94975 18 10 500 5 4.94975 19 11 500 5 4.94975 21 13 500 5 4.94975 22 14 500 5 4.94975 24 16 500 5 4.94975 25 17 500 5 4.94975 0 4 500 5 4.94975 1 5 500 5 4.94975 3 7 500 5 4.94975 4 8 500 5 4.94975 9 13 500 5 4.94975 10 14 500 5 4.94975 12 16 500 5 4.94975 13 17 500 5 4.94975 18 22 500 5 4.94975 19 23 500 5 4.94975 21 25 500 5 4.94975 22 26 500 5 4.94975 3 1 500 5 4.94975 4 2 500 5 4.94975 6 4 500 5 4.94975 7 5 500 5 4.94975 12 10 500 5 4.94975 13 11 500 5 4.94975 15 13 500 5 4.94975 16 14 500 5 4.94975 21 19 500 5 4.94975 22 20 500 5 4.94975 24 22 500 5 4.94975 25 23 500 5 4.94975 ")

    M3 = Poutre1.addChild('M3', gravity="0 -9.81 0")
    M3.addObject('MeshGmshLoader', name="loader", filename="mesh/smCube27.msh")
    M3.addObject('MechanicalObject', src="@loader", template="Vec3", name="default8", translation="0 0 21", restScale="1")
    M3.addObject('Monitor', template="Vec3", name="velocities_8-16-24", listening="1", indices="8 16 24", showPositions="0", PositionsColor="1 1 0 1", showVelocities="1", VelocitiesColor="1 1 0 1", ForcesColor="1 1 0 1", showMinThreshold="0.01", TrajectoriesPrecision="0.1", TrajectoriesColor="1 1 0 1", sizeFactor="1")
    M3.addObject('UniformMass', name="default9", vertexMass="0.1")
    M3.addObject('StiffSpringForceField', template="Vec3", name="InternalSprings3", spring="0 9 100 5 3.5

1 10 500 5 3.5 2 11 500 5 3.5 3 12 500 5 3.5 4 13 500 5 3.5 5 14 500 5 3.5 6 15 500 5 3.5 7 16 500 5 3.5 8 17 500 5 3.5 9 18 500 5 3.5 10 19 500 5 3.5 11 20 500 5 3.5 12 21 500 5 3.5 13 22 500 5 3.5 14 23 500 5 3.5 15 24 500 5 3.5 16 25 500 5 3.5 17 26 500 5 3.5 0 3 500 5 3.5 1 4 500 5 3.5 2 5 500 5 3.5 3 6 500 5 3.5 4 7 500 5 3.5 5 8 500 5 3.5 9 12 500 5 3.5 10 13 500 5 3.5 11 14 500 5 3.5 12 15 500 5 3.5 13 16 500 5 3.5 14 17 500 5 3.5 18 21 500 5 3.5 19 22 500 5 3.5 20 23 500 5 3.5 21 24 500 5 3.5 22 25 500 5 3.5 23 26 500 5 3.5 0 1 500 5 3.5 1 2 500 5 3.5 3 4 500 5 3.5 4 5 500 5 3.5 6 7 500 5 3.5 7 8 500 5 3.5 9 10 500 5 3.5 10 11 500 5 3.5 12 13 500 5 3.5 13 14 500 5 3.5 15 16 500 5 3.5 16 17 500 5 3.5 18 19 500 5 3.5 19 20 500 5 3.5 21 22 500 5 3.5 22 23 500 5 3.5 24 25 500 5 3.5 25 26 100 5 3.5 0 13 500 5 6.06218 1 14 500 5 6.06218 3 16 500 5 6.06218 4 17 500 5 6.06218 9 22 500 5 6.06218 10 23 500 5 6.06218 12 25 500 5 6.06218 13 26 500 5 6.06218 9 4 500 5 6.06218 10 5 500 5 6.06218 12 7 500 5 6.06218 13 8 500 5 6.06218 18 13 500 5 6.06218 19 14 500 5 6.06218 21 16 500 5 6.06218 22 17 500 5 6.06218 3 10 500 5 6.06218 4 11 500 5 6.06218 6 13 500 5 6.06218 7 14 500 5 6.06218 12 19 500 5 6.06218 13 20 500 5 6.06218 15 22 500 5 6.06218 16 23 500 5 6.06218 12 1 500 5 6.06218 13 2 500 5 6.06218 15 4 500 5 6.06218 16 5 500 5 6.06218 21 10 500 5 6.06218 22 11 500 5 6.06218 24 13 500 5 6.06218 25 14 500 5 6.06218 0 12 500 5 4.94975 1 13 500 5 4.94975 2 14 500 5 4.94975 3 15 500 5 4.94975 4 16 500 5 4.94975 5 17 500 5 4.94975 9 21 500 5 4.94975 10 22 500 5 4.94975 11 23 500 5 4.94975 12 24 500 5 4.94975 13 25 500 5 4.94975 14 26 500 5 4.94975 3 9 500 5 4.94975 4 10 500 5 4.94975 5 11 500 5 4.94975 6 12 500 5 4.94975 7 13 500 5 4.94975 8 14 500 5 4.94975 12 18 500 5 4.94975 13 19 500 5 4.94975 14 20 500 5 4.94975 15 21 500 5 4.94975 16 22 500 5 4.94975 17 23 500 5 4.94975 0 10 500 5 4.94975 1 11 500 5 4.94975 3 13 500 5 4.94975 4 14 500 5 4.94975 6 16 500 5 4.94975 7 17 500 5 4.94975 9 19 500 5 4.94975 10 20 500 5 4.94975 12 22 500 5 4.94975 13 23 500 5 4.94975 15 25 500 5 4.94975 16 26 500 5 4.94975 9 1 500 5 4.94975 10 2 500 5 4.94975 12 4 500 5 4.94975 13 5 500 5 4.94975 15 7 500 5 4.94975 16 8 500 5 4.94975 18 10 500 5 4.94975 19 11 500 5 4.94975 21 13 500 5 4.94975 22 14 500 5 4.94975 24 16 500 5 4.94975 25 17 500 5 4.94975 0 4 500 5 4.94975 1 5 500 5 4.94975 3 7 500 5 4.94975 4 8 500 5 4.94975 9 13 500 5 4.94975 10 14 500 5 4.94975 12 16 500 5 4.94975 13 17 500 5 4.94975 18 22 500 5 4.94975 19 23 500 5 4.94975 21 25 500 5 4.94975 22 26 500 5 4.94975 3 1 500 5 4.94975 4 2 500 5 4.94975 6 4 500 5 4.94975 7 5 500 5 4.94975 12 10 500 5 4.94975 13 11 500 5 4.94975 15 13 500 5 4.94975 16 14 500 5 4.94975 21 19 500 5 4.94975 22 20 500 5 4.94975 24 22 500 5 4.94975 25 23 500 5 4.94975 ")

    M4 = Poutre1.addChild('M4', gravity="0 -9.81 0")
    M4.addObject('MeshGmshLoader', name="loader", filename="mesh/smCube27.msh")
    M4.addObject('MechanicalObject', src="@loader", template="Vec3", name="default11", translation="0 0 31.5", restScale="1")
    M4.addObject('UniformMass', name="default12", vertexMass="0.1")
    M4.addObject('Monitor', template="Vec3", name="forces_2-11-20", listening="1", indices="2 11 20", showPositions="0", PositionsColor="1 1 0 1", showVelocities="0", VelocitiesColor="1 1 0 1", showForces="1", ForcesColor="0 1 1 1", showMinThreshold="0.01", TrajectoriesPrecision="0.1", TrajectoriesColor="1 1 0 1", sizeFactor="1")
    M4.addObject('StiffSpringForceField', template="Vec3", name="InternalSprings4", spring="0 9 100 5 3.5

1 10 500 5 3.5 2 11 500 5 3.5 3 12 500 5 3.5 4 13 500 5 3.5 5 14 500 5 3.5 6 15 500 5 3.5 7 16 500 5 3.5 8 17 500 5 3.5 9 18 500 5 3.5 10 19 500 5 3.5 11 20 500 5 3.5 12 21 500 5 3.5 13 22 500 5 3.5 14 23 500 5 3.5 15 24 500 5 3.5 16 25 500 5 3.5 17 26 500 5 3.5 0 3 500 5 3.5 1 4 500 5 3.5 2 5 500 5 3.5 3 6 500 5 3.5 4 7 500 5 3.5 5 8 500 5 3.5 9 12 500 5 3.5 10 13 500 5 3.5 11 14 500 5 3.5 12 15 500 5 3.5 13 16 500 5 3.5 14 17 500 5 3.5 18 21 500 5 3.5 19 22 500 5 3.5 20 23 500 5 3.5 21 24 500 5 3.5 22 25 500 5 3.5 23 26 500 5 3.5 0 1 500 5 3.5 1 2 500 5 3.5 3 4 500 5 3.5 4 5 500 5 3.5 6 7 500 5 3.5 7 8 500 5 3.5 9 10 500 5 3.5 10 11 500 5 3.5 12 13 500 5 3.5 13 14 500 5 3.5 15 16 500 5 3.5 16 17 500 5 3.5 18 19 500 5 3.5 19 20 500 5 3.5 21 22 500 5 3.5 22 23 500 5 3.5 24 25 500 5 3.5 25 26 100 5 3.5 0 13 500 5 6.06218 1 14 500 5 6.06218 3 16 500 5 6.06218 4 17 500 5 6.06218 9 22 500 5 6.06218 10 23 500 5 6.06218 12 25 500 5 6.06218 13 26 500 5 6.06218 9 4 500 5 6.06218 10 5 500 5 6.06218 12 7 500 5 6.06218 13 8 500 5 6.06218 18 13 500 5 6.06218 19 14 500 5 6.06218 21 16 500 5 6.06218 22 17 500 5 6.06218 3 10 500 5 6.06218 4 11 500 5 6.06218 6 13 500 5 6.06218 7 14 500 5 6.06218 12 19 500 5 6.06218 13 20 500 5 6.06218 15 22 500 5 6.06218 16 23 500 5 6.06218 12 1 500 5 6.06218 13 2 500 5 6.06218 15 4 500 5 6.06218 16 5 500 5 6.06218 21 10 500 5 6.06218 22 11 500 5 6.06218 24 13 500 5 6.06218 25 14 500 5 6.06218 0 12 500 5 4.94975 1 13 500 5 4.94975 2 14 500 5 4.94975 3 15 500 5 4.94975 4 16 500 5 4.94975 5 17 500 5 4.94975 9 21 500 5 4.94975 10 22 500 5 4.94975 11 23 500 5 4.94975 12 24 500 5 4.94975 13 25 500 5 4.94975 14 26 500 5 4.94975 3 9 500 5 4.94975 4 10 500 5 4.94975 5 11 500 5 4.94975 6 12 500 5 4.94975 7 13 500 5 4.94975 8 14 500 5 4.94975 12 18 500 5 4.94975 13 19 500 5 4.94975 14 20 500 5 4.94975 15 21 500 5 4.94975 16 22 500 5 4.94975 17 23 500 5 4.94975 0 10 500 5 4.94975 1 11 500 5 4.94975 3 13 500 5 4.94975 4 14 500 5 4.94975 6 16 500 5 4.94975 7 17 500 5 4.94975 9 19 500 5 4.94975 10 20 500 5 4.94975 12 22 500 5 4.94975 13 23 500 5 4.94975 15 25 500 5 4.94975 16 26 500 5 4.94975 9 1 500 5 4.94975 10 2 500 5 4.94975 12 4 500 5 4.94975 13 5 500 5 4.94975 15 7 500 5 4.94975 16 8 500 5 4.94975 18 10 500 5 4.94975 19 11 500 5 4.94975 21 13 500 5 4.94975 22 14 500 5 4.94975 24 16 500 5 4.94975 25 17 500 5 4.94975 0 4 500 5 4.94975 1 5 500 5 4.94975 3 7 500 5 4.94975 4 8 500 5 4.94975 9 13 500 5 4.94975 10 14 500 5 4.94975 12 16 500 5 4.94975 13 17 500 5 4.94975 18 22 500 5 4.94975 19 23 500 5 4.94975 21 25 500 5 4.94975 22 26 500 5 4.94975 3 1 500 5 4.94975 4 2 500 5 4.94975 6 4 500 5 4.94975 7 5 500 5 4.94975 12 10 500 5 4.94975 13 11 500 5 4.94975 15 13 500 5 4.94975 16 14 500 5 4.94975 21 19 500 5 4.94975 22 20 500 5 4.94975 24 22 500 5 4.94975 25 23 500 5 4.94975 ")

    M5 = Poutre1.addChild('M5', gravity="0 -9.81 0")
    M5.addObject('MeshGmshLoader', name="loader", filename="mesh/smCube27.msh")
    M5.addObject('MechanicalObject', src="@loader", template="Vec3", name="default14", translation="0 0 42", restScale="1", showObject="1")
    M5.addObject('UniformMass', name="default15", vertexMass="0.1")
    M5.addObject('Monitor', template="Vec3", name="trajectories_8-16-24", listening="1", indices="8 16 24", showPositions="0", PositionsColor="1 1 0 1", VelocitiesColor="1 1 0 1", showForces="0", ForcesColor="0 1 1 1", showMinThreshold="0.01", showTrajectories="1", TrajectoriesPrecision="0.1", TrajectoriesColor="1 0 1 1", sizeFactor="1")
    M5.addObject('StiffSpringForceField', template="Vec3", name="InternalSprings5", spring="0 9 100 5 3.5

1 10 500 5 3.5 2 11 500 5 3.5 3 12 500 5 3.5 4 13 500 5 3.5 5 14 500 5 3.5 6 15 500 5 3.5 7 16 500 5 3.5 8 17 500 5 3.5 9 18 500 5 3.5 10 19 500 5 3.5 11 20 500 5 3.5 12 21 500 5 3.5 13 22 500 5 3.5 14 23 500 5 3.5 15 24 500 5 3.5 16 25 500 5 3.5 17 26 500 5 3.5 0 3 500 5 3.5 1 4 500 5 3.5 2 5 500 5 3.5 3 6 500 5 3.5 4 7 500 5 3.5 5 8 500 5 3.5 9 12 500 5 3.5 10 13 500 5 3.5 11 14 500 5 3.5 12 15 500 5 3.5 13 16 500 5 3.5 14 17 500 5 3.5 18 21 500 5 3.5 19 22 500 5 3.5 20 23 500 5 3.5 21 24 500 5 3.5 22 25 500 5 3.5 23 26 500 5 3.5 0 1 500 5 3.5 1 2 500 5 3.5 3 4 500 5 3.5 4 5 500 5 3.5 6 7 500 5 3.5 7 8 500 5 3.5 9 10 500 5 3.5 10 11 500 5 3.5 12 13 500 5 3.5 13 14 500 5 3.5 15 16 500 5 3.5 16 17 500 5 3.5 18 19 500 5 3.5 19 20 500 5 3.5 21 22 500 5 3.5 22 23 500 5 3.5 24 25 500 5 3.5 25 26 100 5 3.5 0 13 500 5 6.06218 1 14 500 5 6.06218 3 16 500 5 6.06218 4 17 500 5 6.06218 9 22 500 5 6.06218 10 23 500 5 6.06218 12 25 500 5 6.06218 13 26 500 5 6.06218 9 4 500 5 6.06218 10 5 500 5 6.06218 12 7 500 5 6.06218 13 8 500 5 6.06218 18 13 500 5 6.06218 19 14 500 5 6.06218 21 16 500 5 6.06218 22 17 500 5 6.06218 3 10 500 5 6.06218 4 11 500 5 6.06218 6 13 500 5 6.06218 7 14 500 5 6.06218 12 19 500 5 6.06218 13 20 500 5 6.06218 15 22 500 5 6.06218 16 23 500 5 6.06218 12 1 500 5 6.06218 13 2 500 5 6.06218 15 4 500 5 6.06218 16 5 500 5 6.06218 21 10 500 5 6.06218 22 11 500 5 6.06218 24 13 500 5 6.06218 25 14 500 5 6.06218 0 12 500 5 4.94975 1 13 500 5 4.94975 2 14 500 5 4.94975 3 15 500 5 4.94975 4 16 500 5 4.94975 5 17 500 5 4.94975 9 21 500 5 4.94975 10 22 500 5 4.94975 11 23 500 5 4.94975 12 24 500 5 4.94975 13 25 500 5 4.94975 14 26 500 5 4.94975 3 9 500 5 4.94975 4 10 500 5 4.94975 5 11 500 5 4.94975 6 12 500 5 4.94975 7 13 500 5 4.94975 8 14 500 5 4.94975 12 18 500 5 4.94975 13 19 500 5 4.94975 14 20 500 5 4.94975 15 21 500 5 4.94975 16 22 500 5 4.94975 17 23 500 5 4.94975 0 10 500 5 4.94975 1 11 500 5 4.94975 3 13 500 5 4.94975 4 14 500 5 4.94975 6 16 500 5 4.94975 7 17 500 5 4.94975 9 19 500 5 4.94975 10 20 500 5 4.94975 12 22 500 5 4.94975 13 23 500 5 4.94975 15 25 500 5 4.94975 16 26 500 5 4.94975 9 1 500 5 4.94975 10 2 500 5 4.94975 12 4 500 5 4.94975 13 5 500 5 4.94975 15 7 500 5 4.94975 16 8 500 5 4.94975 18 10 500 5 4.94975 19 11 500 5 4.94975 21 13 500 5 4.94975 22 14 500 5 4.94975 24 16 500 5 4.94975 25 17 500 5 4.94975 0 4 500 5 4.94975 1 5 500 5 4.94975 3 7 500 5 4.94975 4 8 500 5 4.94975 9 13 500 5 4.94975 10 14 500 5 4.94975 12 16 500 5 4.94975 13 17 500 5 4.94975 18 22 500 5 4.94975 19 23 500 5 4.94975 21 25 500 5 4.94975 22 26 500 5 4.94975 3 1 500 5 4.94975 4 2 500 5 4.94975 6 4 500 5 4.94975 7 5 500 5 4.94975 12 10 500 5 4.94975 13 11 500 5 4.94975 15 13 500 5 4.94975 16 14 500 5 4.94975 21 19 500 5 4.94975 22 20 500 5 4.94975 24 22 500 5 4.94975 25 23 500 5 4.94975 ") Poutre1.addObject('StiffSpringForceField', template="Vec3", name="ExternalSprings1", object1="@M1", object2="@M2", spring="2 0 500 5 3.5 5 3 500 5 3.5 8 6 500 5 3.5 11 9 500 5 3.5 14 12 500 5 3.5 17 15 500 5 3.5 20 18 500 5 3.5 23 21 500 5 3.5 26 24 500 5 3.5 14 0 500 5 6.06218 17 3 500 5 6.06218 23 9 500 5 6.06218 26 12 500 5 6.06218 5 9 500 5 6.06218 8 12 500 5 6.06218 14 18 500 5 6.06218 17 21 500 5 6.06218 11 3 500 5 6.06218 14 6 500 5 6.06218 20 12 500 5 6.06218 23 15 500 5 6.06218 2 12 500 5 6.06218 5 15 500 5 6.06218 11 21 500 5 6.06218 14 24 500 5 6.06218 11 0 500 5 4.94975 14 3 500 5 4.94975 17 6 500 5 4.94975 20 9 500 5 4.94975 23 12 500 5 4.94975 26 15 500 5 4.94975 2 9 500 5 4.94975 5 12 500 5 4.94975 8 15 500 5 4.94975 11 18 500 5 4.94975 14 21 500 5 4.94975 17 24 500 5 4.94975 5 0 500 5 4.94975 8 3 500 5 4.94975 14 9 500 5 4.94975 17 12 500 5 4.94975 23 18 500 5 4.94975 26 21 500 5 4.94975 2 3 500 5 4.94975 5 6 500 5 4.94975 11 12 500 5 4.94975 14 15 500 5 4.94975 20 21 500 5 4.94975 23 24 500 5 4.94975 ") Poutre1.addObject('StiffSpringForceField', template="Vec3", name="ExternalSprings2", object1="@M2", object2="@M3", spring="2 0 500 5 3.5 5 3 500 5 3.5 8 6 500 5 3.5 11 9 500 5 3.5 14 12 500 5 3.5 17 15 500 5 3.5 20 18 500 5 3.5 23 21 500 5 3.5 26 24 500 5 3.5 14 0 500 5 6.06218 17 3 500 5 6.06218 23 9 500 5 6.06218 26 12 500 5 6.06218 5 9 500 5 6.06218 8 12 500 5 6.06218 14 18 500 5 6.06218 17 21 500 5 6.06218 11 3 500 5 6.06218 14 6 500 5 6.06218 20 12 500 5 6.06218 23 15 500 5 6.06218 2 12 500 5 6.06218 5 15 500 5 6.06218 11 21 500 5 6.06218 14 24 500 5 6.06218 11 0 500 5 4.94975 14 3 500 5 4.94975 17 6 500 5 4.94975 20 9 500 5 4.94975 23 12 500 5 4.94975 26 15 500 5 4.94975 2 9 500 5 4.94975 5 12 500 5 4.94975 8 15 500 5 4.94975 11 18 500 5 4.94975 14 21 500 5 4.94975 17 24 500 5 4.94975 5 0 500 5 4.94975 8 3 500 5 4.94975 14 9 500 5 4.94975 17 12 500 5 4.94975 23 18 500 5 4.94975 26 21 500 5 4.94975 2 3 500 5 4.94975 5 6 500 5 4.94975 11 12 500 5 4.94975 14 15 500 5 4.94975 20 21 500 5 4.94975 23 24 500 5 4.94975 ") Poutre1.addObject('StiffSpringForceField', template="Vec3", name="ExternalSprings3", object1="@M3", object2="@M4", spring="2 0 500 5 3.5 5 3 500 5 3.5 8 6 500 5 3.5 11 9 500 5 3.5 14 12 500 5 3.5 17 15 500 5 3.5 20 18 500 5 3.5 23 21 500 5 3.5 26 24 500 5 3.5 14 0 500 5 6.06218 17 3 500 5 6.06218 23 9 500 5 6.06218 26 12 500 5 6.06218 5 9 500 5 6.06218 8 12 500 5 6.06218 14 18 500 5 6.06218 17 21 500 5 6.06218 11 3 500 5 6.06218 14 6 500 5 6.06218 20 12 500 5 6.06218 23 15 500 5 6.06218 2 12 500 5 6.06218 5 15 500 5 6.06218 11 21 500 5 6.06218 14 24 500 5 6.06218 11 0 500 5 4.94975 14 3 500 5 4.94975 17 6 500 5 4.94975 20 9 500 5 4.94975 23 12 500 5 4.94975 26 15 500 5 4.94975 2 9 500 5 4.94975 5 12 500 5 4.94975 8 15 500 5 4.94975 11 18 500 5 4.94975 14 21 500 5 4.94975 17 24 500 5 4.94975 5 0 500 5 4.94975 8 3 500 5 4.94975 14 9 500 5 4.94975 17 12 500 5 4.94975 23 18 500 5 4.94975 26 21 500 5 4.94975 2 3 500 5 4.94975 5 6 500 5 4.94975 11 12 500 5 4.94975 14 15 500 5 4.94975 20 21 500 5 4.94975 23 24 500 5 4.94975 ") Poutre1.addObject('StiffSpringForceField', template="Vec3", name="ExternalSprings4", object1="@M4", object2="@M5", spring="2 0 500 5 3.5 5 3 500 5 3.5 8 6 500 5 3.5 11 9 500 5 3.5 14 12 500 5 3.5 17 15 500 5 3.5 20 18 500 5 3.5 23 21 500 5 3.5 26 24 500 5 3.5 14 0 500 5 6.06218 17 3 500 5 6.06218 23 9 500 5 6.06218 26 12 500 5 6.06218 5 9 500 5 6.06218 8 12 500 5 6.06218 14 18 500 5 6.06218 17 21 500 5 6.06218 11 3 500 5 6.06218 14 6 500 5 6.06218 20 12 500 5 6.06218 23 15 500 5 6.06218 2 12 500 5 6.06218 5 15 500 5 6.06218 11 21 500 5 6.06218 14 24 500 5 6.06218 11 0 500 5 4.94975 14 3 500 5 4.94975 17 6 500 5 4.94975 20 9 500 5 4.94975 23 12 500 5 4.94975 26 15 500 5 4.94975 2 9 500 5 4.94975 5 12 500 5 4.94975 8 15 500 5 4.94975 11 18 500 5 4.94975 14 21 500 5 4.94975 17 24 500 5 4.94975 5 0 500 5 4.94975 8 3 500 5 4.94975 14 9 500 5 4.94975 17 12 500 5 4.94975 23 18 500 5 4.94975 26 21 500 5 4.94975 2 3 500 5 4.94975 5 6 500 5 4.94975 11 12 500 5 4.94975 14 15 500 5 4.94975 20 21 500 5 4.94975 23 24 500 5 4.94975 ") ```

Component/SceneUtility/MonitorTest.scn

<Node name="root" gravity="0 -9.81 0">
<DefaultAnimationLoop/>    
    <Node name="node">
      <RequiredPlugin name="Sofa.Component.IO.Mesh"/> <!-- Needed to use components [MeshGmshLoader] -->
      <RequiredPlugin name="Sofa.Component.LinearSolver.Iterative"/> <!-- Needed to use components [CGLinearSolver] -->
      <RequiredPlugin name="Sofa.Component.Mass"/> <!-- Needed to use components [UniformMass] -->
      <RequiredPlugin name="Sofa.Component.ODESolver.Backward"/> <!-- Needed to use components [EulerImplicitSolver] -->
      <RequiredPlugin name="Sofa.Component.StateContainer"/> <!-- Needed to use components [MechanicalObject] -->
      <RequiredPlugin name="SofaValidation"/> <!-- Needed to use components [Monitor] -->
      <EulerImplicitSolver rayleighStiffness="0" printLog="false" />
      <CGLinearSolver iterations="100" threshold="0.00000001" tolerance="1e-5"/>
      <MeshGmshLoader name="loader" filename="mesh/smCube27.msh" createSubelements="true" />
      <MechanicalObject template="Rigid3" src="@loader" name="MO" showObject="1"/>
      <Monitor template="Rigid3" name="monitor" listening="1" indices="0" ExportPositions="true" ExportVelocities="true" ExportForces="true" />
      <UniformMass totalMass="1" />
    </Node>
</Node>
def createScene(rootNode):

    root = rootNode.addChild('root', gravity="0 -9.81 0")
    root.addObject('DefaultAnimationLoop')

    node = root.addChild('node')
    node.addObject('RequiredPlugin', name="Sofa.Component.IO.Mesh")
    node.addObject('RequiredPlugin', name="Sofa.Component.LinearSolver.Iterative")
    node.addObject('RequiredPlugin', name="Sofa.Component.Mass")
    node.addObject('RequiredPlugin', name="Sofa.Component.ODESolver.Backward")
    node.addObject('RequiredPlugin', name="Sofa.Component.StateContainer")
    node.addObject('RequiredPlugin', name="SofaValidation")
    node.addObject('EulerImplicitSolver', rayleighStiffness="0", printLog="false")
    node.addObject('CGLinearSolver', iterations="100", threshold="0.00000001", tolerance="1e-5")
    node.addObject('MeshGmshLoader', name="loader", filename="mesh/smCube27.msh", createSubelements="true")
    node.addObject('MechanicalObject', template="Rigid3", src="@loader", name="MO", showObject="1")
    node.addObject('Monitor', template="Rigid3", name="monitor", listening="1", indices="0", ExportPositions="true", ExportVelocities="true", ExportForces="true")
    node.addObject('UniformMass', totalMass="1")