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

Free Vortex Wake within AeroDyn15 #447

Merged
merged 206 commits into from
Jul 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
e8226fc
FVW: Starting implementation with main function placeholders and regi…
ebranlard Nov 14, 2019
53f78e7
Add array interpolation routine to library.
andrew-platt Nov 18, 2019
e998d6f
FVW: adding vortex tools, Biot-Savart and test, LatticeToSegment
ebranlard Nov 18, 2019
63207cb
FVW: Implemented near wake
ebranlard Nov 18, 2019
4a71dfc
Merge remote-tracking branch 'manu/f/vc' into f/vc
andrew-platt Nov 18, 2019
3f71142
VC-AD15: start changing AD15 to include FVW
andrew-platt Nov 19, 2019
db6fc4e
change file to permissions 644
andrew-platt Nov 19, 2019
6a38af5
FVW: remove FVW from AD14, and move files to AD15
andrew-platt Nov 19, 2019
1e2a890
[BugFix] vtk output with AD15 WakeMod==0 segfaults
andrew-platt Nov 19, 2019
69590e3
FVW AD15: rename FVW registry
andrew-platt Nov 19, 2019
a64486e
FVW ad15: registry items in AD15. Start init mods
andrew-platt Nov 19, 2019
fce0d44
FVW: Adding induced velocity functions
ebranlard Nov 20, 2019
b7db329
FVW: pack functions, intent(out), and no seg at t=0
ebranlard Nov 20, 2019
ce0928d
FVW: fix index error
ebranlard Nov 20, 2019
0e1a024
FVW: adding inputs for circulation solving
ebranlard Nov 20, 2019
dd9b61f
FVW: starting circulation solving and unpacking of ui
ebranlard Nov 20, 2019
3e05552
FVW: add the WingsMesh passing from AD15
andrew-platt Nov 20, 2019
4f00887
FVW: Rearrange the WingsMesh.
andrew-platt Nov 20, 2019
f17af35
FVW: dedicated function for wake inductions, depth start index for pa…
ebranlard Nov 20, 2019
258d99f
FVW: add FVW updateStates and FVW_End calls from AD15
andrew-platt Nov 20, 2019
2597e8d
FVW: LL part of NW
ebranlard Nov 20, 2019
fd53976
FVW: Added the output of wakes -- not functional
andrew-platt Nov 20, 2019
b8e9428
FVW: Number of panels from input file
ebranlard Nov 21, 2019
aae7dda
FVW: Regularization options in input file
ebranlard Nov 21, 2019
be89139
FVW: Implementation of FarWake
ebranlard Nov 21, 2019
e02baca
FVW: Introducing number of free FW panels, and FW nSpan
ebranlard Nov 21, 2019
0cf390a
FVW: Implemented circulation solving (need mode work), added VTK opti…
ebranlard Nov 21, 2019
c923675
FVW: VTK output option and WingRegFactor added (not used)
ebranlard Nov 21, 2019
4a4b55c
FVW: Bug Fix: starting at iDepth
ebranlard Nov 22, 2019
b85b749
FVW: Bug Fix: mapping required before final circulation solve
ebranlard Nov 22, 2019
1f64e28
FVW: Introducing a hack parameter for convenience
ebranlard Nov 22, 2019
b9bcda1
FVW: using a better guess for first wing solve iteration
ebranlard Nov 22, 2019
dad3539
FVW: Bug Fix: chord was modified instead of settting CP_LL
ebranlard Nov 22, 2019
b17933b
FVW: Control points put exactly on the lifting line (should be change…
ebranlard Nov 22, 2019
92655db
FVW: Adding checks and screen outputs
ebranlard Nov 22, 2019
1a315c3
FVW: small fix of convection of FW when not needed
ebranlard Nov 22, 2019
7df9f2c
FVW: using openmp
ebranlard Nov 22, 2019
208d7d4
FVW: using maxval
ebranlard Nov 22, 2019
40f76ab
FVW: small change for Elliptic
ebranlard Nov 22, 2019
96363be
FVW: updated so that FVW_CalcOutput now does something.
andrew-platt Nov 22, 2019
4d4f5d2
Merge remote-tracking branch 'manu/f/vc' into f/vc-AD15
andrew-platt Nov 22, 2019
ef47601
FVW bugfix: wrong fields in meshes used for wake propogation
andrew-platt Nov 22, 2019
15b2589
FVW: add orientation info to getting leading and trailing edges
andrew-platt Nov 22, 2019
36cd7e4
FVW: some bugfixes on interp order etc.
andrew-platt Nov 22, 2019
722d929
FVW: fix segfault on interp order 2 from glue code
andrew-platt Nov 25, 2019
e75b282
FVW: fix segfault on interp order 2 from glue code
andrew-platt Nov 25, 2019
ea8e03d
FVW: some changes for IfW points/velocity passing
andrew-platt Dec 4, 2019
6baaba4
Merge remote-tracking branch 'OpenFAST/dev' into f/vc-AD15
andrew-platt Dec 4, 2019
13ccf67
FVW: more wind passing stuff
andrew-platt Dec 4, 2019
1005b81
Merge branch 'f/vc-AD15' of https://github.nrel.gov/aplatt/openfast-f…
andrew-platt Dec 4, 2019
f0b00b5
FVW: rearrange and get IfW passing completely functional
andrew-platt Dec 13, 2019
53c3d0a
FVW: missing allocation of vind far wake.
andrew-platt Dec 13, 2019
5ad3206
FVW: add short cut to IfW to skip any points at (0.0,0.0,0.0)
andrew-platt Dec 13, 2019
e8fa37e
FVW: added AFInfo into the CirculationFromPolarData routine
andrew-platt Jan 14, 2020
142f9cc
Merge remote-tracking branch 'OpenFAST/dev' into f/vc
andrew-platt Jan 21, 2020
b0110cb
FVW: turn off all BEMT stuff if using FVW. Set placeholders for outputs
andrew-platt Jan 22, 2020
64f8744
FVW: fix mistake in InflowWind shortcuts I added
andrew-platt Jan 22, 2020
1c2b04e
FVW: split SetInputsForBEMT routine into smaller pieces
andrew-platt Jan 22, 2020
e033a88
FVW: start of updates for outputs -- incomplete.
andrew-platt Jan 24, 2020
7a63db6
FVW: more changes for outputs. Compiles now.
andrew-platt Jan 24, 2020
bbef92b
FVW: some outputs with the DBG_OUTS flag
andrew-platt Jan 24, 2020
d1a314d
FVW: minor update to Re calc in FVW_Wings
andrew-platt Jan 24, 2020
82b693b
FVW: fixed units in dbg outs
ebranlard Jan 28, 2020
827fe14
FVW: adding gamma to Aerodyn Dbg outs
ebranlard Jan 28, 2020
b51f560
FVW: storing pitch and twist
ebranlard Jan 28, 2020
c8e2efa
FVW: most aerodyn outputs computed with FVW
ebranlard Jan 28, 2020
c59bc05
FVW: interpolating output on aerodyn nodes, extrap to consider for en…
ebranlard Jan 28, 2020
0e430fa
FVW: input file default values and update of some IDs to start at 1
ebranlard Jan 28, 2020
7abd1d0
FVW: add DTfvw option
andrew-platt Feb 11, 2020
231b477
Merge remote-tracking branch 'manu/f/vc' into f/vc
andrew-platt Feb 11, 2020
894a346
FVW: bug in orientation matrix kind
andrew-platt Feb 11, 2020
2a6f6ac
FVW: finalize DTfvw for only calculating interaction terms on DTfvw t…
andrew-platt Feb 12, 2020
282cd17
FVW: add option to reduce VTK output frequency
andrew-platt Feb 12, 2020
fe4eb08
FVW: cleanup the routine to set requested wind points
andrew-platt Feb 13, 2020
4277463
FVW: bugfix -- move the incrementing of the NW panels to later (see c…
andrew-platt Feb 13, 2020
f00934e
FVW: bugfix to get calculation of Wake and VTK output at T=0
andrew-platt Feb 13, 2020
dba939a
FVW: vtk files have step index
ebranlard Mar 13, 2020
abc0dc6
FVW: default time it aero time
ebranlard Mar 13, 2020
f1f4e15
FVW: RegParam has length [m], simplifying BiotSavart, branching outsi…
ebranlard Mar 14, 2020
098f72b
FVW: adding Biot-Savart tests
ebranlard Mar 14, 2020
4e16a10
FVW: storing IJ indices when packing, outputing age
ebranlard Mar 14, 2020
4b0a32c
FVW: introducing core-spreading regularization, better regularization…
ebranlard Mar 16, 2020
ef6f347
FVW: starting auto-reg, computing panel diagonals
ebranlard Mar 17, 2020
0c1ac3b
FVW: fixed curvilinear spanwise coordinate
ebranlard Mar 17, 2020
2f76403
FVW: possibility to export in Hub coordinate system with
ebranlard Mar 17, 2020
bf527b3
FVW: default values for nFWPanelsFree
ebranlard Mar 17, 2020
f08b6ca
FVW: adding option for FW shed vorticity
ebranlard Mar 17, 2020
9cbb645
FVW: fixed bug when nFW=0
ebranlard Mar 17, 2020
220a7f2
FVW: fixed hub coordinate system export
ebranlard Mar 17, 2020
aaac942
FVW: including length into denominator offset regularizatino
ebranlard Mar 18, 2020
82015dd
FVW: fixed bug in far wake wind
ebranlard Mar 18, 2020
bedce97
FVW: scaling of gamma reverse before iteration
ebranlard Mar 18, 2020
6137801
FVW: cleanup or stdout and error handling, introduced DEV_VERSION par…
ebranlard Mar 18, 2020
a9648c4
FVW: added comment for future root/tip vortex location
ebranlard Mar 18, 2020
eacb7c5
FVW: adding some status to screen
ebranlard Mar 18, 2020
e793900
FVW: adding simple step timing
ebranlard Mar 18, 2020
8fd2e8f
FVW: output to vtk_fvw, now using rootname
ebranlard Mar 19, 2020
f11eab6
FVW: using full cosine approximation for CP panelling
ebranlard Mar 19, 2020
774c002
FVW: lin. extrap for 1st and last point passed to AD
ebranlard Mar 19, 2020
2bee941
FVW: removing last NW shed vorticity when FW has no shed vorticity
ebranlard Mar 19, 2020
745819e
FVW: fixed FW convection if no FWEFF panel present
ebranlard Mar 19, 2020
a1806a4
FVW: default circulation criteria more strict, and more eddy visc
ebranlard Mar 19, 2020
20b0173
FVW: dt earlier in input file, and default smooth circulation
ebranlard Mar 19, 2020
3ae2e08
FVW: fixed bug for n=1
ebranlard Mar 19, 2020
c091ab0
FVW: fixed bug in azimuth dimension
ebranlard Mar 19, 2020
58657c8
FVW: bug fix, last shed segment of FW
ebranlard Mar 19, 2020
e8d1dab
FVW: more digits in time output
ebranlard Mar 19, 2020
13afa0e
FVW: reverting some of the Ad14 changes
ebranlard Apr 2, 2020
48ae727
FVW: handling of unused variables
ebranlard Apr 2, 2020
41908df
FVW: update of visual studio solutions (FVW+OpenMP)
ebranlard Apr 2, 2020
5f31f3b
FVW: glue code outputs in global, possibility for FVW to output in both
ebranlard Apr 3, 2020
5d69e33
FVW: add documentation
andrew-platt Apr 3, 2020
722c1ca
FVW: using FVWFile as variable name to be consistent with other input…
ebranlard Apr 4, 2020
c186ffa
FVW: fix sub-cycling, storing RHS and substeps with dtaero
ebranlard Apr 4, 2020
ec2b3cb
FVW: fix issue with one NW panel and polar circ solving
ebranlard Apr 4, 2020
a93c561
FVW: safe mean of empty array slices
ebranlard Apr 4, 2020
2b008fd
FVW: display when compiled with DBG_Outs
ebranlard Apr 4, 2020
855b7fa
FVW: introduced possibility to had NA points for debugging
ebranlard Apr 4, 2020
6cf10d2
FVW: initializing circulations to zero for first call to calcoutput
ebranlard Apr 5, 2020
a15e444
FVW: fixed issue for repetitive update state calls at same time
ebranlard Apr 5, 2020
018d533
FVW: introducing a crude engineering fix for vorticies entering the g…
ebranlard Apr 5, 2020
d0bea93
FVW: fixed gamma scaling
ebranlard Apr 6, 2020
b5e5e49
FVW: error handling for circulation file
ebranlard Apr 6, 2020
52e264e
FVW: note of subcycling
ebranlard Apr 6, 2020
9ddda5e
FVW: display whether openmp is supported
ebranlard Apr 6, 2020
e617635
FVW: added OPENMP option flag for cmake
ebranlard Apr 6, 2020
0fea7ae
Merge branch 'dev' of https://github.com/openfast/openfast into dev
ebranlard Apr 8, 2020
6b17722
FVW: implementing tower shadow
ebranlard Apr 17, 2020
9b528b8
FVW: displaying useful info to screen
ebranlard Apr 17, 2020
ef7dd80
FVW: implemented mirrored vorticity for ground effect
ebranlard Apr 17, 2020
2fd9a05
FVW: adding AD outputs that had been previously commented
ebranlard Apr 17, 2020
336d1fb
FVW: adding output of induced velocities in polar plane
ebranlard Apr 17, 2020
5f1dc3f
FVW: adding a small margin to avoid stagnation points in tower shadow
ebranlard Apr 18, 2020
23a2a6f
FVW: openmp parallelization for inflowwind TS and Uniform
ebranlard Apr 18, 2020
96398e4
FVW: using buffer storage for segments
ebranlard Apr 20, 2020
64fc66d
FVW: exporting convection velocity with NW and FW vtks
ebranlard Apr 20, 2020
f4276e9
FVW: preparing for additional input file parameters
ebranlard Apr 20, 2020
4b822f9
FVW: started UA implementation
ebranlard Apr 21, 2020
26b2533
FVW: integrated UA with FVW, needs further checking
ebranlard Apr 22, 2020
b1c9b49
FVW: increased readibility of UA dbg outs
ebranlard Apr 22, 2020
c7f5dac
FVW: small change to match BEMT handling of UA Otherstate
ebranlard Apr 22, 2020
4d7aa4a
FVW: possibility to remove shed vorticity effect from UA, but UA with…
ebranlard Apr 23, 2020
5bb8b2d
FVW: adding Biot-Savart particle functions and tests
ebranlard Apr 23, 2020
29711ba
FVW: adding tree functions with tests
ebranlard Apr 23, 2020
7bac257
FVW: adding conversion segments to particles
ebranlard Apr 24, 2020
61ad9e9
FVW: implemented Tree and Part for wake, need input file flags
ebranlard Apr 24, 2020
78f0950
FVW: adding inputs for tree
ebranlard Apr 25, 2020
7387ca3
FVW: updating documentation to match the technical report
andrew-platt Apr 27, 2020
1e6f0d9
FVW docs: input file description updated
andrew-platt Apr 27, 2020
3910de4
FVW docs: update Outputs.rst
andrew-platt Apr 27, 2020
49bac51
Docs: move eq numbers to right of eqs in html
andrew-platt Apr 27, 2020
bfe6e93
FVW: restructuring input file
ebranlard Apr 29, 2020
0718c72
FVW docs: more theory updates to match the LaTeX document.
andrew-platt Apr 30, 2020
1ad8c28
Merge remote-tracking branch 'ebranlard/f/vc' into f/vc
andrew-platt Apr 30, 2020
6ba8b29
FVW docs: updated to match LaTeX document
andrew-platt Apr 30, 2020
1da36b1
FVW docs: minor updates
andrew-platt May 1, 2020
61fb39d
FVW: update reg-tests to OpenFAST/dev pointer
andrew-platt May 1, 2020
b1757e7
Merge remote-tracking branch 'OpenFAST/dev' into f/vc
andrew-platt May 1, 2020
b796a9d
FVW docs: add info on the OpenMP option
andrew-platt May 4, 2020
fa1d016
FVW: remove save variables
andrew-platt May 1, 2020
abbeb9b
FVW: decided to remove the vtk temp vars out of miscvars in the registry
andrew-platt May 4, 2020
0ff23b7
FVW: move bChangeFrame out of types
andrew-platt May 4, 2020
00a1bd0
FVW: bug fix in UA_UpdateState_Wrapper
andrew-platt May 5, 2020
fc52ec7
FVW: add output channels to AD15
andrew-platt May 5, 2020
989f281
FVW: rogue STOP in the middle of outputs section causing issues
andrew-platt May 6, 2020
d7c5169
FVW: add unit tests and update stale ED_Types file
andrew-platt May 6, 2020
50c58f3
FVW: update cmake for AD15 / fvw. It wasn't compiling the test.
andrew-platt May 7, 2020
8707e48
Merge remote-tracking branch 'OpenFAST/dev' into f/vc
andrew-platt May 8, 2020
804a6be
Orcaflex interface: load DLL by default
andrew-platt May 8, 2020
59958cb
FVW: fix bug with vtk_fvw outputs
andrew-platt Jun 10, 2020
f5a0767
FVW: merge r-test
andrew-platt Jun 10, 2020
d410042
Merge remote-tracking branch 'OpenFAST/dev' into f/vc
andrew-platt Jun 10, 2020
b692556
FVW: update OLAF documentation for readthedocs
andrew-platt Jun 12, 2020
c6a8f14
FVW: docs. minor equation edit to match TR
andrew-platt Jun 12, 2020
7d9000a
FVW: docs. update index
andrew-platt Jun 12, 2020
5e3b731
FVW/OLAF: rename docs directory
andrew-platt Jun 12, 2020
1b229cc
FVW: add helical wake test case
andrew-platt Jun 15, 2020
d8225f9
FVW: add elliptical wing test case
andrew-platt Jun 15, 2020
cd23678
Merge remote-tracking branch 'OpenFAST/dev' into f/vc
andrew-platt Jun 15, 2020
8f55204
FVW: update test cases
andrew-platt Jun 17, 2020
865f5bf
Update github action for OLAF regression tests
andrew-platt Jun 17, 2020
fc66b8a
Add OLAF free vortex wake unit test to github actions
andrew-platt Jun 17, 2020
9170dfb
OLAF: minor update to r-test cases for OLAF
andrew-platt Jun 19, 2020
c239d62
Merge remote-tracking branch 'OpenFAST/dev' into f/vc
andrew-platt Jun 26, 2020
2645008
FVW: removed openmp from vs solutions
ebranlard Jun 26, 2020
86dc893
Merge branch 'f/vc' of github.com:andrew-platt/openfast into f/vc
andrew-platt Jun 26, 2020
06161b0
Remove DBG_OUTS from AD15
andrew-platt Jun 26, 2020
db50ef1
Merge remote-tracking branch 'bjonkman/f/Linear' into f/vc_merge373
andrew-platt Jun 29, 2020
ea8b103
Fix for merge: glue code data hanlding bad merge
andrew-platt Jun 30, 2020
277ed68
Some updates to reg test input files
andrew-platt Jun 30, 2020
a8d0286
AD15: fix the invalid channel info for SgCav, SigCr, Gam
andrew-platt Jun 30, 2020
3476019
AD15: set invalid criteria for CpMin
andrew-platt Jun 30, 2020
8ff0b43
FVW: update the nodal outputs for AD15
andrew-platt Jul 1, 2020
3585776
FVW: add miscvars for calculating outputs at nodes
andrew-platt Jul 1, 2020
db80b79
FVW: remove code redundancy in output calculations
andrew-platt Jul 1, 2020
9a215a9
AD15: rearrange FVW output channel calculations
andrew-platt Jul 2, 2020
3dda67f
AD15: add nodal outputs for OLAF/FVW
andrew-platt Jul 2, 2020
17f8248
AD15: change description of Uin, Uit, Uir nodal outputs in documentation
andrew-platt Jul 2, 2020
cf611e3
AD15: update units in nodal outputs Uin, Uit, Uir
andrew-platt Jul 2, 2020
90012d5
NodeOuts: fix indexing when invalid channels
andrew-platt Jul 2, 2020
63e2656
Merge remote-tracking branch 'OpenFAST/dev' into f/vc
andrew-platt Jul 14, 2020
1e5af9e
OLAF: update API changes
andrew-platt Jul 14, 2020
63210b2
OLAF docs: minor update to remove sphinx-html errors
andrew-platt Jul 15, 2020
58aaa37
Update baselins macos/linux-gnu
andrew-platt Jul 16, 2020
c0b1ac3
Update Intel compiler baselines
rafmudaf Jul 16, 2020
36922c3
FVW: r-test dev pointer
andrew-platt Jul 17, 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
5 changes: 4 additions & 1 deletion .github/actions/compile-and-test/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ ctest -VV -R nwtc_library_utest
ctest -VV -j7 -R bd_
ctest -VV -R beamdyn_utest

# OLAF free vortex wake tests
ctest -VV -R fvw_utest

# OpenFAST linearization tests
# Dont run these in parallel, copying the case files can fail in a race condition
ctest -VV -L linear
Expand All @@ -49,4 +52,4 @@ ctest -VV -L linear
## - 9, 16 because they're very sensitive
## - 19, 20 because theyre too long
## - 17, 22, 23 becuase we dont know why they fail :(
ctest -VV -j8 -I 1,1,1,2,3,4,5,6,7,8,10,11,12,13,14,15,18,21,24,25,26
ctest -VV -j8 -I 1,1,1,2,3,4,5,6,7,8,10,11,12,13,14,15,18,21,24,25,26,27,28
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "reg_tests/r-test"]
path = reg_tests/r-test
url = https://github.com/openfast/r-test.git
url = https://github.com/OpenFAST/r-test.git
[submodule "unit_tests/pfunit"]
path = unit_tests/pfunit
url = https://github.com/Goddard-Fortran-Ecosystem/pFUnit.git
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ option(BUILD_SHARED_LIBS "Enable building shared libraries" off)
option(DOUBLE_PRECISION "Treat REAL as double precision" on)
option(USE_DLL_INTERFACE "Enable runtime loading of dynamic libraries" on)
option(FPE_TRAP_ENABLED "Enable FPE trap in compiler options" off)
option(ORCA_DLL_LOAD "Enable OrcaFlex Library Load" off)
option(ORCA_DLL_LOAD "Enable OrcaFlex Library Load" on)
option(BUILD_OPENFAST_CPP_API "Enable building OpenFAST - C++ API" off)
option(OPENMP "Enable OpenMP support" off)

# Precompiler/preprocessor flag configuration
# Do this before configuring modules so that the flags are included
Expand Down Expand Up @@ -169,4 +170,4 @@ endif()
option(BUILD_DOCUMENTATION "Build documentation." OFF)
if(BUILD_DOCUMENTATION)
add_subdirectory(docs)
endif()
endif()
22 changes: 21 additions & 1 deletion cmake/OpenfastFortranOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ macro(set_fast_gfortran)
endif(NOT WIN32)

# Fix free-form compilation for OpenFAST
#set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-none -cpp -fopenmp")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-none -cpp")

# Deal with Double/Single precision
Expand All @@ -93,7 +94,7 @@ macro(set_fast_gfortran)

# debug flags
if(CMAKE_BUILD_TYPE MATCHES Debug)
set( CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -fcheck=all -pedantic -fbacktrace" )
set( CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -fcheck=all -pedantic -fbacktrace " )
endif()

if(CYGWIN)
Expand All @@ -102,6 +103,12 @@ macro(set_fast_gfortran)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS},--stack,${stack_size}")
endif()

# OPENMP
if (OPENMP)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fopenmp")
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -fopenmp" )
endif()

endmacro(set_fast_gfortran)

#
Expand Down Expand Up @@ -131,6 +138,12 @@ macro(set_fast_intel_fortran_posix)
if(CMAKE_BUILD_TYPE MATCHES Debug)
set( CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -check all -traceback" )
endif()

# OPENMP
if (OPENMP)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -qopenmp")
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -qopenmp" )
endif()
endmacro(set_fast_intel_fortran_posix)

#
Expand All @@ -157,4 +170,11 @@ macro(set_fast_intel_fortran_windows)
if(CMAKE_BUILD_TYPE MATCHES Debug)
set( CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} /check:all /traceback" )
endif()

# OPENMP
if (OPENMP)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /qopenmp")
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} /qopenmp" )
endif()

endmacro(set_fast_intel_fortran_windows)
Binary file modified docs/OtherSupporting/OutListParameters.xlsx
Binary file not shown.
6 changes: 6 additions & 0 deletions docs/_static/css/math_eq.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.math {
text-align: left;
}
.eqno {
float: right;
}
2 changes: 2 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
]

def setup(app):
app.add_css_file('css/math_eq.css')
app.add_object_type(
"confval",
"confval",
Expand All @@ -257,3 +258,4 @@ def setup(app):
objname="CMake configuration value",
indextemplate="pair: %s; CMake configuration"
)

1 change: 1 addition & 0 deletions docs/source/install/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@ The CMake options specific to OpenFAST and their default settings are:
GENERATE_TYPES - Use the openfast-regsitry to autogenerate types modules
ORCA_DLL_LOAD - Enable OrcaFlex library load (Default: OFF)
USE_DLL_INTERFACE - Enable runtime loading of dynamic libraries (Default: ON)
OPENMP - Enable OpenMP parallelization in FVW (Default: OFF)

Additional system-specific options may exist for a given system, but those
should not impact the OpenFAST configuration. As mentioned above, the
Expand Down
19 changes: 19 additions & 0 deletions docs/source/user/aerodyn-olaf/Acknowledgments.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.. _Acknowledgments:

Acknowledgments
===============

This work was authored by the National Renewable Energy Laboratory,
operated by Alliance for Sustainable Energy, LLC, for the U.S.
Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. Funding
provided by the U.S. Department of Energy Office of Energy Efficiency
and Renewable Energy Wind Energy Technologies Office. The views
expressed in the article do not necessarily represent the views of the
DOE or the U.S. Government. The U.S. Government retains and the
publisher, by accepting the article for publication, acknowledges that
the U.S. Government retains a nonexclusive, paid-up, irrevocable,
worldwide license to publish or reproduce the published form of this
work, or allow others to do so, for U.S. Government purposes.

The authors are also grateful to the Big Adaptive Rotor program for
supporting the development of this software.
52 changes: 52 additions & 0 deletions docs/source/user/aerodyn-olaf/Acronyms.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
.. _Acronyms:

List of Symbols
===============

+-----------------------------+---------------------------------------+
| BEM | blade-element momentum |
+-----------------------------+---------------------------------------+
| CFD | computational fluid dynamics |
+-----------------------------+---------------------------------------+
| DOE | U.S. Department of Energy |
+-----------------------------+---------------------------------------+
| :math:`F_v` | core radius factor |
+-----------------------------+---------------------------------------+
| :math:`t` | time |
+-----------------------------+---------------------------------------+
| FVW | free vortex wake |
+-----------------------------+---------------------------------------+
| :math:`N` | number of rotor revolutions before |
| | wake cutoff condition |
+-----------------------------+---------------------------------------+
| :math:`\vec{r}` | vector between point of interest and |
| | vortex segment |
+-----------------------------+---------------------------------------+
| :math:`\vec{r}(\psi,\zeta)` | position vector of Lagrangian markers |
+-----------------------------+---------------------------------------+
| :math:`r_c` | core radius |
+-----------------------------+---------------------------------------+
| :math:`r_{c0}` | initial core radius |
+-----------------------------+---------------------------------------+
| OLAF | cOnvecting LAgrangian Filaments |
+-----------------------------+---------------------------------------+
| :math:`\alpha` | numerical constant :math:`=1.25643` |
+-----------------------------+---------------------------------------+
| :math:`\Gamma` | circulation strength |
+-----------------------------+---------------------------------------+
| :math:`\delta` | measure of viscous diffusion |
+-----------------------------+---------------------------------------+
| :math:`\epsilon` | measure of strain |
+-----------------------------+---------------------------------------+
| :math:`\Delta \psi` | step size for blade rotation |
+-----------------------------+---------------------------------------+
| :math:`\Omega` | rotational speed of wind turbine |
+-----------------------------+---------------------------------------+
| :math:`\zeta` | vortex wake age |
+-----------------------------+---------------------------------------+
| :math:`\zeta_0` | vortex wake age offset |
+-----------------------------+---------------------------------------+
| :math:`\nu` | kinematic viscosity |
+-----------------------------+---------------------------------------+
| :math:`\psi` | azimuth blade position |
+-----------------------------+---------------------------------------+
13 changes: 13 additions & 0 deletions docs/source/user/aerodyn-olaf/AppendixA.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.. _OLAF-Primary-Input-File:

Appendix A: OLAF Primary Input File
===================================


**Check the regression test cases for updates to this input file.**

.. container::
:name: Tab:OLAFinputfile

.. literalinclude:: ExampleFiles/ExampleFile--OLAF.txt
:linenos:
12 changes: 12 additions & 0 deletions docs/source/user/aerodyn-olaf/AppendixB.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _Prescribed-Circulation-Input-File:

Appendix B: Prescribed Circulation Input File
=============================================

**Check the regression tests for updated versions of this file.**

.. container::
:name: TabPrescribeCirc

.. literalinclude:: ExampleFiles/ExampleFile--PrescribeCirc.txt
:linenos:
35 changes: 35 additions & 0 deletions docs/source/user/aerodyn-olaf/AppendixC.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
.. _OLAF-List-of-Output-Channels:

Appendix C: OLAF List of Output Channels
========================================

This is a list of all possible output parameters from the OLAF module.
The names are grouped by meaning, but can be ordered in the OUTPUTS
section of the *AeroDyn15* primary input file, as the user sees fit.
:math:`N\beta` refers to output node, :math:`\beta`, where :math:`\beta`
is a number in the range [1,9], corresponding to entry, :math:`\beta`,
in the **OutNd** list. :math:`B\alpha` is prefixed to each output name,
where :math:`\alpha` is a number in the range [1,3], corresponding to
the blade number.


.. list-table:: Available OLAF Output Channels
:widths: 25 15 50
:header-rows: 1
:align: center
:name: Tab:OLAFoutputs

* - Channel Name(s)
- Units
- Description
* - :math:`B \alpha N \beta Gam`
- :math:`m^2/s`
- Circulation along the blade


..
============================ ============= ===========================
Channel Name(s) Units Description
============================ ============= ===========================
:math:`B \alpha N \beta Gam` :math:`m^2/s` Circulation along the blade
============================ ============= ===========================
42 changes: 42 additions & 0 deletions docs/source/user/aerodyn-olaf/ExampleFiles/ExampleFile--OLAF.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
--------------------------- OLAF (cOnvecting LAgrangian Filaments) INPUT FILE -----------------
Free wake input file for the Helix test case
--------------------------- GENERAL OPTIONS ---------------------------------------------------
5 IntMethod Integration method {5: Forward Euler 1st order, default: 5} (switch)
0.2 DTfvw Time interval for wake propagation. {default: dtaero} (s)
5 FreeWakeStart Time when wake is free. (-) value = always free. {default: 0.0} (s)
2.0 FullCircStart Time at which full circulation is reached. {default: 0.0} (s)
--------------------------- CIRCULATION SPECIFICATIONS ----------------------------------------
1 CircSolvingMethod Circulation solving method {1: Cl-Based, 2: No-Flow Through, 3: Prescribed, default: 1 }(switch)
0.01 CircSolvConvCrit Convergence criteria {default: 0.001} [only if CircSolvingMethod=1] (-)
0.1 CircSolvRelaxation Relaxation factor {default: 0.1} [only if CircSolvingMethod=1] (-)
30 CircSolvMaxIter Maximum number of iterations for circulation solving {default: 30} (-)
"NA" PrescribedCircFile File containing prescribed circulation [only if CircSolvingMethod=3] (quoted string)
===============================================================================================
--------------------------- WAKE OPTIONS ------------------------------------------------------
------------------- WAKE EXTENT AND DISCRETIZATION --------------------------------------------
50 nNWPanel Number of near-wake panels [integer] (-)
400 WakeLength Total wake distance [integer] (number of time steps)
default FreeWakeLength Wake length that is free [integer] (number of time steps) {default: WakeLength}
False FWShedVorticity Include shed vorticity in the far wake {default: false}
------------------- WAKE REGULARIZATIONS AND DIFFUSION -----------------------------------------
0 DiffusionMethod Diffusion method to account for viscous effects {0: None, 1: Core Spreading, "default": 0}
0 RegDeterMethod Method to determine the regularization parameters {0: Manual, 1: Optimized, default: 0 }
2 RegFunction Viscous diffusion function {0: None, 1: Rankine, 2: LambOseen, 3: Vatistas, 4: Denominator, "default": 3} (switch)
0 WakeRegMethod Wake regularization method {1: Constant, 2: Stretching, 3: Age, default: 1} (switch)
2.0 WakeRegFactor Wake regularization factor (m)
2.0 WingRegFactor Wing regularization factor (m)
100 CoreSpreadEddyVisc Eddy viscosity in core spreading methods, typical values 1-1000
------------------- WAKE TREATMENT OPTIONS ---------------------------------------------------
False TwrShadowOnWake Include tower flow disturbance effects on wake convection {default:false} [only if TwrPotent or TwrShadow]
0 ShearModel Shear Model {0: No treatment, 1: Mirrored vorticity, default: 0}
------------------- SPEEDUP OPTIONS -----------------------------------------------------------
2 VelocityMethod Method to determine the velocity {1:Biot-Savart Segment, 2:Particle tree, default: 1}
1.5 TreeBranchFactor Branch radius fraction above which a multipole calculation is used {default: 2.0} [only if VelocityMethod=2]
1 PartPerSegment Number of particles per segment [only if VelocityMethod=2]
===============================================================================================
--------------------------- OUTPUT OPTIONS ---------------------------------------------------
1 WrVTk Outputs Visualization Toolkit (VTK) (independent of .fst option) {0: NoVTK, 1: Write VTK at each time step} (flag)
1 nVTKBlades Number of blades for which VTK files are exported {0: No VTK per blade, n: VTK for blade 1 to n} (-)
2 VTKCoord Coordinate system used for VTK export. {1: Global, 2: Hub, "default": 1}
1 VTK_fps Frame rate for VTK output (frames per second) {"all" for all glue code timesteps, "default" for all OLAF timesteps} [used only if WrVTK=1]
------------------------------------------------------------------------------------------------
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
r/R [-], Gamma [m^2/s]
0.048488, 0.000000
0.087326, 0.442312
0.126163, 6.909277
0.165000, 23.678557
0.203837, 55.650700
0.242674, 74.091529
0.281512, 84.205843
0.320349, 88.740429
0.359186, 89.730814
0.398023, 88.568114
0.436860, 87.114743
0.475698, 86.110557
0.514535, 85.705529
0.553372, 85.215829
0.592209, 84.547371
0.631047, 83.774329
0.669884, 82.889157
0.708721, 81.635600
0.747558, 79.788700
0.786395, 77.195200
0.825233, 73.765100
0.864070, 69.275900
0.902907, 62.965400
0.941744, 53.603300
0.980581, 39.854000
31 changes: 31 additions & 0 deletions docs/source/user/aerodyn-olaf/FutureWork.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.. _Future-Work:

Future Work
===========

This first implementation phase focused on single-turbine capabilities,
fulfilling the basic requirements for the design of large and novel
rotor concepts. Future development work will turn toward the
implementation of features enabling multiple-turbine simulations on
medium-to-large-scale computational clusters. The reduction of the
computational time will also be of focus. This may be achieved using
tree techniques such as the fast multipole method. Further algorithmic
options, such as vortex amalgamation in the far wake, will be considered
to speed up the simulation. The framework presented in this manual is
compatible with grid-free or grid-based vortex particle formulations.
Such particle-based implementations will also be envisaged in the
future. Further validation of the code against measurements and
higher-order tools will be pursued. Applications to cases known to be
challenging for the BEM algorithm will also be investigated, such as
highly flexible rotors, offshore floating turbines, small-scale wind
farms, multiple-rotor turbines, or kites.

The following list contains future work on OLAF software:

- Lagrangian particles

- Multiple turbines, integration into FAST.Farm

- Code speed-up

- Dedicated dynamic stall model
Loading