Force applied from disk to particle
Hi,
I compacting spheres in cylinder, have wall as upper punch and a disk as lower punch. How do I calculate the force from disk applied on the particles.
For the walls I calculate the applied force as abs(O.forces.
For the disk I tried using:
for n in lower_punch:
body= O.bodies[n]
That gives me a small number, which seems to be wrong.
Best regards,
Mithu
Here is my code:
from __future__ import print_function
from yade import utils, plot, timing
from yade import pack
import pandas as pd
import numpy as np
from PIL import Image
from yade import pack, export
from scipy.interpolate import interp1d
o = Omega()
# Physical parameters
fr = 0.41
rho = 1561
Diameter = 7.9e-5
D=Diameter
r1 = Diameter/2
#r2 = Diameter/2
k1 = 400
kp = 10.0*k1
kc = k1 * 0.1
ks = k1 * 0.1
DeltaPMax = Diameter/3.0
Chi1 = 0.34
o.dt = 1.0e-7
particleMass = 4.0/3.0*
m_tot=4.5e-06
no_p=m_
Vi1 = math.sqrt(
PhiF1=0.999
#PhiF1 = DeltaPMax*
Tab_rad=0.001
Cyl_height=0.007
cross_area=
Comp_press_up= 0.6e8
Comp_force_
Comp_press_lp= 0.6e8
Comp_force_
compression_
sc_por=0.1
#******
# Add material
mat1 = O.materials.
# Spheres for compression and walls
sp=pack.
sp.makeCloud(
sp.toSimulation
walls=O.
# Add engines
o.engines = [
ForceResetter(),
InsertionSort
InteractionLoop(
[Ig2_
Ig2_
Ig2_
[Ip2_
[Law2_
),
NewtonIntegra
PyRunner(
#DeformContro
]
def checkForce():
if O.iter < 1000:
return
#if unbalancedForce() > 0.8:
#return
O.bodies.
global UP
UP = O.bodies[-1]
UP.state.vel = (0, 0, -5)
global lower_punch
lower_punch= O.bodies.
for n in lower_punch:
body= O.bodies[n]
fCheck.command = 'unloadPlate()'
def unloadPlate():
for n in lower_punch:
body= O.bodies[n]
if ((abs(O.
def stopUnloading():
for n in lower_punch:
body= O.bodies[n]
if ((abs(O.
o.pause()
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Mithushan Soundaranathan
- Solved:
- Last query:
- Last reply: