\doxysection{src/include/serif/backend/mfem/operators/element\+\_\+evaluation.hpp File Reference} \hypertarget{element__evaluation_8hpp}{}\label{element__evaluation_8hpp}\index{src/include/serif/backend/mfem/operators/element\_evaluation.hpp@{src/include/serif/backend/mfem/operators/element\_evaluation.hpp}} {\ttfamily \#include $<$array$>$}\newline {\ttfamily \#include $<$cmath$>$}\newline {\ttfamily \#include $<$span$>$}\newline {\ttfamily \#include "{}serif/utils/error/nonfinite.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/operators/operand\+\_\+evaluation.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/operators/element\+\_\+data.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/operators/workspace.\+hpp"{}}\newline {\ttfamily \#include "{}serif/operators/plan.\+hpp"{}}\newline Include dependency graph for element\+\_\+evaluation.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{element__evaluation_8hpp__incl} \end{center} \end{figure} This graph shows which files directly or indirectly include this file\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{element__evaluation_8hpp__dep__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 {\footnotesize template$<$typename ContributionT, std\+::size\+\_\+t Count$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_afea41c24cc0677c12f92d1032a649fd1}{serif\+::operators\+::backend\+::mfem\+::element\+\_\+residual}} (const \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_element_data}{Element\+Data}}$<$ Count $>$ \&data, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \&result, \mbox{\hyperlink{structserif_1_1discretization_1_1backend_1_1mfem_1_1_basis_workspace}{Basis\+Workspace}} \&workspace) \begin{DoxyCompactList}\small\item\em Integrate the cached scalar/vector physics against its actual test operation. \end{DoxyCompactList}\item {\footnotesize template$<$Volume\+Equation EquationT, typename ContributionT, bool Fields, bool Geometry$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a81b6c68a0b07c3d80e9433b44aba8a97}{serif\+::operators\+::backend\+::mfem\+::finish\+\_\+element\+\_\+action}} (const \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_element_data}{Element\+Data}}$<$ \mbox{\hyperlink{structserif_1_1operators_1_1_equation_plan}{Equation\+Plan}}$<$ EquationT $>$\+::operand\+\_\+count $>$ \&data, const \+::mfem\+::\+Dense\+Matrix \&geometry\+\_\+derivatives, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_workspace}{Workspace}} \&workspace, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \&result) \begin{DoxyCompactList}\small\item\em Finish an element action from its field part (workspace.\+quadrature\+\_\+values) and, with Geometry, the displacement samples (workspace.\+displacement\+\_\+samples)\+: contract the geometry derivatives and integrate. \end{DoxyCompactList}\item {\footnotesize template$<$Volume\+Equation EquationT, typename ContributionT, bool Fields = true, bool Geometry = true$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a33dcbcc9bc614c25f86da4cbe2a9aaae}{serif\+::operators\+::backend\+::mfem\+::element\+\_\+jacobian\+\_\+action}} (const \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_element_data}{Element\+Data}}$<$ \mbox{\hyperlink{structserif_1_1operators_1_1_equation_plan}{Equation\+Plan}}$<$ EquationT $>$\+::operand\+\_\+count $>$ \&data, const \+::mfem\+::\+Dense\+Matrix \&geometry\+\_\+derivatives, const std\+::array$<$ \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_map_1_1_elements}{discretization\+::backend\+::mfem\+::\+Dof\+Map\+::\+Elements}}, \mbox{\hyperlink{structserif_1_1operators_1_1_equation_plan}{Equation\+Plan}}$<$ EquationT $>$\+::column\+\_\+count $>$ \&columns, const std\+::array$<$ const \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \texorpdfstring{$\ast$}{*}, \mbox{\hyperlink{structserif_1_1operators_1_1_equation_plan}{Equation\+Plan}}$<$ EquationT $>$\+::column\+\_\+count $>$ \&directions, const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_map_1_1_elements}{discretization\+::backend\+::mfem\+::\+Dof\+Map\+::\+Elements}} \&displacement\+\_\+binding, const \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \&displacement\+\_\+direction, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_workspace}{Workspace}} \&workspace, \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \&result) \begin{DoxyCompactList}\small\item\em Apply the accepted field derivatives and local displacement derivatives. \end{DoxyCompactList}\item {\footnotesize template$<$Volume\+Equation EquationT, typename ContributionT$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a613516d8052b46273adb13dc11dff403}{serif\+::operators\+::backend\+::mfem\+::element\+\_\+geometry\+\_\+actions}} (const \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_element_data}{Element\+Data}}$<$ \mbox{\hyperlink{structserif_1_1operators_1_1_equation_plan}{Equation\+Plan}}$<$ EquationT $>$\+::operand\+\_\+count $>$ \&data, const \+::mfem\+::\+Dense\+Matrix \&geometry\+\_\+derivatives, const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_map_1_1_elements}{discretization\+::backend\+::mfem\+::\+Dof\+Map\+::\+Elements}} \&displacement\+\_\+binding, std\+::span$<$ const \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \texorpdfstring{$\ast$}{*}const $>$ displacement\+\_\+directions, \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_workspace}{Workspace}} \&workspace, std\+::span$<$\mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a317d4e0bea2ef8780ac3747cfe62bf72}{\+::mfem\+::\+Vector}} \texorpdfstring{$\ast$}{*}const $>$ results) \begin{DoxyCompactList}\small\item\em element\+\_\+jacobian\+\_\+action$<$false, true$>$ for several displacement directions of one element. \end{DoxyCompactList}\end{DoxyCompactItemize}