\hypertarget{group__LokaleMatrizenClass}{\section{Lokale\-Matrizen\-Class}
\label{group__LokaleMatrizenClass}\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}}
}


Verwaltung Elementmatrizen der F\-E\-M.  


\subsection*{Datentypen}
\begin{DoxyCompactItemize}
\item 
module \hyperlink{classlokalematrizenclass}{lokalematrizenclass}
\item 
type \hyperlink{structlokalematrizenclass_1_1lokalematrizen__t}{lokalematrizenclass\-::lokalematrizen\-\_\-t}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1operator_07_09_08}{lokalematrizenclass\-::operator(+)}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1neu}{lokalematrizenclass\-::neu}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1setze}{lokalematrizenclass\-::setze}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1nullifiziere}{lokalematrizenclass\-::nullifiziere}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1mass}{lokalematrizenclass\-::mass}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1force}{lokalematrizenclass\-::force}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1stiff}{lokalematrizenclass\-::stiff}
\item 
interface \hyperlink{interfacelokalematrizenclass_1_1schuettlematrizen}{lokalematrizenclass\-::schuettlematrizen}
\end{DoxyCompactItemize}
\subsection*{Funktionen/\-Unterroutinen}
\begin{DoxyCompactItemize}
\item 
T\-Y\-P\-E(\hyperlink{structLokaleMatrizen__t}{Lokale\-Matrizen\-\_\-t}) function \hyperlink{group__LokaleMatrizenClass_ga82d08b93abd789797067d47f642c1340}{lokalematrizenclass\-::operator(+)\-::addiere} (this, L\-M2)
\begin{DoxyCompactList}\small\item\em addiert zwei Lokale\-Matrizen indem die einzelenen Arrays (F\-O\-R\-C\-E, S\-T\-I\-F\-F, M\-A\-S\-S) einzeln und elementweise addiert werden \end{DoxyCompactList}\item 
subroutine \hyperlink{group__LokaleMatrizenClass_ga60fc833fea0e13f8d93699e0bda15cc8}{lokalematrizenclass\-::neu\-::setzematrizen} (this, a\-F\-O\-R\-C\-E, a\-S\-T\-I\-F\-F, a\-M\-A\-S\-S)
\begin{DoxyCompactList}\small\item\em setze\-Matrizen setzt die Systemmatrizen \end{DoxyCompactList}\item 
subroutine \hyperlink{group__LokaleMatrizenClass_gac19501293bc3b96a6b0ff0ac0baaa7a1}{lokalematrizenclass\-::neu\-::initmatrizen} (this, max\-Element\-Matrix\-Size)
\begin{DoxyCompactList}\small\item\em init\-Matrizen allokiert Speicherplatz für Systemmatrizen \end{DoxyCompactList}\item 
subroutine \hyperlink{group__LokaleMatrizenClass_ga7cfd5ffd2022ac7bdd472829223780ba}{lokalematrizenclass\-::neu\-::initmatrizenkurz} (this, dof)
\item 
subroutine \hyperlink{group__LokaleMatrizenClass_gadd0fd2c1005c27b6388cd5b36170dfa5}{lokalematrizenclass\-::setze\-::setzeaufwert} (this, wert\-F\-O\-R\-C\-E, wert\-S\-T\-I\-F\-F, wert\-M\-A\-S\-S)
\begin{DoxyCompactList}\small\item\em setze\-Auf\-Wert setzt die gesammten Matrizen auf Werte \end{DoxyCompactList}\item 
subroutine \hyperlink{group__LokaleMatrizenClass_ga0cb5f419fb00110de597b196ea8ce02b}{lokalematrizenclass\-::nullifiziere\-::nullifizierematrizen} (this)
\item 
real(kind=dp) function, \\*
dimension(\-:,\-:), pointer \hyperlink{group__LokaleMatrizenClass_ga3065cf3bb1d5451a288250f5e283af7d}{lokalematrizenclass\-::mass\-::gibmass} (this)
\begin{DoxyCompactList}\small\item\em gib\-M\-A\-S\-S gibt die Massematrix zurück \end{DoxyCompactList}\item 
real(kind=dp) function, \\*
dimension(\-:), pointer \hyperlink{group__LokaleMatrizenClass_ga8623e47d613867eb490ff21dc81178fa}{lokalematrizenclass\-::force\-::gibforce} (this)
\begin{DoxyCompactList}\small\item\em gib\-F\-O\-R\-C\-E gibt den Kraftvektor zurück \end{DoxyCompactList}\item 
real(kind=dp) function, \\*
dimension(\-:,\-:), pointer \hyperlink{group__LokaleMatrizenClass_ga59f0e560b086f6752355c5fd8f5a8127}{lokalematrizenclass\-::stiff\-::gibstiff} (this)
\begin{DoxyCompactList}\small\item\em gib\-S\-T\-I\-F\-F gibt die Steifigkeitsmatrix zurück \end{DoxyCompactList}\item 
subroutine \hyperlink{group__LokaleMatrizenClass_ga6a62a2f0e670d64e9b5cdedbe6193884}{lokalematrizenclass\-::schuettlematrizen\-::schuettleallematrizen} (this)
\item 
subroutine \hyperlink{group__LokaleMatrizenClass_ga579f25efe6240b11f5724d613bf7ac82}{lokalematrizenclass\-::initmatrizenkurz} (this, dof)
\end{DoxyCompactItemize}


