← Back to team overview

yade-dev team mailing list archive

Re: Triangulation, Tesselation, and the rest

 

Thanks, Bruno for the explanation.  Since I've just started, I don't know whether i'll use it.

It's nice to know that YADE has so many features :)


Yours,

CWBoon


> Date: Tue, 8 Dec 2009 12:08:29 +0100
> From: bruno.chareyre@xxxxxxxxxxx
> To: yade-dev@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Yade-dev] Triangulation, Tesselation, and the rest
> 
> boon chiaweng a écrit :
> > Hi, Bruno.  Is it not possible to compute fabric tensor, deformation, 
> > porosity etc. using the TrixaxialStateRecorder approach by linking to 
> > the TriaxialStressController?  What are the advantages of using the 
> > method of triangulation?  It sounds very advanced..
> >
> Hi Boon,
> 
> The traditional fabric tensor doesn't need any triangulation indeed, 
> just an iteration on contacts.
> However, if you want a generalised fabric tensor that includes pairs 
> without contact, you need to define the concept of "neighbor", which is 
> possible using the properties of  regular Delaunay triangulation.
> 
> For local deformation and local porosity, I don't see how to do that 
> without triangulation, since they are by definition defined at the level 
> of tetrahedra.
> 
> There is no obligation to use that though. :)
> 
> Bruno
> 
> 
> 
> 
> 
> > Yours,
> >
> > CWBoon
> >
> >
> >
> >
> > > Date: Mon, 7 Dec 2009 18:24:30 +0100
> > > From: bruno.chareyre@xxxxxxxxxxx
> > > To: yade-dev@xxxxxxxxxxxxxxxxxxx
> > > Subject: Re: [Yade-dev] Triangulation, Tesselation, and the rest
> > >
> > > Concerning the license of CGAL, I'm still waiting an answer from
> > > developpers of CGAL, but I'm a bit pessimistic after reading the text
> > > below.
> > > What I don't understand is that even CGAL seems to have license issues,
> > > based on the bolded paragraph, since CGAL code and examples are linked
> > > to GPL libraries (lapack, geomview, Qt, boost, taucs, ...)
> > >
> > > Bruno
> > >
> > > Q Public License (QPL), Version 1.0
> > > <http://doc.trolltech.com/3.0/license.html>
> > >
> > > This is a non-copyleft free software license which is incompatible
> > > with the GNU GPL. It also causes major practical inconvenience,
> > > because modified sources can only be distributed as patches.
> > >
> > > We recommend that you avoid using the QPL for anything that you
> > > write, and use QPL-covered software packages only when absolutely
> > > necessary. However, this avoidance no longer applies to Qt itself,
> > > since Qt is now also released under the GNU GPL.
> > >
> > > *_ Since the QPL is incompatible with the GNU GPL, you cannot take a
> > > GPL-covered program and QPL-covered program and link them together,
> > > no matter how._*
> > >
> > > However, if you have written a program that uses QPL-covered library
> > > (called FOO), and you want to release your program under the GNU
> > > GPL, you can easily do that. You can resolve the conflict /for your
> > > program/ by adding a notice like this to it:
> > >
> > > As a special exception, you have permission to link this program
> > > with the FOO library and distribute executables, as long as you
> > > follow the requirements of the GNU GPL in regard to all of the
> > > software in the executable aside from FOO.
> > >
> > >
> > > You can do this, legally, if you are the copyright holder for the
> > > program. Add it in the source files, after the notice that says the
> > > program is covered by the GNU GPL.
> > >
> > >
> > > (from free software foundation website :
> > > http://www.fsf.org/licensing/licenses/index_html/view?searchterm=qpl)
> > >
> > >
> > >
> > >
> > >
> > > Bruno Chareyre a écrit :
> > > > Hello
> > > >
> > > > I'm thinking to how MicroMacroAnalyzer (MMA) could be modified in
> > > > order to be used in a more versatile way (partly because Vaçlav told
> > > > me he could use that - still true?).
> > > >
> > > > Currently, if you put MicroMacro engine in your simulation,
> > > > MMA::action() will (in short) :
> > > > - scan bodies and build a regular(*) triangulation of the spheres 
> > each
> > > > N iterations;
> > > > - compute the average strain in each tetrahedron and assign it to
> > > > grains (so that the "strain" of one grain is a sum over adjacent
> > > > tetrahedra), based on the dispacements of particules on the interval
> > > > [n,n+N].
> > > > - save the state of the sample in a text file (with a specific
> > > > convention), so that strains can be recomputed later (out of yade)
> > > > with different interval sizes (like [n,n+2N], [n,n+3N], etc.)
> > > > - write local strains, porosity, fabric tensor, and other
> > > > micromechanical quantities in txt files too.
> > > >
> > > > Problems :
> > > > - This engine is doing always the same thing, you can't change 
> > what it
> > > > does if you don't modify the code and recompile. It is a pitty, since
> > > > many geometrical functions available in lib/Triangulation could be
> > > > usefull as well (e.g. computing the dual Voronoi graph).
> > > > - If you want to access to quantities like porosity at the scale of
> > > > tetrahedra, you have no way to do that in yade, because you need to
> > > > access the CGAL structure using the concepts of cell_iterators,
> > > > edge_iterators,... which are not defined in yade.
> > > >
> > > > So, I'm wondering how to improve that, and I hesitate between 2
> > > > approaches :
> > > >
> > > > a) enrich the interface of TesselationWrapper or MicroMacro, so that
> > > > instead of just "MM::action()", many members could be accessed via
> > > > python, and different things can be computed on demand, and returned
> > > > in a standard format. e.g. for the porosity in a cell of the
> > > > triangulation, there could something like :
> > > >
> > > > pair<int [4], Real porosity> MMAnalyzer::porosityInNextCell (void);//
> > > > usage : while (porosity!=-1) porosity = porosityInNextCell().second;
> > > >
> > > >
> > > > b) expose and make full usage of all typedefs defined in def_types.h.
> > > > In that case, no need for interface any more, the full lists of 
> > edges,
> > > > cells, or facets can be visited, but the user need to learn how to 
> > use
> > > > CGAL and/or my triangulation classes before doing anything. Example :
> > > >
> > > > for (finite_cell_iterator 
> > cell=MMA->triangulation->finite_cells_begin;
> > > > cell != MMA->triangulation->finite_cells_end; cell++)
> > > > {
> > > > porosity = MMA::Porosity(cell);
> > > > if (cell->vertex(2)->id == x) do something;//etc.
> > > > }
> > > >
> > > > I created a draft wiki page about this :
> > > > https://yade-dem.org/index.php/Triangulation
> > > >
> > > > Bruno
> > > >
> > > >
> > > > (*) Regular is for weighted points (center + radius), while the usual
> > > > Delaunay is for points. It can make a big difference (and Delaunay 
> > can
> > > > give stupid result) when radii are not all the same.
> > > >
> > >
> > >
> > > --
> > >
> > > _______________
> > > Chareyre Bruno
> > > Maître de Conférences
> > >
> > > Grenoble INP
> > > Laboratoire 3SR - bureau E145
> > > BP 53 - 38041, Grenoble cedex 9 - France
> > > Tél : 33 4 56 52 86 21
> > > Fax : 33 4 76 82 70 43
> > > ________________
> > >
> > >
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~yade-dev
> > > Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> > > Unsubscribe : https://launchpad.net/~yade-dev
> > > More help : https://help.launchpad.net/ListHelp
> >
> > ------------------------------------------------------------------------
> > New Windows 7: Simplify what you do everyday. Find the right PC for 
> > you. <http://windows.microsoft.com/shop>
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~yade-dev
> > Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~yade-dev
> > More help   : https://help.launchpad.net/ListHelp
> >   
> 
> 
> -- 
>  
> _______________
> Chareyre Bruno
> Maître de Conférences
> 
> Grenoble INP
> Laboratoire 3SR - bureau E145
> BP 53 - 38041, Grenoble cedex 9 - France
> Tél : 33 4 56 52 86 21
> Fax : 33 4 76 82 70 43
> ________________
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help   : https://help.launchpad.net/ListHelp
 		 	   		  
_________________________________________________________________
Windows 7: Simplify what you do everyday. Find the right PC for you.
http://windows.microsoft.com/shop

References