\newpage \thispagestyle{plain} \section{Modellentwicklung aus Faserverbundwerkstoffen}\label{sec:Modellentwicklung} \subsection{Forschungsanlage} Grundlegende Eigenschaften der Forschungsanlage sind aus dem \ac{NREL}-Bericht \cite{NREL09} entnommen, die sich hauptsächlich an der Muster"=\ac{WEA} \emph{REpower\,5M} und dem Konzeptmodell aus dem Projekt \emph{DOWEC} \cite{DOWEC03,DOWEC02} richten. So hat die Anlage eine Gesamthöhe von \unit{153}{m} mit \unit{90}{m} Nabenhöhe und einem Rotordurchmesser von \unit{126}{m} sowie eine Gesamtgewicht von etwa \unit{700}{t}. Weitere grobschlägig ausgewählten Eigenschaften der Windenergieanlage von \ac{NREL} listet die Tabelle~\ref{tab:NRELEigenschaften} auf. \begin{table}[H] \caption[Grobschlägige ausgewählte Eigenschaften der NREL 5-MW Ausgangs"=Windenergieanlage]{Grobschlägige ausgewählte Eigenschaften der NREL 5-MW Ausgangs"=Windenergieanlage~\cite{NREL09}}\label{tab:NRELEigenschaften}\centering \begin{tabular}{llllllll} \toprule %Abk. & Bezeichnung & $L\ti{min}$ & $D$ & $s_1$ & $s_2$ & $a$ & $b$ \\ \midrule Nennleistung & \unit{5}{MW} \\ Rotorausrichtung & Aufwind (Luv-Läufer) \\ Ausstattung & 3 Rotorblätter \\ %Steuerung & drehzahlvariabel, kollektiver Blattanstellwinkel \\ %Drivetrain & High Speed, Multiple-Stage Gearbox \\ \midrule Rotordurchmesser & \unit{126}{m} \\ Nabendurchmesser & \unit{3}{m} \\ Nabenhöhe & \unit{90}{m} \\ Überhang (Maß zw. Turmachse und Rotorebene)& \unit{5}{m} \\ Koordinaten zum Massenschwerpunkt & \unit{(-0,\!2;~ 0,\!0;~ 64,\!0)}{m} \\ \midrule Einschaltwindgeschwindigkeit & \unit{3}{m/s} \\ Nennwindgeschwindigkeit & \unit{11,\!4}{m/s} \\ Abschaltwindgeschwindigkeit & \unit{25}{m/s} \\ Einschaltumdrehungsgeschwindigkeit & \unit{6,\!9}{min^{-1}} \\ Nennumdrehungsgeschwindigkeit & \unit{12,\!1}{min^{-1}} \\ Nenngeschwindigkeit an der Blattspitze & \unit{80}{m/s} \\ \midrule Achsneigung der Rotorwelle & 5º \\ Konuswinkel der Blätter & 2,5º \\ \midrule Rotormasse (mit Nabe) & \unit{110,\!00}{t} \\ Gondelmasse & \unit{240,\!00}{t} \\ Turmmasse & \unit{347\!,\!46}{t} \\ \bottomrule \end{tabular} \end{table}\vspace{-1em} Der Koordinatenursprung, bei der Angabe des Massenschwerpunkt, liegt in der Turmachse auf dem Grund. Dabei zeigt die \(x\)-Achse in Windrichtung und die \(z\)-Achse in Richtung des Gierlagers. \subsubsection{Rotorblatt} Das Rotorblatt hat eine Gesamtlänge von \unit{61,5}{m} mit ein Gewicht von \unit{17,74}{t}. Weitere von \ac{NREL} ausgewählten Eigenschaften der Rotorblätter listet die Tabelle~\ref{tab:NRELRotor} auf. \begin{table}[H] \caption[Rotorblatteigenschaften der NREL 5-MW Ausgangs"=Windenergieanlage]{Rotorblatteigenschaften der NREL 5-MW Ausgangs"=Windenergieanlage~\cite{NREL09}}\label{tab:NRELRotor}\centering \begin{tabular}{llllllll} \toprule Länge (entlang der Rotorachse) & \unit{61,\!5}{m} \\ Skalierungsfaktor der Masse & \unit{4,\!536}{\%} \\ Gesamtmasse & \unit{17,\!74}{t} \\ Lage des Massenschwerpunkt (bzgl. Rotorachse) & \unit{20,\!475}{m} \\ Strukturdämpfung (über alle Moden) & \unit{0,\!477465}{\%} \\ \bottomrule \end{tabular} \end{table}\vspace{-1em} \ac{NREL} richtet sich bei den Rotorblätter an das DOWEC"=Konzeptmodell. Somit versteht sich der, in der Tabelle~\ref{tab:NRELRotor} angegebene, Skalierungsfaktor darauf, die aus dem DOWEC"=Konzeptmodell übernommene Massenverteilung auf die Gesamtmasse der Rotorblätter von der REpower\,5M Muster"=\ac{WEA} zu skalieren. \ac{NREL} listet ebenfalls in Abhängigkeit von dem Nabenradius in 49 Stellen Informationen zu Steifigkeiten und Massenschwerpunkte. Das Masterprojekt \emph{Entwicklung eines Abschnittes des NREL Rotorblattes mit anisotropen Material anhand gegebener Steifigkeitsdaten}~\cite{MP15} setzte sich bereits mit diesen Informationen auseinander und werden hier übernommen. \subsubsection{Gondel und Spinner} Die Höhe der Nabe, Spinner und der Gondel über dem Grund ist bei \unit{90}{m} und das Maß zwischen Turmachse und der Rotorebene oder der Nabe ist \unit{5}{m} entgegen der Windrichtung. Bezogen auf der Gesamtturmhöhe liegt die Nabe \unit{2,\!4}{m} höher. Damit liegt das Gierlager bei einer Höhe von \unit{87,\!6}{m} über dem Grund. Mit der Achsneigung der Rotorwelle von 5\degree\ wird ein größerer Raum für die Rotorblattdurchbiegung geschaffen. Die Hubmasse von \unit{56,\!78}{t} ist in Übereinstimmung der Muster"=\ac{WEA} REpower\,5M. Ebenso ist die Gondelmasse von \unit{240}{t} mit der Muster"=\ac{WEA} REpower\,5M abgeglichen. Dabei entspricht der Gondelmassenschwerpunkt, von \unit{1,\!9}{m} bezogen der Turmachse oder Gierachse in Windrichtung und \unit{1,\!75}{m} über dem Gierlager, der DOWEC-Anlage. Die Tabelle \ref{tab:NRELGondel} listet die von \ac{NREL} ausgewählten Eigenschaften der Gondel und Nabe auf. \begin{table}[H] \caption[Eigenschaften von Gondel und Nabe der NREL 5-MW Ausgangs"=Windenergieanlage]{Eigenschaften von Gondel und Nabe der NREL 5-MW Ausgangs"=Windenergieanlage~\cite{NREL09}}\label{tab:NRELGondel}\centering \begin{tabular}{llllllll} \toprule Höhe des Gierlagers über dem Grund & \unit{87,\!6}{m} \\[.25em] Nabenmasse & \unit{56,\!78}{kg} \\ Gondelmasse & \unit{240,\!00}{t} \\[.25em] \emph{Gondelmassenschwerpunkt}\\ Lage in Windrichtung bzgl.\,Gierachse & \unit{1,\!9}{m} \\ Lage über dem Gierlager & \unit{1,\!75}{m} \\[.25em] \emph{Gondel-Gier-Aktor}\\ Äquivalente Translationsfederkonstante & \unit{9.028.320}{kN\,m/rad} \\ Äquivalente Translationsdämpfungskonstante & \unit{19.160}{kN\,m\,s/rad} \\ \bottomrule \end{tabular} \end{table}\vspace{-1em} \subsubsection{Antrieb} Die Nennumdrehungsgeschwindigkeit der \ac{WEA} von \unit{12,\!1}{min^{-1}} orientiert sich an der REpower\,5M Anlage. Die Tabelle \ref{tab:NRELAntrieb} listet die von \ac{NREL} ausgewählten Eigenschaften des Antribes auf. \begin{table}[H] \caption[Eigenschaften vom Antrieb der NREL 5-MW Ausgangs"=Windenergieanlage]{Eigenschaften vom Antrieb der NREL 5-MW Ausgangs"=Windenergieanlage~\cite{NREL09}}\label{tab:NRELAntrieb}\centering \begin{tabular}{llllllll} \toprule Nennumdrehungsgeschwindigkeit & \unit{12,\!1}{min^{-1}} \\[.25em] \emph{Antriebswelle}\\ Äquivalente Torsionsfederkonstante & \unit{867.637}{kN\,m/rad} \\ Äquivalente Torsionsdämpfungskonstante & \unit{6.215}{kN\,m\,s/rad} \\[.25em] \emph{Hochgeschwindigkeits-Rotornabenbremse}\\ Drehmoment im vollem Eingriff & \unit{28.116,\!2}{N\,m} \\ \bottomrule \end{tabular} \end{table}\vspace{-1em} \subsubsection{Turm} Die Eigenschaften des Turm hängen stark von den Untergrund der Anlage ab. \ac{NREL} entschied sich für die Turmeigenschaften eine küstenzugewandten Version der \ac{NREL}\,5-MW Ausgangs"=\ac{WEA} zu beschreiben. Der Turm variiert über die Höhe linear in Durchmesser und Dicke. Dabei hat der Turm auf dem Grund ein Durchmesser von \unit{6}{m} mit einer Dicke von \unit{27}{mm} und an der Oberseite ein Durchmesser von \unit{3,\!87}{m} mit einer Dicke von \unit{19}{mm}. Zu den Materialeigenschaften sind Angabe für Stahl gegeben. Dabei wird das Materialverhalten mit dem Elastizitätsmodul von \unit{210}{GPa} und dem Schubmodul von \unit{80,\!8}{GPa} beschrieben. Die etwas erhöhte Dichte von \unit{8,\!5}{t/m^3} %liegt etwas über dem typischen Wert für Stahl simuliert auf dem Turm nicht modellierte Komponenten, wie Flansche und Schrauben sowie Schweißnähte und Lackierung. Alle bisher genannten Eigenschaften sind aus dem Projekt DOWEC entnommen. Im Vergleich zu der REpower\,5M Anlage hat die REpower\,5M Anlage eine höhere Masse zur Turmoberseite. Aus diesem Grund wird die Dicke um \unit{30}{\%} verstärkt. Die Tabelle \ref{tab:NRELTurm} listet die von \ac{NREL} ausgewählten Eigenschaften des Turms auf. \begin{table}[H] \caption[Turmeigenschaften der NREL 5-MW Ausgangs"=Windenergieanlage]{Turmeigenschaften der NREL 5-MW Ausgangs"=Windenergieanlage~\cite{NREL09}}\label{tab:NRELTurm}\centering \begin{tabular}{llllllll} \toprule Länge über dem Grund & \unit{87,\!6}{m} \\ Gesamtmasse & \unit{347,\!46}{t} \\ Lage des Massenschwerpunkt (bzgl. Grund in Richtung Turmachse) & \unit{38,\!234}{m} \\ Strukturdämpfung (über alle Moden) & \unit{1}{\%} \\ \bottomrule \end{tabular} \end{table}\vspace{-1em} \subsubsection{Frequenzen und stationäres Verhalten der Forschungsanlage} \ac{NREL} berechnete mit zwei verschiedenen Modellen Eigenfrequenzen einer linearisierten Eigenwertanalyse ihrer küstenzugewandten Ausgangs"=\ac{WEA}. Benannt sind die beiden Modelle als FAST"=Modell und ADAMS"=Modell und beschreiben eine balkenähnliche Simulation. %Beide Modelle berechnen das linearisierte Eigenwertproblem. Das Ergebnis dieser Eigenfrequenzanalyse listet die Tabelle \ref{tab:NRELFreq} auf. Die, in der Tabelle~\ref{tab:NRELFreq}, zu erkennende Eigenfrequenz"=Abweichung zwischen den Modellen FAST und ADAMS, besonders zur zweiten Rotorblatt"=Eigenfrequenz mit der asymmetrischen flatternden Eigenform, ist dahingehend begründet, dass das ADAMS"=Modell gegenüber dem FAST"=Modell Positionen zum Massenschwerpunk, Moden höherer Ordnung und Torsionsfreiheitsgrade im Turm berücksichtigt. \begin{table}[H] \caption[Frequenzen der NREL 5-MW Ausgangs"=Windenergieanlage]{Turmeigenschaften der NREL 5-MW Ausgangs"=Windenergieanlage~\cite{NREL09}}\label{tab:NRELFreq}\centering \begin{tabular}{clccllll} \toprule Freq. & Beschreibung der Eigenform & FAST & ADAMS \\ \midrule 1 & 1. Turm -- vor und zurück & 0,3240 & 0,3195 \\ 2 & 1. Turm -- von einer Seite zur anderen & 0,3120 & 0,3164 \\ 3 & 1. Antriebswindung & 0,6205 & 0,6094 \\ 4 & 1. Rotorblatt -- asymmetrisch flatterndes Gieren & 0,6664 & 0,6296 \\ 5 & 1. Rotorblatt -- asymmetrisch flatterndes Nicken & 0,6675 & 0,6686 \\ 6 & 1. Rotorblatt -- gemeinschaftliches Flattern & 0,6993 & 0,7019 \\ 7 & 1. Rotorblatt -- asymmetrisch kantendes Nick & 1,0793 & 1,0740 \\ 8 & 1. Rotorblatt -- asymmetrisch kantendes Gieren & 1,0898 & 1,0877 \\ 9 & 2. Rotorblatt -- asymmetrisch flatterndes Gieren & 1,9337 & 1,6507 \\ 10 & 2. Rotorblatt -- asymmetrisch flatterndes Nick & 1,9223 & 1,8558 \\ 11 & 2. Rotorblatt -- gemeinschaftliches Flattern & 2,0205 & 1,9601 \\ 12 & 2. Turm -- vor und zurück & 2,9003 & 2,8590 \\ 13 & 2. Turm -- von einer Seite zur anderen & 2,9361 & 2,9408 \\ \bottomrule\noalign{\vspace{-.15em}} \multicolumn{4}{l}{\small Werte in Hz} \\ \noalign{\vspace{-.25em}}\bottomrule \end{tabular} \end{table}\vspace{-1em} \subsection{Computermodell} Die Forschungsanlage wird als Flächenmodell angenähert. Ein grundlegendes Computermodell ist durch die Arbeit \emph{Entwicklung eines 3D"=Geometriemodells und numerische Strömungssimulation einer Windenergieanlage} \cite{Prange14} von \citeauthor{Prange14} entstanden und validiert. Das dabei verwendete \ac{CAD}-Programm ist \emph{CATIA\,V5} von der Firma \emph{Dassault Systèmes}, mit dem die dreidimensionale Geometrieerzeugung erfolgte. Alle erforderliche Modifikationen zur Simulation werden ebenfalls mit dem \ac{CAD}-Programm \emph{CATIA\,V5} durchgeführt. Unter den Modifikationen fallen diverse Schnitte, die in das 3D"=Flächenmodell hinzugefügt werden und damit die nötige Möglichkeit bieten Materialparameter vorgeben zu können. Die Abbildung \ref{fig:ComputermodellCATIA} links zeigt das übernommene und rechts das durch den nachstehenden Modifikationen angepasste Computermodell. \begin{figure}[H]\centering \includegraphics[height=0.7\textwidth]{Computermodell.PNG} \includegraphics[height=0.7\textwidth]{Computermodell_neu.PNG} \caption{Computermodell der Windenergieanlage} \label{fig:ComputermodellCATIA} \end{figure} \vspace{-1.5em} Für ein hinreichendes mechanisches Modell beziehungsweise FE"=Modell sind Materialeigenschaften wie %sind für gewünschte \ac{FEM}"=Simulationen Steifigkeiten und Massen zuzuweisen. % weitere Elemente hinzugefügt werden, damit es zu einem hinreichenden mechanisches Modell beziehungsweise \ac{FEM}"=Modell wird. Gemeint sind insbesondere Steifigkeiten Dabei zeigten anfängliche Versuche im Forschungsprojekt \ac{WindNumSim}, dass das Nachbilden der Steifigkeiten für die Rotorblätter mit den zur Verfügung stehenden Daten nicht trivial sind. Somit ist es beispielsweise unmöglich das Verhalten der \ac{WEA} mit ausschließlich isotrope Werkstoffe nachzuempfinden. %% TODO: Referenz zu einer Arbeit Erste Überlegungen die Steifigkeit für das Rotorblatt abzubilden wurden in einem vorangegangenen Masterprojekt~\citep{MP15} durchgeführt. Als Resultat wird eine Modellierung nach \ac{SNL} \cite{SANDIA13} gewählt, welches ein in \acs{MATLAB} geschriebenes Programm speziell zur Berechnung von Rotorblättern entwickelte. Dieses Programm -- genannt \acs{NuMAD} -- erstellt ein in \emph{\ac{APDL}} geschriebene Datei. Das Ergebnis der Rotorblattmodellierung welche die vorgegebenen Steifigkeiten nachbilden zeigt die Abbildung \ref{fig:LageraufbautenAPDL}. \begin{figure}[H]\centering \includegraphics[width=0.95\textwidth]{Lageraufbauten_iso_ou.PNG} \caption{Lageraufbauten im Rotorblatt mit Hilfe von Sandias NuMAD-Programm} \label{fig:LageraufbautenAPDL} \end{figure} \vspace{-1.5em} In Abbildung~\ref{fig:LageraufbautenAPDL} ist zusehen, dass das Modell aus vielen kleinen Einzelflächen besteht. Auf diesen Einzelflächen sind jeweils eigene Materialparameter in Form von unterschiedliche Lagenaufbauten mit unterschiedlichen Materialien verbunden. Die hauptsächliche Modifikation besteht darin, das CATIA"=Modell um die dargestellten Einzelflächen zu erweitern, sodass diese in das vom Forschungsprojekt verwendete ANSYS"=Workbench"=Modell importiert und mit den Lageraufbauten erweitert werden kann. \subsubsection{Rotorblatt} Die notwendigen Modifikationen zur Beschreibung der Materialeigenschaften finden ausschließlich für das Rotorblatt der Anlage statt. Die Abbildung~\ref{fig:ComputermodellRotorblattCATIA} zeigt das in CATIA bereits modellierte Rotorblatt. \begin{figure}[H]\centering \includegraphics[width=0.95\textwidth]{Computermodell_Rotorblatt.PNG} \caption{Computermodell -- Rotorblatt} \label{fig:ComputermodellRotorblattCATIA} \end{figure} \vspace{-1.5em} Bei der Modellerweiterung für das Rotorblatt werden zuerst zusätzliche Sektionen beziehungsweise Querschnittsebenen in das CATIA-Modell geschnitten. Die Abbildung~\ref{fig:SektionenBatch} zeigt die benötigten Sektionen. \begin{figure}[H]\centering \includegraphics[width=0.95\textwidth]{Sektionen_drauf_cut.PNG} \caption{Sektionen im Rotorblatt} \label{fig:SektionenBatch} \end{figure} \vspace{-1.5em} Im Anschluss werden Punkte und Linien in Längsrichtung erzeugt. Die Linien werden in radialer Richtung extrudiert und wiederum mit dem CATIA-Modell geschnitten. Sämtliche Informationen zum Lagenaufbau werden aus der NuMAD-generierten ANSYS-Einlesedatei \texttt{shell7.src} des Masterprojekts \citep{MP15} rausgeschrieben, in MATLAB als CATIA-Makro aufbereitet und anschließend in CATIA eingelesen und ausgeführt. \paragraph{Sektionen und Punkte}~\\ Die Informationen zu den Sektionsebenen und den geometrischen Punkte für die Längsschnitte -- beziehungsweise in ANSYS als \emph{Keypoints} bezeichnet -- sind in der Einlesedatei \texttt{shell7.src} von Zeile 8.682 bis 16.406 zu finden. Ein Ausschnitt des Inhalts sind in den folgenden zwei Programmausdrücke dargestellt, wobei der Programmausdruck~\ref{lst:APDL-Punkte-Anfang} den Beginn der \emph{Keypoint}-Erzeugung darstellt. \begin{lstlisting}[language=Fortran,firstnumber=8682, caption={APDL shell7.src: Beginn der Erstellung von Punkten und Ebenen},label=lst:APDL-Punkte-Anfang] ! DEFINE KEYPOINTS FOR SECTIONS AND CONNECT KEYPOINTS WITH LINES local,1000,CART,0,0,0, -90,0,-90 csys,0 ksel,none k,1,-1.64752,0.389762,0 k,2,-1.65218,0.365811,0 k,3,-1.66391,0.303277,0 \end{lstlisting} Der Programmausdruck~\ref{lst:APDL-Punkte-Weitere} zeigt den Wechsel zwischen den ersten beiden Sektionen. \begin{lstlisting}[language=Fortran,firstnumber=8882, caption={APDL shell7.src: Weitere Erstellung von Punkten und Ebenen},label=lst:APDL-Punkte-Weitere] k,195,-1.62342,0.474422,0 k,196,-1.64096,0.41326,0 zSmoothe csys,1000 clocal,1001,CART,0,-0,0, -0,0,-0 local,12,CART,-0,0,0, 0,0,-0 csys,0 ksel,none k,1001,-1.64752,0.389762,0.3 k,1002,-1.65218,0.365811,0.3 \end{lstlisting} Dieser Ablauf wird analog für alle 38 Sektionen wiederholt mit welche insgesamt 7.412 \emph{Keypoints} erstellt werden. Für das Importieren der Punkte in CATIA sind Zeilen die mit dem \texttt{k}-Befehl anfangen von Interesse. Der \texttt{k}-Befehl erstellt in ANSYS die gewünschten \emph{Keypoints} und erwartet als Parameter die \emph{Keypoint}"=Bezeichnung als Zahl sowie die Koordinaten in den drei Raumrichtungen. Jene 7.412 Zeilen, mit dem \texttt{k}-Befehl, werden als Vorbereitung des CATIA-Makros in eine eigenständige Datei\footnote{Dateibezeichnung: \texttt{keypoints.txt}} gespeichert und in MATLAB eingelesen. Die weiteren nicht benötigten Befehle, wie \texttt{local}, \texttt{clocal}, \texttt{csys}, erstellen und aktivieren weitere Koordinatensysteme. Der Befehl \texttt{zSmoothe} hingegen ist eine benutzerdefinierte Funktion und erstellt mit den erzeugten und selektierten \emph{Keypoints} eine umhüllende Kurve (\emph{Spline}) des jeweiligen Querschnitts. Mit dem Befehl \texttt{ksel,none} wird die jeweils gemachte Selektierung von \emph{Keypoints} wieder aufgehoben. Die Positionen der Sektionsebenen kann beispielsweise von der z-Koordinate der \emph{Keypoints} abgelesen werden. Hierbei ist zu beachten dass die z-Koordinate im Bezug auf dem Zusammenbau der Anlage um \unit{1,5}{m} verschoben wird und im Folgenden den Abstand zur Rotornabe repräsentiert. Die im Programmausdruck~\ref{lst:MATLAB-Ebenen} dargestellte MATLAB-Variable \texttt{planeDistances} listet die 18 zusätzlichen Ebenen mit der z-Korrektur im Bezug zum Nabenradius auf. \begin{lstlisting}[language=Matlab, firstnumber=15, caption={MATLAB Create\_CATIA\_Makro.m: Position der Ebenen},label=lst:MATLAB-Ebenen] planeDistances = [7000, 8333,3, 10500, 13500, 18500, 19950, 22000, 26100, ... 32250, 33500, 38500, 40450, 42500, 43500, 46500, 48650, 56166.7, 58900]; % in mm \end{lstlisting} Der Hauptteil zur Erzeugung von Ebenen in CATIA zeigt folgender Programmausdruck~\ref{lst:CATIA-Ebenen} %\begin{lstlisting}[language=Matlab,showstringspaces=false] %numberOfPlanes = length(planeDistances); %for i=1:numberOfPlanes % fprintf(fileID, ['Set hybridShapePlaneOffset1 = hybridShapeFactory1.AddNewPlaneOffset(reference1, %f, False)\r\n'... % 'hybridShapePlaneOffset1.Name = "Ebene.10%02d"\r\n'... % 'hybridBody1.AppendHybridShape hybridShapePlaneOffset1\r\n'... % 'part1.InWorkObject = hybridShapePlaneOffset1\r\n'... % 'part1.Update\r\n'], planeDistances(i), i); %end %\end{lstlisting} \begin{lstlisting}[language=VBScript,firstnumber=22,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-Ebenen] Set hybridShapePlaneOffset1 = hybridShapeFactory1.AddNewPlaneOffset(reference1, 7000, False) hybridShapePlaneOffset1.Name = "Ebene.1001" hybridBody1.AppendHybridShape hybridShapePlaneOffset1 part1.InWorkObject = hybridShapePlaneOffset1 part1.Update \end{lstlisting} Dieser Programmausdruck wird für jede zusätzliche Ebene analog durchlaufen. Dabei wird, der in der ersten Zeile angegebene Abstand von 7000, mit den Werten aus der MATLAB-Variable \texttt{planeDistances} ersetzt. Die zweite Zeile benennt die Ebenen mit den Bezeichnungen von \glqq \texttt{Ebene.1001}\grqq\ bis \glqq \texttt{Ebene.1018}\grqq. Mit den abschließenden Zeilen werden die Ebenen mit dem Modell verknüpft. Zuvor werden noch einige benötigte Variable zur Verfügung gestellt, mit dem das bisherige Computermodel aufgerufen und vorbereitet wird, die hier nicht weiter aufgezeigt werden. Zur Vollständigkeit beziehungsweise zur Reproduzierbarkeit ist das gesamte MATLAB-Skript, welches das CATIA-Makro erzeugt, im Anhang als Programmausdruck~\ref{lst:MATLAB-CATIA-Makro} angefügt. Mit den zur Verfügung stehenden Ebenen kann das Computermodell geschnitten werden. Der Programmausdruck~\ref{lst:CATIA-Trennen} zeigt den Teil, aus dem mit MATLAB generierten CATIA"=Makro, welche die Trennung des Computermodells beschreibt. \begin{lstlisting}[language=VBScript,firstnumber=159,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-Trennen] Set hybridShapeAssemble2 = hybridShapes2.Item("Trennen.1001r") Set reference1 = part1.CreateReferenceFromObject(hybridShapeAssemble2) Set hybridShapePlaneOffset1 = hybridShapes1.Item("Ebene.1002") Set reference2 = part1.CreateReferenceFromObject(hybridShapePlaneOffset1) Set hybridShapeSplit1 = hybridShapeFactory1.AddNewHybridSplit(reference1, reference2, -1) hybridShapeFactory1.GSMVisibility reference1, 0 hybridShapeSplit1.Name = "Trennen.1002" hybridBody3.AppendHybridShape hybridShapeSplit1 part1.InWorkObject = hybridShapeSplit1 part1.Update part1.Update Set hybridShapeSplit1 = hybridShapeFactory1.AddNewHybridSplit(reference1, reference2, 1) hybridShapeFactory1.GSMVisibility reference1, 0 hybridShapeSplit1.Name = "Trennen.1002r" hybridBody3.AppendHybridShape hybridShapeSplit1 part1.InWorkObject = hybridShapeSplit1 part1.Update part1.Update \end{lstlisting} % Der Programmausdruck~\ref{lst:CATIA-Trennen} beschreibt für jede Ebene jeweils zwei Trennvorgänge. Der erste Trennvorgang trennt die Oberfläche bis zur Ebene und der zweite Trennvorgang trennt Oberfläche ab der Ebene und stellt jeweils die restliche Fläche für nachfolgende Durchgänge dar. Anschließend werden die geschnittenen Abschnitte wieder zu einer Gesamtoberfläche zusammengesetzt, siehe dazu Programmausdruck~\ref{lst:CATIA-VerbindenEbenen}. \begin{lstlisting}[language=VBScript,firstnumber=499,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-VerbindenEbenen] Set hybridBody4 = hybridBodies1.Add() hybridBody4.Name = "Gesamtoberfläche" part1.Update Set hybridShapeSplit1 = hybridShapes2.Item("Trennen.1001") Set reference1 = part1.CreateReferenceFromObject(hybridShapeSplit1) Set hybridShapeSplit1 = hybridShapes2.Item("Trennen.1002") Set reference2 = part1.CreateReferenceFromObject(hybridShapeSplit1) Set hybridShapeAssemble1 = hybridShapeFactory1.AddNewJoin(reference1, reference2) Set hybridShapeSplit1 = hybridShapes2.Item("Trennen.1003") Set reference3 = part1.CreateReferenceFromObject(hybridShapeSplit1) hybridShapeAssemble1.AddElement reference3 \end{lstlisting} % Der Programmausdruck~\ref{lst:CATIA-VerbindenEbenen} verbindet zuerst die ersten beiden Teilflächen miteinander. Anschließend werden die restlichen Flächen nacheinander der bereits verbundenen Fläche hinzugefügt. % % \paragraph{Längsschnitte}~\\\nopagebreak Mit der Tatsache dass durch der Einlesedatei \texttt{shell7.src} ebenfalls die kleinen Einzelflächen mit den zuvor definierten \emph{Keypoints} erstellt werden, wird vorerst nachvollzogen welche \emph{Keypoints} zur Flächenerzeugung verwendet wurden. Die Zeilen 18.977 bis 21.484 der Einlesedatei \texttt{shell7.src} beinhalten diese Informationen und beschreiben die Flächenerzeugung. Der Programmausdruck~\ref{lst:APDL-Flächen} stellt den Beginn der Flächenerzeugung mit der ersten Fläche dar. \begin{lstlisting}[language=Fortran,firstnumber=18977, caption={APDL shell7.src: Informationen zu Einzelflächen},label=lst:APDL-Flächen] ! GENERATE SKIN AREAS ================================== *if,hide_warndlg_areas,eq,1,then /UIS, MSGPOP, 3 *endif asel,none lsel,all csys,0 a,1,9,1009,1001 aatt,,,32,1001,2 asel,none lsel,all \end{lstlisting} Notiert werden Zeilen mit dem \texttt{a}"=Befehl, wie jene in Zeile 18.986; \glqq\texttt{a,1,9,1009,1001}\grqq, und in eine Textdatei\footnote{Dateibezeichnung: \texttt{sections.txt}} zwischengespeichert. Die vier Parameter des \texttt{a}"=Befehls definiert die Fläche durch Angabe der \emph{Keypoint}"=Bezeichner. Mit dieser Methode reduziert sich die benötigte Anzahl der \emph{Keypoints} von insgesamt 37.192 auf 498, wenn auf duplizierte \emph{Keypoints} sowie auf \emph{Keypoints} geachtet wird, die sich auf den Ebenen befinden. Die Umsetzung mit MATLAB zeigt Programmausdruck~\ref{lst:MATLAB-Keypoints}. \begin{lstlisting}[language=Matlab, firstnumber=45, caption={MATLAB Create\_CATIA\_Makro.m: Keypoint-Aufbereitung},label=lst:MATLAB-Keypoints] uniqueSectionKeypoints = unique(sectionKeypoints(:)); % % KEYPOINTS AND SECTIONS iskeypointInSection = (ismember(keypoints(:,1) , uniqueSectionKeypoints)); \end{lstlisting} % In \texttt{uniqueSectionKeypoints} wird jeder \emph{Keypoint} einmalig hinterlegt und in \texttt{iskeypointInSection} wird überprüft dass die Punkte in den Ebenen liegen. Die gefundenen Punkte können mit dieser Selektierung in CATIA eingebaut werden. Der Programmausdruck~\ref{lst:CATIA-Punkte} zeigt den Abschnitt des CATIA-Makros der die Punkteerzeugung durchführt. \begin{lstlisting}[language=VBScript,firstnumber=608,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-Punkte] Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(1647.520000, 389.762000, -2870.000000) hybridShapePointCoord1.RefAxisSystem = reference1 hybridBody6.AppendHybridShape hybridShapePointCoord1 hybridShapePointCoord1.Name = "Punkt.107001" part1.InWorkObject = hybridShapePointCoord1 part1.Update \end{lstlisting} % In der ersten Zeile wird der Punkt mit Angabe der Koordinaten erzeugt. Die folgenden Zeilen verknüpft den Punkt mit dem Modell und wird in Abhängigkeit der jeweiligen Ebene benannt. % Im nächsten Schritt werden auf Grundlage der Punkte oder \emph{Keypoints} die Abschnittslinien erzeugt. Die zugehörigen Informationen dazu sind in der Einlesedatei \texttt{shell7.src} in den Zeilen 17.262 bis 17.750 zu finden, siehe im Programmausdruck~\ref{lst:APDL-Linien} den Beginn der Linienerstellung. \begin{lstlisting}[language=Fortran,firstnumber=17262, caption={APDL shell7.src: Informationen zu Einzelflächen},label=lst:APDL-Linien] ! Generate spanwise area-bounding lines with LAREA command larea,9,1009,z_HP_area(1) larea,13,1013,z_HP_area(1) \end{lstlisting} Mit dem \texttt{larea}"=Befehl werden Linien auf Flächen erstellt. Hierzu werden dem \texttt{larea}"=Befehl die beiden Endpunkte der gewünschten Linie und die Bezugsfläche übergeben. % Der Programmausdruck~\ref{lst:CATIA-Abschnittslinien} zeigt den Abschnitt des CATIA-Makros der die entsprechende Linienerzeugung durchführt. \begin{lstlisting}[language=VBScript,firstnumber=3440,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-Abschnittslinien] Set hybridShapePointCoord1 = hybridShapes6.Item("Punkt.107009") Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1) Set hybridShapePointCoord2 = hybridShapes6.Item("Punkt.108009") Set reference2 = part1.CreateReferenceFromObject(hybridShapePointCoord2) Set hybridShapeLinePtPt1 = hybridShapeFactory1.AddNewLinePtPt(reference1, reference2) hybridBody7.AppendHybridShape hybridShapeLinePtPt1 hybridShapeLinePtPt1.Name = "Linie.10801" part1.InWorkObject = hybridShapeLinePtPt1 part1.Update \end{lstlisting} % Im Programmausdruck~\ref{lst:CATIA-Abschnittslinien} werden zuerst die entsprechenden Endpunkte selektiert, mit dem Modell verknüpft und in Abhängigkeit der Ebene benannt. % Zusätzlich zu diesen Linien werden weitere Linien analog hinzugefügt, die sternförmig von den unterschiedlichen Längspositionen der Linien zum Zentrum führen. Diese werden bei der Linienextrusion als Führungslinie verwendet. Bevor die Linienextrusion durchgeführt wird, sind die einzelnen abschnittsweisen Längslinien zu jeweils zusammengesetzte Linien zu verbinden, siehe dazu Programmausdruck~\ref{lst:CATIA-Linienverbund} und \ref{lst:CATIA-Linienverbund-Einbau}. \begin{lstlisting}[language=VBScript,firstnumber=7310,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-Linienverbund] Set hybridShapes7 = hybridBody7.HybridShapes Set hybridShapeLinePtPt1 = hybridShapes7.Item("Linie.10801") Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1) Set hybridShapeLinePtPt1 = hybridShapes7.Item("Linie.10901") Set reference2 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1) Set hybridShapeAssemble1 = hybridShapeFactory1.AddNewJoin(reference1, reference2) Set hybridShapeLinePtPt1 = hybridShapes7.Item("Linie.11001") Set reference3 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1) hybridShapeAssemble1.AddElement reference3 \end{lstlisting} Der Programmausdruck~\ref{lst:CATIA-Linienverbund} verbindet zuerst die ersten beiden Einzellinien miteinander. Anschließend werden die restlichen Längslinien nacheinander der bereits verbundenen Linie hinzugefügt. \begin{lstlisting}[language=VBScript,firstnumber=7402,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-Linienverbund-Einbau] hybridShapeAssemble1.Name = "Verbindung.1101" hybridBody7.AppendHybridShape hybridShapeAssemble1 part1.InWorkObject = hybridShapeAssemble1 part1.Update \end{lstlisting} % Der Programmausdruck~\ref{lst:CATIA-Linienverbund-Einbau} benennt den Linienverbund und verknüpft die Verbindung mit dem Modell. % Schließlich können mit den Linienverbund und den Führungslinien einzelne Flächen erzeugt werden, die die Struktur in Längsrichtung durchdringen, siehe dazu Programmausdruck~\ref{lst:CATIA-Linienextrusion}. % \begin{lstlisting}[language=VBScript,firstnumber=8787,showstringspaces=false, caption={VBScript Makro\_open\_file\_and\_create\_elements.catvbs}, label=lst:CATIA-Linienextrusion] Set hybridShapeLinePtPt1 = hybridShapes7.Item("Linie.20801") Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1) Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirection(reference1) Set hybridShapeAssemble1 = hybridShapes7.Item("Verbindung.1101") Set reference2 = part1.CreateReferenceFromObject(hybridShapeAssemble1) Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 150.000000, 400.000000, hybridShapeDirection1) hybridShapeExtrude1.SymmetricalExtension = 0 hybridBody4.AppendHybridShape hybridShapeExtrude1 hybridShapeExtrude1.Name = "Extrudieren.1001" part1.InWorkObject = hybridShapeExtrude1 part1.Update \end{lstlisting} % Im Programmausdruck~\ref{lst:CATIA-Linienextrusion} wird für die Linienextrusion die Führungslinie und der Linienzug ausgewählt. Anschließend wird die Extrusionslänge in beiden Richtungen vorgegeben. Hierbei wird darauf geachtet, dass das Modell, in Folge der Extrusion, über die gesamte Länge durchdrungen wird. In den letzten Zeilen wird die Extrusion benannt und mit dem Modell verknüpft. % In ähnlicher Weise werden noch zwei weitere Flächen für die Längsversteifungen im Innern der Rotorblätter erstellt. Das Ergebnis der bisherigen Schritten ist in Abbildung~\ref{fig:LängsschnitteCATIA} dargestellt. % \begin{figure}[H]\centering \includegraphics[width=0.95\textwidth]{Laengsschnitte_CATIA.PNG} \caption{Vorbereitung für Längsschnitte im Computermodell} \label{fig:LängsschnitteCATIA} \end{figure} \vspace{-1.5em} % Mit dem MATLAB"=Programmausdruck~\ref{lst:MATLAB-CATIA-Makro} im Anhang kann das vollständige CATIA"=Makro erzeugt und in CATIA mit dem übernommenen Computermodell ausgeführt werden. Als letzte Aufbereitung für das Rotorblatt werden die Längsflächen direkt in CATIA mit dem Rotorblatt geschnitten sowie überstehende Flächen der Längsversteifungen getrimmt. An dieser sind alle Vorbereitungen für das Simulationsmodell vorgenommen. Die anderen Bauteile der \ac{WEA} sind ausreichend modelliert beziehungsweise benötigen keine Modifikation für den Einbau von Materialparameter. \subsection{Simulationsmodell} % Berechnungsmodell oder Simulationsmodell In diesem Abschnitt wird der Aufbau des Simulationsmodells näher beschrieben. Dabei wird auf verwendete Elemente, Netzfeinheit und Randbedingungen sowie vorgegebene Analyseeinstellung eingegangen. Die Simulation erfolgt mit dem FEM"=Programm \emph{ANSYS} über die \emph{Workbench}-Oberfläche in der 15.\,Version. \subsubsection{Materialparameter} In Übereinstimmung mit dem Masterprojekt \cite{MP15} listet Tabelle~\ref{tab:Materialien} die im Simulationsmodell in Verwendung kommenden Materialien auf. Entnommen sind diese Informationen der ANSYS"=Einlesedatei \texttt{shell7.src} von Zeile 77 bis 143. \begin{table}[H] \caption[Materialien]{Materialien}\label{tab:Materialien}\centering \begin{tabular}{lrrrllll} \toprule Materialbezeichnung & \multicolumn{3}{l}{Elastizitäts- und Schubmoduln} & Querkontraktion & Dichte \\ & \(E\ti{x}\) & \(E\ti{y}, E\ti{z}\) & \(G\ti{xy}, G\ti{yz}, G\ti{zx}\) & \(\nu\ti{xy}, \nu\ti{yz}, \nu\ti{zx}\) & \(\rho\) \\ \midrule Carbon(UD) & 114.500 & 8.390 & 5.990 & 0,27 & 1,220 \\ E-LT-5500(UD) & 41.800 & 14.000 & 2.630 & 0,28 & 1,920 \\ FOAM & 256 & & & 0,3 & 0,200 \\ Gelcoat & 3.440 & & & 0,3 & 1,235 \\ Saertex(DB) & 13.600 & 13.300 & 11.800 & 0,49 & 1,780 \\ SNL(Triax) & 27.700 & 13.650 & 7.200 & 0,39 & 1,850 \\ Turm & 210.000 & & & 0,3 & 8,500 \\ \bottomrule\noalign{\vspace{-.15em}} \small Werte in: &\small MPa &\small MPa &\small MPa &\small &\small t/m\(^3\) \\ \noalign{\vspace{-.25em}}\bottomrule \end{tabular} \end{table}\vspace{-1em} Die Tabelle~\ref{tab:Materialien} beschreibt %für den Lagenaufbau sowohl orthotrope als auch isotrope Materialien. Für die isotropen Materialien sind keine Angaben zu Schubmoduln angegeben. Diese errechnen sich aus dem Elastizitätsmodul und der Querkontraktionszahl; \(G = \frac{E}{2(1+\nu)}\). Die ersten sechs Materialien in der Tabelle~\ref{tab:Materialien} sind ausschließlich in den Rotorblätter als Bestandteil des Mehrschichtverbunds verbaut. Dabei variiert der Lagenaufbau je nach Position beziehungsweise von der jeweiligen Einzelfläche in der Materialzusammensetzung und Dicke. \vspace{.5em} \textsf{\textbf{Lagenaufbau}} \hfill | \textcolor{black!50}{\small ANSYS Workbench Strukturbaum: }% \raisebox{-.35em}{% \includegraphics[width=2cm]{ANSYS_WB_Strukturbaum_Geometrie.png} }\\\nopagebreak % Die Informationen der Lagenaufbauten, die die Zuordnung zu den Einzelflächen und die jeweiligen Dicken des Mehrschichtverbunds beschreiben sind in der ANSYS"=Einlesedatei \texttt{shell7.src} von Zeile 145 bis 8.677 zu finden. Ein Ausschnitt des Inhalts ist in den folgenden Programmausdruck~\ref{lst:APDL-Lageraufbau} dargestellt. % \begin{lstlisting}[firstnumber=145, style=custom, language=Fortran, basicstyle=\ttfamily\scriptsize, caption={APDL shell7.src: Definition der Lagenaufbauten}, label=lst:APDL-Lageraufbau] ! WRITE THE COMPOSITES ================================= ! 000000\_HP\_CAP sectype,1,shell secdata,5e-05,4,0,,Gelcoat secdata,0.00282,5,0,,SNL(Triax) secdata,0.0517,5,0,,SNL(Triax) secdata,0.00282,5,0,,SNL(Triax) secoffset,bot \end{lstlisting} % Der Befehl \texttt{sectype} definiert die Querschnittsinformationen des jeweiligen Lagenaufbaus. Die Parameter hierzu sind der eindeutige Bezeichner und der Querschnitttyps Schale. Anschließend sind mit dem Befehl \texttt{secdata}, zu den einzelnen Schichten, die Dicken, die Identifikationsnummer des Material sowie der Winkel der Schicht gegenüber dem gesamten Lagenaufbau angegeben. Der jeweils letzte Parameter ist optional als Lesehilfe und hat keine Auswirkung auf den Befehl. Der letzte Befehl \texttt{secoffset} definiert den Versatztyp. Für die Oberfläche des Rotorblatts ist der Versatztyp stets \emph{unten}. Aufgrund der nach innen ausgerichteten Flächennormalen bedeutet \glqq unten\grqq , dass der Lagenaufbau von der Oberfläche (unten) nach innen aufgebaut wird. Für die Längsversteifungen ist der Versatztyp mittig. Die Abbildungen~\ref{fig:Längsschnitte} sowie~\ref{fig:Querschnitt} stellen und die Tabelle~\ref{tab:Lagenaufbauten} listet die unterschiedlichen Varianten von Lagenaufbauten dar beziehungsweise auf. % \begin{figure}[H]\centering \includegraphics[width=0.95\textwidth]{Laengsschnitte_drauf.PNG} \caption{Lageraufbauten im Rotorblatt mit gleichen Materialzusammensetzungen} \label{fig:Längsschnitte} \end{figure} \vspace{-1.5em} % In Abbildung~\ref{fig:Längsschnitte} visualisieren gleiche Farben der Einzelflächen gleiche Materialzusammensetzung der Lagenaufbauten. Hierbei ist die Unterseite des Rotorblatts analog zu der in Abbildung~\ref{fig:Längsschnitte} dargestellten Oberseite aufgebaut, siehe dazu auch Abbildung~\ref{fig:Querschnitt}. % % 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 % 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 \begin{figure}[H]\centering \includegraphics[width=0.30\textwidth,angle=-90,trim={1cm 0 1.5cm 0},clip]{Querschnitt.pdf} \caption{Lageraufbauten im Rotorblatt mit gleichen Materialzusammensetzungen im Querschnitt bei 17\,m} \label{fig:Querschnitt} \end{figure} \vspace{-1.5em} % Die Abbildung~\ref{fig:Querschnitt} zeigt den Querschnitt des Rotorblatts bei einen Nabenabstand von 17 Meter sowie die Unterteilung des Querschnitts in 14 Domänen über den Umfang. Bei einem Nabenabstand von 42,5 Meter und von 46,5 Meter verringert sich die Anzahl der Domänen über den Umfang auf zwölf beziehungsweise zehn. Ebenso sind %in der Abbildung~\ref{fig:Querschnitt} die entsprechenden Dicken des Lagenaufbaus durch die innen liegenden Linien angedeutet. Mit den Abbildungen~\ref{fig:Längsschnitte} und~\ref{fig:Querschnitt} ist zu erkennen, dass die Außenhaut mit den Längsversteifungen fünf verschiedene Arten von Lagenaufbauten definieren, diese sind mit den unterschiedlich gefärbten Konturlinien symbolisiert. % \begin{table}[H] \caption[Lagenaufbauten im Rotorblatt]{Lagenaufbauten im Rotorblatt}\label{tab:Lagenaufbauten}\centering \begin{tabular}{clllllll} \toprule & \multicolumn{4}{l}{Lagenaufbaunummer über den Umfang} \\ %Schicht & 1, 2, 7, 8, 13, 14 & 3, 12 & 4, 6, 9, 11 & 5, 10 \\ & 1, 2, 7 & 3 & 4, 6 & 5 & \leftarrow Oberseite\\ Schicht & 8, 13, 14 & 12 & 9, 11 & 10 & \leftarrow Unterseite\\ \midrule 1 & \tikzmark{LAa}Gelcoat & \tikzmark{LAc}Gelcoat & \tikzmark{LAe}Gelcoat & \tikzmark{LAg}Gelcoat & \tikzmark{LAi}Saertex(DB) \\ 2 & SNL(Triax) & SNL(Triax) & SNL(Triax) & SNL(Triax) & FOAM \\ 3 & SNL(Triax) & SNL(Triax) & SNL(Triax) & SNL(Triax) & \tikzmark{LAj}Saertex(DB) \\ 4 & \tikzmark{LAb}SNL(Triax) & E-LT-5500(UD) & FOAM & Carbon(UD) & \\ 5 & & FOAM & \tikzmark{LAf}SNL(Triax) & \tikzmark{LAh}SNL(Triax) & \(\uparrow\) Längsver- \\ 6 & & \tikzmark{LAd}SNL(Triax) & & & \phantom{\(\uparrow\)} steifungen\\ \bottomrule \end{tabular} \end{table}\vspace{-1em}% % \tikz[remember picture,overlay]% {% \draw[red,very thick] ([xshift=-.3ex,yshift=2ex]LAa) -- ([xshift=-.3ex,yshift=-.5ex]LAb) node[midway] {};% \draw[LimeGreen,very thick] ([xshift=-.3ex,yshift=2ex]LAc) -- ([xshift=-.3ex,yshift=-.5ex]LAd) node[midway] {};% \draw[ProcessBlue,very thick] ([xshift=-.3ex,yshift=2ex]LAe) -- ([xshift=-.3ex,yshift=-.5ex]LAf) node[midway] {};% \draw[BurntOrange,very thick] ([xshift=-.3ex,yshift=2ex]LAg) -- ([xshift=-.3ex,yshift=-.5ex]LAh) node[midway] {};% \draw[Black,very thick] ([xshift=-.3ex,yshift=2ex]LAi) -- ([xshift=-.3ex,yshift=-.5ex]LAj) node[midway] {};% }% % Die Materialzusammensetzung der fünf zur Verwendung kommenden Arten von Lagenaufbauten ist in der Tabelle~\ref{tab:Lagenaufbauten} aufgelistet. Alle Lagenaufbauten der Außenhaut besitzen anteilig gleiche Materialzusammensetzungen, in der Weise, dass die ersten drei Schichten aus Gelcoat und SNL(Triax) sowie die jeweils letzte Schicht, ebenfalls aus SNL(Triax), zueinander identisch sind. Das unterschiedliche Verhalten zueinander wird infolge der dazwischenliegenden zusätzlichen Schichten aus E-LT-5500(UD), FOAM und Carbon(UD) mit unterschiedlichen Dicken bestimmt. Die Längsversteifungen hingegen besitzen stets den gleichen Lagenaufbau, mit den Dicken \(\{2;50;2\}\) in mm und der Materialzusammensetzung \{Saertex(DB); Foam; Saertex(DB)\}. In der Abbildung~\ref{fig:Dicke} ist für das Rotorblatt der Dickenverlauf zu den Lagenaufbauten dargestellt. % %\begin{figure}[H]\centering %\includegraphics[width=0.95\textwidth]{thickness.png} %\caption{Dickenverlauf zu den Lagenaufbauten im Rotorblatt} %\label{fig:Dicke} %\end{figure} \vspace{-1.5em} % \begin{figure}[H]\centering \begin{tikzpicture} \begin{axis}[ width=12.0cm, height=5.5cm, colorbar, % colormap/jet, colorbar style={ ytick={0,20,...,100}, ylabel={Gesamtdicke in mm}, %yticklabels={$2$, $4$, $6$, $8$, $10$, $12$, $14$}, }, xlabel = {Radius in m}, ylabel = Lagenaufbaunummer, domain = 1:65, y domain = 1:14, ytick={0,2,...,14}, %yticklabels={$0$, $2$, $4$, $6$, $8$, $10$, $12$, $14$}, view = {0}{90}, point meta min=0, point meta max=113, ymax=14, clip=false, ] \pgfplotstableread{datas/thickness.dat}\datatable \addplot3[ surf, %patch,patch refines=1, patch type=bilinear, % default rectangle; bilinear, biquadratic shader=faceted interp, mesh/rows=14,mesh/cols=28, ] table[skip first n=1,x index=1,y index=0,z index=2] from \datatable; \node[fill=white, fill opacity=0.25, text opacity=1,rounded corners=2pt] at (axis cs:45,13.5,5.69) {\small $6$}; \node[fill=white, fill opacity=0.25, text opacity=1,rounded corners=2pt] at (axis cs:49,12.5,0) {\small $0$}; \node at (axis cs:6.8333,12,113.08) {\small $113$}; \node at (axis cs:28,12,70.39) {\small $70$}; \node at (axis cs:12,12,102.74) {\small $103$}; \node at (axis cs:17,11,95.69) {\small $96$}; \node at (axis cs:34.85,11,65.69) {\small $66$}; \node at (axis cs:20.5,10,47.99) {\small $48$}; \node at (axis cs:42,10,34.83) {\small $35$}; \node at (axis cs:26.65,9,25.69) {\small $26$}; \node at (axis cs:54.6667,9,25.69) {\small $26$}; \node[fill=white, fill opacity=0.25, text opacity=1,rounded corners=2pt] at (axis cs:32,7.5,5.69) {\small $6$}; \draw[red,ultra thick] (-3,0) -- (-3,15);% \draw[LimeGreen,ultra thick] (-3,15) -- (-3,25);% \draw[ProcessBlue,ultra thick] (-3,25) -- (-3,35);% \draw[BurntOrange,ultra thick] (-3,35) -- (-3,45);% \draw[ProcessBlue,ultra thick] (-3,45) -- (-3,55);% \draw[red,ultra thick] (-3,55) -- (-3,75);% \draw[ProcessBlue,ultra thick] (-3,75) -- (-3,85);% \draw[BurntOrange,ultra thick] (-3,85) -- (-3,95);% \draw[ProcessBlue,ultra thick] (-3,95) -- (-3,105);% \draw[LimeGreen,ultra thick] (-3,105) -- (-3,115);% \draw[red,ultra thick] (-3,115) -- (-3,130);% \end{axis} \end{tikzpicture}% \caption{Dickenverlauf zu den Lagenaufbauten im Rotorblatt}\label{fig:Dicke} \end{figure} \vspace{-.5em} % Vertikal ist entsprechend der Tabelle~\ref{tab:Lagenaufbauten} und Abbildung~\ref{fig:Querschnitt} die Lagenaufbaunummer über den Umfang und horizontal der Abstand von dem Lagenaufbau zu der Rotornabe angegeben. Es ist zu sehen, dass an die Dicke mit dem zu erwartenden Momemtenverlauf übereinstimmt. In der Abbildung~\ref{fig:Dicke:Material} sind die Dickenverläufe differenziert zu den unterschiedlichen Materialien im Rotorblatt dargestellt. % \begin{figure}[H]\centering \begin{subfigure}[b]{0.49\textwidth}\centering \begin{tikzpicture} \begin{axis}[ width=6cm, height=3.5cm, colorbar, colorbar style={ %ytick={0,40,...,100}, %ylabel={Gesamtdicke in mm}, }, %xlabel = {Radius in m}, ylabel = Lagenaufbaunummer, domain = 1:65, y domain = 1:14, ytick={0,4,...,14}, view = {0}{90}, ymax=14, ] \pgfplotstableread{datas/thickness.dat}\datatable \addplot3[ surf, patch type=bilinear, shader=faceted interp, mesh/rows=14,mesh/cols=28, ] table[skip first n=1,x index=1,y index=0,z index=2] from \datatable; \end{axis} \end{tikzpicture}% \caption{Zusammengesetzt} \label{fig:Dicke:Material:Gesamt} \end{subfigure} \hfill \begin{subfigure}[b]{0.49\textwidth}\centering \begin{tikzpicture} \begin{axis}[ width=6cm, height=3.5cm, colorbar, colorbar style={ %ytick={0,40,...,100}, %ylabel={Gesamtdicke in mm}, }, %xlabel = {Radius in m}, ylabel = Lagenaufbaunummer, domain = 1:65, y domain = 1:14, ytick={0,4,...,14}, view = {0}{90}, ymax=14, ] \pgfplotstableread{datas/thicknessGelcoat.dat}\datatable \addplot3[ surf, patch type=bilinear, shader=faceted interp, mesh/rows=14,mesh/cols=28, ] table[skip first n=1,x index=1,y index=0,z index=2] from \datatable; \end{axis} \end{tikzpicture}% \caption{Gelcoat} \label{fig:Dicke:Material:Gelcoat} \end{subfigure} \\[1em] \begin{subfigure}[b]{0.49\textwidth}\centering \begin{tikzpicture} \begin{axis}[ width=6cm, height=3.5cm, colorbar, colorbar style={ %ytick={0,40,...,100}, %ylabel={Gesamtdicke in mm}, }, %xlabel = {Radius in m}, ylabel = Lagenaufbaunummer, domain = 1:65, y domain = 1:14, ytick={0,4,...,14}, view = {0}{90}, ymax=14, ] \pgfplotstableread{datas/thicknessSNL.dat}\datatable \addplot3[ surf, patch type=bilinear, shader=faceted interp, mesh/rows=14,mesh/cols=28, ] table[skip first n=1,x index=1,y index=0,z index=2] from \datatable; \end{axis} \end{tikzpicture}% \caption{SNL} \label{fig:Dicke:Material:SNL(Triax)} \end{subfigure} \hfill \begin{subfigure}[b]{0.49\textwidth}\centering \begin{tikzpicture} \begin{axis}[ width=6cm, height=3.5cm, colorbar, colorbar style={ %ytick={0,40,...,100}, %ylabel={Gesamtdicke in mm}, }, %xlabel = {Radius in m}, ylabel = Lagenaufbaunummer, domain = 1:65, y domain = 1:14, ytick={0,4,...,14}, view = {0}{90}, ymax=14, ] \pgfplotstableread{datas/thicknessELT.dat}\datatable \addplot3[ surf, patch type=bilinear, shader=faceted interp, mesh/rows=14,mesh/cols=28, ] table[skip first n=1,x index=1,y index=0,z index=2] from \datatable; \end{axis} \end{tikzpicture}% \caption{E-LT-5500(UD)} \label{fig:Dicke:Material:ELT} \end{subfigure} \\[1em] \begin{subfigure}[b]{0.49\textwidth}\centering \begin{tikzpicture} \begin{axis}[ width=6cm, height=3.5cm, colorbar, colorbar style={ %ytick={0,40,...,100}, %ylabel={Gesamtdicke in mm}, }, %xlabel = {Radius in m}, ylabel = Lagenaufbaunummer, domain = 1:65, y domain = 1:14, ytick={0,4,...,14}, view = {0}{90}, ymax=14, ] \pgfplotstableread{datas/thicknessFOAM.dat}\datatable \addplot3[ surf, patch type=bilinear, shader=faceted interp, mesh/rows=14,mesh/cols=28, ] table[skip first n=1,x index=1,y index=0,z index=2] from \datatable; \end{axis} \end{tikzpicture}% \caption{FOAM} \label{fig:Dicke:Material:FOAM} \end{subfigure} \hfill \begin{subfigure}[b]{0.49\textwidth}\centering \begin{tikzpicture} \begin{axis}[ width=6cm, height=3.5cm, colorbar, colorbar style={ %ytick={0,40,...,100}, %ylabel={Gesamtdicke in mm}, }, %xlabel = {Radius in m}, ylabel = Lagenaufbaunummer, domain = 1:65, y domain = 1:14, ytick={0,4,...,14}, view = {0}{90}, ymax=14, ] \pgfplotstableread{datas/thicknessCarbon.dat}\datatable \addplot3[ surf, patch type=bilinear, shader=faceted interp, mesh/rows=14,mesh/cols=28, ] table[skip first n=1,x index=1,y index=0,z index=2] from \datatable; \end{axis} \end{tikzpicture}% \caption{Carbon(UD)} \label{fig:Dicke:Material:Carbon} \end{subfigure} \caption{Dickenverlauf einzelner Materialien zu den Lagenaufbauten im Rotorblatt}\label{fig:Dicke:Material} \end{figure} \vspace{-.5em} % \subsubsection{Elemente} Infolge der Flächenmodellierung der \ac{WEA} ist das Simulationsmodell mit Schalenelemente modelliert. Auf ein Modell mit Volumenelementen wurde verzichtet, da anzunehmen ist, dass die Schalenelemente hier gleiche Ergebnisse liefern und andererseits die Rechenzeit erheblich reduzieren. Weiterhin würden für eine hinreichende Volumenmodellierung Informationen, insbesondere in Dickenrichtung beziehungsweise dem Innenaufbau der Anlage, fehlen, wobei viele Annahmen getroffen werden müssten. Es fanden bereits für die Flächenmodellierung unterschiedliche Interpolationen und Annahmen statt. So stehen für die Rotorblätter Modellinformationen nur in gewissen Abständen zur Verfügung. Bei den Schalenelementen handelt es sich zum großen Teil um Viereckselemente und vereinzelt um Dreieckselemente, beide mit linearen Verschiebungsansätzen. Die ausreichende Netzfeinheit wird durch eine Konvergenzstudie belegt. \vspace{.5em} \textsf{\textbf{Kontakte}} \hfill | \textcolor{black!50}{\small ANSYS Workbench Strukturbaum: }% \raisebox{-.35em}{% \includegraphics[width=4cm]{ANSYS_WB_Strukturbaum_Kontakte_Verbindungen.png} }\\\nopagebreak % Die Kopplung von Rotorblatt zu Spinner, Spinner zu Gondel und Gondel zu Turm erfolgt mit Kontaktelementen. Dazu sind jeweils die stirnseitigen Flächen miteinander verbunden. Dies hat zur Folge, dass die Elemente an der Stelle der Kopplung einen Verbund eingehen. Dabei ist der \emph{Kontaktkörper} stets die bodenabgewandte Struktur und der \emph{Zielkörper} die bodenzugewandte Struktur. Eingebaute Kontaktpartner sind in Abbildung \ref{fig:Kontakte} dargestellt. \begin{figure}[H]\centering \includegraphics[width=0.85\textwidth]{Kontakt.png} \caption{Kontaktelemente} \label{fig:Kontakte} \end{figure} \vspace{-1.5em} \vspace{.5em} \textsf{\textbf{Netz}} \hfill | \textcolor{black!50}{\small ANSYS Workbench Strukturbaum: }% \raisebox{-.35em}{% \includegraphics[width=1.4cm]{ANSYS_WB_Strukturbaum_Netz.png} }\\\nopagebreak % In der Abbildung~\ref{fig:konvergenz:statik:Eigengewicht} ist die Konvergenzanalyse zur maximalen Vergleichspannung~\(\sigma\ti{Mises}\) und der maximalen Verformung~\(U\) zu einer statischen Analyse dargestellt, worin die Anlage dem Eigengewicht ausgesetzt ist. Die Abbildung~\ref{fig:konvergenz:modal} zeigt hingegen die Konvergenzanalyse zu den Eigenfrequenzen der Anlage. Bei der Netzwahl wurde die globale Elementkantengröße zuerst von \unit{1000}{mm} bis auf \unit{100}{mm} herabgesetzt. Anschließend wurde die in ANSYS verfügbare Einstellung \emph{Relevanz} immer weiter hoch gesetzt. Diese Funktion verfeinert das Netz mit internen ANSYS-Regeln. Einzelne Elemente erreichten dabei Elementkantengrößen im Bereich von \unit{70}{mm}. Den Spannungs- und Verformungswerten beziehungsweise den Eigenfrequenzwerten werden die Anzahl von Freiheitsgrade gegenübergestellt, dessen Intervall von etwa 40.000 bis 1.000.000 läuft. % \begin{figure}[H]\centering \begin{tikzpicture}[] \begin{axis}[ width=11.0cm, height=5cm, title={}, enlarge x limits=false, enlarge y limits=false, scale only axis, grid=major, tick align = outside, axis lines=left, xmode=log,log basis x=10, xmin=40000, xmax=700000, ymin=0, ymax=110, xlabel={Anzahl der Freiheitsgrade}, ylabel={\ref{pgfplots:konvergenz:sigma} Max.\,Spannung $\sigma\ti{Mises}$ in MPa}, yticklabel style={ /pgf/number format/.cd,fixed,fixed zerofill,precision=0}, ytick={0,20,...,100}, legend style={ nodes=right, font=\small, }, legend pos=south west, ] %\pgfplotstableread{datas/Statische_Ergebnisse.dat}\datatable \pgfplotstableread{datas/Statische_Ergebnisse_Eigengewicht.dat}\datatable \addplot[draw1, mark=x] table[skip first n=1, x index=2,x expr=\thisrowno{2}*1, y index=4] from \datatable; \label{pgfplots:konvergenz:sigma} \end{axis} \begin{axis}[ width=11.0cm, height=5cm, enlarge x limits=false, enlarge y limits=false, scale only axis, tick align = outside, axis y line*=right, xmode=log,log basis x=10, xmin=40000, xmax=700000, ymin=0, ymax=550, ytick={100,200,...,500}, ylabel={\ref{pgfplots:konvergenz:u} Max.\,Verformung $U$ in mm}, axis x line=none, legend style={ nodes=right, font=\small, }, legend pos=south east, ] %\pgfplotstableread{datas/Statische_Ergebnisse.dat}\datatable \pgfplotstableread{datas/Statische_Ergebnisse_Eigengewicht.dat}\datatable \addplot[draw2, mark=*,mark size=1] table[skip first n=1, x index=2,x expr=\thisrowno{2}*1, y index=3] from \datatable; \label{pgfplots:konvergenz:u} \end{axis} \end{tikzpicture}% \caption[ Konvergenzstudie zur maximalen Vergleichsspannung und der maximalen Verformung infolge des Eigengewichts ]{ Konvergenzstudie zur maximalen Vergleichsspannung $\sigma\ti{Mises}$~\ref{pgfplots:konvergenz:sigma} und der maximalen Verformung $U$~\ref{pgfplots:konvergenz:u} infolge des Eigengewichts }\label{fig:konvergenz:statik:Eigengewicht} \end{figure} \vspace{-.5em} % % \begin{figure}[H]\centering \begin{tikzpicture}[] \begin{axis}[ width=11.0cm, height=5cm, title={}, enlarge x limits=false, enlarge y limits=false, scale only axis, grid=major, tick align = outside, axis lines=left, xmode=log,log basis x=10, xmin=40000, xmax=1300000, ymin=0, ymax=110, xlabel={Anzahl der Freiheitsgrade}, ylabel={\ref{pgfplots:konvergenz:sigma} Max.\,Spannung $\sigma\ti{Mises}$ in MPa}, yticklabel style={ /pgf/number format/.cd,fixed,fixed zerofill,precision=0}, ytick={0,20,...,100}, legend style={ nodes=right, font=\small, }, legend pos=south west, ] %\pgfplotstableread{datas/Statische_Ergebnisse.dat}\datatable %\addplot[draw1, opacity=0.15] table[skip first n=1, x index=1,x expr=\thisrowno{1}*1, y index=3] from \datatable; %\pgfplotstableread{datas/Statische_Ergebnisse_Federn.dat}\datatable \pgfplotstableread{datas/Statische_Ergebnisse_Einzellast2.dat}\datatable \addplot[draw1, mark=x] table[skip first n=1, x index=2,x expr=\thisrowno{2}*1, y index=4] from \datatable; \label{pgfplots:konvergenz:sigma} \end{axis} \begin{axis}[ width=11.0cm, height=5cm, enlarge x limits=false, enlarge y limits=false, scale only axis, tick align = outside, axis y line*=right, xmode=log,log basis x=10, xmin=40000, xmax=1300000, ymin=0, ymax=4100, ytick={100,800,...,4000}, ylabel={\ref{pgfplots:konvergenz:u} Max.\,Verformung $U$ in mm}, axis x line=none, legend style={ nodes=right, font=\small, }, legend pos=south east, ] %\pgfplotstableread{datas/Statische_Ergebnisse.dat}\datatable %\addplot[draw2, opacity=0.15] table[skip first n=1, x index=1,x expr=\thisrowno{1}*1, y index=2] from \datatable; %\pgfplotstableread{datas/Statische_Ergebnisse_Federn.dat}\datatable \pgfplotstableread{datas/Statische_Ergebnisse_Einzellast2.dat}\datatable \addplot[draw2, mark=*,mark size=1] table[skip first n=1, x index=2,x expr=\thisrowno{2}*1, y index=3] from \datatable; \label{pgfplots:konvergenz:u} \end{axis} \end{tikzpicture}% \caption[ Konvergenzstudie zur maximalen Vergleichsspannung und der maximalen Verformung infolge einer Einzellast von 80\,kN an der Blattspitze ]{ Konvergenzstudie zur maximalen Vergleichsspannung $\sigma\ti{Mises}$~\ref{pgfplots:konvergenz:sigma} und der maximalen Verformung $U$~\ref{pgfplots:konvergenz:u} infolge einer Einzellast von 80\,kN an der Blattspitze }\label{fig:konvergenz:statik:Einzellast} \end{figure} \vspace{-.5em} % Wie sich in Abbildung~\ref{fig:konvergenz:statik:Eigengewicht} zeigt, ist sowohl für die Verformung als auch für die Spannung die Konvergenz erreicht. % \begin{figure}[H]\centering %!htb \begin{tikzpicture}[] \begin{axis}[ width=12cm, height=5cm, title={}, enlarge x limits=false, enlarge y limits=false, scale only axis, grid=major, %grid style={dashed, gray!30}, tick align = outside, axis lines=left, % middle xmode=log,log basis x=10, xmin=40000, xmax=3100000, ymin=0, ymax=3.65, xlabel={Anzahl der Freiheitsgrade}, ylabel={Eigenfrequenzen $f_i$ in Hz}, yticklabel style={ /pgf/number format/.cd,fixed,fixed zerofill,precision=1}, ytick={0,.5,...,3.5}, legend style={ nodes=right, font=\small, }, legend pos=south west, ] \pgfplotstableread{datas/Frequenzen.dat}\datatable \addplot[matlab1, thick, mark=x] table[x index=0, y index=1] from \datatable; \addplot[matlab2, thick, mark=x] table[x index=0, y index=2] from \datatable; \addplot[matlab3, thick, mark=x] table[x index=0, y index=3] from \datatable; \addplot[matlab4, thick, mark=x] table[x index=0, y index=4] from \datatable; \addplot[matlab5, thick, mark=x] table[x index=0, y index=5] from \datatable; \addplot[matlab6, thick, mark=x] table[x index=0, y index=6] from \datatable; \addplot[matlab7, thick, mark=x] table[x index=0, y index=7] from \datatable; \addplot[matlab1, thick, mark=x] table[x index=0, y index=8] from \datatable; \addplot[matlab2, thick, mark=x] table[x index=0, y index=9] from \datatable; \addplot[matlab3, thick, mark=x] table[x index=0, y index=10] from \datatable; \addplot[matlab4, thick, mark=x] table[x index=0, y index=11] from \datatable; \addplot[matlab5, thick, mark=x] table[x index=0, y index=12] from \datatable; \addplot[matlab6, thick, mark=x] table[x index=0, y index=13] from \datatable; \addplot[matlab7, thick, mark=x] table[x index=0, y index=14] from \datatable; \addplot[matlab1, thick, mark=x] table[x index=0, y index=15] from \datatable; \addplot[matlab2, thick, mark=x] table[x index=0, y index=16] from \datatable; \end{axis} \end{tikzpicture}% \caption[ Konvergenzstudie zur Eigenfrequenz der Windenergieanlage ]{ Konvergenzstudie zur Eigenfrequenz der Windenergieanlage }\label{fig:konvergenz:modal} \end{figure} \vspace{-.5em} %\vspace{-1.5em} % In Abbildung~\ref{fig:konvergenz:modal} ist die Konvergenz zu den Eigenfrequenzen zu erkennen, die sich gegenüber der Konvergenz zur Spannung und Verformung deutlich früher einstellt. \begin{figure}[H]\centering \includegraphics[width=0.95\textwidth]{Netz_Nabe_100_80_g.png} \caption{Netz} \label{fig:Netz} \end{figure} \vspace{-1.5em} \subsubsection{Randbedingungen} Im Folgenden werden für das Simulationsmodell Randbedingungen wie äußere Lasten und Lagerungen dargestellt. \vspace{.5em} \textsf{\textbf{Eigengewicht}} \\\nopagebreak % \begin{figure}[H]\centering \includegraphics[width=0.48\textwidth]{Randbedingungen_Beschleunigung.png} \caption{Statische Randbedingungen} \label{fig:Randbedingungen:statisch:Eigengewicht} \end{figure} \vspace{-1.5em} \vspace{.5em} \textsf{\textbf{Einzellasten}} \\\nopagebreak \vspace{.5em} \textsf{\textbf{Stationäre}} \\\nopagebreak % \subsubsection{Analyseparameter} ~