Skip to content

Commit

Permalink
Merge pull request #28271 from permcody/CA2024-1659
Browse files Browse the repository at this point in the history
Improving documentation for acquired software related to CA2024-1659
  • Loading branch information
permcody authored Aug 7, 2024
2 parents e9655d6 + 5b7a6f1 commit 60ae8c4
Showing 1 changed file with 80 additions and 0 deletions.
80 changes: 80 additions & 0 deletions framework/doc/content/sqa/framework_sll.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
> of the library is to provide support for adaptive mesh refinement (AMR) computations in parallel
> while allowing a research scientist to focus on the physics they are modeling.
+Testing:+ libMesh is a core library providing significant functionality for MOOSE and MOOSE-based
applications. Every Functional test in the [framework RTM](framework_rtm.md) that manipulates a mesh
or solves a problem is using an integrated piece of the libMesh library. For all practical purposes
there are almost no differences between the set of tests for the framework and the set of tests for libMesh.

Current Version of libMesh: [!git!submodule-hash url=https://github.com/libmesh/libmesh/commit](libmesh)

## [!ac](PETSc)
Expand All @@ -21,5 +26,80 @@ Current Version of libMesh: [!git!submodule-hash url=https://github.com/libmesh/
> scalable (parallel) solution of scientific applications modeled by partial differential equations. It
> supports MPI, and GPUs through CUDA or OpenCL, as well as hybrid MPI-GPU parallelism. PETSc
> (sometimes called PETSc/Tao) also contains the Tao optimization software library.
>
+Testing:+ PETSc is a core library providing significant functionality for MOOSE and MOOSE-based
applications. Every Functional test in the [framework RTM](framework_rtm.md) that
solves a problem is using an integrated piece of the PETSc library. For all practical purposes
there are almost no differences between the set of tests for the framework and the set of tests for PETSc.


Current Version of [!ac](PETSc): [!git!submodule-hash url=https://github.com/petsc/petsc/commit](petsc)

## HYPRE (optional)

[!ac](MOOSE) can optionally use preconditioners from the HYPRE library to assist with the solvers
in [!ac](PETSc). The BoomerAMG preconditioner is frequeuntly used in MOOSE for elliptic PDEs.
This project is summarized as follows on the project website:
[https://computing.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods](https://computing.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods).

> Livermore’s hypre library of linear solvers makes possible larger, more detailed simulations by solving
> problems faster than traditional methods at large scales. It offers a comprehensive suite of scalable
> solvers for large-scale scientific simulation, featuring parallel multigrid methods for both structured
> and unstructured grid problems. The hypre library is highly portable and supports a number of languages.
+Testing:+ [!ac](PETSc) is able to utilize several externally-developed preconditioners in its solution
scheme. Explicit testing of the Hypre BoomerAMG preconditioner is not done by the MOOSE suite since it
is an optional dependency and isn't strictly required to solve MOOSE's linear and nonlinear systems.
However, this preconditioner option does appear in a number of the Functional tests in the
[framework RTM](framework_rtm.md), such that breaking changes would likely result in differences in many
of MOOSE's tests.

## SuperLU (optional)

[!ac](MOOSE) can optionally use the SuperLU "solver" package for accelerating the factorization of
certain types of linear systems. This package is summarized as follows on the project website:

> SuperLU is a general-purpose library for the direct solution of large, sparse, nonsymmetric systems of
> linear equations. The library is written in C and is callable from either C or Fortran program. It uses
> MPI, OpenMP and CUDA to support various forms of parallelism. It supports both real and complex datatypes,
> both single and double precision, and 64-bit integer indexing. The library routines perform an LU
> decomposition with partial pivoting and triangular system solves through forward and back substitution.
> The LU factorization routines can handle non-square matrices but the triangular solves are performed only
> for square matrices.
+Testing:+ [!ac](PETSc) is able to utilize the SuperLU package to solve linear system matrices in parallel.
This acceleration is suitable for certain small-to-moderately-sized linear systems that are not easily
solved with other schemes. Explicit testing of the SuperLU factorization package is not done by the MOOSE
suite since it is an optional dependency. However, this solver option does appear in a number of
Functional tests in the [framework RTM](framework_rtm.md) and module RTMs. Breaking changes
would likely result in differences in many of these tests.

## MUMPS (optional)

[!ac](MOOSE) can optionally use the MUMPS "solver" package for accelerating the factorization of
certain types of linear systems. This package is summarized as follows on the project website:

> MUMPS Main Features:
>
> - Solution of large linear systems with symmetric positive definite matrices general symmetric matrices general unsymmetric matrices.
> - Real or complex arithmetic (single or double precision)
> - Parallel factorization and solve phases (uniprocessor version also available)
> - Out of core numerical phases
> - Iterative refinement and backward error analysis
> - Various matrix input formats assembled, distributed, elemental format
> - Partial factorization and Schur complement matrix (centralized or 2D block-cyclic) with reduced/condensed right-hand side
> - Interfaces to MUMPS: Fortran, C, Matlab and Scilab
> - Several reorderings interfaced: AMD, QAMD, AMF, PORD, METIS, PARMETIS, SCOTCH, PT-SCOTCH
> - Symmetric indefinite matrices: preprocesssing and 2-by-2 pivots
> - Parallel analysis and matrix scaling
> - Computation of the determinant (with an option to discard factors)
> - Forward elimination during factorization
>
+Testing:+ [!ac](PETSc) is able to utilize the MUMPS package to solve linear system matrices in parallel.
This acceleration is suitable for certain small-to-moderately-sized linear systems that are not easily
solved with other schemes. Explicit testing of the MUMPS factorization package is not done by the MOOSE
suite since it is an optional dependency. However, this solver option does appear in a number of
Functional tests in the [framework RTM](framework_rtm.md) and module RTMs. Breaking changes
would likely result in differences in many of these tests.

0 comments on commit 60ae8c4

Please sign in to comment.