On Thu, 9 Dec 2010, Michael Povolotskyi wrote: > My problem is that the coarse mesh cannot fit the on one CPU. > Therefore I'd like to create it in parallel in a distributed way. > Is this possible?
The good news: ParallelMesh was designed to make this possible. MeshBase::add_point()/add_elem() let you create new mesh nodes and elements that are preassigned to specific processors and that don't necessarily have to exist, even from step one, on other processors, and the ParallelMesh routines will let these unstructured submesh chunks still behave as a whole consistent mesh. The bad news: You'll probably have to set node and element ids manually in the initial creation step, and you'll need to explicitly remember to create all semilocal objects on every processor that needs them - this may be a lot of bookkeeping depending on your mesh. Nobody's ever done this before. Distributed mesh usage is already undertested (it's not even in our regular continuous regression test suite at the moment); for distributed mesh creation you'd be the first user I know of. You may find it easier to do the mesh creation from another program that can save to Nemesis format and read it into libMesh from that? IIRC the mesh reading is currently serialized, but it's done in chunks (which are freed after being distributed off the root node) to conserve memory, so if memory-per-node is your limitation then that will probably get around it. --- Roy ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
