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

Merge dev and 3.5.1; some bug fixes #1767

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
1227fdb
Merge branch 'OpenFAST:dev' into dev
reos-rcrozier Jan 19, 2023
a1ed19f
Merge branch 'OpenFAST:dev' into dev
reos-rcrozier Jan 24, 2023
5657f25
Added workflow-dispatch
reos-rcrozier Jan 24, 2023
cdf2ed0
Revert "Added workflow-dispatch"
reos-rcrozier Jan 25, 2023
77727c5
Update WAMIT .hst input file and baselines for floating MHK r-test
hkross May 19, 2023
ce83ae0
Merge pull request #1581 from hkross/bug/FloatingMHK_WAMIT_Update
andrew-platt May 19, 2023
e938dbc
3.5.0 changelog: missing SubDyn updates
andrew-platt May 23, 2023
ca9015b
Update r-tests
hkross May 30, 2023
c620b0b
Remove TurbineType parameter
hkross Jun 6, 2023
dade73d
Merge pull request #1610 from hkross/bug/RemoveTurbineType
andrew-platt Jun 12, 2023
4470a3b
Merge pull request #1593 from hkross/bug/FloatingMHK_WAMIT_Update
andrew-platt Jun 12, 2023
1f89ed7
[BugFix] Lidar: don't allocate already allocated array in SrvD
andrew-platt Jun 12, 2023
a06717a
[BugFix] Lidar: values not allocated got set
andrew-platt Jun 12, 2023
2ea3ed8
[BugFix] Lidar: allocation issue with MsrPosition
andrew-platt Jun 12, 2023
736cd50
[BugFix] HD wave visualization with 2nd order waves
andrew-platt Jun 13, 2023
0db2331
Merge pull request #1620 from andrew-platt/b/Lidar_Allocate
andrew-platt Jun 13, 2023
4d038af
Merge pull request #1621 from andrew-platt/b/HD_WaveElevSeries
andrew-platt Jun 13, 2023
7b88a5e
MHK: add parameters for readability
bjonkman Jun 14, 2023
84dc02f
Make CMake module libs STATIC
deslaughter Jun 15, 2023
25d4988
Use MHK parameters in AD driver
bjonkman Jun 15, 2023
4c3185f
ED: update for AeroMaps
bjonkman Jun 16, 2023
6248bc3
BD: update for AeroMaps
bjonkman Jun 16, 2023
a874c64
update logic in ED Nodal output
bjonkman Jun 14, 2023
752fb23
ED: replace code with call to FindValidChannelIndx()
bjonkman Jun 14, 2023
5542dc9
Merge pull request #1629 from bjonkman/f/MHK_param
andrew-platt Jun 16, 2023
605a0be
Merge remote-tracking branch 'NREL/dev' into f/AeroMap_BD_ED
bjonkman Jun 16, 2023
743e1a0
update comments for FVW
bjonkman Oct 6, 2021
ef8e99b
revert r-test change
bjonkman Jun 16, 2023
e182063
Merge pull request #1630 from deslaughter/f/cmake-static
andrew-platt Jun 20, 2023
e45200a
Merge pull request #1631 from bjonkman/f/AeroMap_BD_ED
andrew-platt Jun 20, 2023
fc7d4d3
Fix adding OpenMP flags to CMAKE_Fortran_FLAGS
deslaughter Jun 23, 2023
64a5493
FF: fix bug with Mod_AmbWind=3 -- hub point wasn't shifted.
andrew-platt Jun 23, 2023
787bed6
IfW: fix routinename for InflowWind_GetHubValues
andrew-platt Jun 23, 2023
39f3483
Merge pull request #1647 from deslaughter/b/omp-flags
deslaughter Jun 23, 2023
1100ca7
Merge pull request #1648 from andrew-platt/b/FF_mod_ambwind3
deslaughter Jun 24, 2023
b9eea37
ED/AD: fix segfault when BldNd_BladesOut==0
andrew-platt Jun 26, 2023
82cacd2
[BuFix] InflowWind was not setting InitOut MWS data.
andrew-platt Jun 26, 2023
d824ca2
Merge pull request #1654 from andrew-platt/b/ED_nodal_segfault
andrew-platt Jun 26, 2023
aafa75c
IfW: remove unnecessary `FileDat` from InflowWind_init
andrew-platt Jun 26, 2023
25ab9db
IfW: allow driver to not take a timestep (output only at time T)
andrew-platt Jun 26, 2023
e1b077b
IfW: update BoxExceed tests after allowing only single timestep outpu…
andrew-platt Jun 26, 2023
13b4a6d
Merge pull request #1655 from andrew-platt/b/IfW_MWS_notSet
andrew-platt Jun 27, 2023
0810680
AD/TailFin: Bug Fix: remove chord in fy (see #1653) (#1658)
ebranlard Jun 27, 2023
44d181f
AD Driver: stack size for 64 bit solutions (see #1260) (#1657)
ebranlard Jun 27, 2023
a5afd1f
Adding tailfin testcase
ebranlard Jun 27, 2023
6e1f443
TailFin: update regression tests
andrew-platt Jun 28, 2023
f263598
Updated tailfin regression test in rc-3.5.1 -- resolving conflict.
andrew-platt Jun 28, 2023
a7d27bc
Merge pull request #1659 from ebranlard/f/tailfin-test
andrew-platt Jun 28, 2023
6faeb6f
TurbSim documentation
bjonkman Jun 28, 2023
172ffe7
Merge pull request #1664 from bjonkman/b/TurbSim_docs
andrew-platt Jun 29, 2023
7dfd9e7
Resolve BeamDyn initial strain for rotated blade
deslaughter Jun 29, 2023
ba11786
Merge pull request #1663 from deslaughter/b/bd-r0
deslaughter Jun 29, 2023
9349e0e
TurbSim documentation
bjonkman Jun 28, 2023
435f403
Merge pull request #1665 from bjonkman/b/TurbSim_docs
andrew-platt Jun 29, 2023
d06717e
Fix missing symbols for Simulink and LAPACK build
deslaughter Jul 12, 2023
beec27f
AD: fix offset introduced in TwrPotent_Bak (see #1595)
ebranlard Jul 6, 2023
aac76d6
Comment in simulink/CMakeLists.txt for double link
deslaughter Jul 12, 2023
6bab2fd
Merge pull request #1682 from deslaughter/b/missing-symbols
deslaughter Jul 13, 2023
17c8cbe
[BugFix] change time handling to double precision for G4D timestep index
andrew-platt Jul 13, 2023
b03c681
ExternalInflow: rename files, change names in files
andrew-platt Jul 14, 2023
a77ca91
ExternalInflow: update comments in input files
andrew-platt Jul 14, 2023
baf1f81
Fix HAWC periodic wind exhausted in IfW
deslaughter Jul 14, 2023
0a390e5
ExternalInflow: update openfast-cpp with name change
andrew-platt Jul 14, 2023
bc612bc
Merge pull request #1687 from andrew-platt/f/OpenFOAM-ExternalInflow
andrew-platt Jul 17, 2023
0f7eea4
Specify Python_ROOT_DIR in GH Actions
deslaughter Jul 17, 2023
da4e312
Merge pull request #1684 from andrew-platt/b/FF_AmbWind2_windBoxTime
deslaughter Jul 17, 2023
22431f0
AD: nodal outputs in different coordinate systems (#1679)
ebranlard Jul 19, 2023
4a4423a
r-test: update of lin file comparison (#1694)
ebranlard Jul 19, 2023
202bfe7
AD: adding linearization tests for aerodyn continuous-states model (#…
ebranlard Jul 19, 2023
e6052f2
Fix ExternalInflow rename in Visual Studio (#1698)
bjonkman Jul 20, 2023
be28727
Remove deleted variables BlFb and BlMb from AeroDyn_AllBldNdOuts_IO
hkross Jul 20, 2023
3aab901
Merge pull request #1700 from hkross/bug/BuoyancyOutputs
andrew-platt Jul 24, 2023
c67ed7b
automated-dev-tests.yml: add Matlab runner and build simulink API
reos-rcrozier Jul 25, 2023
7b55642
Create test_openfast_simulink.m
reos-rcrozier Jul 25, 2023
ab24635
Update test_openfast_simulink.m
reos-rcrozier Jul 25, 2023
1bee16b
Update automated-dev-tests.yml
reos-rcrozier Jul 26, 2023
a1b1877
Update automated-dev-tests.yml
reos-rcrozier Jul 26, 2023
01e64ca
automated-dev-tests.yml: fix matlab source-directories
reos-rcrozier Jul 26, 2023
618d4ee
Update test_openfast_simulink.m
reos-rcrozier Jul 26, 2023
808f391
Update test_openfast_simulink.m
reos-rcrozier Jul 26, 2023
6b880ef
Update automated-dev-tests.yml
reos-rcrozier Jul 26, 2023
1758459
Update automated-dev-tests.yml
reos-rcrozier Jul 26, 2023
e0d963b
Merge branch 'dev' of https://github.com/Reoptimize-Systems/openfast …
reos-rcrozier Jul 26, 2023
6ba3391
Linear trim solution: add error check
bjonkman Jul 26, 2023
8ff7da3
Update CMakeLists.txt
reos-rcrozier Jul 27, 2023
8711772
Update simulink CMakeLists.txt
reos-rcrozier Jul 27, 2023
4f69111
Update simulink CMakeLists.txt
reos-rcrozier Jul 27, 2023
d55ff50
Update simulink CMakeLists.txt
reos-rcrozier Jul 27, 2023
84d75cc
Merge pull request #1707 from bjonkman/b/Trim_NLinTimes
andrew-platt Jul 27, 2023
b27f343
Merge remote-tracking branch 'upstream/rc-3.5.1' into rc-3.5.1-to-dev
deslaughter Jul 27, 2023
106184a
Update r-test and AeroDyn_IO.f90
deslaughter Jul 27, 2023
b06b311
Update r-test pointer
deslaughter Jul 28, 2023
24763b2
Updated r-test pointer
deslaughter Jul 28, 2023
e86fa55
Update r-tests
hkross Jul 28, 2023
5634141
Merge pull request #2 from deslaughter/MHK_Floating_Resolve
deslaughter Jul 28, 2023
21eb0aa
Disable 5MW_OC4Semi_Linear, time out in GH Actions
deslaughter Jul 28, 2023
1dff0ad
Attempt using OpenBLAS in GH Actions
deslaughter Jul 28, 2023
a27644b
Update r-tests
hkross Jul 28, 2023
6612c56
Added libopenblas-dev to build-all-debug-single
deslaughter Jul 28, 2023
aa3b704
Updated r-test pointer
deslaughter Jul 28, 2023
8ff98bb
Update r-test pointer
deslaughter Jul 28, 2023
138b948
Update r-tests
hkross Jul 31, 2023
3c6af5b
Merge remote updates
hkross Jul 31, 2023
83ed284
Merge pull request #1709 from deslaughter/rc-3.5.1-to-dev
deslaughter Aug 1, 2023
587f533
Merge remote-tracking branch 'upstream/dev' into Reoptimize Systems/dev
reos-rcrozier Aug 1, 2023
b1b1519
Update simulink CMakeLists.txt
reos-rcrozier Aug 1, 2023
f8b05c9
Update automated-dev-tests.yml
reos-rcrozier Aug 1, 2023
abd0b55
Update simulin CMakeLists.txt
reos-rcrozier Aug 1, 2023
d2e691b
Update simulink CMakeLists.txt
reos-rcrozier Aug 1, 2023
bed2c7a
Update automated-dev-tests.yml
reos-rcrozier Aug 2, 2023
0777e23
AD: using utimes for DBEMT
ebranlard Aug 2, 2023
69c8b90
AD: preparing UA lin indexing
ebranlard Aug 2, 2023
7256277
AD: preparing for aeromap
ebranlard Aug 2, 2023
170616d
Update automated-dev-tests.yml
reos-rcrozier Aug 3, 2023
10c9e33
Merge pull request #1703 from Reoptimize-Systems/dev
deslaughter Aug 3, 2023
9e77cdb
AD: aeromap and using ua lin idx
ebranlard Aug 2, 2023
1e81918
AD: some UA vars in R8
ebranlard Aug 3, 2023
1652796
AD: reverting to size 31 for du (no DiskAvgVel for now)
ebranlard Aug 3, 2023
ee8f54a
AD: setting UA_NumLinStates to 0 when no cont-states
ebranlard Aug 3, 2023
2199ad3
Merge pull request #1715 AD: Initial AeroMap changes for AeroDyn and …
ebranlard Aug 3, 2023
117e1d4
FF: fix plane output for wakedynamics
ebranlard Aug 10, 2023
2a743d0
FF: plane outputs based on p_hub
ebranlard Aug 10, 2023
1773552
Add additional modulo in IfW_FlowField
deslaughter Aug 10, 2023
bdb34b0
If Angles_ExtrapInterp inputs are equal, skip calc
deslaughter Aug 10, 2023
e831e7a
Merge pull request #1730 from deslaughter/bug/ifw-periodic
deslaughter Aug 10, 2023
624c1f5
Merge pull request #1731 from deslaughter/bug/extrap-inp
deslaughter Aug 11, 2023
342a1fb
Merge pull request #1729 from ebranlard/f/ff-outplane-fix
ebranlard Aug 11, 2023
b5084ef
Restore NWTC_Num.f90 indentation from before #1731
deslaughter Aug 11, 2023
9580fe5
OpenFAST Aerodynamic Map Generator (#1733)
bjonkman Aug 22, 2023
4ffcb82
AD: UA: no linearization for UA states that are off (#1716)
ebranlard Aug 23, 2023
1ee714a
IfW: Bug Fix: compute vel avg profile when exceed allowed (#1748)
ebranlard Aug 25, 2023
afbb446
Specify Python_ROOT_DIR in GH Actions
deslaughter Jul 17, 2023
4d5708f
Added libopenblas-dev to build-all-debug-single
deslaughter Jul 28, 2023
695d0dc
Attempt using OpenBLAS in GH Actions
deslaughter Jul 28, 2023
6381a98
Add files via upload
RBergua Aug 30, 2023
6c8f265
Use Python 3.11 in Github Actions
deslaughter Sep 1, 2023
d32993e
Reduce parallel linearization rtest in GH actions
deslaughter Sep 1, 2023
2708852
Avoid array alloc in IfW_FlowField
deslaughter Sep 7, 2023
8e7e0b9
Disable Fake5MW_AeroLin_B1_UA4_DBEMT3 reg test
deslaughter Sep 7, 2023
60ac229
Merge pull request #1759 from deslaughter/ifw-velavg
andrew-platt Sep 7, 2023
7733cb8
Merge remote-tracking branch 'NREL/dev' into dev-unstable-pointers
bjonkman Sep 5, 2023
91f7bfd
AD: initialize output values in `inductionFactors0`
bjonkman Sep 7, 2023
9a7584c
Merge remote-tracking branch 'NREL/rc-3.5.1' into dev-unstable-pointers
bjonkman Sep 7, 2023
900d12b
Merge pull request #1752 from RBergua/RBergua-MAP++_linear-springs
andrew-platt Sep 8, 2023
ef1267f
AD: check for associated FlowField (fixes steady-state solver for now)
bjonkman Sep 11, 2023
fc90394
fix problem in python run script of aero-maps from merge
bjonkman Sep 11, 2023
f0e8e09
Remove unapplicable IfW-AD linearization code
bjonkman Sep 11, 2023
fae54fb
Add additional modulo in IfW_FlowField
deslaughter Aug 10, 2023
8720f4f
Merge pull request #1769 from deslaughter/bug/ifw-periodic-351
deslaughter Sep 13, 2023
91d2434
HD Bug Fix: Fix AddF0 for multiple potential-flow bodies with NBodyMo…
luwang00 Sep 16, 2023
48b0ae6
Merge pull request #1776 from luwang00/dev
andrew-platt Sep 19, 2023
dd85697
Merge remote-tracking branch 'NREL/dev' into dev-unstable-pointers
bjonkman Sep 21, 2023
4c1a1e8
Merge remote-tracking branch 'NREL/rc-3.5.1' into dev-unstable-pointers
bjonkman Sep 21, 2023
2951472
Destroy pack buffer when writing checkpoint files
bjonkman Sep 21, 2023
0d555c3
Call SeaSt_End in glue code
bjonkman Sep 21, 2023
7e6eeec
Merge remote-tracking branch 'NREL/dev-unstable-pointers' into dev-un…
bjonkman Sep 21, 2023
dfbbcd5
Remove Fake5MW_AeroLin_B3_UA6 test case temporarily
andrew-platt Sep 27, 2023
0847a89
Update r-test pointer after merging r-test for PR #1767
andrew-platt Sep 28, 2023
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
235 changes: 214 additions & 21 deletions .github/workflows/automated-dev-tests.yml

Large diffs are not rendered by default.

24 changes: 17 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,18 @@ include(${CMAKE_SOURCE_DIR}/cmake/set_rpath.cmake)

if (OPENMP OR BUILD_FASTFARM OR BUILD_OPENFAST_CPP_API)
FIND_PACKAGE(OpenMP REQUIRED)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_FORTRAN_FLAGS "${CMAKE_FORTRAN_FLAGS} ${OpenMP_FORTRAN_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
if (OpenMP_Fortran_FOUND)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${OpenMP_Fortran_FLAGS}")
link_libraries("${OpenMP_Fortran_LIBRARIES}")
endif()
if (OpenMP_C_FOUND)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
link_libraries("${OpenMP_C_LIBRARIES}")
endif()
if (OpenMP_CXX_FOUND)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
link_libraries("${OpenMP_CXX_LIBRARIES}")
endif()
endif()

#-------------------------------------------------------------------------------
Expand All @@ -130,11 +138,13 @@ if (USE_LOCAL_STATIC_LAPACK)
include(ExternalProject)
ExternalProject_Add(lapack
URL http://www.netlib.org/lapack/lapack.tgz
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_SOURCE_DIR}/install
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_SOURCE_DIR}/install
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
PREFIX ${CMAKE_BINARY_DIR}/dependencies
BUILD_BYPRODUCTS ${BLAS_LIB_PATH} ${LAPACK_LIB_PATH}
)
set(LAPACK_LIBRARIES ${BLAS_LIB_PATH} ${LAPACK_LIB_PATH} CACHE STRING "LAPACK library" FORCE)
set(LAPACK_LIBRARIES ${LAPACK_LIB_PATH} ${BLAS_LIB_PATH} CACHE STRING "LAPACK library" FORCE)
install(FILES ${LAPACK_LIBRARIES} DESTINATION ${CMAKE_SOURCE_DIR}/install/lib)
message(STATUS "Using LAPACK libraries: ${LAPACK_LIBRARIES}")
else()
Expand Down Expand Up @@ -192,7 +202,7 @@ set(OPENFAST_MODULES
map
turbsim
supercontroller
openfoam
externalinflow
openfast-library
)

Expand Down
Binary file modified docs/OtherSupporting/OutListParameters.xlsx
Binary file not shown.
5 changes: 5 additions & 0 deletions docs/OtherSupporting/TurbSim/Corrections.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Corrections to TurbSim_v2.00.pdf DRAFT

## p. 34: Input file for User-Defined Profiles
The User-Defined profiles listed in the "Profiles" section contain horizontal angles, not wind direction, so it should say
`3. Horizontal wind angle (degrees, measured counter-clockwise from above)`
6 changes: 6 additions & 0 deletions docs/changelogs/v3.5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ See GitHub Actions

#1493 Allow Non-Uniform Force Point Distribution on Blades @mchurchf

### SubDyn

#1413 Implementing directional cosine matrices and section properties for rectangular members
#1526 Remove static improvement method (SIM) from the SubDyn elastic output mesh (y3mesh)
#1531 BugFix - diameter not set properly for rectangular beams


## API changes

Expand Down
41 changes: 24 additions & 17 deletions docs/source/user/aerodyn/appendix.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,27 +51,34 @@ The blade data input file contains the nodal discretization, geometry, twist, ch
AeroDyn List of Output Channels
-------------------------------

This is a list of output parameters for the AeroDyn module. The names are grouped by meaning, but can be ordered in the OUTPUTS section of the AeroDyn input file as you see fit. :math:`B \alpha N \beta`, refers to output node :math:`\beta` of blade :math:`\alpha`, where :math:`\alpha` is a number in the range [1,3] and :math:`\beta` is a number in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{BlOutNd}` list. :math:`\textit{TwN}\beta` refers to output node :math:`\beta` of the tower and is in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{TwOutNd}` list. A comprehensive, up-to-date list of all possible output parameters is given in the Excel file :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>`.

The local tower coordinate system is shown in :numref:`ad_tower_geom` and the local blade coordinate system is shown in :numref:`ad_blade_local_cs` below. Figure :numref:`ad_blade_local_cs` also shows the direction of the local angles and force components.
AeroDyn has regular outputs (see :numref:`AD-Outputs`) and nodal outputs (see :numref:`AD-Nodal-Outputs`).

.. _ad_blade_local_cs:
The coordinate systems used for the outputs (labeled, i, h, p, l, a) are described in :numref:`ad_coordsys`.

.. figure:: figs/aerodyn_blade_local_cs.png
:width: 80%
:align: center
:alt: aerodyn_blade_local_cs.png

AeroDyn Local Blade Coordinate System (Looking Toward the Tip,
from the Root) – l: Lift, d: Drag, m: Pitching, x: Normal (to Plane),
y: Tangential (to Plane), n: Normal (to Chord),
and t: Tangential (to Chord)
A comprehensive, up-to-date list of all possible output parameters is given in the Excel file :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>`, in the tab `AeroDyn` and `AeroDyn_Nodes` for the regular and nodal outputs, respectively.
The names in the Excel file are grouped by meaning, but can be ordered in the OUTPUTS section of the AeroDyn input file as you see fit.

.. _ad-output-channel:

.. figure:: figs/aerodyn_output_channel.pdf
:width: 500px
:align: center
:alt: aerodyn_output_channel.pdf

AeroDyn Output Channel List
**Regular outputs**
Some examples of regular outputs are given below (see :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>` for an exhaustive list):


- `RtAeroCp` : aerodynamic power coefficient.


- :math:`B \alpha N \beta`, refers to output node :math:`\beta` of blade :math:`\alpha`, where :math:`\alpha` is a number in the range [1,3] and :math:`\beta` is a number in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{BlOutNd}` list.

- :math:`\textit{TwN}\beta` refers to output node :math:`\beta` of the tower and is in the range [1,9], corresponding to entry :math:`\beta` in the :math:`\textit{TwOutNd}` list.


**Nodal outputs**

An example of nodal outputs is described below (see :download:`OutListParameters.xlsx <../../../OtherSupporting/OutListParameters.xlsx>` for an exhaustive list).

The x-component of the undisturbed flow velocity (`VUnd`) at all blade nodes in the inertial frame (:math:`i`) is requested by placing :math:`VUndxi` in the AeroDyn nodal output list.
This will result in output channels of the form `AB`:math:`\alpha N\beta` `Vundxi`, for node :math:`\beta` of blade :math:`\alpha`, where :math:`\alpha` is a number in the range [1,3] and :math:`\beta` is a number in the range [1,999] corresponding to the index of the AeroDyn blade node.


123 changes: 99 additions & 24 deletions docs/source/user/aerodyn/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,43 @@
import subprocess
import re


from sphinx.highlighting import PygmentsBridge
from pygments.formatters.latex import LatexFormatter

#sys.path.append(os.path.abspath('_extensions/'))

readTheDocs = os.environ.get('READTHEDOCS', None) == 'True'
builddir = sys.argv[-1]
sourcedir = sys.argv[-2]

# Use this to turn Doxygen on or off
useDoxygen = False

# This function was adapted from https://gitlab.kitware.com/cmb/smtk
# Only run when on readthedocs
def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
dx = open(os.path.join(sourcedir, doxyfileIn), 'r')
cfg = dx.read()
srcdir = os.path.abspath(os.path.join(os.getcwd(), '..'))
bindir = srcdir
c2 = re.sub('@CMAKE_SOURCE_DIR@', srcdir, re.sub('@CMAKE_BINARY_DIR@', bindir, cfg))
doxname = os.path.join(sourcedir, doxyfileOut)
dox = open(doxname, 'w')
print(c2, file=dox)
dox.close()
print("Running Doxygen on {}".format(doxyfileOut))
doxproc = subprocess.call(('doxygen', doxname))

if readTheDocs and useDoxygen:
runDoxygen(sourcedir, 'Doxyfile.in', 'Doxyfile')

class CustomLatexFormatter(LatexFormatter):
def __init__(self, **options):
super(CustomLatexFormatter, self).__init__(**options)
self.verboptions = r"formatcom=\footnotesize"

PygmentsBridge.latex_formatter = CustomLatexFormatter

#sys.path.append(os.path.abspath('_extensions/'))

readTheDocs = os.environ.get('READTHEDOCS', None) == 'True'
sourcedir = sys.argv[-2]
builddir = sys.argv[-1]

# -- General configuration ------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
Expand All @@ -56,13 +76,32 @@ def __init__(self, **options):
'sphinxcontrib.bibtex',
]

autodoc_default_flags = ['members','show-inheritance','undoc-members']
autodoc_default_flags = [
'members',
'show-inheritance',
'undoc-members'
]

autoclass_content = 'both'

mathjax_path = 'https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'

# FIXME: Naively assuming build directory one level up locally, and two up on readthedocs
if useDoxygen:
if readTheDocs:
doxylink = {
'openfast': (
os.path.join(builddir, '..', '..', 'openfast.tag'),
os.path.join('html')
)
}
else:
doxylink = {
'openfast': (
os.path.join(builddir, '..', 'openfast.tag'),
os.path.join('html')
)
}

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
Expand All @@ -79,7 +118,7 @@ def __init__(self, **options):
# General information about the project.
project = u'AeroDyn'
filename = project.replace(' ','_')
copyright = u'2017, National Renewable Energy Laboratory'
copyright = u'2023, National Renewable Energy Laboratory'
author = u'OpenFAST Team'

# The version info for the project you're documenting, acts as replacement for
Expand All @@ -96,7 +135,7 @@ def __init__(self, **options):
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# language = None # Default is English and None is not a valid option

#If true, figures, tables and code-blocks are automatically numbered if they
#have a caption. At same time, the numref role is enabled. For now, it works
Expand All @@ -108,6 +147,13 @@ def __init__(self, **options):
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

# FIXME: Naively assuming build directory one level up locally, and two up on readthedocs
if useDoxygen:
if readTheDocs:
html_extra_path = [os.path.join(builddir, '..', '..', 'doxygen')]
else:
html_extra_path = [os.path.join(builddir, '..', 'doxygen')]

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'

Expand Down Expand Up @@ -147,12 +193,15 @@ def __init__(self, **options):
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',

# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',

# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',

# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
Expand All @@ -162,8 +211,13 @@ def __init__(self, **options):
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, '{}.tex'.format(filename), u'{} Documentation'.format(project),
u'National Renewable Energy Laboratory', 'manual'),
(
master_doc,
'{}.tex'.format(filename),
u'{} Documentation'.format(project),
u'National Renewable Energy Laboratory',
'manual'
),
]


Expand All @@ -172,8 +226,13 @@ def __init__(self, **options):
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, project, u'{} Documentation'.format(project),
[author], 1)
(
master_doc,
project,
u'{} Documentation'.format(project),
[author],
1
)
]


Expand All @@ -183,19 +242,34 @@ def __init__(self, **options):
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, filename, u'{} Documentation'.format(project),
author, project, 'One line description of project.',
'Miscellaneous'),
(
master_doc,
filename,
u'{} Documentation'.format(project),
author,
project,
'One line description of project.',
'Miscellaneous'
),
]

def setup(app):
app.add_object_type("confval", "confval",
objname="input file parameter",
indextemplate="pair: %s; input file parameter")
app.add_object_type("cmakeval", "cmakeval",
objname="CMake configuration value",
indextemplate="pair: %s; CMake configuration")

try:
app.add_css_file('css/math_eq.css')
except:
pass
app.add_object_type(
"confval",
"confval",
objname="input file parameter",
indextemplate="pair: %s; input file parameter"
)
app.add_object_type(
"cmakeval",
"cmakeval",
objname="CMake configuration value",
indextemplate="pair: %s; CMake configuration"
)
# --- Prolog that will be included at the top of every rst file
# Here: defining the role :red: for html and latex
rst_prolog = r"""
Expand All @@ -216,3 +290,4 @@ def setup(app):
.. role:: red

"""

Loading
Loading