This work was produced under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. This work was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor Lawrence Livermore National Security, LLC, nor any of their employees makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or Lawrence Livermore National Security, LLC. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or Lawrence Livermore National Security, LLC, and shall not be used for advertising or product endorsement purposes. Inclusion of external software: This project distributes the sources of several external software products with their own respective licenses which can be found in their code and attached license files. These software products and their licenses are as follows: * AmgXWrapper (linalg/amgxsolver.{hpp,cpp}) -- MIT license * Catch++ (tests/unit/catch.hpp) -- Boost 1.0 license * Gecko (general/gecko.{cpp,hpp}) -- BSD 3-clause license * Picojson (fem/picojson.h) -- Custom 2-clause license * TinyXML2 (general/tinyxml2.{cpp,h}) -- zlib license * Zstr (general/zstr.hpp) -- MIT license