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