\subsection{Ausführliche Beschreibung}
Verwaltung Elementmatrizen der F\-E\-M. Diese Elementmatrizen werden in einem Type gesammelt und geschlossen behandelt. Dazu stellt diese K\-Lasse diverse Funktionen bereit um Matrizen zu manipulieren. 

\subsection{Funktionen/\-Unterroutinen-\/\-Dokumentation}
\hypertarget{group__LokaleMatrizenClass_ga82d08b93abd789797067d47f642c1340}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!addiere@{addiere}}
\index{addiere@{addiere}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{addiere}]{\setlength{\rightskip}{0pt plus 5cm}T\-Y\-P\-E({\bf Lokale\-Matrizen\-\_\-t}) function lokalematrizenclass\-::operator(+)\-::addiere (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(in)}]{this, }
\item[{type({\bf lokalematrizen\-\_\-t}), intent(in)}]{L\-M2}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga82d08b93abd789797067d47f642c1340}


addiert zwei Lokale\-Matrizen indem die einzelenen Arrays (F\-O\-R\-C\-E, S\-T\-I\-F\-F, M\-A\-S\-S) einzeln und elementweise addiert werden 



Hier ist ein Graph, der zeigt, was diese Funktion aufruft\-:




Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird\-:


\hypertarget{group__LokaleMatrizenClass_ga8623e47d613867eb490ff21dc81178fa}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!gibforce@{gibforce}}
\index{gibforce@{gibforce}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{gibforce}]{\setlength{\rightskip}{0pt plus 5cm}real(kind=dp) function, dimension(\-:), pointer lokalematrizenclass\-::force\-::gibforce (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(in)}]{this}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga8623e47d613867eb490ff21dc81178fa}


gib\-F\-O\-R\-C\-E gibt den Kraftvektor zurück 



Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird\-:


\hypertarget{group__LokaleMatrizenClass_ga3065cf3bb1d5451a288250f5e283af7d}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!gibmass@{gibmass}}
\index{gibmass@{gibmass}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{gibmass}]{\setlength{\rightskip}{0pt plus 5cm}real(kind=dp) function, dimension(\-:,\-:), pointer lokalematrizenclass\-::mass\-::gibmass (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(in)}]{this}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga3065cf3bb1d5451a288250f5e283af7d}


gib\-M\-A\-S\-S gibt die Massematrix zurück 



Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird\-:


