idaholab/moose — pull request #2976 by friedmud (2014-04-24 04:15:30+00:00)
Title: No comm world

Don't merge just yet as I need to go through all the apps (which I'll do tomorrow) and make them compatible.

This PR allows MOOSE to build without needing `--enable-default-comm-world` with libMesh. This also simplifies some of the gymnastics required for MultiApp related stuff to work.

The basic idea was to have `MooseObject` inherit from `libMesh::ParallelObject`. This means that every object throughout MOOSE now has a `_communicator` member variable and also gains `n_processors()` and `processor_id()`. This way we can create objects that are working on subset communicators and they will automatically call the correct MPI functions.

refs #2943 #2941