Galeri: Xpetra: minor fix to 3D Elasticity
MueLu: changed variable name to reflect its purpose
Tpetra:  Changed allocation strategy of insertValues to stl-like.

Currently insertValues reallocates the row index array to the minimum
size necessary to accomodate the new values.  If indices are added one
at a time (which is common), this results in O(n^2) work where n is the
number of indices added.  I changed the approach to double the array
size instead to match stl-like behavior, which gives amortized
constant-time insertion.

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=654,notpassed=0 (27.35 min)
1) SERIAL_RELEASE => passed: passed=617,notpassed=0 (15.10 min)
Fixing the test so that it works correctly in optimized mode (Trilinos #5740)

The test was written to call getSize() and getRank() on the masterComm with
just ranks 0 and 1 on all processes.  In a debug build, this worked just fine
(I don't know how).  In an optimized build, it segfaulted.  I was able to
create an MPI_RELEASE build and reproduce the segfault.  The fix was simply to
not call getSize() and getRank() on all processes (which I should have known).

With this simple change, the test works just fine in an MPI_RELEASE build.
This should make all of the test failures on CDash go away.
Adding an MPI_RELEASE build for extra pre-push testing.

Build/Test Cases Summary
Enabled Packages: TrilinosFramework, TeuchosComm
Disabled Packages: CTrilinos,ForTrilinos,PyTrilinos,Didasko,Mesquite,Phdmesh,Pliris,Claps
0) MPI_DEBUG => passed: passed=113,notpassed=0 (6.12 min)
1) SERIAL_RELEASE => passed: passed=110,notpassed=0 (2.92 min)
2) MPI_DEBUG_SS => passed: passed=113,notpassed=0 (6.13 min)
3) SERIAL_RELEASE_SS => passed: passed=110,notpassed=0 (2.59 min)
4) MPI_RELEASE => passed: passed=110,notpassed=0 (2.50 min)
Other local commits for this build/test group: c6cec19
added missing instantiations on CUDA node
Added special explicit instantiation macro for PacketLGN
Modified DistObject to use this macro, to address link errors
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos

Build/Test Cases Summary
Enabled Packages: Tpetra
0) MPI_DEBUG => passed: passed=47,notpassed=0 (1.69 min)
1) SERIAL_RELEASE => passed: passed=40,notpassed=0 (0.53 min)
Other local commits for this build/test group: ae788b6, 12e4c5a
Fix capitalization issue in Teuchos CMakeLists.txt

Build/Test Cases Summary
Enabled Packages: Teuchos
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=1242,notpassed=0 (36.13 min)
1) SERIAL_RELEASE => passed: passed=1198,notpassed=0 (18.35 min)
Updated build system to work even in presence of python 3

PyTrilinos is not yet upgraded to work under python 3, but if a user's
environment is set so that "python" executes python 3, then the
scripts in the util directory won't work.  This commit changes those
scripts to be copied to the build directory, and rewritten to ensure
that they are executed by ${PYTHON_EXECUTABLE} instead of the default
environment python.

To support this, the util directory had to be added as a subdirectory
in the main PyTrilinos CMakeLists.txt file.  The
cmake/PyTrilinosMakeTest.cmake file had to be updated to run the
scripts from the build directory, not the source directory (which are
scripts that no longer exist).  The CMakeLists.txt files in the
example and test directories had to be modified in the same way for
copying testing utility files.
Deleting util scripts in favor of .in versions
Fixed call of copyWithCMakeSubstitutions.py from source dir to build dir
Tpetra:  CrsGraph:  Replace ArrayRCP< ArrayRCP<> > with ArrayRCP<Array<> >

This replaces ArrayRCP<ArrayRCP<LO|GO> > with ArrayRCP<Array<LO|GO> >
for CrsGraph to eliminate some unnecessary RCP overhead in storing the
2D local/global indices.

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=654,notpassed=0 (20.12 min)
1) SERIAL_RELEASE => passed: passed=617,notpassed=0 (6.88 min)
Changing assert/throw to work for all builds (Trilinos #5872)

The main thing I did was to change the bad #ifndef TEUCHOS_DEBUG to a clean
TEUCHOS_ASSERT_EQUALITY() call for all builds, debug or non-debug.  The note I
added in the code says it all (do a diff and see).

I also cleaned up some other code in this function to make more readable.

There is no test that I can reasonably write to trigger this throw because I
would have to allocate more global elements than will fit in 'int' and that is
not realistic for a basic test.  However, Trilinos should have a new test
category that runs tests on say 1000+ processes where we can write serious
stress tests for the behavior of Trilinos when 'int' runs out of space.

Build/Test Cases Summary
Enabled Packages: ThyraEpetraAdapters
Disabled Packages: CTrilinos,ForTrilinos,PyTrilinos,Didasko,Mesquite,Phdmesh,Pliris,Claps
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=353,notpassed=0 (31.10 min)
1) SERIAL_RELEASE => passed: passed=353,notpassed=0 (12.98 min)
Fixing issue with zero/nonzero initial guess.

When using a single level method (i.e., smoother only), the arguments to the coarse level
pre and postsmoother solves were hardwired for a nonzero initial guess.  This commit fixes that.
This issue could also crop up in the multilevel context, as the coarse grid solve would do
extra operations that could otherwise be skipped for a zero initial guess.

Thanks to Eric Cyr for finding this with careful comparisons to ML, etc.
Adding documentation to constructors.
More documentation.

Build/Test Cases Summary
Enabled Packages: MueLu
Disabled Packages: MOOCHO
Enabled all Forward Packages
0) MPI_DEBUG => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
2) MPI_SS_DEBUG => passed: passed=83,notpassed=0 (9.69 min)
Other local commits for this build/test group: 5b25111, c4eb529
Fixed bug in PyTrilinos wrapper for Epetra_Time
Tpetra: Distributor: Can turn on/off message tags at run time.

I added an option to the input ParameterList to turn on or off
distinct message tags (for different Distributor instances, and for
different code paths in the two versions of doPosts()).  This will
be helpful for debugging.
Teuchos: Comm: Added getTag() method to Comm abstract interface.

This method lets users figure out the current tag setting for the
Comm instance, without first dynamic-casting to MpiComm.  This is
useful if users want to set the tag themselves, so they can pick
the same or a different tag than what the Comm is using.