MOOSE Newsletter (January 2019)

As the first newsletter of the year, following a busy 2018 and the holiday break, this issue will focus not on what has been done, but what we are working toward during 2019.


The development of the documentation system will continue in 2019, with three major additions planned for 2019. First, the ability to create PDF will be completed in the first quarter of the year. The system will use LaTeX to generate the PDF, including the ability to compile all the pages of the website into a single document. Second, the ability to create presentations from markdown, this system will likely rely on Reveal.js. Third, auto formatting is planned for the markdown files, this will allow for text to be automatically wrapped and spaced uniformly within the markdown files (i.e., clang-format for markdown).

Most importantly, the MOOSEDocs system is now maturing and core system level work should be winding down during this year. Hopefully, this will allowed increase focus on writing more documentation including the creation of new tutorials and examples.


The visualization scripting tool chigger, "the mite to replace EnSight," will undergo a major overhaul during 2019. The new version will have two significant improvements: (1) it will include the ability to automatically interpolate between timesteps, including across timesteps with mesh adaptivity; (2) an interactive, command-line interface will be created to allow for all components of the visualization to be modified without closing the window.

Automatic Differentiation updates

RankTwoTensor and RankFourTensor have been templated to enable automatic differentiation (AD) calculations. Note that the names RankTwoTensor and RankFourTensor still refer to the Real forms of the object, so usage in traditional kernels and materials will remain the same. A linear tensor mechanics test has been written demonstrating use of the new capability (see linear-ad.i).

What's Ahead

More Automatic Differentiation

We plan to soon add ADNodalBC, ADIntegratedBC, ADDGKernel, ADInterfaceKernel, and automatic differentiation versions of constraints. Moreover, automatic differentiation will be included in finite element mapping calculations such that the effects of displacements on terms like _grad_u, _grad_test, _grad_phi, _normals, _JxW, etc. can be included in the Jacobian. Finally, automatic differentiation will be extended to work with vector variables (e.g. NEDELEC_ONE, LAGRANGE_VEC families).

Mortar method

In the next year we expect to incorporate a fully generalized mortar method into MOOSE. This will be useful for applications like mechanical contact, where mortar methods have been shown to produce monotone results in cases where node-face constraint enforcement yield oscillatory results.

Fluid-Sructure Interaction

Beginning roughly in March, a couple of MOOSE developers will begin work on a fluid-structure interaction module which we believe will be of general interest to the community.

Hybrid algebraic multigrid

A hybrid algebraic multigrid that combines PETSc smoothers and HYPRE coarsening algorithms potentially provides more choices for different applications. It has been shown very useful in neutron transport calculations. We will release this feature around March.

Boundary preserving algebraic multigrid

Most existing AMG methods likely remove the boundary conditions during the coarsening phase. We want to develop a boundary preserving algebraic multigrid method that will try to preserve the essential boundary information during the coarsening, and it may/might end up a better convergence. The algorithm will be developed once there are available resources.

More partitioning algorithms

We continue exploring more partitioning algorithms to support the cutting-edge large-scale simulations in MOOSE.

Thank You!

The MOOSE team would like to thank everyone for using MOOSE this past year and helping us develop the tool, we our honored to provide this tool for free and help you do unique and meaningful research.