diff --git a/contents/definitions.tex b/contents/definitions.tex new file mode 100644 index 0000000000000000000000000000000000000000..551fad2d7f40ee2b4b95f09244bc63c663854f50 --- /dev/null +++ b/contents/definitions.tex @@ -0,0 +1,21 @@ +% ----------------------------------------------------------------------------- +% General definitions +% +% Author: Thomas Lambert <t.lambert@uliege.be> +% ULiege - Aeroelasticity and Experimental Aerodynamics +% https://gitlab.uliege.be/thlamb/Rotare-doc +% +% License: CC-BY-SA-4.0 +% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 +% International License (https://creativecommons.org/licenses/by-sa/4.0/) +% ------------------------------------------------------------------------------ + +\chapter{Definitions} +\label{chap:def} + +The following definitions are used through the whole manual. Some are also used +as configuration variables (see Chapter~\ref{chap:user:input}). + +% TODO: Add generic blade schematics +% TODO: Add rotor disc and flow angle schematics +% TODO: Add blade element schematic diff --git a/contents/user-input.tex b/contents/user-input.tex index 68422b32fda398f4dda7628e231ef249ff689516..5a79155289774ee3ac2cf66adcc5f67a2494b5a7 100644 --- a/contents/user-input.tex +++ b/contents/user-input.tex @@ -24,9 +24,9 @@ configuration are given in \directory{src/config/}. In order to always have a fully-defined, working configuration available, it is suggested to just copy the template and edit your copy instead of directly working in the template. - \section{Input variables} All input parameters are structured as in the following example. + \describeOption{Option Name}{unit}{\lst{Example values}}{ A brief description of the option with further indications regarding the input values if necessary. @@ -83,22 +83,19 @@ results. Show the 3D view of the rotor and blade. } -\describeOption{Sim.Out.3DhubType}{}{See below}{ +\describeOption{Sim.Out.hubType}{}{See below}{ Type of hub (cone) to display on the 3D graph. See \href{https://en.wikipedia.org/wiki/Nose_cone_design}{Nose cone design (wikipedia)} for representation of the nose cones.\\ - \textit{The nose cones are only for a more realistic visual representation of - the rotor. The type of hub itself has absolutely no impact in the actual - computation of the BEMT results.}\par - - \begin{tabular}[c]{lll} - \qquad & Values & \lstmat{'none'}, \lstmat{'cylinder'}, \lstmat{'conic'}, - \lstmat{'blunted_conic'}, \lstmat{'bi-conic'}, \lstmat{'tangent_ogive'}, \\ - \qquad & & \lstmat{'blunted_tangent_ogive'}, \lstmat{'secant_ogive_regular'}, - \lstmat{'secant_ogive_bulge'},\\ - \qquad & & \lstmat{'elliptical'}, \lstmat{'parabolic'}, - \lstmat{'power_series'}, \lstmat{'lv-haack'}, \lstmat{'vonkarman'}. - \end{tabular} + Allowed values: \lstmat{'none'}, \lstmat{'cylinder'}, \lstmat{'conic'}, + \lstmat{'blunted_conic'}, \lstmat{'bi-conic'}, \\ + \lstmat{'tangent_ogive'}, \lstmat{'blunted_tangent_ogive'}, + \lstmat{'secant_ogive_regular'}, \lstmat{'secant_ogive_bulge'}, + \lstmat{'elliptical'}, \lstmat{'parabolic'}, \lstmat{'power_series'}, + \lstmat{'lv-haack'}, \lstmat{'vonkarman'}.\par + \textit{The nose cones are only used for a more realistic visual + representation of the rotor. The type of hub itself has absolutely no impact + in the actual computation of the BEMT results.} } @@ -153,6 +150,11 @@ Other miscellaneous parameters. to ensure proper sign for the output variables, etc. } +\describeOption{Sim.Misc.pitchRef}{}{\lst{'zerolift','chordline'}}{ + It is common to define the pitch angle of a blade element with respect to the + zero-lift angle of its airfoil instead of the chord line. This parameter + ensures the correct reference is taken. +} % =============================================== \subsection{Models and solver options} @@ -165,20 +167,20 @@ extension and corrections to apply. It also specifies the numerical limits Chapter~\ref{chap:tech:solvers}. } -\describeOption{Mod.polars}{}{\lst{'manual', 'polynomial', 'auto'}}{ - Type of losses to consider. -} -\describeOption{Mod.polarFile}{}{\lst{'mypolar.mat'}}{ - File name for the polar. -} +\subsubsection{Mod.Syst} +Parameters related to multi-rotors systems. -\describeOption{Mod.pitchRef}{}{\lst{'zerolift','chordline'}}{ - It is common to define the pitch angle of a blade element with respect to the - zero-lift angle of its airfoil instead of the chord line. This parameter - ensures the correct reference is taken. +\describeOption{Mod.Syst.nRotors}{}{\lst{1}}{ + Number of rotors. Currently \rotare is only capable of simulating a single + rotor in isolation. A value other than \lst{1} will result in an error. The + coaxial implementation is going to be implemented in a few weeks. } +\describeOption{Mod.Syst.rotSpacing}{}{Vector}{ + Spacing between multiple coaxial rotors. This should be specified as a vector + (or scalar if there are only two rotors). +} \subsubsection{Mod.Ext} @@ -192,7 +194,6 @@ Parameters related to the extensions and corrections to apply to the base BEMT. \subsubsection{Mod.Num} Numerical limits for the simulations. - \describeOption{Mod.Num.convCrit}{-}{1e-4}{ Value for the convergence criterion to use when doing iterative process. Note that this criterion will be used to assess the \emph{relative} error between @@ -200,15 +201,22 @@ Numerical limits for the simulations. results. } -\describeOption{Mod.Num.maxIter}{-}{1e}{ +\describeOption{Mod.Num.maxIter}{-}{1e3}{ Maximum iterations allowed when doing iterative processes. If this number is reached, the code will output an error and stop its execution. } +\describeOption{Mod.Num.azimStep}{deg}{1}{ + Azimuthal step to use when simulating oblique flows. See~\todo{ref} for + details regarding oblique flow implementation. + + \textit{The BEMT equations needs to be resolved for each azimuthal position of + the blade. Using a very small step will lead to longer computational time.} + } % =============================================== \subsection{Flow} -The structure \lstmat{Flow} contains the parameters related to the flow itself. +The structure \lst{Flow} contains the parameters related to the flow itself. \describeOption{Flow.fluid}{}{\lst{'air', 'seawater', 'freshwater'}}{ Nature of the fluid. This is used to determine the density and viscosity of @@ -217,6 +225,12 @@ The structure \lstmat{Flow} contains the parameters related to the flow itself. order to determine the proper density and viscosity (using ISA tables). } +\describeOption{Flow.angle}{deg}{\lst{20}}{ + Angle of the flow with respect to the direction perpendicular to the rotor + plane (\ie, 0$^\circ$ for axial flows). + + \todo{schematics} +} % =============================================== \subsection{Operating points} @@ -272,13 +286,25 @@ structures (\ie, \lst{Airfoil(1)}, \lst{Airfoil(2)}, \dots). \describeOption{Airfoil.coordFile}{}{\lst{'airfoil\_data/naca0012.dat'}}{ Name of the file with the airfoil data. At the moment, this file is only used - to draw the 3D view of the rotor. The best source for such data files is to - directly get the + to draw the 3D view of the rotor, but it is still a mandatory input. The best + source for such data files is to directly get the \href{https://m-selig.ae.illinois.edu/ads/coord_database.html}{UIUC Airfoil Coordinates Database}. The data can be formatted either following Selig or Ledneicer convention (the two types of format found on UIUC Database). } +\describeOption{Airfoil.polarType}{}{\lst{'file', 'polynomial'}}{ + Type of polar input \rotare should be using. + \begin{itemize} + \item \textbf{file}: A structure containing the polars should be passed to + \rotare. + \item \textbf{polynomial}: The $C_l$ and $C_d$ are given as polynomial + expressions of $\alpha$. + \item \textbf{auto}: \rotare retreives the polars automatically using XFOIL. + + \end{itemize} +} + \describeOption{Airfoil.polarsFile}{}{\lst{'airfoil\_data/naca0012-polar.mat'}}{ Name of the files with the airfoil polars. This file should contain a Matlab structure called \lst{Polar}. Such file can be obtained by generating the @@ -368,7 +394,6 @@ the corresponding spanwise position defined in \lst{radius}. $[0.5; 1[$ m and the \lst{Airfoil(3)} will be used for the tip. } - \describeOption{Blade.nElem}{-}{100}{ Number of blade elements to use in the Blade Element Method. The elements will be linearly spaced along the span of the blade (defined by the two bounds of diff --git a/doc-setup.tex b/doc-setup.tex deleted file mode 100644 index 1219b0707044ff4abbdeda30915cefbc55977dd0..0000000000000000000000000000000000000000 --- a/doc-setup.tex +++ /dev/null @@ -1,110 +0,0 @@ -% ----------------------------------------------------------------------------- -% This file contains the metadata setup and additional packages loaded for the -% documentation of rotare. -% -% Author: Thomas Lambert <t.lambert@uliege.be> -% ULiege - Aeroelasticity and Experimental Aerodynamics -% https://gitlab.uliege.be/thlamb/Rotare-doc -% -% License: CC-BY-SA-4.0 -% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 -% International License (https://creativecommons.org/licenses/by-sa/4.0/) -% ------------------------------------------------------------------------------ - - -% ============================================================================== -% DOCUMENT METADATA -% ============================================================================== - -% Version number and date. -% *********************************************** -\newcommand{\docDate}{\today} -\newcommand{\docVersion}{v0.0.0} - - -\newcommand{\docTitle}{Rotare} -\newcommand{\docSubtitle}{Documentation} -\newcommand{\docAuthor}{Thomas Lambert} - -\newcommand{\docAffiliation}{\protect{University of Liège}} - - -% ============================================================================== -% BASE PACKAGE CONFIGURATION -% ============================================================================== - -% Encoding and language -% *********************************************** -\PassOptionsToPackage{utf8}{inputenc} -\usepackage{inputenc} -\usepackage[english]{babel} - -% Debugging -% *********************************************** -%\listfiles % Used for debugging - -% Document style -% *********************************************** -\PassOptionsToPackage{ - figuresep=colon,% - hangfigurecaption=false,% - hangsection=true,% - hangsubsection=true,% - sansserif=false,% - configurelistings=true,% - colorize=full,% - colortheme=bluemagenta,% - configurebiblatex=true,% - bibsys=biber,% - bibfile=rotare-bib,% - bibstyle=alphabetic,% - bibsorting=nty,% -}{cleanthesis} -\usepackage{cleanthesis} - -% Hyperref setup and pdf metadata -% *********************************************** -\hypersetup{% - pdftitle={\docTitle}, % title (PDF meta) - pdfsubject={\docSubtitle}, % subject (PDF meta) - pdfauthor={\docAuthor}, % author (PDF meta) - plainpages=false, % - colorlinks=false, % colorize links - pdfborder={0 0 0}, % link border - breaklinks=true, % allow line break inside links - bookmarksnumbered=true, % - bookmarksopen=true % -} - - -% ============================================================================== -% ADDITIONAL PACKAGES -% ============================================================================== - -\usepackage{uliege-colors} % ULiege color theme -\usepackage{scrhack} % So other packages play nice with KOMA-Scripts -\usepackage{definitions} % Custom definitions (see style/definitions.sty) -\usepackage[nolinks]{qrcode} % QR codes -\usepackage{booktabs} % Better looking tables -\usepackage{amsmath} - -\usepackage{menukeys} % Keys, menus, directories, etc -\renewmenumacro{\directory}{pathswithfolder} % default: paths - -% ============================================================================== -% MISC STUFF -% ============================================================================== - -\newcommand{\describeOption}[4]{ - \par - \begin{minipage}[t]{\textwidth} - \textbf{#1} - \if\relax\detokenize{#2}\relax - % nothing - \else - [#2] - \fi - \dotfill\, #3\\ - #4 -\end{minipage} -} diff --git a/rotare-doc.tex b/rotare-doc.tex index 00b3453f76efc419b0569bcf869c543cf40388d2..a6ed2d24bc31412368547974952b55e730bd9cd4 100644 --- a/rotare-doc.tex +++ b/rotare-doc.tex @@ -30,9 +30,92 @@ draft=false, % toggle if draft version % ============================================================================== -% DOCUMENT SETUP +% DOCUMENT METADATA % ============================================================================== -\input{doc-setup} + +% Document metadata +% *********************************************** +\newcommand{\docDate}{\today} +\newcommand{\docVersion}{v0.0.0} +\newcommand{\docTitle}{Rotare} +\newcommand{\docSubtitle}{Documentation} +\newcommand{\docAuthor}{Thomas Lambert} +\newcommand{\docAffiliation}{\protect{University of Liège}} + +% ============================================================================== +% PACKAGES +% ============================================================================== + +% Encoding and language +% *********************************************** +\PassOptionsToPackage{utf8}{inputenc} +\usepackage{inputenc} +\usepackage[english]{babel} + +% Debugging +% *********************************************** +%\listfiles % Used for debugging + +% Document style +% *********************************************** +\PassOptionsToPackage{ + figuresep=colon,% + hangfigurecaption=false,% + hangsection=true,% + hangsubsection=true,% + sansserif=false,% + configurelistings=true,% + colorize=full,% + colortheme=bluemagenta,% + configurebiblatex=true,% + bibsys=biber,% + bibfile=rotare-bib,% + bibstyle=alphabetic,% + bibsorting=nty,% +}{cleanthesis} +\usepackage{cleanthesis} + +% Hyperref setup and pdf metadata +% *********************************************** +\hypersetup{% + pdftitle={\docTitle}, % title (PDF meta) + pdfsubject={\docSubtitle}, % subject (PDF meta) + pdfauthor={\docAuthor}, % author (PDF meta) + plainpages=false, % + colorlinks=false, % colorize links + pdfborder={0 0 0}, % link border + breaklinks=true, % allow line break inside links + bookmarksnumbered=true, % + bookmarksopen=true % +} + +% Other additional packages +% *********************************************** + +\usepackage{ULiege-colors} % ULiege color theme +\usepackage{scrhack} % So other packages play nice with KOMA-Scripts +\usepackage{definitions} % Custom definitions (see style/definitions.sty) +\usepackage[nolinks]{qrcode} % QR codes +\usepackage{booktabs} % Better looking tables +\usepackage{amsmath} +\usepackage{menukeys} % Keys, menus, directories, etc +\renewmenumacro{\directory}{pathswithfolder} % default: paths + +% ============================================================================== +% COMMANDS AND ENVIRONMENTS +% ============================================================================== + +\newcommand{\describeOption}[4]{ + \par\noindent + \textbf{#1} + \if\relax\detokenize{#2}\relax + % nothing + \else + [#2] + \fi + \dotfill\, #3\newline + #4 +} % ============================================================================== @@ -41,7 +124,6 @@ draft=false, % toggle if draft version \begin{document} - % Front matter % *********************************************** \pagenumbering{roman} % roman page numbing (invisible for empty page style) @@ -66,6 +148,7 @@ draft=false, % toggle if draft version \part{User manual} \input{contents/user-install} \input{contents/user-usage} +\input{contents/definitions} \input{contents/user-input} \input{contents/user-troubleshooting}