yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #28773
Re: [Question #704293]: How to use TW.triangulate() to calculate strain between two states by importing samples
Question #704293 on Yade changed:
https://answers.launchpad.net/yade/+question/704293
Status: Answered => Open
Leonard is still having a problem:
Hi Karol,
Thanks very much for your reply and the nice reference example.
>>You still need to triangulate and compute volumes
Maybe it would be better to clarify my doubt: I think TW.triangulate()
and TW.computeVolumes() are only needed in the approach of using
TW.setState(0) TW.setState(1). While in the approach of using
TW.defToVtkFromPositions( 'sp0.txt','sp1.txt' ,
'strain_from_files.vtk'), TW.triangulate() and TW.computeVolumes() are
not needed.
Taking your example, now we don't compare the two approaches, but we
compare the approach of using TW.defToVtkFromPositions with/ without
triangulate and compute volumes:
####
centers = []
for x in range(3):
for y in range(3):
for z in range(3):
centers.append((x,y,z))
O.bodies.append([
sphere(center=center,radius=1,) for center in centers
])
sp = SpherePack()
sp.fromSimulation()
TW=TesselationWrapper()
# TW.triangulate() ## without triangulate
# TW.computeVolumes() ## without compute volumes
sp.save('sp0.txt')
shiftBodies(list(range(18,27,1)),(0,0,0.5)) # move one layer of spheres
without engines (I am just being lazy)
sp.fromSimulation()
sp.save('sp1.txt')
TW.defToVtkFromPositions( 'sp0.txt','sp1.txt' , 'strain_from_files2.vtk')
####
The above example uses TW.defToVtkFromPositions without triangulate and compute volumes, and the vtk file visualised in paraview seems to be the same as TW.defToVtkFromPositions with triangulate and compute volumes.
Thereby, I think it is not needed to triangulate and compute volumes
when use TW.defToVtkFromPositions(). Please correct me if I
misunderstood.
Thanks
Best regards,
Leonard
--
You received this question notification because your team yade-users is
an answer contact for Yade.