← Back to team overview

yade-dev team mailing list archive

Add the ability to do a contact between a FrictMat and a ViscElMat

 

Hi everybody,

I would like in my simulations to make possible the interaction between
(Coh)FrictMat and ViscElMat spheres. I don't want to activate the cohesion
so I would let CohFrictMat become FrictMat by inheritance. The idea is to
study the granular flow of viscous grains with one of the boundary made of
cohesive spheres who sticks together.

I think there are two solutions : the first one seems easier because it
just adds a new class, but the second one (which modifies a little the
viscous classes logic) may deserves our consideration. The choice between
one of them is the subject of my question.

1°) Create a new class : Ip2_FrictMat_ViscElMat_FrictPhys(). This functor
would make an interaction physic just like
Ip2_FrictMat_FrictMat_FrictPhys(), ignoring the viscosity and converting
the young modulus of the frictional sphere to a stiffness.

2°) ViscElMat, unlike its name lets believe, doesn't inherit from ElastMat.
The main reason I think is because a ViscElMat has stiffnesses {kn,ks}
while an ElastMat has a young modulus and a poisson ratio {young,poisson}.
FrictMat inherits from ElastMat, and the only additional attribute it has
is the friction coefficient. As ViscElMat has a friction coefficient too,
don't you think we could make ViscElMat a child of FrictMat ? To avoid
breaking people's scripts, we can imagine that if the user sets {kn,ks},
those parameters will override {young,poisson} in the calculation of
resulting contact stiffnesses. With this inheritance, and if the user sets
at least {young,poisson} for both his FrictMat and ViscElMat, the contact
will be possible between :
- FrictMat + FrictMat => FrictPhys
- ViscElMat + ViscElMat => ViscElPhys
- FrictMat + ViscElMat(FrictMat by inheritance) => FrictPhys

Can people working with/on visco-elasticity give their opinion ? (Anton,
Raphaël ...)

Thanks,

François

Follow ups