Normal stiffness for sphere-polyhedra interaction
Hello,
I have a question on how the normal stiffness between polyhedra and sphere is calculated. I'm using Yade 2018.02b.
I checked the code files:
In Ig2_Sphere_
geom->radius1 = geom->radius2 = radius;
In Ip2_FrictMat_
void Ip2_FrictMat_
const shared_
const shared_
Ip2_FrictMat_
}
And in Ip2_FrictMat_
Real Ea = mat1->young;
Real Eb = mat2->young;
Real Va = mat1->poisson;
Real Vb = mat2->poisson;
//half the harmonic average of the two stiffnesses, when (2*Ri*Ei) is the stiffness of a contact point on sphere "i"
Real Kn = 2*Ea*Ra*
//same for shear stiffness
Real Ks = 2*Ea*Ra*
I ran an example script, the sphere has radius 0.5, young 1e9, and polyhedra has young 1e10.
The kn between them in the simulation is 5e8, which is not the result by Kn = 2*Ea*Ra*
Wondering if there is other equation to calculate the kn for the sphere-polyhedra interaction? Thank you!
Best regards,
Cong
The following is the example script.
from yade import polyhedra_utils
import random
polyMat = PolyhedraMat(
frictMat = FrictMat(
O.materials.
poly = polyhedra_
sph1 = sphere(
sph2 = sphere(
sph3 = sphere(
O.bodies.append((
poly,
sph1,
sph2,
sph3
))
O.engines=[
ForceResetter(),
InsertionSor
InteractionLoop(
[
[
[
),
NewtonIntegr
]
O.dt = 1e-7
O.step()
poly.state.
for s in (sph1,sph2,sph3):
r=random.random
s.state.vel = -10*(s.
from yade import qt
qt.View()
Question information
- Language:
- English Edit question
- Status:
- Expired
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: