MOOSE Newsletter (April 2022)

LibTorch Support

MOOSE can now be configured to compile with LibTorch (the C++ back end of Pytorch). This allows the utilization of neural networks for scientific machine learning directly in MOOSE and consequently in MOOSE-based applications. For the installation instructions, click here. More information on the utilization of artificial neural networks can be found here: LibtorchArtificialNeuralNet.

The MOOSE-LibTorch coupling only supports serial neural net training and does not support GPU-based training.

MOOSE Improvements

libMesh-level Changes

2022.04.07 Update

  • Deprecated shims to C++11 features - libmesh_make_unique should be replaced by std::make_unique - UniquePtr should be replaced by std::unique_ptr - std::is_sorted and std::iota alternatives are deprecated

  • Updated many string APIs to take std::string_view

  • ExodusII updates - Always get sideset + nodeset data indices - set_hdf_writing() is now runtime-configurable

  • Parallel (TIMPI) support for communication and reductions of NumberArray, so ADReal can now be used with MPI in both sparse and non-sparse configurations

  • Assorted warning fixes, bug fixes - Another small memory leak with Exodus attributes is fixed - MeshFunction::set_subdomain_ids() now works - TIMPI Packing for data types which were failing with large subtypes now communicate correctly