yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #24875
Re: [Question #695226]: RungeKuttaCashKarp54Integrator with gridConnections is causing errors
Question #695226 on Yade changed:
https://answers.launchpad.net/yade/+question/695226
Description changed to:
Hello,
I want to use the RungeKuttaCashKarp54Integrator engine in a simulation
with cylinderConnections. I added viscous 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.