I am trying to run a FEM simulation wherein every element has a variable-length C data structure defined in an external non-libmesh file format. What is the easiest way to get this data into libmesh and use it in parallel?
I see only a couple of ways of doing this: 1.) I can easily do this using MeshData and foreign_id_for_elem(). This works serially, but MeshData is deprecated and doesn't work in parallel. 2.) I can create my own data structure that indexes off of Elem->id(). Is this possible? Based on my cursory glance at the code, I fear that Elem->id() will change after partitioning in parallel. If this happens, this technique won't work. In addition, I'm not sure how this will work if I decide to use AMR 3.) I can give each mesh a unique subdomain_id(), and create my own data structure that uses that subdomain_id() as an index. This should work in parallel and for AMR, but it seems like a horrible abuse of the subdomain_id() and might cause problems for parts of the code that assume n_subdomains << n_elems. 4.) I can create an ExplicitSystem with a (CONSTANT,MONOMIAL) term, fill that data with an integer ID, and then use that ID to index into an external data structure of my choosing. I know that this is now the preferred way of storing element data, but a.) It seems like a hack to use a floating point field to store integer data b.) I'd have to take extra care to ensure the variable is NOT interpolated when doing AMR c.) I'm still not sure how to populate these data values. All the code I've seen for populating variables for ExplicitSystems uses FunctionBase<> which takes point data as it's argument. I'm not quite sure how to easily access an element's data using (x,y,z) coordinates as an argument. Is there something I've missed? Help! Rob ------------------------------------------------------------------------------ Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1 _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
