yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #25366
[Question #696376]: Contact between sphere-gridconnection not detected in a pfacet edge
New question #696376 on Yade:
https://answers.launchpad.net/yade/+question/696376
Hello,
The simulation consists of two sphere moving towards two edges of pfacet triangle. They just pass through the edges without any interaction. I think there could be something wrong with the engines I'm using, but I could not find it. Kindly help me. The code is given below.
Kind regards,
Rohit K John
# ---------------------------------------------------------------------------- Code
from yade import geom, utils
from yade.gridpfacet import *
# ---------------------------------------------------------------------------- input parameter
# ----------------------------------------------------- target
target_young = 50e9
target_density = 1000
target_poisson = 0.3
target_friction = radians(30)
p_radius = 5e-2
pfacet_side = 0.5
pfacet_circum_rad = pfacet_side/sqrt(3)
node_angle = [radians(0), radians(120), radians(240)]
pfacet_nodes = [
Vector3([2*pfacet_circum_rad * cos(node_angle[0]), pfacet_circum_rad * sin(node_angle[0]), 0]),
Vector3([pfacet_circum_rad * cos(node_angle[1]), pfacet_circum_rad * sin(node_angle[1]), 0]),
Vector3([pfacet_circum_rad * cos(node_angle[2]), pfacet_circum_rad * sin(node_angle[2]), 0]),
]
# ---------------------------------------------------------------------------- Materials
target_int_mat = 'pfacet_int_mat'
target_ext_mat = 'pfacet_ext_mat'
O.materials.append(
FrictMat(
young = target_young,
poisson = target_poisson,
density = target_density,
label = target_ext_mat,
frictionAngle = target_friction,
)
)
O.materials.append(
CohFrictMat(
young = target_young,
poisson = target_poisson,
density = target_density,
label = target_int_mat,
frictionAngle = target_friction,
normalCohesion = 3e100,
shearCohesion = 3e100,
momentRotationLaw = True,
)
)
# ---------------------------------------------------------------------------- Engines
O.engines = [
ForceResetter(),
InsertionSortCollider([
Bo1_GridConnection_Aabb(),
Bo1_PFacet_Aabb(),
Bo1_Sphere_Aabb(),
]),
InteractionLoop(
[
Ig2_PFacet_PFacet_ScGeom(),
Ig2_GridNode_GridNode_GridNodeGeom6D(),
Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),
Ig2_GridConnection_PFacet_ScGeom(),
Ig2_Sphere_PFacet_ScGridCoGeom(),
Ig2_Sphere_GridConnection_ScGridCoGeom(),
Ig2_Sphere_Sphere_ScGeom()
],
[
Ip2_FrictMat_FrictMat_FrictPhys(),
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(
setCohesionNow = True,
setCohesionOnNewContacts = False
),
],
[
Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(),
Law2_ScGeom_FrictPhys_CundallStrack(),
Law2_ScGridCoGeom_FrictPhys_CundallStrack(),
Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),
],
),
NewtonIntegrator(gravity = [0,0,0], damping = 0.0),
]
# ---------------------------------------------------------------------------- objects
# ----------------------------------------------------- target
pnode = []
pcyl = []
pfacet = []
pfacetCreator1(
pfacet_nodes,
p_radius,
nodesIds = pnode,
cylIds = pcyl,
pfIds = pfacet,
wire = False,
fixed = False,
color = [0.5,0.5,0.5],
materialNodes = target_int_mat,
material = target_ext_mat,
)
target_ids = pnode + pcyl + pfacet
# ----------------------------------------------------- spheres
sp1 = sphere([0, 0.25, .2], 5e-2, material = target_ext_mat)
sp2 = sphere([0, -0.25,-.2], 5e-2, material = target_ext_mat)
sp1_ID = O.bodies.append(sp1)
sp2_ID = O.bodies.append(sp2)
O.bodies[sp1_ID].state.vel = [0,0,-5]
O.bodies[sp2_ID].state.vel = [0,0, 5]
# ----------------------------------------------------- Simulation params
O.dt = utils.PWaveTimeStep()
O.saveTmp()
--
You received this question notification because your team yade-users is
an answer contact for Yade.