diff --git a/Preamble/Main.tex b/Preamble/Main.tex index 0f99460..1d6aa31 100755 --- a/Preamble/Main.tex +++ b/Preamble/Main.tex @@ -163,6 +163,11 @@ % ----------------------------------------- % Aufzählungen % ----------------------------------------- +\makeatletter +\newcommand*{\rom}[1]{\mathrm{\romannumeral #1}} +\newcommand*{\Rom}[1]{\mathrm{\expandafter\@slowromancap\romannumeral #1@}} +\makeatother + \renewcommand{\labelitemi}{--} \renewcommand{\labelitemii}{\(\boldsymbol\cdot\)} % \times @@ -172,8 +177,11 @@ \setlist{nosep} % noitemsep \setlist[1]{labelindent=\parindent} % Usually a good idea \setlist[itemize]{parsep=0pt,itemsep=0pt,leftmargin=*} +\setlist[enumerate]{parsep=0pt,itemsep=0pt,leftmargin=*} \usepackage{listings} +%\usepackage{listingsutf8} +%\begin{lstlisting}[numbersep=0pt,resetmargins=true] \renewcommand{\lstlistingname}{Programmausdruck} \lstdefinestyle{custom}{ %xleftmargin=2em, @@ -186,7 +194,18 @@ columns=fullflexible, basicstyle=\ttfamily % otherwise copy-and-paste won’t work } +\lstset{literate=% +{Ö}{{\"O}}1 +{Ä}{{\"A}}1 +{Ü}{{\"U}}1 +{ß}{{\ss}}1 +{ü}{{\"u}}1 +{ä}{{\"a}}1 +{ö}{{\"o}}1 +} \lstset{ + extendedchars=\true, + %inputencoding=utf8/latin1, % if package listingsutf8 is used style=custom, language=Matlab, basicstyle=\scriptsize\ttfamily, % small, footnotesize, scriptsize @@ -252,6 +271,24 @@ % linie unterhalb mit text \underbracket[1pt][0pt]{bla}_\text{blo} \newcommand\Dfrac[2]{\dfrac{\displaystyle #1}{\displaystyle #2}} +\newcommand{\slfrac}[2]{\left.#1\middle/#2\right.} +\usepackage{xfrac} +\usepackage{nicefrac} +\usepackage{faktor} +% http://tex.stackexchange.com/questions/27591/extending-the-faktor-package/27735#27735 +\DeclareDocumentCommand{\Faktor}{s m O{0.5} m O{-0.5}}{% \newfaktor[*]{#2}[#3]{#4}[#5] -> #2/#4 + \setbox0=\hbox{\scalebox{0.8}{\ensuremath{#2\vphantom{1}}}}% Store numerator + \setbox1=\hbox{\ensuremath{\diagup}}% Store slash / + \setbox2=\hbox{\scalebox{0.8}{\ensuremath{#4}}}% Store denominator + \raisebox{#3\ht1}{\usebox0}% Numerator + \mkern-5mu\ifthenelse{\equal{#1}{\BooleanTrue}}% Slash / + {\diagup}% regular \faktor slash + {\rotatebox{-44}{\rule[#5\ht2]{0.4pt}{-#5\ht2+#3\ht0+\ht0}}}% tilted rule as a slash + \mkern-4mu% + \raisebox{#5\ht2}{\usebox2}% Denominator +} + +% another slanted fration below at tikz \usepackage[ % kann nicht mit amssymb zusammenlaufen @@ -291,16 +328,31 @@ \newcommand{\LM}{\field{L}} % Lösungsmenge \newcommand*{\qed}{\hfill\ensuremath{\blacksquare}} \newcommand*\euler{\mathrm{e}} +\renewcommand{\deg}{\ensuremath{^{\circ}}\xspace} +\newcommand\degC{{\,^{\circ}\mathrm{C}}} +\newcommand\sins{{\mathrm{s}}} % short sin: s +\newcommand\coss{{\mathrm{c}}} % short cos: c -\newcommand{\dif}{\mathrm{d}} - +\newcommand{\T}{{\mathrm{T}}\!} % Transpose operator +\newcommand{\TF}{{\raisebox{-0.5ex}{$\sim$}}} % sign for transfomed values: low tilde +\newcommand{\adj}{{\mathrm{H}}} % Adjoint operator +\newcommand*\dif{\mathop{}\!\mathrm{d}} \newcommand*\E{\ensuremath{\mathrm{E}}} \providecommand{\norm}[1]{\lVert #1 \rVert} % ||x|| \providecommand{\abs}[1]{\lvert #1 \rvert} % |x| \providecommand{\innerProd}[2]{\langle #1, #2\rangle} % -\DeclareMathOperator{\grad}{grad} % $\grad u$ = grad u +\DeclareMathOperator{\Bild}{Bild} % Bild einer Funktion +\DeclareMathOperator{\rank}{rank} % Rank of a matrix +\DeclareMathOperator{\tr}{tr} % Matrix trace +\DeclareMathOperator{\dev}{dev} % Matrix deviation +\DeclareMathOperator{\var}{var} % Variance +\DeclareMathOperator{\grad}{grad} % $\grad u$ = grad u +\DeclareMathOperator{\divergence}{div} % $\div u$ = div u +\DeclareMathOperator{\rot}{rot} % $\rot u$ = rot u +\DeclareMathOperator{\diag}{diag} % Diagonal matrix +\DeclareMathOperator{\adjugate}{adj} % Classical adjoint (adjugate) %\newcommand{\corresponds}{\ensuremath{\stackrel{\wedge}{=} \hat{=} \mathop{\hat{=}} \substack{\wedge\\=} \mathrel{\widehat{=}} } \^{=} } \newcommand*\corresponds{% @@ -316,13 +368,21 @@ \overset{\mbox{\large\bfseries .\hspace{-0.1ex}.}}{#1}} %\usepackage{accents} +\usepackage{ushort} % for tensor +%\usepackage{ulem} % not for math mode, too much space below with uuline; for tensor +\newcommand{\tensor}[1]{ \ensuremath{ {\boldsymbol{#1}} } } -\newcommand{\tensor}[1]{ \ensuremath{ \mathbf{#1} } } -\newcommand{\tensorI}[1]{ \ensuremath{ \uline{ \bm{#1} } } } -\newcommand{\tensorII}[1]{ \ensuremath{ \uuline{ \bm{#1} } } } -\newcommand{\tensorIII}[1]{ \ensuremath{ \underaccent{3}{ \underaccent{\tilde}{ \bm{#1} } } } } -\newcommand{\tensorIV}[1]{ \ensuremath{ \underaccent{4}{ \underaccent{\tilde}{ \bm{#1} } } } } +\newcommand{\tensorI}[1]{ \ensuremath{ \ushort{ {\boldsymbol{#1}} } } } +\newcommand{\tensorII}[1]{ \ensuremath{ \ushortd{{\boldsymbol{#1}} } } } +\newcommand{\tensorIII}[1]{ \ensuremath{ \underaccent{3}{ \underaccent{\tilde}{ {\boldsymbol{#1}} } } } } +\newcommand{\tensorIV}[1]{ \ensuremath{ \underaccent{4}{ \underaccent{\tilde}{ {\boldsymbol{#1}} } } } } +% bm variant +%\usepackage{bm} % load bm after amsmath and after your font packages!; for tensor +%\newcommand{\tensorI}[1]{ \ensuremath{ \uline{ \bm{#1} } } } +%\newcommand{\tensorII}[1]{ \ensuremath{ \uuline{ \bm{#1} } } } +%\newcommand{\tensorIII}[1]{ \ensuremath{ \underaccent{3}{ \underaccent{\tilde}{ \bm{#1} } } } } +%\newcommand{\tensorIV}[1]{ \ensuremath{ \underaccent{4}{ \underaccent{\tilde}{ \bm{#1} } } } } %needs MnSymbol \newcommand{\tensori}[1]{ @@ -356,23 +416,46 @@ \usepackage{amsthm} \theoremstyle{definition} % nummeriert +\newtheorem{tDef}{Def} \newtheorem{tBsp}{Bsp} % unnummeriert -\newtheorem*{tDef}{Def} +\newtheorem*{tDef*}{Def} \newtheorem*{tBsp*}{Bsp} \newcommand{\undertab}[1]{\clap{% \scriptsize\begin{tabular}{@{}c@{}}#1\end{tabular}}} +% underbrace, centered, space corrected \newcommand{\ubspace}[2]{% Correct \underbrace spacing - \mathrlap{\underbrace{\phantom{#1\strut}}_{\undertab{#2}}}#1} + \mathrlap{\underbrace{\phantom{\scalebox{0.95}{$#1$}\strut}}_{\undertab{#2}}}#1} +% underbrace, left aligned, space corrected \newcommand{\ubspacel}[2]{% Correct \underbrace spacing + \mathrlap{\underbracket[0pt][0pt]{\phantom{\scalebox{0.95}{$#1$}\strut}}_{\vphantom{\big\mid}\text{#2}}}\underbrace{#1}} +% underbrace line, left aligned, space corrected +\newcommand{\ubspacell}[2]{ \mathrlap{\underbracket[0pt][0pt]{\phantom{#1\strut}}_{\text{#2}}}\underbracket[0.5pt][0pt]{#1}} %\usepackage{eurosym} % fuer das Eurosymbol %\DeclareUnicodeCharacter{20AC}{\euro{}} +\usepackage{cancel} +%\begin{pmatrix}[1.5] -> \arraystretch{1.5} +\makeatletter +\renewcommand*\env@matrix[1][\arraystretch]{% + \edef\arraystretch{0.8}% + \edef\arraystretch{#1}% + \edef\arraycolsep{2pt}% + \hskip -\arraycolsep + \let\@ifnextchar\new@ifnextchar + \array{*\c@MaxMatrixCols c}} +\makeatother + +\newenvironment{Array}[1]{ + \begingroup + \arraycolsep=1pt\def\arraystretch{1} + \begin{array}{@{}#1@{}} +}{\end{array}\endgroup} % ----------------------------------------- @@ -535,6 +618,11 @@ % !!!! in tikzset sind keine Leerzeilen erlaubt !!!! \tikzset{ + %scale a tikzpicture including texts + global scale/.style={ + scale=#1, + every node/.style={scale=#1} + }, %Define standard arrow tip >=stealth', %Define standard node @@ -735,3 +823,13 @@ \makeatletter \def\mynobreakpar{\par\nobreak\@afterheading} \def\mynobreakline{\par\nobreak\vspace{-\parskip}\@afterheading\noindent} \makeatother + + +\newenvironment{absolutelynopagebreak} + {\par\nobreak\vfil\penalty0\vfilneg + \vtop\bgroup} + {\par\xdef\tpd{\the\prevdepth}\egroup + \prevdepth=\tpd} +%\begin{absolutelynopagebreak} +%\lipsum[1-3]\lipsum*[4] +%\end{absolutelynopagebreak} diff --git a/sections/Theorie.tex b/sections/Theorie.tex index b105dbb..6fb9186 100755 --- a/sections/Theorie.tex +++ b/sections/Theorie.tex @@ -27,9 +27,33 @@ In den nachfolgenden Abschnitten wird auf die Grundlagen der statischen und dyna Zur weiteren Vertiefung der Themengebiete beziehungsweise bei Interesse zur Lösung von anderen Problemstellungen sei unter anderem auf die Literatur \citep{bathe86} und \cite{klein05} sowie das \acs{ANSYS}"=Programmhandbuch %\cite{ansys} verwiesen. -Im Allgemeinen werden mit der \ac{FEM} Differentialgleichungen beziehungsweise Systeme von Differentialgleichungen gelöst. Am Beispiel eines Biegebalkens ist es die Biegedifferentialgleichung, und bei dynamischen Problemen die Bewegungsdifferentialgleichung. -Dabei umfasst die \ac{FEM} zur Lösung der Feldgröße drei grundlegende Schritte; die Partitionierung, die Approximation und die Assemblierung. +Im Allgemeinen werden mit der \ac{FEM} Differentialgleichungen beziehungsweise Systeme von Differentialgleichungen gelöst. +Am Beispiel eines Biegebalkens ist es die Biegedifferentialgleichung +und bei dynamischen Problemen eine Bewegungsdifferentialgleichung. +Gewonnen werden diese Differentialgleichung durch Gleichgewichtsbetrachtungen eines beliebigen Festkörpers, der entweder statisch bestimmt oder statisch überbestimmt gelagert und mit äußeren Lasten beaufschlagt ist. +Die \ac{FEM} umfasst zur Lösung der Feldgröße dabei drei grundlegende Schritte mit der die Differentialgleichung als FE"=Gleichungssystem beschrieben wird; die Partitionierung, die Approximation und die Assemblierung. \subsubsection{Statische Analysen} +Mit dem Kräftegleichgewicht am infinitesimalen Element ergibt sich für ein beliebigen Körper~\(V\) im allgemeinen dreidimensionalen Fall die klassische elliptische Differentialgleichung mit den Randbedingungen auf der Körperoberfläche~\(\partial V\) -- in differentielle Formulierung -- +\[ + \begin{Array}{rcl} + \nabla\cdot\tensorII{\sigma} + \tensorI{f} &= \tensorI{0} & \quad\text{in } V, \\ + \tensorI{u} &= \tensorI{u}_0 & \quad\text{auf } \partial V_1, \\ + \tensorII{\sigma}\cdot\tensorI{n} &= \tensorI{t} & \quad\text{auf } \partial V_2, \\ + &&\quad\text{wobei }\partial V_1 \cup \partial V_2 = \partial V. + \end{Array} +\] +Die partiell abgeleiteten inneren Spannungen~\(\tensorII{\sigma}\) stehen mit den Volumenkräften~\(\tensorI{f}\) im Gleichgewicht. +Dabei beschreiben die Randbedingungen zum einen Verschiebungen~\(\tensorI{u}_0\) auf einem Teil der Körperoberfläche~\(\partial V_1\) und zum anderen Belastungen in Form eines Spannungsvektors~\(\tensorI{t}\) auf den restlichen Teil der Körperoberfläche~\(\partial V_2\). +Zur näherungsweisen Verarbeitung der Differentialgleichung wird hier das Variationsprinzip -- das sogenannte \emph{Prinzip der virtuellen Verrückung} -- herangezogen, mit der ein Ersatzgleichgewichtsgleichung formuliert wird. + +Auf Grundlage der Differentialgleichung (starke Formulierung) erfolgt die schwache Formulierung durch Multiplikation einer Testfunktion beziehungsweise virtuellen Verrückung \(\delta\tensorI{u}\), welche die kinematischen beziehungsweise wesentlichen Randbedingungen erfüllen muss (\(\forall \delta\tensorI{u}\in C^1(V)\cap C(\overline{V}),~ \delta\tensorI{u} = \tensorI{u}_0 \text{ auf } \partial V_1\)), mit anschließender Integration über das Berechnungsgebiet \(V\). +\[ + \underbrace{\int\limits_{V\vphantom{V_1}}\!\!\!(\tensorII{\sigma} : \nabla\delta\tensorI{u})\dif V }_{\delta W\ti{i}} = \underbrace{\!\!\int\limits_V\!\!\!(\tensorI{f}\cdot\delta\tensorI{u})\dif V + \!\!\int\limits_{\partial V_2}\!\!\!(\tensorI{t}\cdot\delta\tensorI{u})\dif A}_{\delta W\ti{a}} +\] +wobei \( \nabla\cdot(\tensorII{\sigma}\cdot\delta\tensorI{u}) = \nabla\cdot\tensorII{\sigma}\cdot\delta\tensorI{u} + \tensorII{\sigma}:\nabla\delta\tensorI{u} \) +und \( \int_V \nabla\cdot\tensorII{\sigma}\dif V = \int_{\partial V}\tensorII{\sigma}\cdot\tensorI{n}\dif A \) +(Gauß'sche Integralsatz) + \subsubsection{Dynamische Analysen}