\doxysection{Gas\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{class_gas}{}\label{class_gas}\index{Gas$<$ T $>$@{Gas$<$ T $>$}}


Class representing a \doxylink{class_gas}{Gas} with properties such as density, temperature, molar mass, and speed.  




{\ttfamily \#include $<$Gas.\+h$>$}

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_gas_a1d4cde725515ac20ff04e029c4e7bfcc}{Gas}} ()
\begin{DoxyCompactList}\small\item\em Default constructor for the \doxylink{class_gas}{Gas} class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_gas_ac05d52f693562a878831e07021d1cc0c}{Gas}} (T density, T temperature, T molar\+\_\+mass, T speed)
\begin{DoxyCompactList}\small\item\em Parameterized constructor for the \doxylink{class_gas}{Gas} class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_gas_af84e4c03c584648deb3f88839deb941b}{Gas}} (const \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$ \&other)
\begin{DoxyCompactList}\small\item\em Copy constructor for the \doxylink{class_gas}{Gas} class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_gas_a5412a381824c93d8fb0413d1fb811880}{Gas}} (\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$ \&\&other)
\begin{DoxyCompactList}\small\item\em Move constructor for the \doxylink{class_gas}{Gas} class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_gas_ab225fbaed0c92f740bb2680d9a3750f5}{\texorpdfstring{$\sim$}{\string~}\+Gas}} ()
\begin{DoxyCompactList}\small\item\em Destructor for the \doxylink{class_gas}{Gas} class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_gas}{Gas}} \& \mbox{\hyperlink{class_gas_af7aac37d50ef59e5ad35945d89f7fa6c}{operator=}} (const \mbox{\hyperlink{class_gas}{Gas}} \&other)
\begin{DoxyCompactList}\small\item\em Copy assignment operator for the \doxylink{class_gas}{Gas} class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_gas}{Gas}} \& \mbox{\hyperlink{class_gas_ac08925b4dfb0f3225213bd4496453529}{operator=}} (\mbox{\hyperlink{class_gas}{Gas}} \&\&other)
\begin{DoxyCompactList}\small\item\em Move assignment operator for the \doxylink{class_gas}{Gas} class. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \mbox{\hyperlink{class_gas_aa8987a9d4cc3e28e5ae19c8c341d3b06}{get\+\_\+thermal\+\_\+velocity}} ()
\begin{DoxyCompactList}\small\item\em Computes the thermal velocity of the gas in three dimensions. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_gas_aae9cf3b82b2eeb0b9ed96e2c973920cb}{get\+\_\+temperature}} () const
\begin{DoxyCompactList}\small\item\em Returns the temperature of the gas. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_gas_a7d97eadcb351e8d7d1043771712917fe}{get\+\_\+density}} () const
\begin{DoxyCompactList}\small\item\em Returns the density of the gas. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_gas_a6bd15f51e80e57db68a0b8763b800fb7}{get\+\_\+molar\+\_\+mass}} () const
\begin{DoxyCompactList}\small\item\em Returns the molar mass of the gas. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_gas_ae17c7893c96ce081e42e19a9a62abdfb}{get\+\_\+speed}} () const
\begin{DoxyCompactList}\small\item\em Returns the speed of the gas. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\newline
class Gas$<$ T $>$}
Class representing a \doxylink{class_gas}{Gas} with properties such as density, temperature, molar mass, and speed. 

This class models the behavior of a gas and provides methods to calculate gas properties such as thermal velocity.


\begin{DoxyTemplParams}{Template Parameters}
{\em T} & The data type used for gas properties (e.\+g., float, double). \\
\hline
\end{DoxyTemplParams}


