Files
MeanField_SERiF/docs/latex/dimensions_8hpp.tex
Emily Boudreaux 6b57738330 docs(docs): built docs
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)
2026-11-09 14:09:44 -05:00

129 lines
13 KiB
TeX

\doxysection{src/include/serif/dimensions/dimensions.hpp File Reference}
\hypertarget{dimensions_8hpp}{}\label{dimensions_8hpp}\index{src/include/serif/dimensions/dimensions.hpp@{src/include/serif/dimensions/dimensions.hpp}}
File containing prue dimensions. Note that this is not intended to be (nor does it have the capability to be) a general dimensional analysis library. There is no understanding here that, for example, a dimension of length\texorpdfstring{$^\wedge$}{\string^}2 is an area. Rather, the purpose of this is to force developers to be explicit about what values they are passing to what functions. Further, most of this system is built to be compile time constant. This means that the compiler can still apply many optimizations. Note that the dimensions here do not contain a value, rather these are {\itshape just} the concept of a dimension. To store a value you must use a Quantity and Quantity\+Value.
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include "{}serif/dimensions/quantities.\+hpp"{}}\newline
Include dependency graph for dimensions.\+hpp\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dimensions_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]{dimensions_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_dimensionless}{serif\+::dimensions\+::\+Dimensionless}}
\begin{DoxyCompactList}\small\item\em Non dimensional type. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_mass}{serif\+::dimensions\+::\+Mass}}
\begin{DoxyCompactList}\small\item\em Dimension of mass. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_length}{serif\+::dimensions\+::\+Length}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_length}{Length}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_time}{serif\+::dimensions\+::\+Time}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_time}{Time}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_inverse_time_squared}{serif\+::dimensions\+::\+Inverse\+Time\+Squared}}
\begin{DoxyCompactList}\small\item\em Inverse time squared, the physical dimension of a Poisson residual. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_mass_density_rate}{serif\+::dimensions\+::\+Mass\+Density\+Rate}}
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1dimensions_1_1_mass}{Mass} density divided by time,. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_force_density}{serif\+::dimensions\+::\+Force\+Density}}
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1dimensions_1_1_force}{Force} per unit volume. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_pressure_laplacian}{serif\+::dimensions\+::\+Pressure\+Laplacian}}
\begin{DoxyCompactList}\small\item\em \doxylink{structserif_1_1dimensions_1_1_pressure}{Pressure} divided by length squared. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_gravitational_constant}{serif\+::dimensions\+::\+Gravitational\+Constant}}
\begin{DoxyCompactList}\small\item\em Newton\textquotesingle{}s gravitational constant, expressed in the selected system of units. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_area}{serif\+::dimensions\+::\+Area}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_area}{Area}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_volume}{serif\+::dimensions\+::\+Volume}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_volume}{Volume}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_mass_density}{serif\+::dimensions\+::\+Mass\+Density}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_mass}{Mass} Density. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_number_density}{serif\+::dimensions\+::\+Number\+Density}}
\begin{DoxyCompactList}\small\item\em Dimension of Number Density. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_pressure}{serif\+::dimensions\+::\+Pressure}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_pressure}{Pressure}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_temperature}{serif\+::dimensions\+::\+Temperature}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_temperature}{Temperature}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_entropy}{serif\+::dimensions\+::\+Entropy}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_entropy}{Entropy}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_specific_entropy}{serif\+::dimensions\+::\+Specific\+Entropy}}
\begin{DoxyCompactList}\small\item\em Dimension of Specific \doxylink{structserif_1_1dimensions_1_1_entropy}{Entropy}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_chemical_potential}{serif\+::dimensions\+::\+Chemical\+Potential}}
\begin{DoxyCompactList}\small\item\em Dimension of Chemical Potential. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_energy}{serif\+::dimensions\+::\+Energy}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_energy}{Energy}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_internal_energy}{serif\+::dimensions\+::\+Internal\+Energy}}
\begin{DoxyCompactList}\small\item\em Dimension of Internal \doxylink{structserif_1_1dimensions_1_1_energy}{Energy}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_specific_energy}{serif\+::dimensions\+::\+Specific\+Energy}}
\begin{DoxyCompactList}\small\item\em Dimension of Specific \doxylink{structserif_1_1dimensions_1_1_energy}{Energy}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_specific_internal_energy}{serif\+::dimensions\+::\+Specific\+Internal\+Energy}}
\begin{DoxyCompactList}\small\item\em Dimension of Specific Internal \doxylink{structserif_1_1dimensions_1_1_energy}{Energy}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_specific_enthalpy}{serif\+::dimensions\+::\+Specific\+Enthalpy}}
\begin{DoxyCompactList}\small\item\em Dimension of Specific Enthalpy. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_barotropic_pressure_potential}{serif\+::dimensions\+::\+Barotropic\+Pressure\+Potential}}
\begin{DoxyCompactList}\small\item\em The barotropic pressure primitive A with d\+A/density = (d\+P/density)/density. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_energy_density}{serif\+::dimensions\+::\+Energy\+Density}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_energy}{Energy} Density. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_gravitational_potential}{serif\+::dimensions\+::\+Gravitational\+Potential}}
\begin{DoxyCompactList}\small\item\em Dimension of Gravitational Potential. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_velocity}{serif\+::dimensions\+::\+Velocity}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_velocity}{Velocity}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_acceleration}{serif\+::dimensions\+::\+Acceleration}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_acceleration}{Acceleration}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_frequency}{serif\+::dimensions\+::\+Frequency}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_frequency}{Frequency}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_angular_velocity}{serif\+::dimensions\+::\+Angular\+Velocity}}
\begin{DoxyCompactList}\small\item\em Dimension of Angular \doxylink{structserif_1_1dimensions_1_1_velocity}{Velocity}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_angular_acceleration}{serif\+::dimensions\+::\+Angular\+Acceleration}}
\begin{DoxyCompactList}\small\item\em Angular acceleration, distinct from angular velocity despite sharing its chosen axis. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_momentum}{serif\+::dimensions\+::\+Momentum}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_momentum}{Momentum}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_angular_momentum}{serif\+::dimensions\+::\+Angular\+Momentum}}
\begin{DoxyCompactList}\small\item\em Dimension of Angular \doxylink{structserif_1_1dimensions_1_1_momentum}{Momentum}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_moment_of_inertia}{serif\+::dimensions\+::\+Moment\+Of\+Inertia}}
\begin{DoxyCompactList}\small\item\em Dimension of Moment Of Inertia. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_force}{serif\+::dimensions\+::\+Force}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_force}{Force}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_torque}{serif\+::dimensions\+::\+Torque}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_torque}{Torque}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_power}{serif\+::dimensions\+::\+Power}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_power}{Power}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_luminosity}{serif\+::dimensions\+::\+Luminosity}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_luminosity}{Luminosity}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_mass_flow_rate}{serif\+::dimensions\+::\+Mass\+Flow\+Rate}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_mass}{Mass} Flow Rate. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_opacity}{serif\+::dimensions\+::\+Opacity}}
\begin{DoxyCompactList}\small\item\em Dimension of \doxylink{structserif_1_1dimensions_1_1_opacity}{Opacity}. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_dynamic_viscosity}{serif\+::dimensions\+::\+Dynamic\+Viscosity}}
\begin{DoxyCompactList}\small\item\em Dimension of Dynamic Viscosity. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_kinematic_viscosity}{serif\+::dimensions\+::\+Kinematic\+Viscosity}}
\begin{DoxyCompactList}\small\item\em Dimension of Kinematic Viscosity. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1dimensions_1_1_magnetic_flux_density}{serif\+::dimensions\+::\+Magnetic\+Flux\+Density}}
\begin{DoxyCompactList}\small\item\em Dimension of Magnetic Flux Density. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1dimensions}{serif\+::dimensions}}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
File containing prue dimensions. Note that this is not intended to be (nor does it have the capability to be) a general dimensional analysis library. There is no understanding here that, for example, a dimension of length\texorpdfstring{$^\wedge$}{\string^}2 is an area. Rather, the purpose of this is to force developers to be explicit about what values they are passing to what functions. Further, most of this system is built to be compile time constant. This means that the compiler can still apply many optimizations. Note that the dimensions here do not contain a value, rather these are {\itshape just} the concept of a dimension. To store a value you must use a Quantity and Quantity\+Value.
\begin{DoxyAuthor}{Author}
Emily M. Boudreaux
\end{DoxyAuthor}