Skip to content

Commit

Permalink
Merge pull request #538 from bjonkman/f/LinearAero
Browse files Browse the repository at this point in the history
Updates to AeroDyn
  • Loading branch information
rafmudaf authored Nov 9, 2020
2 parents 44263d7 + 4db914b commit 8272750
Show file tree
Hide file tree
Showing 60 changed files with 9,272 additions and 3,827 deletions.
Binary file modified docs/OtherSupporting/OutListParameters.xlsx
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Example Time-Series Input File for UnsteadyAero Driver


This file has 8 header lines followed by three columns of data:


Time Angle of Attack VRel omega
(s) (deg) (m/s) (rad/s^2)
0.0 0 10 0
0.01 0 10 0
0.02 0 10 0
25 changes: 25 additions & 0 deletions docs/source/user/aerodyn-dynamicStall/examples/UA-driver.inp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
UnsteadyAero Driver file for Unit NACA. k = 0.077
-------------------------------------------------------------------------------
FALSE Echo - Echo the input file data (flag)
---------------------- ENVIRONMENTAL CONDITIONS -------------------------------
340.29 SpdSound - Speed of sound (m/s)
---------------------- UNSTEADYAERO -------------------------------------------
"05014051_NACA" OutRootName - The name which prefixes all UnsteadyAero generated files (quoted string)
40.36 InflowVel - Inflow velocity (m/s)
1.48 Re - Reynolds number in millions (-)
3 UAMod - Unsteady Aero Model Switch: 2 - Gonzalez’s variant (changes in Cn,Cc,Cm); 3 - Minnema/Pierce variant (changes in Cc and Cm)
TRUE Flookup – Flag to indicate whether a lookup for f’ will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files
------------------- AIRFOIL PROPERTIES ----------------------------------------
"05000051_AD15.dat" AirFoil - Airfoil table
0.55 Chord - Chord length (m)
TRUE UseCm - Use Cm data in airfoil table
------------------- SIMULATION CONTROL ----------------------------------------
1 SimMod - Simulation model [ 1 - use reduced frequency model, 2 - use time series data stored in the TimeInputs file and ignore the remaining parameters ]
3 NCycles - Number of angle-of-attack oscillations (cosine function) over the length of the simulation (-)
720 StepsPerCycle - Number of timesteps per cycle (-)
1.8 Frequency - Frequency for the airfoil oscillations (Hz)
9.685 Amplitude - Amplitude of the oscillations (deg)
15.195 Mean - Cycle mean (deg)
-180 Phase - Initial phase (num steps)
"UA-driver-timeseries.dat" InputsFile - Time series data in an ASCII input file (whitespace-separated data). 8 header lines, followed by column data. First column is time (sec), second column is angle-of-attack (deg), third column is InflowVel (m/s)
"END" of driver input file
12 changes: 9 additions & 3 deletions docs/source/user/aerodyn/appendix.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@ In this appendix we describe the AeroDyn input-file structure and provide exampl

The driver input file is only needed for the standalone version of AeroDyn and contains inputs normally generated by OpenFAST, and necessary to control the aerodynamic simulation for uncoupled models.

2) AeroDyn Primary Input File
2) AeroDyn Driver Timeseries Input File
:download:`(driver timeseries input file example) <examples/ad_driver_timeseries_example.inp>`:
The timeseries input file for a case in the AeroDyn driver allows the parameters
to vary with time. This feature can be useful for debugging the aerodynamic response
outside of OpenFAST.

3) AeroDyn Primary Input File
:download:`(primary input file example) <examples/ad_primary_example.inp>`:

The primary AeroDyn input file defines modeling options, environmental conditions (except freestream flow), airfoils, tower nodal discretization and properties, as well as output file specifications.
Expand All @@ -24,12 +30,12 @@ The file is organized into several functional sections. Each section correspond

The input file begins with two lines of header information which is for your use, but is not used by the software.

3) Airfoil Data Input File
4) Airfoil Data Input File
:download:`(airfoil data input file example) <examples/ad_airfoil_example.inp>`:

The airfoil data input files themselves (one for each airfoil) include tables containing coefficients of lift force, drag force, and pitching moment versus AoA, as well as UA model parameters. In these files, any line whose first non-blank character is an exclamation point (!) is ignored (for inserting comment lines). The non-comment lines should appear within the file in order, but comment lines may be intermixed as desired for reading clarity.

4) Balde Data Input File
5) Blade Data Input File
:download:`(blade data input file example) <examples/ad_blade_example.inp>`:

