yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #15743
Re: [Question #657968]: Micro-stress Tesselation
Question #657968 on Yade changed:
https://answers.launchpad.net/yade/+question/657968
Status: Open => Answered
Bruno Chareyre proposed the following answer:
Hi Gary. thank you for clear question.
I wonder why you believe that "doing so after triangulation gives volumes that are clearly for micro-strain".
I don't think it is possible to get the volume used for microstrain from user's side (but maybe I forgot... I wrote this years ago). It is only used internally when micro-strain is calculated, then strain per particle is returned.
The only volume you should get, if any, corresponds to micro-stress.
There is a simple way to prove this based on the fact that stress-cells
define a partition, hence the cumulated volume should be the volume of
the box. Strain-cells are overlapping OTOH, so the cumulated volume
should be 4x the total volume (same tetrahedron counted repeatedly for
each 4 vertex).
You can start with the example in [1] and add a few more lines:
tt=TriaxialTest()
tt.generate("test.yade")
O.load("test.yade")
O.run(100,True)
TW=TesselationWrapper()
TW.triangulate()
TW.computeVolumes()
tce=O.engines[4] #the triaxial engine
vol1=tce.height*tce.depth*tce.width
vol2=0
for b in O.bodies:
if b.id>5: vol2+=TW.volume(b.id) #exclude walls (null volume + segfault...)
print vol2/vol1
#result: 1.0271676694
I would actually dislike this result, it looks like 3% error on the
total volume (see below), but it is clearly not x4. Conclusion: what you
get is the stress volume.
The reason for the 3% difference is this: TesselationWrapper (vol2) bounds the spheres by assuming walls exactly tangent to the min/max spheres. In the simulation OTOH the walls are slightly indented by the spheres, so the volume defined by tce (vol1) is a bit smaller.
Taking this into account (or just increasing contact stiffness) should give a difference between vol1 and vol2 as low as 1e-5 or 1e-6 typically.
Cheers
Bruno
--
You received this question notification because your team yade-users is
an answer contact for Yade.