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

New Linearization and Mode-Shape Capabilities (and more) #373

Merged
merged 106 commits into from
Jul 14, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
6fa9273
broken: started adding changes for mode-shape visualization
bjonkman Apr 15, 2019
940b95f
Merge remote-tracking branch 'NREL/dev' into f/ModesViz
bjonkman Jun 20, 2019
b050870
Merge branch 'f/FloatingLin' into f/Envision-linear
bjonkman Jun 20, 2019
9892f76
Merge branch 'f/FloatingLin' into f/Envision-linear
bjonkman Jul 19, 2019
202bad9
Merge remote-tracking branch 'NREL/dev' into f/Envision-linear
bjonkman Jul 19, 2019
c6c40cb
update formatting and removed unnecessary variables in HD
bjonkman Jul 19, 2019
15deec0
Registry updates (+ corresponding change in NWTC Library)
bjonkman Jul 19, 2019
2cd45dd
fix syntax in UnsteadyAero.vfproj file
bjonkman Nov 12, 2019
f95b4d6
Merge remote-tracking branch 'NREL/dev' into f/Airfoil-interp
bjonkman Nov 14, 2019
f2892ca
Merge branch 'f/Airfoil-interp' into f/Linear
bjonkman Nov 15, 2019
118db2d
Update Registry and NWTC Library
bjonkman Nov 15, 2019
8885d9b
Merge branch 'f/Envision-linear' into f/Linear
bjonkman Nov 15, 2019
8b10bd2
Sync HydroDyn
bjonkman Nov 15, 2019
f7c5119
Sync ElastoDyn
bjonkman Nov 15, 2019
30e4fd9
Sync AeroDyn
bjonkman Nov 15, 2019
6e66429
fix length of AD all nodes output names
bjonkman Nov 15, 2019
18f9366
Sync AeroDyn driver
bjonkman Nov 15, 2019
f005362
Sync BeamDyn
bjonkman Nov 16, 2019
8ed374f
Sync ServoDyn
bjonkman Nov 16, 2019
4955d0f
SrvD: fix issue if only one blade is used
bjonkman Dec 3, 2019
d121b62
SrvD linear bug fix: units on YawMomCom
bjonkman Dec 3, 2019
3c247cd
Sync FAST library
bjonkman Dec 4, 2019
a821f71
Merge remote-tracking branch 'NREL/dev' into b/Envision-UA
bjonkman Dec 4, 2019
d65ce0d
Merge branch 'b/Envision-UA' into f/Linear
bjonkman Dec 5, 2019
09fcd62
Update autogenerated _Types.f90 files
bjonkman Dec 5, 2019
d67d308
BD docs [bug fix]: Update example input files
bjonkman Dec 5, 2019
1e85ffb
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Dec 10, 2019
986e9bb
NWTC_Lib: add code to write binary files with more than 10-char headers
bjonkman Dec 10, 2019
12f3ef2
remove unused variables
bjonkman Dec 10, 2019
204da80
docs: update NREL 5MW damping in BD input file
bjonkman Dec 10, 2019
132444c
removed more unused variables
bjonkman Dec 10, 2019
ee37085
Updates to python scripts for regression tests
bjonkman Dec 11, 2019
3d79060
Merge branch 'b/manual_reg_test' into f/Linear
bjonkman Dec 11, 2019
6369282
NWTC Library: removed OutParmFFType
bjonkman Dec 11, 2019
eeace1e
Allow channel lengths up to 20 characters
bjonkman Dec 12, 2019
7cfafbf
Sync FAST_Prog
bjonkman Dec 12, 2019
b6cf2d3
regression test plots: fix syntax
bjonkman Dec 16, 2019
81c370f
Add AllBldNdOuts for ElastoDyn
bjonkman Dec 17, 2019
b64b54c
Update documentation for nodal outputs
bjonkman Dec 17, 2019
cd7a15d
sync OutListParameters.xlsx
bjonkman Dec 17, 2019
df31182
update prefix of AeroDyn channels in nodal output
bjonkman Dec 17, 2019
45f9d0f
Fix plot labels
bjonkman Dec 17, 2019
5f8ecc8
Merge branch 'b/Reg-Test-Plots' into f/Linear
bjonkman Dec 17, 2019
e15e964
update comments
bjonkman Dec 18, 2019
070dbfc
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Dec 18, 2019
5e1604f
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Dec 30, 2019
ec59dd9
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Jan 14, 2020
2b1f7fd
Update of VS solution
ebranlard Jan 15, 2020
b325244
Merge pull request #8 from ebranlard/f/Linear
bjonkman Jan 15, 2020
3ee30af
Merge remote-tracking branch 'bjonkman/f/Linear' into f/Linear
bjonkman Jan 15, 2020
3b50028
docs: updated api_change.rst
bjonkman Jan 16, 2020
7e7393b
Error handling: write info message
bjonkman Jan 16, 2020
f5997c6
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Jan 20, 2020
57efb70
Linear: update code for testing OLD_AD_LINEAR
bjonkman Jan 23, 2020
e1cd5f8
docs: fixed some spelling errors
bjonkman Jan 23, 2020
a53a1e7
AD: removed some unused code
bjonkman Jan 28, 2020
5651d13
Registry: fix issue with multi-dimension arrays in extrap/interp routine
bjonkman Feb 4, 2020
5a27563
Fix driver builds
bjonkman Feb 18, 2020
8262753
HD inputs from ED set before option 1 solve in fixed-bottom cases.
bjonkman Mar 9, 2020
b432f33
update comment
bjonkman Mar 25, 2020
c0beb20
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Mar 31, 2020
fc15a8e
merge from OpenFAST/dev
bjonkman Apr 18, 2020
58d4a8c
minor update to batch file in vs-build
bjonkman Apr 17, 2020
07ff3b5
add backup xlsx file type to gitignore
bjonkman Apr 18, 2020
63de719
Minor updates
bjonkman Apr 18, 2020
d4254d6
ED linear: fix issue with rotations on blade mesh with TrimSolution
bjonkman May 12, 2020
89b1c69
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman May 13, 2020
66e308e
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman May 13, 2020
862d753
update r-test
bjonkman May 14, 2020
3ad48d2
fix typos
bjonkman May 19, 2020
89f4cd3
AD bug fix: return DTAero to glue code
bjonkman May 26, 2020
87f9162
FAST: put all modules' initialization data in a type
bjonkman May 26, 2020
09d5d3c
fix syntax in regression test python script
bjonkman Jun 8, 2020
50f854c
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Jun 9, 2020
306e04a
ExtPtfm: move lapack interfaces to NWTC_LAPACK
bjonkman Jun 9, 2020
f85ff06
Fix index for BD current input OP in TrimSolution and mode shape
bjonkman Jun 11, 2020
766b9cc
Merge remote-tracking branch 'NREL/dev' into f/Linear
bjonkman Jun 16, 2020
41d39b6
Bug fix: AddOrSub2Pi had infinite loop if angles were exactly pi apart
bjonkman Jun 16, 2020
81930bc
Change github action to only list names of files that are different
andrew-platt Jun 18, 2020
c9c25b2
Change warning on nodal outputs, update tests
andrew-platt Jun 22, 2020
b3d70a8
Update 5MW_Land_BD_DLL_WTurb test case results
andrew-platt Jun 22, 2020
3e9dc0e
Merge pull request #10 from andrew-platt/f/Linear
bjonkman Jun 23, 2020
ce5acab
Updated reg-test
andrew-platt Jun 23, 2020
4132035
[BugFix] unitialized WaveDir when no waves
andrew-platt Jun 23, 2020
9df32ac
HD bug fix: WaveDir isn't always initialized
bjonkman Jun 23, 2020
b32598c
Make mode-shape input files specified relative to the input file
bjonkman Jun 23, 2020
9e6602e
Undo previous commit on setting wavedir (wrong location)
andrew-platt Jun 23, 2020
071b6d7
Merge remote-tracking branch 'andrew-platt/f/Linear' into f/Linear
bjonkman Jun 23, 2020
4c7e6b4
Merge remote-tracking branch 'bjonkman/f/Linear' into f/Linear
andrew-platt Jun 23, 2020
8a7a605
Merge branch 'f/Linear' of github.com:bjonkman/openfast into f/Linear
andrew-platt Jun 23, 2020
6a68cb7
Minor docs formatting so sphinx doesn't complain
andrew-platt Jun 23, 2020
d603d0e
Update API changes doc for HAWC wind (PR #437)
andrew-platt Jun 23, 2020
66565f4
Merge remote-tracking branch 'OpenFAST/dev' into f/Linear
andrew-platt Jun 25, 2020
5e3e535
Nodal outputs: minor error handling updates
andrew-platt Jun 25, 2020
e2e116c
Nodal Outputs: documentation on ElastoDyn Nodal Outputs
andrew-platt Jun 25, 2020
fd03306
Reg test: Update the linearization output format
rafmudaf Jun 25, 2020
b89ae35
Nodal Outputs: finalize documentation for nodal outputs
andrew-platt Jun 25, 2020
ad1dd86
Merge pull request #11 from rafmudaf/f/Linear
bjonkman Jun 25, 2020
f7345f2
Merge pull request #12 from andrew-platt/f/Linear
bjonkman Jun 25, 2020
4e23ee5
Fix copy-paste errors in documentation
bjonkman Jun 25, 2020
b775d2b
Remove DBG_OUTS from AD15
andrew-platt Jun 26, 2020
4d2ecb4
Merge pull request #13 from andrew-platt/f/AD15_remove_DBG_OUTS
bjonkman Jun 26, 2020
beea788
Documentation error.
andrew-platt Jun 26, 2020
c0167e9
Merge pull request #14 from andrew-platt/f/Linear
bjonkman Jun 26, 2020
4a81a85
Update r-test commit
rafmudaf Jul 13, 2020
62369e4
Merge pull request #17 from rafmudaf/pr373
bjonkman Jul 13, 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
2 changes: 1 addition & 1 deletion .github/actions/compile-and-test/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ cd /openfast

# Display the differences between this commit and `dev`
echo git-diff from ${GITHUB_REF} to dev:
git diff dev
git diff dev --numstat

# Move into the "build" directory, remove the old reg tests, and compile
cd /openfast/build
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ vs-build/

# backup files
*.asv
~$*.xlsx

# LaTeX compiling files
*.aux
Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ FAST v8 - OpenFAST v0.1.0
The transition from FAST v8 to OpenFAST v0.1.0 represents the effort to better
support an open-source developer community around FAST-based aero-hydro-servo-
elastic engineering models of wind-turbines and wind-plants. OpenFAST is the
next generation of FAST analysis tools. More inforation is available in the
next generation of FAST analysis tools. More information is available in the
`transition notes <http://openfast.readthedocs.io/en/latest/source/user/fast_to_openfast.html>`_.

FAST v8 is a computer-aided engineering tool for simulating the coupled dynamic
Expand Down Expand Up @@ -116,7 +116,7 @@ OpenFAST on Unix-based and Windows machines are available at `readthedocs <http:

Help
----
Please use `github issues <https://github.com/OpenFAST/OpenFAST/issues>`_ to:
Please use `GitHub Issues <https://github.com/OpenFAST/OpenFAST/issues>`_ to:

* ask usage questions
* report bugs
Expand Down
Binary file modified docs/OtherSupporting/OutListParameters.xlsx
Binary file not shown.
42 changes: 42 additions & 0 deletions docs/source/user/aerodyn/ADNodalOutputs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
.. _AD-Nodal-Outputs:

Nodal Outputs
~~~~~~~~~~~~~

In addition to the named outputs in :numref:`AD-Outputs` above, AeroDyn allows
for outputting the full set blade node motions and loads (tower nodes
unavailable at present). Please refer to the AeroDyn_Nodes tab in the
Excel file :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>`
for a complete list of possible output parameters.

This section follows the `END` statement from normal Outputs section described
above, and includes a separator description line followed by the following
optinos.

**BldNd_BladesOut** specifies the number of blades to output. Possible values
are 0 through the number of blades AeroDyn is modeling. If the value is set to
1, only blade 1 will be output, and if the value is 2, blades 1 and 2 will be
output.

**BldNd_BlOutNd** specifies which nodes to output. This is currently unused.

The **OutList** section controls the nodal output quantities generated by
AeroDyn. In this section, the user specifies the name of the channel family to
output. The output name for each channel is then created internally by AeroDyn
by combining the blade number, node number, and channel family name. For
example, if the user specifies **AxInd** as the channel family name, the output
channels will be named with the convention of **B**\ :math:`\mathbf{\beta}`\
**N###AxInd** where :math:`\mathbf{\beta}` is the blade number, and **###** is
the three digit node number.


Sample Nodal Outputs section
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This sample includes the ``END`` statement from the regular outputs section.

.. container::
:name: File:ADNodalOutputs

.. literalinclude:: examples/NodalOutputs.txt
:linenos:
48 changes: 48 additions & 0 deletions docs/source/user/aerodyn/examples/NodalOutputs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------- NODE OUTPUTS --------------------------------------------
3 BldNd_BladesOut - Blades to output
99 BldNd_BlOutNd - Blade nodes on each blade (currently unused)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx, AeroDyn_Nodes tab for a listing of available output channels, (-)
"VUndx" - x-component of undisturbed wind velocity at each node
"VUndy" - y-component of undisturbed wind velocity at each node
"VUndz" - z-component of undisturbed wind velocity at each node
"VDisx" - x-component of disturbed wind velocity at each node
"VDisy" - y-component of disturbed wind velocity at each node
"VDisz" - z-component of disturbed wind velocity at each node
"STVx" - x-component of structural translational velocity at each node
"STVy" - y-component of structural translational velocity at each node
"STVz" - z-component of structural translational velocity at each node
"VRel" - Relvative wind speed at each node
"DynP" - Dynamic pressure at each node
"Re" - Reynolds number (in millions) at each node
"M" - Mach number at each node
"Vindx" - Axial induced wind velocity at each node
"Vindy" - Tangential induced wind velocity at each node
"AxInd" - Axial induction factor at each node
"TnInd" - Tangential induction factor at each node
"Alpha" - Angle of attack at each node
"Theta" - Pitch+Twist angle at each node
"Phi" - Inflow angle at each node
"Curve" - Curvature angle at each node
"Cl" - Lift force coefficient at each node
"Cd" - Drag force coefficient at each node
"Cm" - Pitching moment coefficient at each node
"Cx" - Normal force (to plane) coefficient at each node
"Cy" - Tangential force (to plane) coefficient at each node
"Cn" - Normal force (to chord) coefficient at each node
"Ct" - Tangential force (to chord) coefficient at each node
"Fl" - Lift force per unit length at each node
"Fd" - Drag force per unit length at each node
"Mm" - Pitching moment per unit length at each node
"Fx" - Normal force (to plane) per unit length at each node
"Fy" - Tangential force (to plane) per unit length at each node
"Fn" - Normal force (to chord) per unit length at each node
"Ft" - Tangential force (to chord) per unit length at each node
"Clrnc" - Tower clearance at each node (based on the absolute distance to the nearest point in the tower from blade node B#N# minus the local tower radius, in the deflected configuration); please note that this clearance is only approximate because the calculation assumes that the blade is a line with no volume (however, the calculation does use the local tower radius); when blade node B#N# is above the tower top (or below the tower base), the absolute distance to the tower top (or base) minus the local tower radius, in the deflected configuration, is output
"Vx" - Local axial velocity
"Vy" - Local tangential velocity
"GeomPhi" - Geometric phi? If phi was solved using normal BEMT equations, GeomPhi = 1; otherwise, if it was solved geometrically, GeomPhi = 0.
"Chi" - Skew angle (used in skewed wake correction)
"UA_Flag" - Flag indicating if UA is turned on for this node.
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------
20 changes: 17 additions & 3 deletions docs/source/user/aerodyn/examples/ad_primary_example.inp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ True TIDrag - Include the drag term in the tangential-induc
2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=time-dependent tau1} (-) [used only when WakeMod=2]
4 tau1_const - Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1]
====== Beddoes-Leishman Unsteady Airfoil Aerodynamics Options ===================================== [used only when AFAeroMod=2]
1 UAMod - Unsteady Aero Model Switch (switch) {1=Baseline model (Original), 2=Gonzalez's variant (changes in Cn,Cc,Cm), 3=Minemma/Pierce variant (changes in Cc and Cm)} [used only when AFAeroMod=2]
1 UAMod - Unsteady Aero Model Switch (switch) {1=Baseline model (Original), 2=Gonzalez's variant (changes in Cn,Cc,Cm), 3=Minnema/Pierce variant (changes in Cc and Cm)} [used only when AFAeroMod=2]
FALSE 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 (flag) [used only when AFAeroMod=2]
====== Airfoil Information =========================================================================
1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-)
Expand Down Expand Up @@ -82,5 +82,19 @@ True SumPrint - Generate a summary file listing input option
"B1N1AxInd, B1N2AxInd, B1N3AxInd"
"B1N1Alpha, B1N2Alpha, B1N3Alpha"
"B1N1Theta, B1N2Theta, B1N3Theta"
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------
END of OutList section (the word "END" must appear in the first 3 columns of the last OutList line)
====== Outputs for all blade stations (same ending as above for B1N1.... =========================== [optional section]
1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-)
"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
"Fx, Fy"
"Vx, Vy"
Vrel
TnInd
AxInd
Theta
Phi
Vindx
Vindy
Alpha
END (the word "END" must appear in the first 3 columns of this last OutList line in the optional nodal output section)
24 changes: 15 additions & 9 deletions docs/source/user/aerodyn/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ file is required. This driver file specifies initialization inputs
normally provided to AeroDyn by OpenFAST, as well as the per-time-step
inputs to AeroDyn.

As an example, the ``driver.dvr`` file is the main driver, the ``input.dat`` is the primary input file, the ``blade.dat`` file contains the blade
geometry data, and the ``airfoil.dat`` file contains the airfoil
angle of attack, lift, drag, moment coefficients, and pressure
coefficients. Example input files are included in :numref:`ad_appendix`.
As an example, the ``driver.dvr`` file is the main driver, the ``input.dat`` is
the primary input file, the ``blade.dat`` file contains the blade geometry data,
and the ``airfoil.dat`` file contains the airfoil angle of attack, lift, drag,
moment coefficients, and pressure coefficients. Example input files are
included in :numref:`ad_appendix`.

No lines should be added or removed from the input files, except in
tables where the number of rows is specified and comment lines in the
Expand Down Expand Up @@ -151,11 +152,11 @@ for ``DTAero`` may be used to indicate that AeroDyn should employ the
time step prescribed by the driver code (OpenFAST or the standalone driver
program).

Set ``WakeMod`` to 0 if you want to disable rotor wake/induction
effects or 1 to include these effects using the (quasi-steady) BEM theory model. When
``WakeMod`` is set to 2, a dynamic BEM theory model (DBEMT) is used (also referred to
as dynamic inflow or dynamic wake model).
``WakeMod`` cannot be set to 2 during linearization analyses.
Set ``WakeMod`` to 0 if you want to disable rotor wake/induction effects or 1 to
include these effects using the (quasi-steady) BEM theory model. When
``WakeMod`` is set to 2, a dynamic BEM theory model (DBEMT) is used (also
referred to as dynamic inflow or dynamic wake model). ``WakeMod`` cannot be set
to 2 during linearization analyses.

Set ``AFAeroMod`` to 1 to include steady blade airfoil aerodynamics or 2
to enable UA; ``AFAeroMod`` must be 1 during linearization analyses
Expand Down Expand Up @@ -361,6 +362,8 @@ specifies the local tower drag-force coefficient. ``TwrElev`` must be
entered in monotonically increasing order—from the lowest (tower-base)
to the highest (tower-top) elevation. See Figure 2.

.. _AD-Outputs:

Outputs
~~~~~~~

Expand Down Expand Up @@ -415,6 +418,9 @@ unknown/invalid channel name, it warns the users but will remove the
suspect channel from the output file. Please refer to Appendix E for a
complete list of possible output parameters.

.. include:: ADNodalOutputs.rst


.. _airfoil_data_input_file:

Airfoil Data Input File
Expand Down
Loading