Large size cylinderConnection in periodic scene
Hi everyone,
I am facing some issues when using cylinderConnection with large size (radius > width of periodic cell) under periodic conditions.
1.Axial force is very high or 'Nan' when the length of segment >= 1/2 cell size (sometimes, other small length has the same issue). Is there a way to delete the contact geom and phys between nodes and gridconnections as I don't need the inner interactions of cylinder in my case.
2.Losing interactions with particles or some particles cross the cylinder and then interactions are detected after a period of time, this will cause explosion. Some specific number and length of segments of the cylinder can work normally (for example, in my MWE, length of each segment of the cylinder is cell width/2.1 and repeat 20 times). I have not tried the same size as cell, because the error 'float division by zero' from gridPfacet.py line140-
My MWE as below:
# encoding: utf-8
from builtins import range
import math
import glob, os
import numpy as np
from yade import pack, plot
from yade import geom
from yade import export
from yade import polyhedra_utils
from yade.gridpfacet import *
# Soil sphere parameters
E_m=8.1654644182
E=pow(10,E_m) # micro Young's modulus
v=1.1131826506e-01 # micro Poisson's ratio
mu=2.6666064103e+01 # interparticle friction angle
beta=7.
eta=6.956266526
rho = 2650 # soil density
spMat = O.materials.
wallMat = O.materials.
extcylMat = O.materials.
intcylMat = O.materials.
O.periodic = True
x=0.024 # 0.02
y=0.1
z=0.1
O.cell.
D=0.075 # 37.5
r=0.00225 # 0.0015
d=r*2
sp=pack.
mn,mx=Vector3(
sp.makeCloud(
sphereIds1=
print(len(sp))
for i in range(0,3):
O.bodies.
O.bodies.
O.bodies.
#define engines
O.engines=[
ForceResetter(),
InsertionSor
InteractionLoop(
],
[Ip2_
[Law2_
always_
useIncreme
)],
),
GlobalStiffn
NewtonIntegr
PyRunner(
]
nodesIds=[]
cylIds=[]
vertices=[]
L=x/2.1
for i in range(0,21):
vertices.
cylinderConnect
print(nodesIds,
def check():
for i in O.interactions:
if i.id1 in nodesIds and i.id2 in nodesIds:
if i.id1 in cylIds and i.id2 in cylIds:
print(
if unbalancedForce
O.pause()
Take my MWE for example,settings of cylinderConnection remain the same and I tried several tests as below:
1.cell width=0.024m, cylinder radius=0.075m, minimum particle radius=
2.cell width=0.024m, cylinder radius=0.075m, minimum particle radius=
3.cell width=0.024m, cylinder radius=0.0375m, minimum particle radius=
4.cell width=0.024m, cylinder radius=0.0375m, minimum particle radius=
5.cell width=0.02m, cylinder radius=0.075m, minimum particle radius=
6.cell width=0.02m, cylinder radius=0.075m, minimum particle radius=
7.cell width=0.02m, cylinder radius=0.0375m, minimum particle radius=
8.cell width=0.02m, cylinder radius=0.0375m, minimum particle radius=
I am confused about how to set the cylinder especially when I need larger cylinder and smaller particle.
My yade version is Yade 20220218-
Dose anyone has the same problem when using large size cylinderConnection under periodic condition?
Thanks for any help.
Relative questions: https:/
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Xin Li for more information if necessary.