Commit e2d88a3b authored by Mike Kirby's avatar Mike Kirby

mike update on various things

parent 14a885fd
%
\section{The Fundamental Data Structures within LocalRegions}
As mentioned earlier, in almost all object-oriented languages (which includes $C++$), there exists the concepts of {\em class attributes} and {\em object attributes}. For a summary of attributes and access patterns, please review Section \ref{sec:stdregions-datastructures}.
Within the LocalRegions directory of the library, there exists a class inheritance hierarchy designed to try to encourage re-use of core
algorithms (while simultaneously trying to minimize duplication of code). We present this class hierarchy in Figure \ref{localregions:localclasstree}.
\begin{figure}[htb]
\centering
\includegraphics[width=6in]{img/LocalExpansion.png}
\caption{Figure 1}
\label{localregions:localexpansion:stdexpansion}
\includegraphics[width=6in]{img/expansiontree.pdf}
\caption{Class hierarchy derived from Expansion, the base class of the LocalRegions Directory.}
\label{localregions:localclasstree}
\end{figure}
As is seen in Figure \ref{stdregions:localclasstree}, the LocalRegions hierarchy consists of three levels: the base level from which all
LocalRegion objects are derived is Expansion. This object is then specialized by dimension, yielding Expansion0D,
Expansion1D, Expansion2D and Expansion3D. The dimension-specific objects are then specialized based upon
shape.
The object attributes (variables) at various levels of the hierarchy can be understood in light of Figure \ref{stdregions:stdexpansion}.
At its core, an expansion is a means of representing a function over a world-space region evaluated at a collection of point positions.
The various data members hold information to allow all these basic building blocks to be specified. Many of the attributes are
inherited from StdRegions as they are not unique to LocalRegions; however, each LocalRegion Expansion is uniquely defined based
upon its geometric factors (which it stores via SpatialDomain information).
\begin{figure}[htb]
\centering
\includegraphics[width=6in]{img/expansiontree.pdf}
\caption{Figure local regions tree}
\label{localregions:localclasstree}
\end{figure}
\ No newline at end of file
\includegraphics[width=6in]{img/LocalExpansion.png}
\caption{Diagram to help understand the various data members (object attributes) contained within LocalRegions and how they connect with the mathematical representation presented earlier. Recall that a LocalRegion {\em is-a} StdRegion and {\em has-a} SpatialDomain.}
\label{localregions:localexpansion:stdexpansion}
\end{figure}
The various private, protected and public data members contained within LocalRegions are provided in the subsequent sections.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Variables at the Level of Expansion}
\paragraph{Private:}
\paragraph{Protected:}
\paragraph{Public:}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Variables at the Level of Expansion\$D for various Dimensions}
\paragraph{Private:}
\paragraph{Protected:}
\paragraph{Public:}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Variables at the Level of Shape-Specific Expansions}
\paragraph{Private:}
\paragraph{Protected:}
\paragraph{Public:}
%
\section{The Fundamentals Behind LocalRegions}
The idea behind local regions is strongly connected to that of standard regions, but from the top-down perspective. As an example: in standard regions, we only had to consider one type of triangle, the one that is straight-sided, right-angled, and whose principle horizontal and vertical sides where aligned with the coordinate axes. Of course, meshes of elements consist of elements that may are may not be right-angled, planar-sided, etc. The starting point for us is the question of how to build build basis functions that exist of a {\em world-space} element -- that is, an element whose vertex positions lie in the engineering (PDE) coordinate system of interest. Such an expansion is a local region. In {\nek}, each local region {\em is-a} standard region and {\em has-a} spatial domain data structure. The local region inherits common expansion methods from its standard region parent, and it uses its spatial domain information to specialize its operators to its local coordinate system.
\ No newline at end of file
The idea behind local regions is strongly connected to that of standard regions, but from the top-down perspective. As an example: in standard regions, we only had to consider one type of triangle, the one that is straight-sided, right-angled, and whose principle horizontal and vertical sides where aligned with the coordinate axes. Of course, meshes of elements consist of elements that may are may not be right-angled, planar-sided, etc. The starting point for us is the question of how to build build basis functions that exist of a {\em world-space} element -- that is, an element whose vertex positions lie in the engineering (PDE) coordinate system of interest. Such an expansion is a local region. In {\nek}, each local region {\em is-a} standard region and {\em has-a} spatial domain data structure. The local region inherits common expansion methods from its standard region parent, and it uses its spatial domain information to specialize its operators to its local coordinate system.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment