Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates to AeroDyn #538

Merged
merged 38 commits into from
Nov 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
5aab0a9
AeroDyn sync for linearizable UA and DBEMT models
bjonkman Apr 23, 2020
6ce74df
AD: automatically turn off BEM when TSR is below 1
bjonkman Apr 23, 2020
4d58770
AD: UA's filtCutOff now specified as reduced frequency instead of Hz
bjonkman Apr 23, 2020
f0bebc4
Update FAST_Lin for new AD linearization
bjonkman Apr 23, 2020
2e00914
AD: mods for linearization
bjonkman Apr 30, 2020
4c31683
Merge branch 'f/Linear' into f/LinearAero
bjonkman May 26, 2020
738ce37
Merge branch 'f/Linear' into f/LinearAero
bjonkman Jun 14, 2020
ed73cae
fix typo
bjonkman Jun 14, 2020
0dedaac
Add some code for Aero states linearization
bjonkman Jun 23, 2020
23fb242
fix BD index that was changed in last commit
bjonkman Jun 23, 2020
ccace14
Merge remote-tracking branch 'NREL/dev' into f/LinearAero
bjonkman Jul 14, 2020
503cc18
Remove extra (unnecessary) MKL setting
bjonkman Jul 22, 2020
673e5be
Remove unnecessary project dependencies
bjonkman Jul 22, 2020
667474c
Merge remote-tracking branch 'NREL/dev' into f/LinearAero
bjonkman Jul 31, 2020
c39277e
Updates to fix merge problems between UA and FVW
bjonkman Jul 31, 2020
47945b6
Merge remote-tracking branch 'NREL/dev' into f/LinearAero
bjonkman Aug 20, 2020
ffd177f
NWTC_Library: Remove unused code + warn if input is truncated
bjonkman Aug 27, 2020
55dd2b7
fix indents
bjonkman Aug 28, 2020
6a96a84
UA driver: fix issue with time-step input file when NumInp>1
bjonkman Aug 28, 2020
db28d20
Update vs-build files
bjonkman Aug 28, 2020
7c47fe7
point r-test to current dev branch
bjonkman Aug 29, 2020
b8925dd
Merge remote-tracking branch 'NREL/dev' into f/LinearAero
bjonkman Aug 29, 2020
20c4fd2
AD: added `DBEMTau1` output channel
bjonkman Aug 31, 2020
c63b083
fix spacing
bjonkman Aug 31, 2020
4fddb8a
REVERT THIS LATER: remove ability to use new UA and DBEMT models
bjonkman Aug 31, 2020
c23e937
update documentation for change in AFI file
bjonkman Sep 1, 2020
dd48410
BEM: added warning when BEM is reduced + update GeomPhi with weight
bjonkman Sep 1, 2020
ef2eade
update default value in example airfoil file
bjonkman Sep 1, 2020
9f1d4cf
AD driver: some formatting changes to output file
bjonkman Sep 1, 2020
84ca0fc
AD/UA documentation updates
bjonkman Sep 1, 2020
f611321
fix missed line in AD driver + update AD documentation
bjonkman Sep 1, 2020
62744b9
Merge remote-tracking branch 'OpenFAST/dev' into f/LinearAero
andrew-platt Sep 23, 2020
addc723
Update regression test to dev
andrew-platt Sep 23, 2020
5e0e0fb
AD15: add driver test case
andrew-platt Sep 28, 2020
31e7b1a
AD15: module regression test case name change
andrew-platt Sep 28, 2020
881c94c
Merge pull request #18 from andrew-platt/f/LinearAero
bjonkman Oct 2, 2020
416ff43
Merge branch 'dev' into f/LinearAero
rafmudaf Nov 6, 2020
4db914b
Update AeroDyn test case baselines
rafmudaf Nov 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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