The blade data input file contains the nodal discretization, geometry, twist, chord, and airfoil identifier for a blade. Separate files are used for each blade, which permits modeling of aerodynamic imbalances.
Expand Down
3 changes: 2 additions & 1 deletion docs/source/user/aerodyn/examples/ad_airfoil_example.inp
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
0.996141 0.000290
1.000000 0.000000
! ------------------------------------------------------------------------------
"unused" BL_file ! The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called.
1 NumTabs ! Number of airfoil tables in this file.
! ------------------------------------------------------------------------------
! data for table 1
Expand Down Expand Up @@ -118,7 +119,7 @@ true InclUAdata ! Is unsteady aerodynamics data included in this
0 k1_hat ! Constant in the expression of Cc due to leading edge vortex effects. [ignored if UAMod<>1]
"Default" x_cp_bar ! Constant in the expression of \hat(x)_cp^v. [ignored if UAMod<>1, default = 0.2]
"DEFAULT" UACutout ! Angle of attack above which unsteady aerodynamics are disabled (deg). [Specifying the string "Default" sets UACutout to 45 degrees]
"DEFAULT" filtCutOff ! Cut-off frequency (-3 dB corner frequency) for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (Hz)…
"DEFAULT" filtCutOff ! Reduced frequency cut-off for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (-) [default = 0.5]
!........................................
! Table of aerodynamics coefficients
63 NumAlf ! Number of data lines in the following table
Expand Down
4 changes: 2 additions & 2 deletions docs/source/user/aerodyn/examples/ad_driver_example.inp
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ True TabDel - When generating formatted output (OutForm=True),
"ES10.3E2" OutFmt - Format used for text tabular output, excluding the time channel. Resulting field should be 10 characters. (quoted string)
True Beep - Beep on exit (flag)
----- Combined-Case Analysis -------------------------------------------------
1 NumCases - Number of cases to run
2 NumCases - Number of cases to run
WndSpeed ShearExp RotSpd Pitch Yaw dT Tmax
(m/s) (-) (rpm) (deg) (deg) (s) (s)
5.0000000E+00 0.0000000E+00 7.1900000E+01 3.0000000E+00 0.0000000E+00 3.9700000E-02 8.3450000E-01

@ADTimeSeriesInput.dat
15 changes: 15 additions & 0 deletions docs/source/user/aerodyn/examples/ad_driver_timeseries_example.inp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Time WndSpeed ShearExp RotSpd Pitch Yaw
(s) (m/s) (-) (rpm) (deg) (deg)
0.0 4.00000000 0.00000000 2.0 0.00000000 100.00000000
0.05 4.00000000 0.00000000 2.0 0.00000000 90.00000000
0.10 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.15 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.20 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.25 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.30 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.35 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.40 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.45 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.50 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.55 4.00000000 0.00000000 2.0 0.00000000 80.00000000
0.60 4.00000000 0.00000000 2.0 0.00000000 80.00000000
48 changes: 34 additions & 14 deletions docs/source/user/aerodyn/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,7 @@ improved tower clearance.

The I/O SETTINGS section controls the creation of the results file. If
``OutFileRoot`` is specified, the results file will have the filename
*OutFileRoot.#.out*, where the ‘\ *#*\ ’ character is an integer
number corresponding to a test case line found in the COMBINED-CASE
ANALYSIS section described below. If an empty string is provided for
*OutFileRoot.out*. If an empty string is provided for
``OutFileRoot``, then the driver file’s root name will be used
instead. If ``TabDel`` is ``TRUE``, a TAB character is used between
columns in the output file; if FALSE, fixed-width is used otherwise.
Expand Down Expand Up @@ -115,6 +113,19 @@ match the time step for the aerodynamic calculations (``DTAero``) as
specified in the primary AeroDyn input file, and ``Tmax`` is the total
simulation time.

Note that ``dT`` should be the same for each of the cases listed in the
COMBINED-CASE ANALYSIS section. All of the cases will be output to the same
file, with a ``Case`` column listed next to the ``Time`` output column
for help with data processing.

For further debugging capability, the AeroDyn driver now also has the
ability to read the combined case input data as a time-history file.
In place of a row in the COMBINED-CASE ANALYSIS table, a separate input file
can be listed instead. The name of the file should be preceded with the ``@``
character, to indicate the data is a time-history file in a separate text
input file. An example is provided in
:numref:`ad_appendix`

AeroDyn Primary Input File
--------------------------

Expand Down Expand Up @@ -340,7 +351,7 @@ Specify the number of airfoil data input files to be used using
file names should be in quotations and can contain an absolute path or a
relative path e.g., “C:\\airfoils\\S809_CLN_298.dat” or
“airfoils\\S809_CLN_298.dat”. If you use relative paths, it is
relative to the location of the current working directory. The blade
relative to the location of the file in which it is specified. The blade
data input files will reference these airfoil data using their line
identifier, where the first airfoil file is numbered 1 and the last
airfoil file is numbered ``NumAFfiles``.
Expand Down Expand Up @@ -395,7 +406,9 @@ running AeroDyn standalone, or by the OpenFAST program when running a
coupled simulation. See section 5.2 for summary file details.

AeroDyn can output aerodynamic and kinematic quantities at up to nine
nodes along the tower and up to nine nodes along each blade.
nodes specified along the tower and up to nine nodes along each blade.
For outputs at every blade node, see :numref:`AD-Nodal-Outputs`.

``NBlOuts`` specifies the number of blade nodes that output is
requested for (0 to 9) and ``BlOutNd`` on the next line is a list
``NBlOuts`` long of node numbers between 1 and ``NumBlNds``
Expand Down Expand Up @@ -447,7 +460,7 @@ complete list of possible output parameters.
.. _airfoil_data_input_file:

