Friction angle between synthetic rock and Cutter
Hi to all,
I have written a code for the calculation of the cutting force, and the two others during a cutting test,
My question is : I am not sure i have put the friction angle between rock-cutter right.
As you will see i defined the two materials, and i put there the friction angle, one for sphere-sphere, and the other for facet-sphere. Is it right or i have to define it inside Ip2 or anywhere else??
Help!!!!!
### JCFPM script
# -*- coding: utf-8 -*-
# -*- encoding=utf-8 -*-
from __future__ import division
from yade import pack, plot, geom, pack,utils
from yade import _packPredicates
################# SIMULATIONS DEFINED HERE
#### packing (previously constructed)
OUT='LinearCutT
#### Simulation Control
#rate=0.01#-0.01 #deformation rate
#iterMax=800000 # maximum number of iterations Doesnt Need anymore
saveVTK=4000 # saving output files for paraview
#### Material microproperties
intR=1.25 # allows near neighbour interaction (can be adjusted for every packing)
DENS=5290.26 #2674.3 toy petrwmatos## could be adapted to match material density: dens_DEM=
YOUNG=42e9
FRICT=43.94
ALPHA=2.5
TENS=11e6
COH=1100e6
#### Cutter Properties
x_cutter = 6.35e-3 # Width along x-axis
y_cutter = 1e-3 # Height along y-axis
z_cutter = 5e-3 # Length along z-axis
DOC = 5e-3 # Depth of Cut
#### material definition
def sphereMat(): return JCFpmMat(
sample = O.materials.
#### create the specimen
X = 54.85e-3
Y=54.85e-3
Z=146.5e-3
pred= pack.inAlignedB
sps=SpherePack()
sp=pack.
sp.toSimulation
#### create the cutter
O.materials.
bx = geom.facetBox(
O.bodies.append(bx)
for facet in bx:
facet.
facet.
#block e.w na metakineitai mono kata
R=0
Rmax=0
nbSpheres=0.
for o in O.bodies:
if isinstance(
nbSpheres+=1
R+=o.
if o.shape.
Rmax=
Rmean=R/nbSpheres
################# ENGINES DEFINED HERE
## damping = 0.4
O.engines=[
ForceResetter(),
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
GlobalStiffnes
NewtonIntegrat
PyRunner(
# VTKRecorder(
PyRunner(
]
################# RECORDER DEFINED HERE
def recorder():
global Fz, Fx, Fy
global dz
Fz = 0.0
Fz = abs(sum(
Fx = abs(sum(
Fy = abs(sum(
yade.
'Fx':Fx,
'Fy':Fy,
'Fz':Fz,
'dz': abs(bx[
plot.
def Stop():
if bx[2].state.pos[2] >= Z+1e-3:
O.pause()
# if you want to plot during simulation
plot.plots=
plot.plot()
################# PREPROCESSING
#### manage interaction detection factor during the first timestep and then set default interaction range ((cf. A DEM model for soft and hard rock, Scholtes & Donze, JMPS 2013))
O.step();
### initializes the interaction detection factor
SSgeom.
Saabb.aabbEnlar
#### coordination number verification
numSSlinks=0
numCohesivelinks=0
for i in O.interactions:
if isinstance(
numSSlinks+=1
if i.phys.isCohesive :
numCohesi
print "nblinks=", numSSlinks, " | nbCohesivelinks=", numCohesivelinks, " || Kcohesive=", 2.0*numCohesive
print 40*'-'
################# SIMULATION REALLY STARTS HERE
#O.run()
Thanks a Lot!!
A.K
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Jérôme Duriez
- Solved:
- Last query:
- Last reply: