A newer version of the Gradio SDK is available:
5.23.3
MOOSE Newsletter (September 2021)
MOOSE Improvements
Perf Graph Live
The PerfGraph
utility has been augmented with a "live" capability.
This can be viewed as a joining together of PerfGraph
and
ConsoleTimedPrint
. This allows the PerfGraph
to print out status
during the execution of a program, including printing about what's
happening, how long sections of code took to run, and how much memory
each section added.
!alert warning
To make this possible changes to Console
were necessary. You must now utilize a std::endl
or std::flush
at the end of your console output for it to appear!
More information can be found in the [PerfGraph.md] documentation.
Here is an example of the new capability during the setup of a large problem:
Setting Up
Uniformly Refining........
Updating Mesh. [ 12.35 s] [ 489 MB]
Finished Uniformly Refining [ 67.34 s] [ 3484 MB]
Initializing
Updating Because Mesh Changed
Updating Mesh. [ 12.93 s] [ 0 MB]
Finished Updating Because Mesh Changed [ 14.16 s] [ 109 MB]
Still Initializing....... [ 41.96 s] [ 2072 MB]
Finished Setting Up [128.40 s] [ 6254 MB]
Localized mesh refinement capabilities with MeshGenerators
- We added the [RefineBlockGenerator.md] to the framework. It allows for uniform refinement of multiple blocks with the desired number of refinement levels for each block. It does not add new capability, as adaptivity can be used similarly, but makes the refinement operation easier to set up. It will assist in making convergence studies cheaper by avoiding unnecessary refinement.
- We added the [RefineSidesetGenerator.md] to the framework. It allows for refining multiple sidesets, with different numbers of uniform refinement for each sideset. This capability should prove useful for contact application and for modeling discontinuities in the geometry.
libMesh-level changes
- Major bugfix: FE mapping calculations previously could have up to approximately 1e-6 relative error on slightly perturbed meshes. Fixing this invalidated dozens of gold test files, some with up to 1e-4 relative error in their solutions!
- Fix/optimization for problems with adjoint Dirichlet conditions
- Optional Exodus v8.11 support
- Elem::centroid() implementation deprecated, replaced by true_centroid() for accuracy or vertex_average() for speed.
- Adaptive Mesh Refinement support for meshes with Infinite Elements
- TIMPI and MetaPhysicL update, including specializations for communication of Automatic Differentiation types and their dependencies
- Minor bug + compatibility fixes, optimizations
Bug Fixes and Minor Enhancements
- In [NestedSolve.md], the method
getState()
was added to get the state of the solve. This allows the user to check if the solve converged, or if it did converged, by what criteria. - A FileMeshGenerator may now skip partitioning using a boolean parameter. This enables 3D partitioning of meshes generated from the extrusion of a 2D mesh loaded by a FileMeshGenerator.
- When a block/boundary is not found by a kernel/other block/boundary-restricted object, the code now outputs both the name and the ID of the missing location, leading to easier to interpret error messages.
- Point and LineValueSampler now consistently select the lowest ID element when reporting values for a discontinuous variable on an edge or a node
- Missing class documentation was added for some Actions, AuxKernels, BCs, Constraints, Dampers, DGKernels, DiracKernels, FEProblemSolve, Functions and FVKernels