\doxysection{src/include/serif/backend/mfem/mapping/data.hpp File Reference} \hypertarget{data_8hpp}{}\label{data_8hpp}\index{src/include/serif/backend/mfem/mapping/data.hpp@{src/include/serif/backend/mfem/mapping/data.hpp}} File containing some misc data structures for the mapping module. This was the very first file I ported over from Mean\+Field and I think because of that its organization is actually quite wonky. For one its int this poorly named "{}data"{} file, which could mean any number of things. Regardless, these are basically low leval containers for useful stuff and also some scratch workspaces for mapping operations. {\ttfamily \#include "{}mfem/fem/fe/fe\+\_\+base.\+hpp"{}}\newline {\ttfamily \#include "{}mfem/fem/fespace.\+hpp"{}}\newline {\ttfamily \#include "{}mfem/linalg/vector.\+hpp"{}}\newline {\ttfamily \#include "{}mfem/linalg/densemat.\+hpp"{}}\newline {\ttfamily \#include "{}mfem/mesh/mesh.\+hpp"{}}\newline {\ttfamily \#include $<$cstdint$>$}\newline {\ttfamily \#include "{}serif/backend/mfem/mapping/compactification/kelvin.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/mapping/context.\+hpp"{}}\newline {\ttfamily \#include "{}serif/backend/mfem/mapping/data.\+hpp"{}}\newline Include dependency graph for data.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{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]{data_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1mapping_1_1_element_displacement_data}{serif\+::mapping\+::\+Element\+Displacement\+Data}} \begin{DoxyCompactList}\small\item\em A class representing the displacement data for a finite element, including the finite element, degree of freedom matrix, and dimension. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1mapping_1_1_compactification_point_data}{serif\+::mapping\+::\+Compactification\+Point\+Data}} \begin{DoxyCompactList}\small\item\em A structure representing the compactification point data, including the compactification coordinate and coordinate gradient. \end{DoxyCompactList}\item class \mbox{\hyperlink{classserif_1_1mapping_1_1_element_compactification_data}{serif\+::mapping\+::\+Element\+Compactification\+Data}} \begin{DoxyCompactList}\small\item\em A class representing the compactification data for a finite element, including the finite element and degrees of freedom. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1mapping_1_1_element_mapping_data}{serif\+::mapping\+::\+Element\+Mapping\+Data}} \item class \mbox{\hyperlink{classserif_1_1mapping_1_1_d_m_workspace}{serif\+::mapping\+::\+DMWorkspace}} \begin{DoxyCompactList}\small\item\em A class representing a workspace for displacement mapping operations, including various vectors and matrices used in the mapping process. primarily this is just a separate class so we can more easily make this code thread-\/safe in the future. At construction of an instance of this class loads of Heap allocation is done (or really whatever mfem does internally for allocation for vector which dependents on the selected device) and then that allocation can be reused. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1mapping_1_1_d_m_fixed_mesh_geometry}{serif\+::mapping\+::\+DMFixed\+Mesh\+Geometry}} \begin{DoxyCompactList}\small\item\em A structure representing the fixed mesh geometry at a specific point, including position, Jacobian, inverse Jacobian, and weight. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1mapping_1_1_d_m_reference_displacement_sample}{serif\+::mapping\+::\+DMReference\+Displacement\+Sample}} \begin{DoxyCompactList}\small\item\em A structure representing a sample of the reference displacement, including the value and gradient of the displacement at a specific point. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1mapping}{serif\+::mapping}} \end{DoxyCompactItemize} \doxysubsubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum class \mbox{\hyperlink{namespaceserif_1_1mapping_ab6598ecc4776dc488540df0614e1e560}{serif\+::mapping\+::\+Face\+Element\+Side}} \+: uint8\+\_\+t \{ \mbox{\hyperlink{namespaceserif_1_1mapping_ab6598ecc4776dc488540df0614e1e560a589425fc56eb03218b1af97890453405}{serif\+::mapping\+::\+ELEMENT\+\_\+1}} , \mbox{\hyperlink{namespaceserif_1_1mapping_ab6598ecc4776dc488540df0614e1e560ac9c067c94697dcb6cd7511c238bfe20c}{serif\+::mapping\+::\+ELEMENT\+\_\+2}} \} \begin{DoxyCompactList}\small\item\em An enumeration representing the side of a face element, either ELEMENT\+\_\+1 or ELEMENT\+\_\+2. There is no inherent ordering to these; however, broadly I have been thinking about ELEMENT\+\_\+1 as the "{}inner"{} side and ELEMENT\+\_\+2 as the "{}outer"{} side. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classserif_1_1mapping_1_1_element_displacement_data}{Element\+Displacement\+Data}} \mbox{\hyperlink{namespaceserif_1_1mapping_a89488756ce19ff5351dfbeb4235849c3}{serif\+::mapping\+::element\+\_\+displacement\+\_\+data\+\_\+from\+\_\+element\+\_\+vdofs}} (const mfem\+::\+Finite\+Element \&element, mfem\+::\+Vector \&displacement\+\_\+dofs) \begin{DoxyCompactList}\small\item\em Creates an \doxylink{classserif_1_1mapping_1_1_element_displacement_data}{Element\+Displacement\+Data} object from a finite element and a vector of displacement degrees of freedom. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} File containing some misc data structures for the mapping module. This was the very first file I ported over from Mean\+Field and I think because of that its organization is actually quite wonky. For one its int this poorly named "{}data"{} file, which could mean any number of things. Regardless, these are basically low leval containers for useful stuff and also some scratch workspaces for mapping operations. \begin{DoxyAuthor}{Author} Emily M. Boudreaux \end{DoxyAuthor} \begin{DoxyRefDesc}{Todo} \item[\mbox{\hyperlink{todo__todo000013}{Todo}}]As said above there is some refactoring to make this cleaner which could happen. \end{DoxyRefDesc}