New question #695226 on Yade:
https://answers.launchpad.net/yade/+question/695226

Hello,

I want to use the RungeKuttaCashKarp54Integrator engine in a simulation with 
cylinderConnections. I added damping to the source code of 
Law2_ScGeom6D_CohFrictPhys_CohesionMoment, this caused the NewtonIntegrator to 
be unstable (The objects are exploding). I concluded this may be because of the 
integration scheme and opted to use RungeKuttaCashKarp54Integrator. However 
when I try to run the simulation with RungeKuttaCashKarp54Integrator, I get 
"RuntimeError: No IGeomDispatcher in engines or inside InteractionLoop". 

The minimum working code is given below. Please help me to fix the issue

Kind regards,
Rohit John

##############################################################################
# encoding: utf-8
"An example showing bending beams."

from yade.gridpfacet import *

#### Parameter ####
L=10.           # length of the beam
n=12            # number of nodes used to generate the beam
r=L/50. # radius of the beam element

#### Engines ####
integrator=RungeKuttaCashKarp54Integrator([
        ForceResetter(),
        GeneralIntegratorInsertionSortCollider([Bo1_GridConnection_Aabb()]),
        InteractionLoop(
                [Ig2_GridNode_GridNode_GridNodeGeom6D()],
                
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False)],
                [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
        ),
        GravityEngine(gravity=Vector3(0,0,-9.81)),
])

#Tolerances can be set for the optimum accuracy
integrator.rel_err=1e-6;
integrator.abs_err=1e-6;

O.engines=[integrator,
]

#### Create materials and set different properties ####
O.materials.append(CohFrictMat(young=1e6,poisson=0.3,density=1e1,frictionAngle=radians(10),normalCohesion=1e40,shearCohesion=1e40,momentRotationLaw=True,label='mat1'))

#### Vertices ####
vertices1=[]

for i in range(0,n):
  vertices1.append( [i*L/n,0,0] )


#### Create cylinder connections ####
nodesIds=[]
cylIds=[]
cylinderConnection(vertices1,r,nodesIds,cylIds,color=[1,0,0],highlight=False,intMaterial='mat1')


#### Set boundary conditions ####
for i in range(0,1):
   O.bodies[nodesIds[i*n]].dynamic=False


#### Set a time step ####
O.dt=1e-05

#### Allows to reload the simulation ####
O.saveTmp()

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to