MOOSE Newsletter (July 2018)
Jacobian testers
The MOOSE python Jacobian test capabilities have been updated to work with PETSc versions >= 3.9. Users of PETSc versions >= 3.9 now have the capability to test their Jacobians at every non-linear iteration instead of just on the initial condition.
The old Jacobian testing capability, which used the PETSc option -snes_type test
, terminated application execution after one calculation of the Jacobian. In PETSc versions >= 3.9, the -snes_type
test
option has been replaced with -snes_test_jacobian
. With this option, MOOSE applications will run normally and the hand-coded Jacobian will be compared against a finite-difference Jacobian at every non-linear iteration.
This can be very useful since it's difficult to capture all possible function states in an initial condition, e.g. a good result with the old option -snes_type test
may lull the application developer into thinking that their Jacobian is perfect under all circumstances when it is not.
Relationship Managers with Pre-split Meshes
RelationshipManagers now work properly when using MOOSE's mesh splitter capability. If you have a simulation that requires extra geometric information, the RelationshipManagers are triggered during the mesh splitting process so that information is available when reading in pre-split meshes.
Bug fixes
Fixed incorrect input file line number error reporting under certain circumstances.
Fixed some missed cases of unused parameter tracking.
MOOSE errors out properly when the Executioner is accidentally omitted from an input file.
Using "–split-mesh" with a DistributedMesh now produces a useful error message.
LayeredBase-derived objects are now restartable.
PETSc external partitioner
The PetscExternalPartitioner interface has been incorporated into MOOSE. This interface provides a unified API to external mesh partitioning packages such as ParMETIS, Chaco, Party, and PTScotch, and a mechanism for assigning weights to elements and sides to facilitate workload balancing and communication minimization.
Peacock Exodus Viewer Improvements
The results tab of peacock ("ExodusViewer") was updated, a screenshot is shown in Figure 1:
Result refresh is now more efficient;
The tab was redesigned to be more compact, with less frequently-used controls moved to menu items;
The min/max toggles were redesigned to be cached with each variable as well as control if the automatic values should be computed via the visible or complete model;
The block selection is now more compact, and uses a drop-down control.
It is possible to run Peacock as an Exodus viewer by passing the --exodus
or -r
flags on the command line.
~/projects/moose/python/peacock/peacock -r path/to/an/exodus/file/here.e

Figure 1: Re-designed Exodus viewer tab.