\hypertarget{group__LokaleMatrizenClass_ga59f0e560b086f6752355c5fd8f5a8127}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!gibstiff@{gibstiff}}
\index{gibstiff@{gibstiff}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{gibstiff}]{\setlength{\rightskip}{0pt plus 5cm}real(kind=dp) function, dimension(\-:,\-:), pointer lokalematrizenclass\-::stiff\-::gibstiff (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(in)}]{this}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga59f0e560b086f6752355c5fd8f5a8127}


gib\-S\-T\-I\-F\-F gibt die Steifigkeitsmatrix zurück 


\begin{DoxyParams}[1]{Parameter}
\mbox{\tt in}  & {\em this} & \hyperlink{structLokaleMatrizen__t}{Lokale\-Matrizen\-\_\-t}\-:\-: this Returns R\-E\-A\-L(K\-I\-N\-D=dp), D\-I\-M\-E\-N\-S\-I\-O\-N(S\-H\-A\-P\-E(\-S\-T\-I\-F\-F) \\
\hline
\end{DoxyParams}


Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird\-:


\hypertarget{group__LokaleMatrizenClass_gac19501293bc3b96a6b0ff0ac0baaa7a1}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!initmatrizen@{initmatrizen}}
\index{initmatrizen@{initmatrizen}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{initmatrizen}]{\setlength{\rightskip}{0pt plus 5cm}subroutine lokalematrizenclass\-::neu\-::initmatrizen (
\begin{DoxyParamCaption}
\item[{type( {\bf lokalematrizen\-\_\-t} ), intent(inout)}]{this, }
\item[{integer, dimension(2), intent(in)}]{max\-Element\-Matrix\-Size}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_gac19501293bc3b96a6b0ff0ac0baaa7a1}


init\-Matrizen allokiert Speicherplatz für Systemmatrizen 

Um Types mit dynamische gro0en Elementen+ zu erzeugen ist es nötig P\-O\-I\-N\-T\-E\-R zu verwenden, allokierbare Arrays innerhalb von Type Definitionen nicht erlaubt sind. Die P\-O\-I\-N\-T\-E\-R bekommenim folgenden ähnlich allokierbarer Arrays einen Speicherbereich ihrer Größe entsprechend zugewiesen. 

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird\-:


\hypertarget{group__LokaleMatrizenClass_ga579f25efe6240b11f5724d613bf7ac82}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!initmatrizenkurz@{initmatrizenkurz}}
\index{initmatrizenkurz@{initmatrizenkurz}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{initmatrizenkurz}]{\setlength{\rightskip}{0pt plus 5cm}subroutine lokalematrizenclass\-::initmatrizenkurz (
\begin{DoxyParamCaption}
\item[{type( {\bf lokalematrizen\-\_\-t} ), intent(inout)}]{this, }
\item[{integer, intent(in)}]{dof}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga579f25efe6240b11f5724d613bf7ac82}


Hier ist ein Graph, der zeigt, was diese Funktion aufruft\-:


\hypertarget{group__LokaleMatrizenClass_ga7cfd5ffd2022ac7bdd472829223780ba}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!initmatrizenkurz@{initmatrizenkurz}}
\index{initmatrizenkurz@{initmatrizenkurz}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{initmatrizenkurz}]{\setlength{\rightskip}{0pt plus 5cm}subroutine lokalematrizenclass\-::neu\-::initmatrizenkurz (
\begin{DoxyParamCaption}
\item[{type( {\bf lokalematrizen\-\_\-t} ), intent(inout)}]{this, }
\item[{integer, intent(in)}]{dof}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga7cfd5ffd2022ac7bdd472829223780ba}
\hypertarget{group__LokaleMatrizenClass_ga0cb5f419fb00110de597b196ea8ce02b}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!nullifizierematrizen@{nullifizierematrizen}}
\index{nullifizierematrizen@{nullifizierematrizen}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{nullifizierematrizen}]{\setlength{\rightskip}{0pt plus 5cm}subroutine lokalematrizenclass\-::nullifiziere\-::nullifizierematrizen (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(inout)}]{this}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga0cb5f419fb00110de597b196ea8ce02b}
\hypertarget{group__LokaleMatrizenClass_ga6a62a2f0e670d64e9b5cdedbe6193884}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!schuettleallematrizen@{schuettleallematrizen}}
\index{schuettleallematrizen@{schuettleallematrizen}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{schuettleallematrizen}]{\setlength{\rightskip}{0pt plus 5cm}subroutine lokalematrizenclass\-::schuettlematrizen\-::schuettleallematrizen (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(inout)}]{this}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga6a62a2f0e670d64e9b5cdedbe6193884}
\hypertarget{group__LokaleMatrizenClass_gadd0fd2c1005c27b6388cd5b36170dfa5}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!setzeaufwert@{setzeaufwert}}
\index{setzeaufwert@{setzeaufwert}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{setzeaufwert}]{\setlength{\rightskip}{0pt plus 5cm}subroutine lokalematrizenclass\-::setze\-::setzeaufwert (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(inout)}]{this, }
\item[{real(kind=dp), dimension(\-:), optional}]{wert\-F\-O\-R\-C\-E, }
\item[{real(kind=dp), dimension(\-:,\-:), optional}]{wert\-S\-T\-I\-F\-F, }
\item[{real(kind=dp), dimension(\-:,\-:), optional}]{wert\-M\-A\-S\-S}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_gadd0fd2c1005c27b6388cd5b36170dfa5}


