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)
69 lines
5.1 KiB
TeX
69 lines
5.1 KiB
TeX
\doxysection{src/include/serif/discretization/forms/operands.hpp File Reference}
|
|
\hypertarget{operands_8hpp}{}\label{operands_8hpp}\index{src/include/serif/discretization/forms/operands.hpp@{src/include/serif/discretization/forms/operands.hpp}}
|
|
|
|
|
|
This file defines the Operand type, which represents a term and an operation to be applied to that term in the context of a form.
|
|
|
|
|
|
{\ttfamily \#include $<$concepts$>$}\newline
|
|
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
|
|
{\ttfamily \#include "{}serif/discretization/blocks/concepts.\+hpp"{}}\newline
|
|
Include dependency graph for operands.\+hpp\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{operands_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]{operands_8hpp__dep__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Classes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1discretization_1_1forms_1_1_operation}{serif\+::discretization\+::forms\+::\+Operation}}
|
|
\begin{DoxyCompactList}\small\item\em The \doxylink{structserif_1_1discretization_1_1forms_1_1_operation}{Operation} struct defines a set of operations that can be applied to terms in the context of a form. These operations include value, gradient, divergence, curl, and normal trace. Similar to the statement I made at the top of \doxylink{forms_8hpp}{forms.\+hpp}, if you are a developer looking to extend the mathematical capabilities of SERiF this is a place you should be looking early on. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1discretization_1_1forms_1_1_operation_1_1_value}{serif\+::discretization\+::forms\+::\+Operation\+::\+Value}}
|
|
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1discretization_1_1forms_1_1_operation}{Operation} tag for evaluating a value. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1discretization_1_1forms_1_1_operation_1_1_gradient}{serif\+::discretization\+::forms\+::\+Operation\+::\+Gradient}}
|
|
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1discretization_1_1forms_1_1_operation}{Operation} tag for evaluating a gradient. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1discretization_1_1forms_1_1_operation_1_1_divergence}{serif\+::discretization\+::forms\+::\+Operation\+::\+Divergence}}
|
|
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1discretization_1_1forms_1_1_operation}{Operation} tag for evaluating a divergence. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1discretization_1_1forms_1_1_operation_1_1_curl}{serif\+::discretization\+::forms\+::\+Operation\+::\+Curl}}
|
|
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1discretization_1_1forms_1_1_operation}{Operation} tag for evaluating a curl. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1discretization_1_1forms_1_1_operation_1_1_normal_trace}{serif\+::discretization\+::forms\+::\+Operation\+::\+Normal\+Trace}}
|
|
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1discretization_1_1forms_1_1_operation}{Operation} tag for evaluating the normal flux along a boundary. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1discretization_1_1forms_1_1_operand}{serif\+::discretization\+::forms\+::\+Operand$<$ Term\+T, Operation\+T $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Compile time representation of some operand. An operand associates a term to an operation type (e.\+g. the gradient of gravitational potential where gravitational potential is the term and gradient is the operation). \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Namespaces}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif}{serif}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1discretization}{serif\+::discretization}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1discretization_1_1forms}{serif\+::discretization\+::forms}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Concepts}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1forms_1_1_is_operation}{serif\+::discretization\+::forms\+::\+Is\+Operation}}
|
|
\item
|
|
concept \mbox{\hyperlink{conceptserif_1_1discretization_1_1forms_1_1_is_operand}{serif\+::discretization\+::forms\+::\+Is\+Operand}}
|
|
\begin{DoxyCompactList}\small\item\em Concept to validate a valid operand. An operand is valid if the following conditions are satisfied. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
|
|
|
|
\doxysubsection{Detailed Description}
|
|
This file defines the Operand type, which represents a term and an operation to be applied to that term in the context of a form.
|
|
|
|
\begin{DoxyAuthor}{Author}
|
|
Emily M. Boudreaux
|
|
\end{DoxyAuthor}
|
|
An Operand is a compile-\/time type that encapsulates a term and an operation to be applied to that term. The operation can be one of several predefined operations, such as value, gradient, divergence, curl, or normal trace. The Operand type is used in the definition of forms to specify the terms and operations involved in the form.
|