On Feb 10, 2009, at 12:45 PM, Roy Stogner wrote:

> Change the subdomain_id type.  Frankly, there's a lot of hard coded
> types in libMesh that we ought to be turning into typedefs; we might
> as well start by fixing this one.  Find everywhere a subdomain id is
> being used, change it from unsigned char to subdomain_id_t, add a
> "typedef unsigned char subdomain_id_t;" to an appropriate header, and
> we'll happily commit the patch.  Then add an autoconf option for
> specifying a non-default type (e.g. short, int, long int) if you want
> to go whole hog, or just change it by hand for your own installation.

This is a good idea... I don't see any downside... and it will cover  
what's needed now (even we're getting close to hundreds of material  
types in some of our runs).

> Add something like deal.II's user_pointer to every element and node.
> More powerful, but also a little harder to deal with (e.g. how do you
> serialize to mesh files?)

This (and Ben's templating idea) both scare the shit out of me.  The  
potential for abuse and problems is REALLY high with this one.  Sierra  
has something similar where essentially you can attach lots of data  
types to mesh types.  People use it for all kinds of stuff it  
shouldn't be used for and then complain whenever things like "restart"  
capability don't work.  Adding arbitrary data to the mesh just feels  
like a bad idea.

I think a lot of this is coming up because MeshData sucks so hard.  If  
we had a good external way to keep track of data related to mesh  
objects then it wouldn't be such a big deal.  This mythical external  
data structure would have a lot better idea about how to serialize  
itself / repopulate itself etc.  The trouble is, none of the mainline  
developers has really needed this capability... so it hasn't been  
done.  Personally, this is a growing need for myself (for storing ODE  
solutions at quadrature points that are used in my PDE solves through  
time) so maybe there will be some movement on it in the next 6 months,  
but that's not even a sure thing.

I won't stop anyone from doing anything here.  I have full faith that  
Roy and Ben can work out a good plan for incorporating arbitrary data  
into a mesh... but I do just want to throw out a bit of caution on the  
idea.  Right now our Mesh data structure is _very_ clean and very  
powerful.  It does what it needs to do, and it does it well.  The base  
class itself is general enough that Roy's been able to hang a  
ParallelMesh structure off it in pretty short order.... no small  
software engineering feat.  Let's be cautious before we start bloating  
the most critical piece of our infrastructure.

Derek

------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to