Forum Replies Created
-
AuthorPosts
-
GadBlocked
Thank you for your answer Vincent,
My idea is to keep the same unit system (ei SI system m, sec, kg, etc) but different size/volume. The analogy with the scene attached would be simulating a swiss ball, a basketball ball and a small rubber ball with the same solver without tweaking each object.
Regarding your answer, having a single set of parameters for the three objects isn’t feasible but they have to be set individually.
GadBlockedHi,
I also have some questions regarding units, size of objects and parameters tweaking.
Here is a scene with two livers, one with its default size and another one 10 times smaller. Here is the full scene.
<Node name="root" gravity="0 -9.81 0" dt="0.005"> <VisualStyle displayFlags="hideVisual hideBehaviorModels showForceFields hideInteractionForceFields showCollisionModels hideBoundingCollisionModels hideMapping hideOptions" /> <DefaultPipeline name="DefaultCollisionPipeline" verbose="0" draw="0" depth="6" /> <BruteForceDetection name="Detection" /> <MinProximityIntersection name="Proximity" alarmDistance="3" contactDistance="0.2" /> <DefaultContactManager name="Response" response="default" /> <!-- REAL SIZE LIVER --> <Node name="Object" gravity="0 -9.81 0"> <EulerImplicitSolver name="Implicit Euler Solver" /> <CGLinearSolver template="GraphScattered" name="Conjugate Gradient" iterations="25" tolerance="1e-5" threshold="1e-5"/> <SparseGridTopology name="Embedded Sparse Grid" fileTopology="mesh/liver.obj" n="7 6 5" /> <MechanicalObject template="Vec3d" name="Particles" restScale="1" position="0 0 0" /> <UniformMass template="Vec3d" name="Mass" mass="1"/> <HexahedronFEMForceField template="Vec3d" name="FEM" poissonRatio="0.45" youngModulus="2000" /> <Node name="CollisionNode" gravity="0 -9.81 0"> <MeshTopology name="Mesh" fileTopology="mesh/liver.obj" /> <MechanicalObject template="Vec3d" name="CollisionObject" scale3d="1 1 1" restScale="1" /> <PointModel name="Points" contactStiffness="5000" /> <LineModel name="Lines" contactStiffness="5000" /> <TTriangleModel template="Vec3d" name="Triangles" contactStiffness="5000" /> <BarycentricMapping name="MechanicalMapping" /> </Node> </Node> <Node name="Obstacle" gravity="0 -9.81 0"> <MeshTopology name="Mesh" fileTopology="mesh/cube.obj" /> <MechanicalObject template="Vec3d" name="Obstacle" translation="0 -10 0" rotation="0 0 0" scale3d="10 1 10" restScale="1" /> <TTriangleModel template="Vec3d" name="Triangles" moving="0" simulated="0" contactStiffness="5000" contactFriction="0.9" /> <LineModel name="Lines" moving="0" simulated="0" contactStiffness="5000" contactFriction="0.9" /> <PointModel name="Points" moving="0" simulated="0" contactStiffness="5000" contactFriction="0.9" /> </Node> <!-- DOWNSIZED LIVER --> <Node name="Object" gravity="0 -9.81 0"> <EulerImplicitSolver name="Implicit Euler Solver" /> <CGLinearSolver template="GraphScattered" name="Conjugate Gradient" iterations="25" tolerance="1e-08" threshold="1e-16"/> <SparseGridTopology name="Embedded Sparse Grid" fileTopology="mesh/liver.obj" n="7 6 5" /> <MechanicalObject template="Vec3d" name="Particles" restScale="1" translation="20 0 0" scale3d="0.1 0.1 0.1"/> <UniformMass template="Vec3d" name="Mass" mass="0.001"/> <HexahedronFEMForceField template="Vec3d" name="FEM" poissonRatio="0.45" youngModulus="2000" /> <Node name="CollisionNode" gravity="0 -9.81 0"> <MeshTopology name="Mesh" fileTopology="mesh/liver.obj" /> <MechanicalObject template="Vec3d" name="CollisionObject" scale3d="1 1 1" restScale="1" /> <PointModel name="Points" contactStiffness="5000" /> <LineModel name="Lines" contactStiffness="5000" /> <TTriangleModel template="Vec3d" name="Triangles" contactStiffness="5000" /> <BarycentricMapping name="MechanicalMapping" /> </Node> </Node> <Node name="Obstacle" gravity="0 -9.81 0"> <MeshTopology name="Mesh" fileTopology="mesh/cube.obj" /> <MechanicalObject template="Vec3d" name="Obstacle" translation="20 -10 0" rotation="0 0 0" scale3d="1 1 1" restScale="1" /> <TTriangleModel template="Vec3d" name="Triangles" moving="0" simulated="0" contactStiffness="5000" contactFriction="0.9" /> <LineModel name="Lines" moving="0" simulated="0" contactStiffness="5000" contactFriction="0.9" /> <PointModel name="Points" moving="0" simulated="0" contactStiffness="5000" contactFriction="0.9" /> </Node> </Node>
Keeping the same Young’s modulus for both result in blowing up the smallest liver.
Increasing the Young’s modulus for the smallest results in a slower fall, unless decreasing dt to 0.001My question here, from a simple user point of view, is how one can easily keep consistency between useful parameters to keep the same results with different scales.
-
AuthorPosts