setze\-Auf\-Wert setzt die gesammten Matrizen auf Werte 

F\-O\-R\-C\-E, S\-T\-I\-F\-F und M\-A\-S\-S werden geschlossen auf Werte gesetzt. Das ist z.\-B. nützlich, um die Matrizen schnell auf 0 zu setzen 
\begin{DoxyParams}{Parameter}
{\em this} & Sammlung der Matrizen \\
\hline
{\em wert\-F\-O\-R\-C\-E} & 0.\-0d0, falls nicht vorhanden\\
\hline
{\em wertforce} & alter Wert falls nicht vorhanden\\
\hline
{\em wertstiff} & alter Wert falls nicht vorhanden\\
\hline
{\em wertmass} & alter Wert falls nicht vorhanden \\
\hline
\end{DoxyParams}
\hypertarget{group__LokaleMatrizenClass_ga60fc833fea0e13f8d93699e0bda15cc8}{\index{Lokale\-Matrizen\-Class@{Lokale\-Matrizen\-Class}!setzematrizen@{setzematrizen}}
\index{setzematrizen@{setzematrizen}!LokaleMatrizenClass@{Lokale\-Matrizen\-Class}}
\subsubsection[{setzematrizen}]{\setlength{\rightskip}{0pt plus 5cm}subroutine lokalematrizenclass\-::neu\-::setzematrizen (
\begin{DoxyParamCaption}
\item[{type({\bf lokalematrizen\-\_\-t}), intent(inout)}]{this, }
\item[{real(kind=dp), dimension(\-:), intent(in)}]{a\-F\-O\-R\-C\-E, }
\item[{real(kind=dp), dimension(\-:,\-:), intent(in)}]{a\-S\-T\-I\-F\-F, }
\item[{real(kind=dp), dimension(\-:,\-:), intent(in)}]{a\-M\-A\-S\-S}
\end{DoxyParamCaption}
)}}\label{group__LokaleMatrizenClass_ga60fc833fea0e13f8d93699e0bda15cc8}


setze\-Matrizen setzt die Systemmatrizen 

und prüft die Matrizengrößen der Eingangsmatrizen , ruft init\-Matrizen auf und ordnet die Matrizen in den \hyperlink{structLokaleMatrizen__t}{Lokale\-Matrizen\-\_\-t} ein \begin{DoxyRefDesc}{Noch zu erledigen}
\item[\hyperlink{todo__todo000018}{Noch zu erledigen}]mache diese Funktion unabhängig von Eingangsmatrizen übergebe stattdessen die Anzahl der Freiheitsgrade pro Element \end{DoxyRefDesc}


Hier ist ein Graph, der zeigt, was diese Funktion aufruft\-:




Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird\-:


