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

Reply via email to