Files
MeanField_SERiF/docs/latex/volume__data_8hpp.tex

107 lines
11 KiB
TeX
Raw Normal View History

\doxysection{src/include/serif/backend/mfem/operators/volume\+\_\+data.hpp File Reference}
\hypertarget{volume__data_8hpp}{}\label{volume__data_8hpp}\index{src/include/serif/backend/mfem/operators/volume\_data.hpp@{src/include/serif/backend/mfem/operators/volume\_data.hpp}}
{\ttfamily \#include $<$array$>$}\newline
{\ttfamily \#include $<$memory$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include "{}mfem/fem/gridfunc.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/mapping/domain\+\_\+mapper.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/discretization/term\+\_\+coefficients.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/operators/element\+\_\+data.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/operators/quadrature.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/backend/mfem/operators/workspace.\+hpp"{}}\newline
Include dependency graph for volume\+\_\+data.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{volume__data_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]{volume__data_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$}}
\begin{DoxyCompactList}\small\item\em Keep equation-\/local stages distinct while sharing physical coefficient sources. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_basis}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Basis$<$ Contribution $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_geometry}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Geometry$<$ Contribution $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_reference_values}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Reference\+Values$<$ Contribution, Operand\+T $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_physical_values}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Physical\+Values$<$ Contribution, Operand\+T $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_quadrature_linearization}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Quadrature\+Linearization$<$ Contribution $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_geometry_derivatives}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Geometry\+Derivatives$<$ Contribution $>$}}
\begin{DoxyCompactList}\small\item\em Weighted local displacement derivatives, owned and invalidated by the graph. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_linearization}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Linearization}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped_1_1_bindings}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Scoped$<$ Scope $>$\+::\+Bindings}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_basis_bindings}{serif\+::operators\+::backend\+::mfem\+::\+Basis\+Bindings$<$ Column\+Count $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_discretization}{serif\+::operators\+::backend\+::mfem\+::\+Volume\+Discretization$<$ Test\+T, Schema\+T $>$}}
\begin{DoxyCompactList}\small\item\em Borrowed discretization objects must outlive their graph and its accepted results. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{serif\+::operators\+::backend\+::mfem\+::\+Volume\+Options}}
\begin{DoxyCompactList}\small\item\em Numerical choices fixed when the graph is constructed. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_operand_samples}{serif\+::operators\+::backend\+::mfem\+::\+Operand\+Samples}}
\begin{DoxyCompactList}\small\item\em Reference samples remain available for derivatives through the physical mapping. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_contribution_data}{serif\+::operators\+::backend\+::mfem\+::\+Contribution\+Data$<$ Operand\+Count $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_configuration}{serif\+::operators\+::backend\+::mfem\+::\+Volume\+Configuration$<$ Equation\+T, Schema\+T $>$}}
\begin{DoxyCompactList}\small\item\em Stable equation ownership also retains temporary and move-\/only contribution trees. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_data}{serif\+::operators\+::backend\+::mfem\+::\+Volume\+Data$<$ Equation\+T, Schema\+T $>$}}
\begin{DoxyCompactList}\small\item\em One accepted result contains ordered contribution batches and the assembled residual. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_scratch}{serif\+::operators\+::backend\+::mfem\+::\+Volume\+Scratch}}
\begin{DoxyCompactList}\small\item\em Scratch belongs to graph callables and is never a dependency source. \end{DoxyCompactList}\end{DoxyCompactItemize}
\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}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$std\+::size\+\_\+t Contribution$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_aa028250a5d4484bd259cd017200c260c}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Basis}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{Scoped}}$<$void$>$\+::\+Basis$<$Contribution$>$
\item
{\footnotesize template$<$std\+::size\+\_\+t Contribution$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_af83c50f3cf4a104f3e6c018312b0371b}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Geometry}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{Scoped}}$<$void$>$\+::\+Geometry$<$Contribution$>$
\item
{\footnotesize template$<$std\+::size\+\_\+t Contribution, typename OperandT$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_a0c4171152ebaf4f721a743a2a5fb9014}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Reference\+Values}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{Scoped}}$<$void$>$\+::\+Reference\+Values$<$Contribution, OperandT$>$
\item
{\footnotesize template$<$std\+::size\+\_\+t Contribution, typename OperandT$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_a5b639e648c7743b66732b2436d6473c2}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Physical\+Values}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{Scoped}}$<$void$>$\+::\+Physical\+Values$<$Contribution, OperandT$>$
\item
{\footnotesize template$<$std\+::size\+\_\+t Contribution$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_af60347c09439498ae0b4971d9280126d}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Quadrature\+Linearization}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{Scoped}}$<$void$>$\+::\+Quadrature\+Linearization$<$Contribution$>$
\item
{\footnotesize template$<$std\+::size\+\_\+t Contribution$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_ace4f8ba583b5103c7a8d2477a1236a91}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Geometry\+Derivatives}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{Scoped}}$<$void$>$\+::\+Geometry\+Derivatives$<$Contribution$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_a4a5cc4891ad7c8c24f7437ba90d67ee2}{serif\+::operators\+::backend\+::mfem\+::volume\+\_\+keys\+::\+Linearization}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1volume__keys_1_1_scoped}{Scoped}}$<$void$>$\+::\+Linearization
\item
{\footnotesize template$<$typename ElementT$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_afd0d7be8fe679f2666861d91bdbe16b3}{serif\+::operators\+::backend\+::mfem\+::\+Element\+Batch}} = std\+::vector$<$std\+::shared\+\_\+ptr$<$const ElementT$>$$>$
\begin{DoxyCompactList}\small\item\em A stage owns immutable element results, shared with downstream stages and accepted linearizations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item
enum class \mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_a24da3fc8af225640b2d32c378ef40cde}{serif\+::operators\+::backend\+::mfem\+::\+Contraction\+Mode}}
\begin{DoxyCompactList}\small\item\em Options enum to control how the tensor contractions are performed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename TestT, typename SchemaT$>$ }\\\mbox{\hyperlink{namespaceserif_1_1operators_1_1backend_1_1mfem_aa7ce3038141b1a709ac67372c17a36c8}{serif\+::operators\+::backend\+::mfem\+::\+Volume\+Discretization}} (const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_term_binding}{discretization\+::backend\+::mfem\+::\+Term\+Binding}}$<$ TestT, SchemaT $>$ \&, const \mbox{\hyperlink{classserif_1_1discretization_1_1backend_1_1mfem_1_1_term_binding}{discretization\+::backend\+::mfem\+::\+Term\+Binding}}$<$ \mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector}{discretization\+::blocks\+::displacement\+::vector}}, SchemaT $>$ \&, const \+::mfem\+::\+Grid\+Function \&, const \mbox{\hyperlink{classserif_1_1mapping_1_1_domain_mapper}{mapping\+::\+Domain\+Mapper}} \&) -\/$>$ Volume\+Discretization$<$ TestT, SchemaT $>$
\end{DoxyCompactItemize}