Copying to libmesh-users, since this frequently-asked question's answer *should* have showed up in a quick Google search but didn't for me.
On Fri, 20 Mar 2015, Sahai, Amal wrote: > Thank you so much for all your help. Quick question - I was going > through the shock fitting utility and it talks about how it works > for a serial mesh. Do you think I would have to make changes to the > routine it uses for doing ray tracing if I were to use it for a > FIN-S run in parallel? Sorry if my question is vague, I am still in > the process of figuring out what is being done there and wasn't able > to think of something more specific. In lieu of apology, whenever you find time you can help me write the inaugural section, "SerialMesh vs ParallelMesh", for the currently-nonexistent libMesh FAQ. I really should be smart enough to *save* these things when I write them out so I have a URL to point to in the future. Here's the simple explanation for libMesh users: Both SerialMesh and ParallelMesh work in parallel. SerialMesh works in parallel in a serialized fashion: every processor knows everything about the geometry and topology and partitioning and DoF indexing of every element and node in the mesh. ParallelMesh works in parallel in a distributed fashion: every processor knows everything about it's own "local" elements and about the "semilocal" elements which touch its own elements, but for elements just past the "semilocal" layer all each processor knows is that a "remote" element exists, and for elements beyond those the local processor has no information whatsoever. Obviously the latter data structure is much cheaper on memory and in large problems can be cheaper on the CPU, but it makes writing "nonlocal" algorithms like ray tracing harder since you can only do them in a tricky communication-synchronized way. And another tip for you and other FIN-S users: Check out the TransitionBase code. That's another example of "node tracing", and IIRC it's still only SerialMesh compatible, but at least it's an example of the ray calculations being done on their home processors via manual communication. --- Roy ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
