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}
|