Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
422 commits
Select commit Hold shift + click to select a range
2857c59
update submodule HEAD to latest
rafmudaf May 3, 2017
33f7a50
update the failure exit code to a positive non 0 number -> 1
rafmudaf May 3, 2017
698b714
Added some temp debug outputs. Fixed bug with p_plane and xhat_plane …
May 3, 2017
bfd725b
update ctest configuration after regression test directory structure …
rafmudaf May 3, 2017
d1fe751
Another try at getting doxygen to work search for source files when o…
jrood-nrel May 3, 2017
6805f75
replace bash execution of regression test with a python script to do …
rafmudaf May 4, 2017
f8f16c7
Merge remote-tracking branch 'Jason/f/fast-farm' into f/fast-farm2
May 4, 2017
8eac312
update submodule to latest HEAD
rafmudaf May 4, 2017
61f3e56
Disabling doxylink on RTD for now.
jrood-nrel May 4, 2017
5ee4852
Fixing comments in file that were causing errors with doxylink. Turni…
jrood-nrel May 4, 2017
1305b32
add tests 20-26
rafmudaf May 4, 2017
5f4029a
replace unused code from development with a more descriptive TODO
rafmudaf May 4, 2017
d21d34f
Merge remote-tracking branch 'ghayman/f/fast-farm2' into f/fast-farm
May 4, 2017
0b5dd55
Merge remote-tracking branch 'upstream/dev' into dev
rafmudaf May 4, 2017
6348088
use the cmake intrinsic 'file(COPY' rather than 'execute_process' to …
rafmudaf May 4, 2017
de948b9
reference the regression test script directly in the reg_tests direct…
rafmudaf May 4, 2017
1179730
add better argument checking and error handling; run openfast before …
rafmudaf May 4, 2017
a72f48a
Changed calculation of V_Plane to be based on both adjacent wake volumes
May 4, 2017
f98ce39
update submodule to latest HEAD
rafmudaf May 4, 2017
fc50fe9
Pull branch May 3, 2017 (#22)
robynnemurrayNREL May 5, 2017
692e3dc
Merge pull request #20 from gantech/cppLibraryGluecode
May 5, 2017
38fe0fd
Merge remote-tracking branch 'OpenFAST/dev' into f/fast-farm2
May 5, 2017
b1687a3
update submodule to latest HEAD
rafmudaf May 5, 2017
23d2521
check for Fortran compiler not CXX compiler type in CTest
rafmudaf May 5, 2017
4f80719
remove the Clang check, theres no clang fortran compiler
rafmudaf May 8, 2017
8112840
Resolved ASCII/Unicode issue for the units array
May 8, 2017
e091ab3
rename RegressionTestData -> r-test in gitmodule
rafmudaf May 8, 2017
b8ea3c2
Fixed ASCII/Unicode issue with units array in AeroDyn_IO.f90
May 8, 2017
db2b8ac
Merge remote-tracking branch 'Jason/f/fast-farm' into f/fast-farm2
May 8, 2017
4d922dd
remote the RegressionTestData repo from submodules
rafmudaf May 8, 2017
6e6e5f1
add r-test submodule referencing the openfast/r-test repo
rafmudaf May 8, 2017
9e97af9
specify a branch in the r-test submodule
rafmudaf May 8, 2017
4d239ad
Merge remote-tracking branch 'OpenFAST/dev' into f/fast-farm2
May 8, 2017
4aa7f89
Fixed bug with MHK AeroDyn where initialization input, Gravity, was n…
May 8, 2017
53b1670
Merge remote-tracking branch 'OpenFAST/dev' into f/fast-farm2
May 8, 2017
802f7ba
Removed FAST.Farm related files
May 8, 2017
c33c89e
Removed FAST.Farm related vs-build files
May 8, 2017
c416ea7
Added AeroDyn driver vs-build project
May 8, 2017
191d7fb
Working Draft of VS-build system
May 8, 2017
ce2b648
Fixed bug where InitOut%TwrDiam was being set to an unallocated ptr/a…
May 8, 2017
fac429a
BUGFIX: Fixing various bugs related to the setting of velocity at the…
May 10, 2017
b477d07
BeamDyn code changes from Envision Energy
bjonkman May 10, 2017
c5db5a4
Merge remote-tracking branch 'OpenFAST-upstream/dev' into f/Envision-…
bjonkman May 10, 2017
5a33514
Removed unused BE mesh from FAST_Solver
bjonkman May 10, 2017
3574efe
BD driver: update to orientation calculation
bjonkman May 10, 2017
edc555c
update CMake input files with new regression test data repo name
rafmudaf May 10, 2017
22f92aa
add ctest config files and the steering script
rafmudaf May 10, 2017
91428d2
gitignore the ctest-build directory
rafmudaf May 10, 2017
a2850ba
remove debug print statement
rafmudaf May 10, 2017
a6d3019
add more genericness to the python scripts to ensure cross platform a…
rafmudaf May 10, 2017
30083a2
add configuration for a local cdash to ctest
rafmudaf May 10, 2017
6bff453
update test list file
rafmudaf May 10, 2017
af5872c
configure the steering script for local cdash and to execute the tests
rafmudaf May 10, 2017
b6109aa
add support for multiple solution sets, and automatically choose the …
rafmudaf May 8, 2017
e946b12
add all certtest cases to the test file
rafmudaf May 10, 2017
aee3904
remove unnecessary configurations in ctestconfig; keep file to suppre…
rafmudaf May 10, 2017
51301bb
customize steering script for only running the test -> remove the bui…
rafmudaf May 10, 2017
287c0f7
BD: moved calculation of p%SP_Coef
bjonkman May 11, 2017
b205a62
use a variable for the openfast executable in ctest
rafmudaf May 11, 2017
725678d
check for a given openfast executable when running ctest independently
rafmudaf May 11, 2017
3e8e7fb
add a driver to run ctest independently
rafmudaf May 11, 2017
d11297b
Updated AeroDyn_Driver and UnSteadyAero driver projects to be more co…
May 11, 2017
5d69557
Updated AeroDyn to version v15.04.02a
May 11, 2017
d27f332
updates for windows support
rafmudaf May 11, 2017
5ec4fb8
convert paths to cmake style
rafmudaf May 11, 2017
12c2039
revert a bug fix that wasnt actually a bug fix
rafmudaf May 11, 2017
6135421
automatically determine the test tolerance and leave the option for u…
rafmudaf May 11, 2017
c1d91d8
Merge branch 'feature/ctest-without-cmake' into feature/goldstandard-…
rafmudaf May 11, 2017
e87545c
fix merge conflicts: move submodule to corresponding feature branch
rafmudaf May 11, 2017
43fc58d
add support for optional system and compiler types to the regression …
rafmudaf May 11, 2017
a769c1f
Merge remote-tracking branch 'upstream/dev' into dev
rafmudaf May 11, 2017
6f91311
rename script to manually execute the regression test
rafmudaf May 11, 2017
37d4dbe
update submodule to latest HEAD; rework scripts for updated submodule
rafmudaf May 11, 2017
9d56f7b
Merge remote-tracking branch 'OpenFAST/dev' into gregpull
May 11, 2017
e97cd9b
Merge pull request #27 from ghaymanNREL/gregpull
May 12, 2017
647bc5f
upgrade r-test submodule to a feature branch
rafmudaf May 12, 2017
31c1916
move submodule remote off of the openfast repo while in development
rafmudaf May 12, 2017
a845e13
bug fix in parsing input variables
rafmudaf May 12, 2017
8a977cf
update call signature to regression test python script
rafmudaf May 12, 2017
543fdd5
update submodule to latest HEAD
rafmudaf May 12, 2017
b92b7f7
update submodule to latest HEAD
rafmudaf May 12, 2017
b00403b
BD driver: fixed conflict between TipLoad and multi-point load inputs
bjonkman May 13, 2017
69572cf
BUGFIX: Include turbine base location in coordinates returned to driv…
May 15, 2017
649d8ba
extend the timeout to 25 minutes, some of the higher cert test cases …
rafmudaf May 15, 2017
7a134f8
update the doc strings of the python programs to more consistent and …
rafmudaf May 15, 2017
69c35ac
add a README to the reg_tests directory
rafmudaf May 15, 2017
f2856b1
include info on running the regression test in the reg_tests README
rafmudaf May 15, 2017
8a70af8
Updating OpenFOAM module to get new units for file I/O using GetNewUn…
May 15, 2017
9d94fe2
add a docstring
rafmudaf May 15, 2017
fcd90ee
typo fixes and updates to the README
rafmudaf May 15, 2017
27dc954
typo fix to the README
rafmudaf May 15, 2017
3c7608c
updates to docstrings and the reg_tests README for better clarity
rafmudaf May 15, 2017
03bb880
update the sphinx documentation with automated testing description an…
rafmudaf May 15, 2017
1f346f6
rename r-test gold standard directory from rhel-intel to linux-intel
rafmudaf May 15, 2017
9724970
better handling for system-compiler combinations that dont exist in g…
rafmudaf May 15, 2017
25959de
BD acceleration outputs in local frame instead of global
bjonkman May 16, 2017
335e15d
Major restructuring of BD Driver
bjonkman May 16, 2017
79aba9d
merged upstream (OpenFAST) into Envision-DeamDyn
bjonkman May 16, 2017
371e476
fixed weird merging problem
bjonkman May 16, 2017
dfeb059
update submodule to latest HEAD
rafmudaf May 16, 2017
5fbb51d
use intrinsic cmake options for including ctest
rafmudaf May 16, 2017
3ef59e8
use more explicit input argument for python script call; refactor cod…
rafmudaf May 16, 2017
633d7df
remote print statement for debugging
rafmudaf May 16, 2017
b18b924
compile the 5MW ServoDyn controllers when building cmake with tests e…
rafmudaf May 16, 2017
ffbde48
verify that the test data submodule was initialized before building t…
rafmudaf May 16, 2017
95843eb
run cmake's ctest in the ctest-build directory for consistency with s…
rafmudaf May 16, 2017
255fe5c
code and comment refactor
rafmudaf May 16, 2017
fcf10ad
convert the executable path to CMAKE style for cross platform compati…
rafmudaf May 16, 2017
a76a5fc
add README to ctest directory
rafmudaf May 16, 2017
9082e5c
Updating the debug write out of processors containing non-zero instan…
May 16, 2017
fb2e16c
Removed prototype code for writing error log file.
May 17, 2017
cc44d57
automatically determine archtecture type for input to ServoDyn contro…
rafmudaf May 17, 2017
311f9cf
FAST performs correction steps on first 3 time steps of BD simulations
bjonkman May 17, 2017
d53a8f1
Removed error log file
bjonkman May 17, 2017
0ef2753
Revert "FAST performs correction steps on first 3 time steps of BD si…
bjonkman May 17, 2017
ddcbbaf
FAST performs correction steps on first 3 time steps of BD simulations
bjonkman May 17, 2017
cc55915
missed a line in previous removal of error log file
bjonkman May 18, 2017
3e2bc3a
add an input argument check for the test tolerance
rafmudaf May 18, 2017
c03f84d
propagate errors upstream for better error reporting, test the given …
rafmudaf May 18, 2017
003a6b2
handle CYGWIN system name in CMake
rafmudaf May 18, 2017
ca15ed5
print updates in the order they are generated; check for valid execut…
rafmudaf May 18, 2017
1fbc8bd
add a print statement for the pass-fail script command
rafmudaf May 19, 2017
75787d2
use a norm rather than variance with an input tolerance to determine …
rafmudaf May 19, 2017
9094d73
Adding an option to set velocity directly at the velocity nodes or at…
May 19, 2017
135c751
Reverting to old style std vector declaration and adding some ifndefs…
May 22, 2017
66e9c67
update config file path to use CTest intrinsic variables rather than …
rafmudaf May 22, 2017
587660b
update the comments and README documentation with links, more clear l…
rafmudaf May 22, 2017
044e4f7
update comment
rafmudaf May 22, 2017
a3eeb7d
update README with new scheme determining pass/fail in the regression…
rafmudaf May 22, 2017
b9b5e62
Another bugfix in sending orientations at force nodes back to the dri…
May 23, 2017
1d85041
remove deprecated code
rafmudaf May 23, 2017
15d9d20
Allowing for new restart capability in OpenFAST - C++ API
May 23, 2017
5d892f7
update python scripts to Python 3 syntax
rafmudaf May 23, 2017
a78ad74
find the highest python interpreter available in CMake and use it for…
rafmudaf May 23, 2017
85de90d
update all python call signatures in documentation to python3; update…
rafmudaf May 23, 2017
d44fdb1
update submodule to latest HEAD
rafmudaf May 23, 2017
352bc47
update the readthedocs test documentation to reflect an updated pass/…
rafmudaf May 23, 2017
ddd75cd
update the regression test readthedocs with more clear language
rafmudaf May 23, 2017
ab82a04
Merging Envision BeamDyn changes
May 24, 2017
fa79010
configure reg_tests as a cmake subproject so it can be built independ…
rafmudaf May 24, 2017
a1a8abf
update python program after changes to cmake driver; accept more expl…
rafmudaf May 24, 2017
09f5368
update submodule to latest HEAD
rafmudaf May 24, 2017
b8f221e
remove deprecated ctest standalone configuration files
rafmudaf May 24, 2017
adb6184
remove deprecated python ctest driver
rafmudaf May 24, 2017
e0a1619
add license summary to the top of source code
rafmudaf May 24, 2017
5ad56fb
update the documentation after regression test rework
rafmudaf May 24, 2017
c8dc8e6
update readthedocs with better instructions on building the full targ…
rafmudaf May 26, 2017
b62a1f9
Turning off call graph generation for readthedocs in hopes of getting…
jrood-nrel May 26, 2017
aeebe81
Another doxygen experiment.
jrood-nrel May 26, 2017
28fd861
Convert CMAKE style path to NATIVE before using in CTest
rafmudaf May 26, 2017
739a8af
Convert CMAKE paths to NATIVE in the test config file
rafmudaf May 31, 2017
b5c21a0
attempt to compile the servodyn controllers with make only in *nix sy…
rafmudaf May 31, 2017
79630d0
update r-test submodule to include updates for ServoDyn controller co…
rafmudaf May 31, 2017
3a39dba
Merge pull request #28 from gantech/cppLibraryGluecode
michaelasprague May 31, 2017
1957185
move servodyn controller static makefiles to cmake projects
rafmudaf May 31, 2017
78a8ac4
move the python libraries for regression test to a lib/ directory
rafmudaf Jun 1, 2017
c296cb1
Fixed bug where NumCorrections was not initialized
Jun 2, 2017
2e602c5
add the beamdyn executable option
rafmudaf Jun 2, 2017
d796821
move openfast execution script to the /lib directory
rafmudaf Jun 2, 2017
312c55f
add a beamdyn case execution script
rafmudaf Jun 2, 2017
e4b78e0
rename regression test script to denote its association with the open…
rafmudaf Jun 2, 2017
0775725
update submodule for module level reorganization
rafmudaf Jun 2, 2017
d989e76
add the regression test script for beamdyn
rafmudaf Jun 2, 2017
00d4934
add a ctest function for beamdyn regression
rafmudaf Jun 2, 2017
3879734
add openfast regression testing to updated ctest setup
rafmudaf Jun 2, 2017
359d3b6
bug fixes and updates for consistency in regression test scripts
rafmudaf Jun 2, 2017
9b8b95b
store the "lib" directory in a variable
rafmudaf Jun 2, 2017
317641d
add the pass fail check to the beamdyn regression test script
rafmudaf Jun 2, 2017
8922c71
add all 26 cert test cases to the openfast reg test
rafmudaf Jun 2, 2017
caf7355
update path for servodyn compiler script
rafmudaf Jun 2, 2017
8976da7
update the ctest config to submit to public cdash site
rafmudaf Jun 2, 2017
ad3f914
increase the default timeout for each test; test case 21 takes a while
rafmudaf Jun 3, 2017
7264b01
grammar update
rafmudaf Jun 3, 2017
928fb43
Merge remote-tracking branch 'OpenFAST-upstream/dev' into dev
bjonkman Jun 3, 2017
8fe111d
Fixed NumCorrection issue from previous "fix"
bjonkman Jun 3, 2017
c528fd7
Merge pull request #30 from bjonkman/dev
Jun 5, 2017
d329d01
Merge remote-tracking branch 'origin/dev' into dev
Jun 5, 2017
b702474
update the cmake config for updated r-test directory structure
rafmudaf Jun 6, 2017
f1d195d
update python regression test scripts for updated r-test directory st…
rafmudaf Jun 6, 2017
5703fac
use recursive method
rafmudaf Jun 6, 2017
ece57c8
add rich labels to each test function
rafmudaf Jun 7, 2017
49af3b1
leave testing OFF by default
rafmudaf Jun 7, 2017
1ceb2fa
update the ctest executable variables with a "ctest" prefix
rafmudaf Jun 7, 2017
e99bdca
simplify the search for python interpreter
rafmudaf Jun 7, 2017
b5fba07
only compile the servo dyn controllers if they don't already exist
rafmudaf Jun 7, 2017
cafbb5e
add more ctest labels to the regression test cases
rafmudaf Jun 7, 2017
cda8669
update submodule to its latest head
rafmudaf Jun 7, 2017
614e7b6
add openfast label to openfast regression tests
rafmudaf Jun 8, 2017
c6f7dd4
Merge remote-tracking branch 'upstream/dev' into dev
rafmudaf Jun 8, 2017
c169942
update submodule to latest HEAD
rafmudaf Jun 8, 2017
5166c63
update submodule
rafmudaf Jun 8, 2017
42df2e9
update pass_fail.py to return more informative output
Jun 9, 2017
b649485
Merge pull request #1 from mschmidt271/dev
rafmudaf Jun 9, 2017
d780b1d
Fix HDF5 instructions in C++ API CMakeLists.txt
sayerhs Jun 13, 2017
aa600fb
use updated r-test directory structure
rafmudaf Jun 14, 2017
6a00d79
update submodule with latest baseline openfast solutions
rafmudaf Jun 15, 2017
812c5b2
replace cmake escape character with double backslash
rafmudaf Jun 15, 2017
053a454
replace cmake escape character with double backslash
rafmudaf Jun 15, 2017
1d13f47
update r-test submodule to latest HEAD
rafmudaf Jun 16, 2017
cccb172
Updated vs projects for consistency and to fix a bug where registry w…
Jun 20, 2017
a971cc7
Merge remote-tracking branch 'origin/dev' into dev
Jun 20, 2017
a1acd4d
add a filter to the copy command to prevent copying baseline solutions
rafmudaf Jun 20, 2017
468dc47
update baseline solutions
rafmudaf Jun 20, 2017
8f39198
update linux-intel baseline files based on openfast/dev commit d329d01
rafmudaf Jun 22, 2017
82ae7e6
increase the time limit property on tests; Test21 times out
rafmudaf Jun 23, 2017
e386d8c
replace the include statement with the more appropriate add_subdirectory
rafmudaf Jun 27, 2017
dca0c15
build and seed the test directories in the build directory so paralle…
rafmudaf Jun 28, 2017
9bd7ca8
update doc string and in line documentation
rafmudaf Jun 28, 2017
b5b6d1e
update reg_tests README after directory structure updates
rafmudaf Jun 28, 2017
964797e
update doxygen after major changes to the test procedure
rafmudaf Jun 28, 2017
6c8d2f8
bug fix in documentation: add "lib/" to files in lib directory
rafmudaf Jun 29, 2017
c867bc9
documentation update
rafmudaf Jun 30, 2017
93a4514
add windows machine type option
rafmudaf Jun 30, 2017
4f9a9bc
rename CMAKE_BUILD_DIR to CMAKE_BINARY_DIR
rafmudaf Jun 30, 2017
2ced8f5
include the discon controller cmake projects in the openfast cmake pr…
rafmudaf Jun 30, 2017
98f0720
revert to "include" rather than "add_subdirectory" due to ctest confi…
rafmudaf Jun 30, 2017
0b1a3d7
update submodule for discon cmake updates
rafmudaf Jun 30, 2017
dcf6729
Merge remote-tracking branch 'upstream/dev' into dev
rafmudaf Jun 30, 2017
92563e8
better path parsing for creating the output log
rafmudaf Jul 5, 2017
5a7267e
add a temporary python script to manually execute the regression test…
rafmudaf Jul 5, 2017
fcb28e6
add documentation to manual execution script
rafmudaf Jul 5, 2017
fc8254a
Store the python executable for future python calls
rafmudaf Jul 5, 2017
e2fd956
run all 26 cases in the manual script
rafmudaf Jul 5, 2017
b06c761
update macos-gnu baseline files based on openfast/dev commit d329d01
rafmudaf Jul 6, 2017
83f8280
update the solution before the convergence criteria control flow
rafmudaf Jul 7, 2017
829c1a2
bug fix for the default openfast and beamdyn_driver executables in cm…
rafmudaf Jul 7, 2017
f4387b0
update r-test submodule with new test case names; update reg test too…
rafmudaf Jul 7, 2017
aa1cb06
update r-test submodule to get new cmake configuration of servodyn co…
rafmudaf Jul 7, 2017
27204bc
bug fixes for python3 support
rafmudaf Jul 11, 2017
ff90fc1
Merge pull request #32 from rafaelmudafort/feature/update_solution_be…
michaelasprague Jul 11, 2017
2fa5ffd
update r-test to include initial baseline generation script
rafmudaf Jul 11, 2017
93726a0
Merge remote-tracking branch 'upstream/dev' into dev
rafmudaf Jul 12, 2017
cb9b805
update the reg test build directory setup for windows workflow
rafmudaf Jul 12, 2017
04dc708
update status reporting at end of test
rafmudaf Jul 12, 2017
f7b2547
update submodule to latest HEAD
rafmudaf Jul 12, 2017
5c3105f
add a branch in the if statement to copy the 5MW turbine dirctory whe…
rafmudaf Jul 12, 2017
8cced69
update submodule to latest HEAD
rafmudaf Jul 12, 2017
fa79a84
documentation updates
rafmudaf Jul 13, 2017
f8b97d8
add mailto to Mike's email address; link the github repo
rafmudaf Jul 13, 2017
bf86c55
update readthedocs with new procedures and information after latest u…
rafmudaf Jul 13, 2017
50cc073
remove a broken link to module documentation
rafmudaf Jul 13, 2017
df70917
get the case list from an external input file
rafmudaf Jul 17, 2017
8e1403b
update r-test submodule to get latest automated scripts for running a…
rafmudaf Jul 17, 2017
7305860
update ctest list with new case names
rafmudaf Jul 18, 2017
3848675
get the latest baseline solutions from git submodule
rafmudaf Jul 19, 2017
1bb7498
add ctest tolerance as a user specified cmake option
rafmudaf Jul 20, 2017
41a75e6
allow a user specified tolerance in manual reg test
rafmudaf Jul 20, 2017
0f9941f
ignore cases commented in the case list
rafmudaf Jul 20, 2017
8af77d5
reconfigure openfast to use openfast/r-test instead of rafaelmudafort…
rafmudaf Jul 20, 2017
c5d6be7
fix compiler warnings regarding too many input arguments for fprintf …
rafmudaf Jul 20, 2017
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
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@
*.exe
*.out
*.app
*.pyc

# CMake specific files
build/**/*
install/*
ctest-build/*

vs-build
build
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "reg_tests/r-test"]
path = reg_tests/r-test
url = https://github.com/openfast/r-test.git
branch = dev
43 changes: 41 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#

cmake_minimum_required(VERSION 2.8.12)
project(OpenFAST Fortran C)
project(OpenFAST CXX C Fortran)

include(${CMAKE_SOURCE_DIR}/cmake/FastCmakeUtils.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/FastFortranOptions.cmake)
Expand All @@ -33,6 +33,7 @@ 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(BUILD_FAST_CPP_API "Enable building FAST - C++ API" off)

# Setup Fortran Compiler options based on architecture/compiler
set_fast_fortran()
Expand Down Expand Up @@ -71,6 +72,7 @@ set(FAST_MODULES_LOCAL
orcaflex-interface
extptfm
openfoam
supercontroller
fast-library
)

Expand Down Expand Up @@ -103,7 +105,44 @@ endforeach(IDIR IN ITEMS ${FAST_MODULES_EXTERNAL})

option(BUILD_DOCUMENTATION "Build documentation." OFF)
if(BUILD_DOCUMENTATION)
add_subdirectory(docs)
add_subdirectory(docs)
endif()

option(BUILD_TESTING "Build the testing tree." OFF)
if(BUILD_TESTING)
# add_subdirectory(reg_tests) this should be 'include'. with add_subdirectory,
# the CTestTestlist.cmake file is placed in the reg_tests subdirectory
# and cannot be found by ctest
include(reg_tests/CMakeLists.txt)
endif()

add_subdirectory(glue-codes)

# Install fortran .mod files also to installation directory
install(CODE
"EXECUTE_PROCESS (COMMAND \"${CMAKE_COMMAND}\" -E copy_directory \"${CMAKE_Fortran_MODULE_DIRECTORY}\" \"${CMAKE_INSTALL_PREFIX}/include/openfast/\")")

# Install the library dependency information
install(EXPORT OpenFASTLibraries
DESTINATION lib/cmake/OpenFAST
FILE OpenFASTLibraries.cmake)

# Create OpenFAST config so that other codes can find OpenFAST
include(CMakePackageConfigHelpers)

set(INCLUDE_INSTALL_DIR include/)
set(LIB_INSTALL_DIR lib/)
set(FTNMOD_INSTALL_DIR include/openfast/)
if (BUILD_FAST_CPP_API)
set(OpenFAST_HAS_CXX_API TRUE)
else()
set(OpenFAST_HAS_CXX_API FALSE)
endif()

configure_package_config_file(
cmake/OpenFASTConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/OpenFASTConfig.cmake
INSTALL_DESTINATION lib/cmake/OpenFAST
PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR FTNMOD_INSTALL_DIR)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenFASTConfig.cmake
DESTINATION lib/cmake/OpenFAST)
19 changes: 19 additions & 0 deletions CTestConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## This file should be placed in the root directory of your project.
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
##
## # The following are required to submit to the CDash dashboard:
## ENABLE_TESTING()
## INCLUDE(CTest)

set(CTEST_PROJECT_NAME "openfast")
set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")

set(CTEST_DROP_METHOD http)
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=OpenFAST")
set(CTEST_DROP_SITE_CDASH TRUE)

# saved for debugging
#set(CTEST_DROP_SITE "localhost")
#set(CTEST_DROP_LOCATION "/cdash/public/submit.php?project=openfast")
68 changes: 51 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,53 @@
# OpenFAST

## CMake Build Instructions

```
git clone https://github.com/OpenFAST/OpenFAST.git
cd OpenFAST
mkdir build && cd build
cmake ../
make
```

### Current CMake Options

* `DOUBLE_PRECISION` - Enable/disable `-DDOUBLE_PRECISION` flag (Default: ON)
* `USE_DLL_INTERFACE` - Enable dynamic library loading capability (Default: ON)
* `CMAKE_BUILD_TYPE` - Release, Debug builds (Default: Release)
* `CMAKE_INSTALL_PREFIX` - Set desired installation directory
* `BUILD_SHARED_LIBS` - Enable/disable building shared libraries (Default: OFF)
Updated on 2017-03-17

## Overview

OpenFAST is an open-source wind turbine simulation tool that was established with the FAST v8 code as its starting point (see below). OpenFAST was created with the goal of being a community model, with developers and users from research laboratories, academia, and industry. Our objective is to ensure that OpenFAST is sustainable software that is well tested and well documented. **OpenFAST is under development**; our team at NREL is now establishing online documentation and automated unit/regression testing. During this transition period, users can find FAST v8 documentation at <https://nwtc.nrel.gov/>.

## FAST v8

(modified from <https://nwtc.nrel.gov/FAST>)

FAST v8 is a computer-aided engineering tool for simulating the coupled dynamic response of wind turbines. FAST joins aerodynamics models, hydrodynamics models for offshore structures, control and electrical system (servo) dynamics models, and structural (elastic) dynamics models to enable coupled nonlinear aero-hydro-servo-elastic simulation in the time domain. The FAST tool enables the analysis of a range of wind turbine configurations, including two- or three-blade horizontal-axis rotor, pitch or stall regulation, rigid or teetering hub, upwind or downwind rotor, and lattice or tubular tower. The wind turbine can be modeled on land or offshore on fixed-bottom or floating substructures. FAST is based on advanced engineering models derived from fundamental laws, but with appropriate simplifications and assumptions, and supplemented where applicable with computational solutions and test data.

The aerodynamic models use wind-inflow data and solve for the rotor-wake effects and blade-element aerodynamic loads, including dynamic stall. The hydrodynamics models simulate the regular or irregular incident waves and currents and solve for the hydrostatic, radiation, diffraction, and viscous loads on the offshore substructure. The control and electrical system models simulate the controller logic, sensors, and actuators of the blade-pitch, generator-torque, nacelle-yaw, and other control devices, as well as the generator and power-converter components of the electrical drive. The structural-dynamics models apply the control and electrical system reactions, apply the aerodynamic and hydrodynamic loads, adds gravitational loads, and simulate the elasticity of the rotor, drivetrain, and support structure. Coupling between all models is achieved through a modular interface and coupler.

## OpenFAST Documentation
We are creating a Sphinx-based documentation site at <http://openfast.readthedocs.io>.

Documentation for FAST v8 and its modules may be found at <https://nwtc.nrel.gov/>, while we are building the new site.

## Obtaining OpenFAST

You are in the [right place](https://github.com/OpenFAST/OpenFAST)! For those not familiar with git and github, there are many resources, e.g.,

* <https://guides.github.com>
* <https://try.github.io>
* <https://help.github.com/categories/bootcamp/>
* <https://desktop.github.com/>

## Compiling, Using & Developing OpenFAST

Details for compiling, using, and developing OpenFAST on Linux-based and Windows machines are being established at <http://openfast.readthedocs.io>.

## OpenFAST Help

Please use [github issues](https://github.com/OpenFAST/OpenFAST/issues) to:

* ask usage questions,
* report bugs,
* request code enhancements.

For other questions regarding OpenFAST, please contact [Mike Sprague](mailto:michael.a.sprague@nrel.gov).

Users and developers may also be interested in the NREL National Wind Technology Center (NWTC) [phpBB Forum](https://wind.nrel.gov/forum/wind/).

## OpenFAST Support

OpenFAST is being maintained and developed by researchers and software engineers at the [National Renewable Energy Laboratory](http://www.nrel.gov/) (NREL), with support from the US Department of Energy's Wind Energy Technology Office. NREL gratefully acknowledges development contributions from the following organizations:

* Envision Energy USA, Ltd
* Brigham Young University
* [Intel&reg; Parallel Computing Center (IPCC)](https://software.intel.com/en-us/ipcc)
9 changes: 5 additions & 4 deletions cmake/FastFortranOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ macro(set_fast_fortran)
get_filename_component(FCNAME "${CMAKE_Fortran_COMPILER}" NAME)

# Abort if we do not have gfortran or Intel Fortran Compiler.
if (NOT (FCNAME MATCHES "gfortran.*" OR FCNAME MATCHES "ifort*"))
if (NOT (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU" OR
${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel"))
message(FATAL_ERROR "OpenFAST requires either GFortran or Intel Fortran Compiler. Compiler detected by CMake: ${FCNAME}")
endif()

Expand All @@ -54,11 +55,11 @@ macro(set_fast_fortran)
include_directories(${CMAKE_Fortran_MODULE_DIRECTORY})

# Get OS/Compiler specific options
if (FCNAME MATCHES "gfortran.*")
if (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU")
set_fast_gfortran()
elseif(FCNAME MATCHES "ifort.*")
elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel")
set_fast_intel_fortran()
endif(FCNAME MATCHES "gfortran.*")
endif()
endmacro(set_fast_fortran)

#
Expand Down
27 changes: 27 additions & 0 deletions cmake/FindYAMLCPP.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

find_path(YAML_INCLUDES
yaml-cpp/yaml.h
HINTS ${YAML_ROOT} ${CMAKE_INSTALL_PREFIX}
PATH_SUFFIXES include)

find_library(YAML_LIBRARIES
NAMES libyaml-cpp.a yaml-cpp
HINTS ${YAML_ROOT} ${CMAKE_INSTALL_PREFIX}
PATH_SUFFIXES lib)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(YAMLCPP DEFAULT_MSG YAML_INCLUDES YAML_LIBRARIES)
mark_as_advanced(YAML_INCLUDES YAML_LIBRARIES)
65 changes: 65 additions & 0 deletions cmake/OpenFASTConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#
# Copyright 2016 National Renewable Energy Laboratory
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

@PACKAGE_INIT@

# Compilers use by OpenFAST build
set(OpenFAST_CXX_COMPILER "@CMAKE_CXX_COMPILER@")
set(OpenFAST_C_COMPILER "@CMAKE_C_COMPILER@")
set(OpenFAST_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")

# Compiler flags used by OpenFAST build
set(OpenFAST_CXX_COMPILER_FLAGS "@CMAKE_CXX_FLAGS@")
set(OpenFAST_C_COMPILER_FLAGS "@CMAKE_C_FLAGS@")
set(OpenFAST_Fortran_COMPILER_FLAGS "@CMAKE_Fortran_FLAGS@")

set_and_check(OpenFAST_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@")
set_and_check(OpenFAST_LIBRARY_DIRS "@PACKAGE_LIB_INSTALL_DIR@")
set_and_check(OpenFAST_FTNMOD_DIR "@PACKAGE_FTNMOD_INSTALL_DIR@")

set(OpenFAST_LIBRARIES "openfastlib")
set(OpenFAST_CPP_LIBRARIES "openfastcpplib")

include("${CMAKE_CURRENT_LIST_DIR}/OpenFASTLibraries.cmake")

set(OpenFAST_HAS_CXX_API @OpenFAST_HAS_CXX_API@)
set(OpenFAST_FOUND TRUE)

if (NOT OpenFAST_FIND_COMPONENTS)
if (OpenFAST_HAS_CXX_API)
set(OpenFAST_FIND_COMPONENTS "openfastcpplib;openfastlib")
else()
set(OpenFAST_FIND_COMPONENTS "openfastlib")
endif()
endif ()

foreach (comp IN LISTS OpenFAST_FIND_COMPONENTS)
if (${comp} STREQUAL "openfastcpplib")
if (NOT OpenFAST_HAS_CXX_API)
set(OpenFAST_${comp}_FOUND FALSE)
message(WARNING "OpenFAST ${comp} NOT found")
if(OpenFAST_FIND_REQUIRED_${comp})
set(OpenFAST_FOUND FALSE)
endif()
else()
set(OpenFAST_${comp}_FOUND TRUE)
endif()
else()
set(OpenFAST_${comp}_FOUND TRUE)
endif()
endforeach ()

check_required_components(OpenFAST)
Loading