MOOSE Newsletter (December 2019)

Improved Stochastic Tools Sampler API

The Sampler base class was updated to include a more efficient API for computing sample data in parallel with minimal memory impact. Please refer to Distributed Sampling for more information.

Miscellaneous enhancements and bug fixes

  • The TestHarness now properly detects failures in the Part1 test when using the –recover flag.

  • "Timed Print" formatting fixed when a nested call to this utility is made.

  • Don't allow the use of "contains_complete_history" parameter in FeatureVolumeVectorPostprocessor.

  • BoundaryRenameGenerator bug fix when old_boundary_name is used.

Python 3 Update

All python-based utilities within MOOSE (e.g., the test harness, peacock, and MooseDocs) have been upgraded to utilize Python 3, which some maintaining support for Python 2. Official language support for Python 2 officially ends on 1/1/2020. Python 2 support for tools in MOOSE will also end at this time. To upgrade to use Python 3, please update your MOOSE environment package by following the Getting Started instructions.

Solid Mechanics module retirement schedule

The solid mechanics capabilities in the MOOSE modules were originally provided by the solid_mechanics module. Because of limitations with the architecture of the material models in that module, a decision was made several years to re-implement the mechanics capabilities in a new module called tensor_mechanics. After a significant development effort, we have migrated all of the models in the INL-developed applications that use mechanics capabilities to be based on tensor_mechanics, and we are getting ready to remove the solid_mechanics module. Use of any models based on solid_mechanics in those applications now generates a deprecation warning message, and we will remove the models based on solid_mechanics in the INL-developed MOOSE-based applications on June 30th, 2020. We will remove the solid_mechanics module from MOOSE one month later, on July 31, 2020.

We have been publicizing that this change has been coming for a long time, and expect that any new models that are being set up now are based on the tensor_mechanics module. The BISON team has put together an extensive guide on how to migrate existing models to use tensor_mechanics as part of BISON's code documentation. While there are details in that guide that apply only to BISON models, the general principles are applicable to converting any model that uses mechanics.

There are a number of advantages to tensor_mechanics, with the biggest one being that it has a cleaner, modular architecture that provides greater flexibility in the kinds of material behavior that can be modeled. In our experience, run times are fairly comparable between the solid_mechanics and tensor_mechanics systems. Our primary motivation for removal of solid_mechanics is that it requires significant resources to maintain two sets of mechanics models. This will allow us to focus our resources on improving and adding to MOOSE's mechanics capabilities. In the last couple of years, all new development has been done in tensor_mechanics, so there are many new models and improvements to existing models that are only available in tensor_mechanics.

We are serious about sticking to the July 31st date for retirement of solid_mechanics. If you have any concerns about impacts that this schedule might have on your work, please let us know as soon as possible. We appreciate that this will require some effort to migrate models, and we are happy to provide assistance if you run into issues with that. Please note that you will still be able to run solid_mechanics models with pre-July 31, 2020 versions of MOOSE, but you will not have access to new features beyond that point if you choose to do that. If you haven't already done so, we highly encourage you to start migrating any existing models that you are interested in running with future versions of MOOSE.