\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{class_gas_a1d4cde725515ac20ff04e029c4e7bfcc}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!Gas@{Gas}}
\index{Gas@{Gas}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Gas()}{Gas()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \label{class_gas_a1d4cde725515ac20ff04e029c4e7bfcc} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\mbox{\hyperlink{class_gas}{\+::\+Gas}} (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Default constructor for the \doxylink{class_gas}{Gas} class. 

Initializes the gas properties to zero. \Hypertarget{class_gas_ac05d52f693562a878831e07021d1cc0c}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!Gas@{Gas}}
\index{Gas@{Gas}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Gas()}{Gas()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \label{class_gas_ac05d52f693562a878831e07021d1cc0c} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\mbox{\hyperlink{class_gas}{\+::\+Gas}} (\begin{DoxyParamCaption}\item[{T}]{density}{, }\item[{T}]{temperature}{, }\item[{T}]{molar\+\_\+mass}{, }\item[{T}]{speed}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Parameterized constructor for the \doxylink{class_gas}{Gas} class. 

Initializes the gas properties with specified values.


\begin{DoxyParams}{Parameters}
{\em density} & Initial density of the gas. \\
\hline
{\em temperature} & Initial temperature of the gas. \\
\hline
{\em molar\+\_\+mass} & Initial molar mass of the gas. \\
\hline
{\em speed} & Initial speed of the gas. \\
\hline
\end{DoxyParams}
\Hypertarget{class_gas_af84e4c03c584648deb3f88839deb941b}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!Gas@{Gas}}
\index{Gas@{Gas}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Gas()}{Gas()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \label{class_gas_af84e4c03c584648deb3f88839deb941b} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\mbox{\hyperlink{class_gas}{\+::\+Gas}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Copy constructor for the \doxylink{class_gas}{Gas} class. 

Initializes a new gas object by copying properties from another gas object.


\begin{DoxyParams}{Parameters}
{\em other} & The gas object to copy from. \\
\hline
\end{DoxyParams}
\Hypertarget{class_gas_a5412a381824c93d8fb0413d1fb811880}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!Gas@{Gas}}
\index{Gas@{Gas}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Gas()}{Gas()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \label{class_gas_a5412a381824c93d8fb0413d1fb811880} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\mbox{\hyperlink{class_gas}{\+::\+Gas}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$ \&\&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Move constructor for the \doxylink{class_gas}{Gas} class. 

Initializes a new gas object by moving properties from another gas object. The source object is reset to zero after the move.


\begin{DoxyParams}{Parameters}
{\em other} & The gas object to move from. \\
\hline
\end{DoxyParams}
\Hypertarget{class_gas_ab225fbaed0c92f740bb2680d9a3750f5}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!````~Gas@{\texorpdfstring{$\sim$}{\string~}Gas}}
\index{````~Gas@{\texorpdfstring{$\sim$}{\string~}Gas}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}Gas()}{\string~Gas()}}
{\footnotesize\ttfamily \label{class_gas_ab225fbaed0c92f740bb2680d9a3750f5} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::\texorpdfstring{$\sim$}{\string~}\mbox{\hyperlink{class_gas}{Gas}} (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Destructor for the \doxylink{class_gas}{Gas} class. 

Resets the gas properties to zero. 

\doxysubsection{Member Function Documentation}
\Hypertarget{class_gas_a7d97eadcb351e8d7d1043771712917fe}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!get\_density@{get\_density}}
\index{get\_density@{get\_density}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_density()}{get\_density()}}
{\footnotesize\ttfamily \label{class_gas_a7d97eadcb351e8d7d1043771712917fe} 
template$<$typename T $>$ \\
T \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::get\+\_\+density (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the density of the gas. 

\begin{DoxyReturn}{Returns}
T The current density of the gas. 
\end{DoxyReturn}
\Hypertarget{class_gas_a6bd15f51e80e57db68a0b8763b800fb7}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!get\_molar\_mass@{get\_molar\_mass}}
\index{get\_molar\_mass@{get\_molar\_mass}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_molar\_mass()}{get\_molar\_mass()}}
{\footnotesize\ttfamily \label{class_gas_a6bd15f51e80e57db68a0b8763b800fb7} 
template$<$typename T $>$ \\
T \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::get\+\_\+molar\+\_\+mass (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the molar mass of the gas. 

\begin{DoxyReturn}{Returns}
T The current molar mass of the gas. 
\end{DoxyReturn}
\Hypertarget{class_gas_ae17c7893c96ce081e42e19a9a62abdfb}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!get\_speed@{get\_speed}}
\index{get\_speed@{get\_speed}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_speed()}{get\_speed()}}
{\footnotesize\ttfamily \label{class_gas_ae17c7893c96ce081e42e19a9a62abdfb} 
template$<$typename T $>$ \\
T \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::get\+\_\+speed (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the speed of the gas. 

\begin{DoxyReturn}{Returns}
T The current speed of the gas. 
\end{DoxyReturn}
\Hypertarget{class_gas_aae9cf3b82b2eeb0b9ed96e2c973920cb}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!get\_temperature@{get\_temperature}}
\index{get\_temperature@{get\_temperature}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_temperature()}{get\_temperature()}}
{\footnotesize\ttfamily \label{class_gas_aae9cf3b82b2eeb0b9ed96e2c973920cb} 
template$<$typename T $>$ \\
T \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::get\+\_\+temperature (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the temperature of the gas. 

\begin{DoxyReturn}{Returns}
T The current temperature of the gas. 
\end{DoxyReturn}
\Hypertarget{class_gas_aa8987a9d4cc3e28e5ae19c8c341d3b06}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!get\_thermal\_velocity@{get\_thermal\_velocity}}
\index{get\_thermal\_velocity@{get\_thermal\_velocity}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_thermal\_velocity()}{get\_thermal\_velocity()}}
{\footnotesize\ttfamily \label{class_gas_aa8987a9d4cc3e28e5ae19c8c341d3b06} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::get\+\_\+thermal\+\_\+velocity (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Computes the thermal velocity of the gas in three dimensions. 

Computes the thermal velocity of the gas.

This function generates random velocities in the x, y, and z directions based on a normal distribution and the temperature and molar mass of the gas.

\begin{DoxyReturn}{Returns}
Matrix$<$\+T$>$ A 3x1 matrix containing the thermal velocity components (v\+\_\+x, v\+\_\+y, v\+\_\+z).
\end{DoxyReturn}
This function generates random thermal velocities in the x, y, and z directions using a normal distribution based on the gas temperature and molar mass.

\begin{DoxyReturn}{Returns}
Matrix$<$\+T$>$ A 3x1 matrix containing the thermal velocity components (v\+\_\+x, v\+\_\+y, v\+\_\+z). 
\end{DoxyReturn}
\Hypertarget{class_gas_af7aac37d50ef59e5ad35945d89f7fa6c}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!operator=@{operator=}}
\index{operator=@{operator=}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_gas_af7aac37d50ef59e5ad35945d89f7fa6c} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_gas}{Gas}} \& \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Copy assignment operator for the \doxylink{class_gas}{Gas} class. 

Copies the properties from another gas object.


\begin{DoxyParams}{Parameters}
{\em other} & The gas object to copy from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{class_gas}{Gas}\& Reference to the current gas object. 
\end{DoxyReturn}
\Hypertarget{class_gas_ac08925b4dfb0f3225213bd4496453529}\index{Gas$<$ T $>$@{Gas$<$ T $>$}!operator=@{operator=}}
\index{operator=@{operator=}!Gas$<$ T $>$@{Gas$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_gas_ac08925b4dfb0f3225213bd4496453529} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_gas}{Gas}} \& \mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_gas}{Gas}}$<$ T $>$ \&\&}]{other}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Move assignment operator for the \doxylink{class_gas}{Gas} class. 

Moves the properties from another gas object, and resets the source object to zero.


\begin{DoxyParams}{Parameters}
{\em other} & The gas object to move from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{class_gas}{Gas}\& Reference to the current gas object. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/Gas.\+h\end{DoxyCompactItemize}
