problem on biaxial compression test using clumps
Dear All,
I have a problem in simulating biaxial compression test using clumps. I have blocked the degrees of freedom as 'zXY' after initial isotropic consolidation. However, during shearing, it can be found that some particles still rotate along Y axis from the graphical view and the volumetric strain curve is also not correct. I wonder the reason.
ubuntu : 18.04
yade 2018.02b
There are minimum of my codes:
Code 1: preparation of clumps
from yade import pack
import random
sp = pack.SpherePack()
size = .32
sp.makeCloud(
sp.toSimulation()
ori = 0. * pi
coef = pi + 0.315 * sqrt(1-0.315**2) - acos(0.315)
fout = file('clump_
for b in O.bodies:
pos = b.state.pos
radius = b.shape.radius
line_oo = 0.63 * radius
eq_rad = sqrt(2 * coef / pi) * radius
#print eq_rad
x1 = pos[0] - 0.5 * line_oo * cos(ori)
x2 = pos[0] + 0.5 * line_oo * cos(ori)
y1 = pos[1] - 0.5 * line_oo * sin(ori)
y2 = pos[1] + 0.5 * line_oo * sin(ori)
fout.
fout.close()
Code 2: consolidation and shearing
from yade import export,plot,pack
mat_id = O.materials.
mat = O.materials[mat_id]
fin = open('clump_
clumpDataBase = fin.readlines()
fin.close()
z = 0.05
clump_id = []
coef = pi + 0.315 * sqrt(1-0.315**2) - acos(0.315)
area = 0.0
for i in xrange(
x1 = float(clumpData
y1 = float(clumpData
x2 = float(clumpData
y2 = float(clumpData
radius = float(clumpData
eq_radius = float(clumpData
mass = 2670 * (2*z) * (pi * eq_radius**2)
area += pi * eq_radius**2
inertia = (pi / coef * 0.315**2 + pi / 2/ coef) * mass * radius**2
cpos = [(x1+x2)
color = numpy.random.
ID = O.bodies.
clump_
O.bodies[
O.bodies[
O.bodies[
O.bodies[
O.periodic = True
O.cell.
print len(clump_id)
t_crit = sqrt(2670 * (2*z) * (pi * 0.004**2) / (O.materials[
O.dt = .5 * t_crit
print O.dt
O.engines = [
ForceResetter(),
InsertionSor
InteractionLoop(
[
[
[
),
PeriTriaxCon
dynCell=True,
goal=(-1.e5, -1.e5, 0),
stressMask=3,
relStress
maxUnbala
maxStrain
doneHook=
label='biax'
),
NewtonIntegr
]
def postConsol():
for b in O.bodies:
b.
b.state.vel = Vector3.Zero
b.
b.
b.
setContactFr
O.cell.trsf = Matrix3.Identity
O.cell.velGrad = Matrix3.Zero
O.pause()
biax.doneHook = 'shear()'
def shear():
print 'Press start to shear..
O.pause()
biax.
biax.
biax.
biax.
biax.
biax.
O.engines=
def saveAddData():
stress = biax.stress
strain = biax.strain
plot.addData(
strain_x = strain[0],
strain_y = strain[1],
stress_x = stress[0],
stress_y = stress[1]
)
def term():
plot.
O.pause()
O.run()
Why particle along Y axis rotate? How can I fix this problem?
Many thanks for your help.
Best regards, Lifan
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 hhh_Chen for more information if necessary.