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)
43 lines
5.2 KiB
TeX
43 lines
5.2 KiB
TeX
\doxysection{src/lib/serif/backend/mfem/operators/actions.cpp File Reference}
|
|
\hypertarget{actions_8cpp}{}\label{actions_8cpp}\index{src/lib/serif/backend/mfem/operators/actions.cpp@{src/lib/serif/backend/mfem/operators/actions.cpp}}
|
|
{\ttfamily \#include "{}serif/utils/error/nonfinite.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/backend/mfem/operators/actions.\+hpp"{}}\newline
|
|
{\ttfamily \#include $<$algorithm$>$}\newline
|
|
{\ttfamily \#include $<$utility$>$}\newline
|
|
{\ttfamily \#include "{}serif/backend/mfem/shared/finite.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline
|
|
Include dependency graph for actions.\+cpp\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{actions_8cpp__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Namespaces}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif}{serif}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1operators}{serif\+::operators}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend}{serif\+::operators\+::backend}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem}{serif\+::operators\+::backend\+::mfem}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_ad500ee5ad4ef471ae431b8c4dc3c6c53}{serif\+::operators\+::backend\+::mfem\+::linearized\+\_\+action}} (int rows, int columns, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} action, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} transpose)
|
|
\begin{DoxyCompactList}\small\item\em Wrap owned callbacks with checked dimensions, finite results, and overlap-\/safe application. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a26fc2a51b90bb3b53b0367a28d508080}{serif\+::operators\+::backend\+::mfem\+::linearized\+\_\+action}} (int rows, int columns, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} action, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a3b3bf723bb9a0f99d88bd6fad6d6cee8}{Matrix\+Action}} transpose, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a6b0cdfb3c2b7760075cc756317204db8}{Matrix\+Array\+Action}} batch)
|
|
\begin{DoxyCompactList}\small\item\em As above, with a batched forward action used by the operator\textquotesingle{}s Array\+Mult. \end{DoxyCompactList}\item
|
|
void \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a4c162ddfd57ca8b33e4f55537f0269ac}{serif\+::operators\+::backend\+::mfem\+::apply\+\_\+many}} (const \+::mfem\+::\+Operator \&action, std\+::span$<$ const \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \texorpdfstring{$\ast$}{*}const $>$ inputs, std\+::span$<$\mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \texorpdfstring{$\ast$}{*}const $>$ outputs)
|
|
\begin{DoxyCompactList}\small\item\em Apply an operator to several directions; Array\+Mult for SERiF actions, otherwise one Mult per direction. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a17d55109fe81202a9dbff5f0cd921e5f}{serif\+::operators\+::backend\+::mfem\+::transpose\+\_\+block}} (\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} block)
|
|
\begin{DoxyCompactList}\small\item\em Transpose a linearized block without discarding efficient assembly and diagonal operations. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a33094e2a1e4dfb26dec4a1dfde0ed843}{serif\+::operators\+::backend\+::mfem\+::compose\+\_\+blocks}} (\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} left, \mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} right)
|
|
\begin{DoxyCompactList}\small\item\em Compose linearized blocks in their written mathematical order. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a346dd7c66908876a5373191c02ce6809}{serif\+::operators\+::backend\+::mfem\+::sum\+\_\+blocks}} (int rows, int columns, std\+::vector$<$ \mbox{\hyperlink{classserif_1_1operators_1_1backend_1_1mfem_1_1_linearized_block}{Linearized\+Block}} $>$ blocks)
|
|
\begin{DoxyCompactList}\small\item\em Sum compatible linearized blocks while retaining their native diagonal and sparse assembly operations. \end{DoxyCompactList}\end{DoxyCompactItemize}
|