yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #28013
Re: [Question #702267]: capillary + cohesive interactions
Question #702267 on Yade changed:
https://answers.launchpad.net/yade/+question/702267
Status: Answered => Open
Mehdi Pouragha is still having a problem:
Thank you, Karol and Jerome!
Karol: Your solution inspired me to solve another unrelated issue I was
dealing with. Thanks.
Jerome: Your suggestion worked like a charm. Thanks! I did not know we
could include two IP2s at the same time.
I changed your script slightly so that the rows are also in contact "sphere((x,0,0),...." and "(sphere((x,1.9,0) ...." This way we also have cohesive/frictional interaction which is interpreted by YADE as frictional with capillary force and this is exactly what I needed.
Depending on the order of the materials and the particle size, sometimes I get the following error
<ERROR> Engine:83 virtual void yade::Law2_ScGeom_CapillaryPhys_Capillarity::action(): The capillary law is not implemented for interactions using CohFrictPhys
But the simulation seems to be running. Should I worry about this error?
Below is a script that generates the error:
#####
dens = 2200
Ey = 1e7
pois = 1
angle = radians(0.5)
radius = 5e-4
O.materials.append(FrictMat(density=dens, young=Ey, poisson=pois, frictionAngle=angle,label='frict'))
O.materials.append(CohFrictMat(young=Ey, poisson=1, frictionAngle=angle, density=2.6, alphaKr=5.0,
alphaKtw=0.0, normalCohesion=1.5e2, shearCohesion=8.4e2,label='cohfrict'))
O.bodies.append([
sphere(center=(0, 0, 0),radius=radius, fixed=True, material='cohfrict'),
sphere(center=(0, 1.9*radius, 0), radius=radius, fixed=True, material='cohfrict'),
sphere(center=(1.9*radius, 0, 0), radius=radius, fixed=True, material='frict'),
sphere(center=(1.9*radius, 1.9*radius, 0), radius=radius, fixed=True, material='frict')
])
O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor = 1.5)],
[Ip2_FrictMat_FrictMat_CapillaryPhys(),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow = True, setCohesionOnNewContacts = True)],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(), Law2_ScGeom_FrictPhys_CundallStrack()]
),
Law2_ScGeom_CapillaryPhys_Capillarity(capillaryPressure=500),
GlobalStiffnessTimeStepper(),
NewtonIntegrator()
]
O.step()
######
Curiously, if we define the first 2 balls (0,1) to be 'frict' and (2,3)
to be 'cohfrict', then the error disappears.
Thanks,
Mehdi
--
You received this question notification because your team yade-users is
an answer contact for Yade.