SEARCH
TOOLBOX
LANGUAGES
TutorialVolumeToSurfaceTopologicalMapping

TutorialVolumeToSurfaceTopologicalMapping

From SOFAWiki

Jump to: navigation, search
Tutorial : Volume To Surface Topological Mapping

Contents

Example Scene of Tetrahedra to Triangles Topological Mapping

This example is distributed in
examples/Tutorials/Basic/TutorialTopologyTetra2TriangleTopologicalMapping.scn
within SofaSVN and SOFA distributions starting from 1.0 beta 4.

Graph

XML Description

<?xml version="1.0" ?>
<!-- See https://wiki.sofa-framework.org/wiki/TutorialTopologyVolumeToSurfaceTopologicalMapping -->
<Node 	name="root" gravity="0 -9.81 1" dt="0.05" showBehaviorModels="1" showCollisionModels="0" showMappings="0" showForceFields="0" >
  <!-- Basic Components to perform the collision detection -->
  <DefaultPipeline name="DefaultCollisionPipeline" depth="6"/>
  <BruteForceDetection name="Detection"/>
  <MinProximityIntersection name="Proximity" alarmDistance="0.8" contactDistance="0.5"/>
  <DefaultContactManager name="Response"/>
  <DefaultCollisionGroupManager name="Group"/>
 
  <Node name="Tetrahedrons Mesh">
    <MechanicalObject template="Vec3d" name="Volume"/>
    <EulerImplicitSolver name="cg_odesolver" printLog="0"/>
    <CGLinearSolver template="GraphScattered" name="linear solver" iterations="25" tolerance="1e-09" threshold="1e-09"/>
 
    <TetrahedronSetTopologyContainer name="Container" filename="mesh/cylinder.msh"/>
    <TetrahedronSetTopologyModifier name="Modifier"/>
    <TetrahedronSetTopologyAlgorithms template="Vec3d" name="TopoAlgo"/>
    <TetrahedronSetGeometryAlgorithms template="Vec3d" name="GeomAlgo"/>
    <TetrahedralCorotationalFEMForceField template="Vec3d" name="FEM" method="large" poissonRatio="0.3" youngModulus="60" assembling="0"/>
 
    <DiagonalMass template="Vec3d" name="default11" massDensity="0.5"/>
    <FixedPlaneConstraint template="Vec3d" name="default12" direction="0 0 1" dmin="-0.1" dmax="0.1"/>
    <FixedConstraint template="Vec3d" name="default13" indices="0"/>
 
    <Node name="Triangles Mesh">
      <TriangleSetTopologyContainer name="Container"/>
      <TriangleSetTopologyModifier name="Modifier"/>
      <TriangleSetTopologyAlgorithms template="Vec3d" name="TopoAlgo"/>
      <TriangleSetGeometryAlgorithms template="Vec3d" name="GeomAlgo"/>
      <Tetra2TriangleTopologicalMapping name="Mapping" object1="../../Container" object2="Container"/>
      <TriangularFEMForceField template="Vec3d" name="FEM" method="large" poissonRatio="0.3" youngModulus="10"/>
      <TriangularBendingSprings template="Vec3d" name="FEM-Bend" stiffness="300" damping="1"/>
      <TrianglePressureForceField template="Vec3d" name="default15" pressure="0.4 0 0" normal="0 0 1" dmin="0.9" dmax="1.1"/>
      <TriangleModel name="Models"/>
 
      <Node name="Visu">
	<OglModel template="ExtVec3f" name="Visual" material="Default Diffuse 1 0 0 1 1 Ambient 1 0 0 0.2 1 Specular 0 0 0 1 1 Emissive 0 0 0 1 1 Shininess 0 45"/>
	<IdentityMapping template="Mapping&lt;Vec3d,ExtVec3f&gt;" name="default17" object1="../../../Volume" object2="Visual"/>
      </Node>
    </Node>
 
  </Node>
</Node>

Example Scene of Hexahedra to Quads Topological Mapping

This example is distributed in
examples/Tutorials/Basic/TutorialTopologyHexa2QuadTopologicalMapping.scn
within SofaSVN and SOFA distributions starting from 1.0 beta 4.

Graph

XML Description

<?xml version="1.0" ?>
<!-- See https://wiki.sofa-framework.org/wiki/TutorialTopologyVolumeToSurfaceTopologicalMapping -->
<Node 	name="root" gravity="0 -9.81 1" dt="0.05" showBehaviorModels="1" showCollisionModels="0" showMappings="0" showForceFields="0" >
  <!-- Basic Components to perform the collision detection -->
  <DefaultPipeline name="DefaultCollisionPipeline" depth="6"/>
  <BruteForceDetection name="Detection"/>
  <MinProximityIntersection name="Proximity" alarmDistance="0.8" contactDistance="0.5"/>
  <DefaultContactManager name="Response"/>
  <DefaultCollisionGroupManager name="Group"/>
 
  <Node name="Cube">
    <EulerImplicitSolver name="cg_odesolver" printLog="0"/>
    <CGLinearSolver template="GraphScattered" name="linear solver" iterations="25" tolerance="1e-09" threshold="1e-09"/>
    <MechanicalObject template="Vec3d" name="Hexa"/>
    <UniformMass template="Vec3d" name="Mass" mass="0.25"/>
 
    <RegularGridTopology name="grid" n="6 6 6" min="-10 -10 -10" max="10 10 10" p0="-10 -10 -10"/>
    <RegularGridSpringForceField template="Vec3d" name="FEM-bend"/>
    <HexahedronFEMForceField name="FEM" template="Vec3d"/>    
    <FixedConstraint template="Vec3d" name="Fixed Dofs" indices="0 5 180 185" drawSize="0"/>
 
    <Node name="Q">
      <QuadSetTopologyContainer name="Container"/>
      <QuadSetTopologyModifier name="Modifier"/>
      <QuadSetTopologyAlgorithms template="Vec3d" name="TopoAlgo"/>
      <QuadSetGeometryAlgorithms template="Vec3d" name="GeomAlgo"/>
 
      <Hexa2QuadTopologicalMapping name="default6" object1="../../grid" object2="Container"/>
      <QuadularBendingSprings template="Vec3d" name="FEM-Bend" stiffness="3000" damping="1"/>
      <TriangleModel name="default7"/>
 
      <Node name="Visu">
	<OglModel template="ExtVec3f" name="Visual" material="Default Diffuse 1 0 0 1 1 Ambient 1 0 0 0.2 1 Specular 0 0 0 1 1 Emissive 0 0 0 1 1 Shininess 0 45"/>
	<IdentityMapping template="Mapping&lt;Vec3d,ExtVec3f&gt;" name="default8" object1="../../../Hexa" object2="Visual"/>
      </Node>
    </Node>
  </Node>
 
</Node>