Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
45 lines
3.7 KiB
TeX
45 lines
3.7 KiB
TeX
\doxysection{src/lib/serif/backend/mfem/solver/preconditioner/inverse/sparse\+\_\+direct.cpp File Reference}
|
|
\hypertarget{sparse__direct_8cpp}{}\label{sparse__direct_8cpp}\index{src/lib/serif/backend/mfem/solver/preconditioner/inverse/sparse\_direct.cpp@{src/lib/serif/backend/mfem/solver/preconditioner/inverse/sparse\_direct.cpp}}
|
|
{\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/sparse\+\_\+direct.\+hpp"{}}\newline
|
|
{\ttfamily \#include $<$algorithm$>$}\newline
|
|
{\ttfamily \#include $<$cmath$>$}\newline
|
|
{\ttfamily \#include $<$mutex$>$}\newline
|
|
{\ttfamily \#include $<$vector$>$}\newline
|
|
{\ttfamily \#include "{}serif/backend/mfem/solver/preconditioner/inverse/validation.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}direct\+\_\+lu.\+hpp"{}}\newline
|
|
Include dependency graph for sparse\+\_\+direct.\+cpp\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{sparse__direct_8cpp__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Classes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_sparse_direct_cache_1_1_state}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::\+Sparse\+Direct\+Cache\+::\+State}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Namespaces}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif}{serif}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1solver}{serif\+::solver}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner}{serif\+::solver\+::preconditioner}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend}{serif\+::solver\+::preconditioner\+::backend}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem}{serif\+::solver\+::preconditioner\+::backend\+::mfem}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
std\+::string\+\_\+view \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_abd9cbc3a35fa6cc1efd694a6b04bf8b9}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::sparse\+\_\+direct\+\_\+backend}} () noexcept
|
|
\begin{DoxyCompactList}\small\item\em The sparse LU backend compiled into this library (Meson option sparse\+\_\+direct)\+: "{}accelerate"{}, "{}umfpack"{} or "{}none"{}. \end{DoxyCompactList}\item
|
|
bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a583100bb77dc7a7daf75cb783efe3bba}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::sparse\+\_\+direct\+\_\+available}} () noexcept
|
|
\begin{DoxyCompactList}\small\item\em True when Sparse\+Direct can be prepared on this machine; with "{}none"{}, or Accelerate before mac\+OS 15.\+5, it cannot. \end{DoxyCompactList}\item
|
|
std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_inverse}{Inverse}}, \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1_failure}{Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_a2cf27343aba87fc167edd2f5bac2d79b}{serif\+::solver\+::preconditioner\+::backend\+::mfem\+::try\+\_\+sparse\+\_\+direct\+\_\+inverse}} (std\+::shared\+\_\+ptr$<$ const \+::mfem\+::\+Sparse\+Matrix $>$ matrix, const \mbox{\hyperlink{structserif_1_1solver_1_1preconditioner_1_1strategies_1_1inverse_1_1_sparse_direct}{strategies\+::inverse\+::\+Sparse\+Direct}} \&options=\{\}, \mbox{\hyperlink{classserif_1_1solver_1_1preconditioner_1_1backend_1_1mfem_1_1_sparse_direct_cache}{Sparse\+Direct\+Cache}} \texorpdfstring{$\ast$}{*}cache=nullptr)
|
|
\begin{DoxyCompactList}\small\item\em Factor a finalized square sparse matrix with a pivoted sparse LU; every application is one exact solve. \end{DoxyCompactList}\end{DoxyCompactItemize}
|