\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\-: