-
Notifications
You must be signed in to change notification settings - Fork 299
/
HexahedronCompositeFEMForceFieldAndMass.scn
65 lines (64 loc) · 5.08 KB
/
HexahedronCompositeFEMForceFieldAndMass.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
<?xml version="1.0" ?>
<Node name="root" gravity="0 -700 0" dt="0.02">
<RequiredPlugin name="Sofa.Component.Collision.Detection.Algorithm"/> <!-- Needed to use components [BVHNarrowPhase BruteForceBroadPhase CollisionPipeline] -->
<RequiredPlugin name="Sofa.Component.Collision.Detection.Intersection"/> <!-- Needed to use components [MinProximityIntersection] -->
<RequiredPlugin name="Sofa.Component.Collision.Geometry"/> <!-- Needed to use components [TriangleCollisionModel] -->
<RequiredPlugin name="Sofa.Component.Collision.Response.Contact"/> <!-- Needed to use components [CollisionResponse] -->
<RequiredPlugin name="Sofa.Component.Constraint.Projective"/> <!-- Needed to use components [FixedProjectiveConstraint] -->
<RequiredPlugin name="Sofa.Component.Engine.Select"/> <!-- Needed to use components [BoxROI] -->
<RequiredPlugin name="Sofa.Component.IO.Mesh"/> <!-- Needed to use components [MeshOBJLoader] -->
<RequiredPlugin name="Sofa.Component.LinearSolver.Iterative"/> <!-- Needed to use components [CGLinearSolver] -->
<RequiredPlugin name="Sofa.Component.Mapping.Linear"/> <!-- Needed to use components [IdentityMapping] -->
<RequiredPlugin name="Sofa.Component.ODESolver.Backward"/> <!-- Needed to use components [EulerImplicitSolver] -->
<RequiredPlugin name="Sofa.Component.SolidMechanics.FEM.NonUniform"/> <!-- Needed to use components [HexahedronCompositeFEMForceFieldAndMass HexahedronCompositeFEMMapping] -->
<RequiredPlugin name="Sofa.Component.StateContainer"/> <!-- Needed to use components [MechanicalObject] -->
<RequiredPlugin name="Sofa.Component.Topology.Container.Constant"/> <!-- Needed to use components [MeshTopology] -->
<RequiredPlugin name="Sofa.Component.Topology.Container.Grid"/> <!-- Needed to use components [SparseGridMultipleTopology] -->
<RequiredPlugin name="Sofa.Component.Visual"/> <!-- Needed to use components [VisualStyle] -->
<RequiredPlugin name="Sofa.GL.Component.Rendering3D"/> <!-- Needed to use components [OglModel] -->
<!-- A soft gelatin object contains 2 bead, one stiff and one soft. Even using large embedding mesh, the
HexahedronCompositeFEM permits to well simulate the global behavior, and the HexahedronCompositeFEMMapping
permits to have a good interpolation of the inside bead behaviors.-->
<DefaultAnimationLoop/>
<VisualStyle displayFlags="showVisual showForceFields" />
<Node name="plane">
<MeshOBJLoader name="meshLoader_0" filename="mesh/plane_loop_2.obj" scale=".2" handleSeams="1" />
<OglModel name="plan" src="@meshLoader_0" rx="90" rz="90" dy="-2.01" material="Default Diffuse 1 1 0.4 0.4 1 Ambient 1 0.8 0.8 0.8 1 Specular 0 1 1 1 1 Emissive 0 1 1 1 1 Shininess 0 45" />
</Node>
<CollisionPipeline depth="6" verbose="0" draw="0" />
<BruteForceBroadPhase/>
<BVHNarrowPhase/>
<MinProximityIntersection name="Proximity" alarmDistance="0.5" contactDistance="0.3" />
<CollisionResponse name="Response" response="PenalityContactForceField" />
<Node name="Composite elements with 3 differents material stiffnesses">
<SparseGridMultipleTopology n="6 3 3" fileTopology="mesh/bubille_out.obj" fileTopologies="mesh/bubille_out.obj mesh/bubille_in1.obj mesh/bubille_in2.obj" nbVirtualFinerLevels="3" finestConnectivity="false" stiffnessCoefs="1 0.0001 50" massCoefs="1 1 1" />
<EulerImplicitSolver vdamping="0" rayleighMass="0" rayleighStiffness="0" />
<CGLinearSolver iterations="100" tolerance="1e-5" threshold="1e-5"/>
<!-- <SparseLDLSolver printLog="false"/>
--> <MechanicalObject />
<HexahedronCompositeFEMForceFieldAndMass drawType="0" lumpedMass="false" nbVirtualFinerLevels="2" youngModulus="600" poissonRatio="0.3" method="polar" density=".1" updateStiffnessMatrix="false" printLog="0" />
<BoxConstraint box="-5 -2.1 -10 10 -1.9 10" />
<Node name="Collinonunif">
<MeshOBJLoader name="loader" filename="mesh/bubille_out.obj" />
<MeshTopology src="@loader" />
<MechanicalObject src="@loader" />
<HexahedronCompositeFEMMapping />
<TriangleCollisionModel />
<Node name="Soft gelatin">
<MeshOBJLoader name="meshLoader_2" filename="mesh/bubille_out.obj" handleSeams="1" />
<OglModel name="VisualBody" src="@meshLoader_2" normals="0" color="0.1 .8 .3 .6" />
<IdentityMapping input="@.." output="@VisualBody" />
</Node>
</Node>
<Node name="soft bead">
<MeshOBJLoader name="meshLoader_1" filename="mesh/bubille_in1.obj" handleSeams="1" />
<OglModel name="VisualBody1" src="@meshLoader_1" normals="0" color="1 0 0 1" />
<HexahedronCompositeFEMMapping input="@.." output="@VisualBody1" />
</Node>
<Node name="stiff bead">
<MeshOBJLoader name="meshLoader_3" filename="mesh/bubille_in2.obj" handleSeams="1" />
<OglModel name="VisualBody2" src="@meshLoader_3" normals="0" color="0 0 1 1" />
<HexahedronCompositeFEMMapping input="@.." output="@VisualBody2" />
</Node>
</Node>
</Node>