Airfoil Data Input File
~~~~~~~~~~~~~~~~~~~~~~~
-----------------------

The airfoil data input files themselves (one for each airfoil) include
tables containing coefficients of lift force, drag force, and pitching
Expand All @@ -464,7 +477,7 @@ pitching-moment, and minimum pressure coefficients as a function of AoA.
When ``InterpOrd`` is 1, linear interpolation is used; when
``InterpOrd`` is 3, the data will be interpolated with cubic splines;
if the keyword ``DEFAULT`` is entered in place of a numerical value,
``InterpOrd`` is set to 3.
``InterpOrd`` is set to 1.

``NonDimArea`` is the nondimensional airfoil area (normalized by the
local ``BlChord`` squared), but is currently unused by AeroDyn.
Expand All @@ -481,6 +494,9 @@ exterior shape of the airfoil. The airfoil shape is currently unused by
AeroDyn, but when AeroDyn is coupled to OpenFAST, the airfoil shape will be
used by OpenFAST for blade surface visualization when enabled.

``BL_file`` is the name of the file containing boundary-layer characteristics
of the profile. It is ignored if the aeroacoustic module is not used.

Specify the number of Reynolds number- or aerodynamic-control
setting-dependent tables of data for the given airfoil via the
``NumTabs`` setting. The remaining parameters in the
Expand Down Expand Up @@ -635,11 +651,11 @@ input file):
UA are disabled; if the keyword ``DEFAULT`` is entered in place of a
numerical value, ``UACutOut`` is set to 45.

- ``filtCutOff`` is the cut-off frequency (-3 dB corner frequency)
(in Hz) of the low-pass filter applied to the AoA input to UA, as
- ``filtCutOff`` is the cut-off reduced frequency
of the low-pass filter applied to the AoA input to UA, as
well as to the pitch rate and pitch acceleration derived from AoA
within UA; if the keyword ``DEFAULT`` is entered in place of a
numerical value, ``filtCutOff`` is set to 20.
numerical value, ``filtCutOff`` is set to 0.5.

``NumAlf`` is the number of distinct AoA entries and determines the
number of rows in the subsequent table of static airfoil coefficients;
Expand All @@ -651,8 +667,13 @@ interpolate on AoA using the data provided via linear interpolation or via cubic
splines, depending on the setting of input ``InterpOrd`` above.
If ``AFTabMod`` is set to ``1``, only the first airfoil table in each file
will be used. If ``AFTabMod`` is set to ``2``, AeroDyn will find the
airfoil table that bounds the computed Reynolds number, and linearly interpolate
between the tables, using the logarithm of the Reynolds numbers.
airfoil tables that bound the computed Reynolds number,
and linearly interpolate between the tables, using the logarithm of the Reynolds numbers.
If ``AFTabMod`` is set to ``3``, it will find the bounding airfoil
tables based on the ``UserProp`` field and linearly interpolate the tables
based on it. Note that OpenFAST currently sets the ``UserProp`` input value to ``0``
unless the DLL controller is used and sets the value,
so using this feature may require a code change.

For each AoA, you must set the AoA (in degrees), ``alpha``, the lift-force
coefficient, ``Coefs``\ (:,1), the drag-force coefficient,
Expand All @@ -675,8 +696,7 @@ minimum pressure coefficients may be absent from the file.
.. _blade_data_input_file:

Blade Data Input File
~~~~~~~~~~~~~~~~~~~~~

---------------------

The blade data input file contains the nodal discretization, geometry,
twist, chord, and airfoil identifier for a blade. Separate files are
Expand Down
9 changes: 8 additions & 1 deletion docs/source/user/api_change.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,17 @@ AeroDyn 14 AA_InputFile "unused" AA_InputFile
AeroDyn 35 [separator line] ====== OLAF cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when WakeMod=3]
AeroDyn 36 OLAFInputFileName "Elliptic_OLAF.dat" OLAFInputFileName - Input file for OLAF [used only when WakeMod=3]
AirFoilTables 4\* BL_file "unused" BL_file - The file name including the boundary layer characteristics of the profile. Ignored if the aeroacoustic module is not called.
============== ==== ================== =============================================================================================================================================================================

============== ==== ================== =============================================================================================================================================================================
Modified in OpenFAST `dev`
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Module Line Flag Name Example Value
============== ==== ================== =============================================================================================================================================================================
AirFoilTables 40\* filtCutOff "DEFAULT" filtCutOff - Reduced frequency cut-off for low-pass filtering the AoA input to UA, as well as the 1st and 2nd derivatives (-) [default = 0.5]
============== ==== ================== =============================================================================================================================================================================

\*non-comment line count
\*non-comment line count, excluding lines contained if NumCoords is not 0.

Additional nodal output channels added for :ref:`AeroDyn15<AD-Nodal-Outputs>`,
:ref:`BeamDyn<BD-Nodal-Outputs>`, and :ref:`ElastoDyn<ED-Nodal-Outputs>`.
Expand Down
Loading

0 comments on commit 8272750

Please sign in to comment.