Difference between revisions of "Triangulation"

From Yade

 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
TesselationWrapper (still in development) can be used for building and performing basic operations on the triangulation or tesselation of sphere packings. It should be accessed directly from python or included in another engine doing more complex things (e.g. MicroMacroAnalyser - see below, TriangulationCollider, VolumicContactLaw).
 
TesselationWrapper (still in development) can be used for building and performing basic operations on the triangulation or tesselation of sphere packings. It should be accessed directly from python or included in another engine doing more complex things (e.g. MicroMacroAnalyser - see below, TriangulationCollider, VolumicContactLaw).
   
 
[[File:StrainLocPeriodic.png|500px|thumb|left|Fig. 1: Deviatoric srain map in a triaxial test simulation with periodic bondary conditions (10k spheres and elastic-frictional contacts). Output files generated by MicroMacroAnalyzer and post-processed using [http://www.paraview.org Paraview].]]
 
 
[[File:cell_volume.png|500px|thumb|right|Fig.2 Defining a local volume for spheres in a packing ([[Publications | Hartong et al. (2010)]])]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
===Main members :===
 
 
 
 
 
 
 
<source lang="cpp">
 
///Insert a sphere, "id" will be used by some getters to retrieve spheres.
 
insert (double x, double y, double z, double rad, unsigned int id)
 
 
///A faster version of insert.
 
bool insertSceneSpheres (const Scene *scene)
 
 
///Move one sphere to the new position (x,y,z) and maintain triangulation (invalidates the tesselation).
 
bool move (double x, double y, double z, double rad, unsigned int id)
 
 
///Reset the triangulation.
 
void clear (void)
 
 
///Add axis aligned bounding planes (modelised as spheres with (almost) infinite radius).
 
void AddBoundingPlanes (void)
 
 
///Force boudaries at positions not equal to precomputed ones.
 
void AddBoundingPlanes (double pminx, double pmaxx, double pminy, double pmaxy, double pminz, double pmaxz, double dt)
 
 
///Compute voronoi centers then stop (don't compute anything else).
 
void ComputeTesselation (void)
 
 
///Compute volume of each Voronoi cell
 
void ComputeVolumes (void)
 
 
///Get volume of the sphere inserted with indentifier "id"".
 
double Volume (unsigned int id)
 
 
///number of facets in the tesselation (finite branches of the triangulation)
 
unsigned int NumberOfFacets (bool initIters = false)
 
 
///set first and last facets, set facet_it = facet_begin
 
void InitIter (void)
 
 
///set facet = next pair (body1->id,body2->id), returns facet_it==facet_end
 
bool nextFacet (std::pair< unsigned int, unsigned int > &facet)
 
</source>
 
 
 
==MicroMacroAnalyzer==
 
==MicroMacroAnalyzer==
 
The engine MicroMacroAnalyzer computes quantities like fabric tensor, local porosity, local deformation, and other micromechanicaly defined quantities based on triangulation/tesselation of the packing.
 
The engine MicroMacroAnalyzer computes quantities like fabric tensor, local porosity, local deformation, and other micromechanicaly defined quantities based on triangulation/tesselation of the packing.
   
 
(*) Regular is for weighted points (center + radius), while the usual Delaunay is for points.
 
(*) Regular is for weighted points (center + radius), while the usual Delaunay is for points.
  +
 
[[File:StrainLocPeriodic.png|500px|thumb|left|Fig. 1: Deviatoric srain map in a triaxial test simulation with periodic bondary conditions (10k spheres and elastic-frictional contacts), evidencing strain localization. Output files generated by MicroMacroAnalyzer and post-processed using [http://www.paraview.org Paraview].]]
  +
 
[[File:cell_volume.png|500px|thumb|right|Fig.2 Defining a local volume for spheres in a packing ([[Publications | Hartong et al. (2010)]])]]

Latest revision as of 21:53, 22 December 2010

TesselationWrapper

TesselationWrapper (still in development) can be used for building and performing basic operations on the triangulation or tesselation of sphere packings. It should be accessed directly from python or included in another engine doing more complex things (e.g. MicroMacroAnalyser - see below, TriangulationCollider, VolumicContactLaw).

MicroMacroAnalyzer

The engine MicroMacroAnalyzer computes quantities like fabric tensor, local porosity, local deformation, and other micromechanicaly defined quantities based on triangulation/tesselation of the packing.

(*) Regular is for weighted points (center + radius), while the usual Delaunay is for points.

Fig. 1: Deviatoric srain map in a triaxial test simulation with periodic bondary conditions (10k spheres and elastic-frictional contacts), evidencing strain localization. Output files generated by MicroMacroAnalyzer and post-processed using Paraview.
Fig.2 Defining a local volume for spheres in a packing ( Hartong et al. (2010))