From 5076e9d94691b8cc7236440db4a55b8e00569446 Mon Sep 17 00:00:00 2001 From: Garrett Barter Date: Wed, 6 Mar 2024 10:09:04 -0700 Subject: [PATCH] Restoring Docs PR after Github closed it (#261) * Cast raft_cases, so it's easier to save as an input yaml * fix bug with DT_Out, which is a number, nto a str * Flush and close OF input files, seems to fix kestrel issue * Remove numpy from lists of dicts * Give a cross sectional HD member property to OF at each joint location * Clean up comment around member cross section properties * Add documentation for constraints that can come from RAFT/OF * Ensure some level is enable for rotor_overspeed merit figure * fix coveralls issue in CI * Make wave_seeds input consistent * Fix zeta_max typo * Add some placeholder doc pages * Add readthedocs config * Output total system inertia from RAFT * Add nacelle accel channels * Remove old ROSCO * Squashed 'ROSCO/' content from commit 99c9f872d git-subtree-dir: ROSCO git-subtree-split: 99c9f872d9590671be6be1a716ac293467b49e53 * Rename ROSCO_Toolbox imports etc. * Update example discons * Update to new Tune_Case directory * Point to new rosco build directory * Squashed 'ROSCO/' changes from 99c9f872d..7fa1ae25e 7fa1ae25e Don't check ZMQ period if no ZMQ_Mode 45aad140c Add more error checking in checkpoint file I/O c5de22f59 Modernize setup and CI (#297) REVERT: 99c9f872d Merge remote-tracking branch 'upstream/v2.9.0' into v2.9.0 REVERT: c29fc8597 Fix checkpoint testing paths REVERT: 75c3d2988 F_NumNotchFilts is not allowed to have a default value REVERT: ba0bc45d0 Update rosco dylib dir REVERT: 207d3f73e Add Ext_Interface flag git-subtree-dir: ROSCO git-subtree-split: 7fa1ae25e6b3866c353d5976e7ac68f597bf73af * Squashed 'ROSCO/' changes from 7fa1ae25e..6c2807a9e 6c2807a9e Merge remote-tracking branch 'upstream/develop' into v2.9.0_prep 4cdef25d4 Merge pull request #300 from NREL/smart_lib_path b1c943ea0 fixes for windows 8c39105a3 hopefully caught everything 2d0525830 switch to cmake-build-extension and logic for finding rosco library path git-subtree-dir: ROSCO git-subtree-split: 6c2807a9ece26b4b94bc0a78bc4ca8388fba60b0 * Create README.md for example 01 * Add cmake-build-extension * Save timeseries and iteration data by default * Simplify openfast_configuration Remove save iterations/timeseries Send outputs to same place as analysis outputs * Remove perf_surface modeling options because they make bad ROSCOs * Rename optimization example * Update README.md for 02_control_opt * Update modeling schema doc page * Rename 02 example folder * Rename output folders in 02 examples * Update example names in tests * Remove 03 hydro data, should not be necessary anymore * Point to wisdem geometry * Remove PotFile * Simplify 03 single run analysis options, standardize output file * Standardize 04 example output * Send 04 OF files to regular output * Standardize 05 example inputs * Add readme to example 05 * Point to 05 wisdem input * Add README for 06 example * Add README for example 07 * Add README for 08 example * Add README and tidy 06 example inputs some * Update test list * Move comments to 06 README for later use * Add READMEs * Tidy up 15_ example inputs * Rename weis driver in 15_ * Tidy up 13_ example inputs * Fix path in example 03 * Ensure that ballast rho is distributed with l_fill * Make BEM dir relative to input files, like most other things * Make analysis options output relative to input, if it's a relative path * Add rank_and_file for example 15 * Add simple hst file reader * Pin pyhams 1.2.1 * Squashed 'ROSCO/' changes from 6c2807a9e..b994e4de6 b994e4de6 ROSCO v2.9.0 (#304) REVERT: 6c2807a9e Merge remote-tracking branch 'upstream/develop' into v2.9.0_prep REVERT: 7fa1ae25e Don't check ZMQ period if no ZMQ_Mode REVERT: 4cdef25d4 Merge pull request #300 from NREL/smart_lib_path REVERT: b1c943ea0 fixes for windows REVERT: 8c39105a3 hopefully caught everything REVERT: 2d0525830 switch to cmake-build-extension and logic for finding rosco library path REVERT: 45aad140c Add more error checking in checkpoint file I/O REVERT: c5de22f59 Modernize setup and CI (#297) REVERT: 92e2ac5ab Reorganize Repo (#294) REVERT: 6a3b194ac Merge pull request #164 from dzalkind/f/exclusion_zone REVERT: fb5c43de3 Skip upload of artifacts REVERT: eed259db9 Update toolbox input rst REVERT: 9d97bc285 Revert IEA yaml REVERT: 173a91580 Remove extra update_discons REVERT: 4f7d27376 Separate TD and TRA control modes REVERT: 77255d15a Rename TRA example, add to CI testing REVERT: 2decc8166 Add ZMQ_ID to api change REVERT: 1e455a0e8 Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone REVERT: f93f28162 Add clarification on fastcall REVERT: 69da72105 Change guidance in api reference REVERT: ef5aa138c Add signals to IO and Types REVERT: 3c9e00fb0 Add PC_RefSpd interim signals REVERT: b2acd3efb Clean up PRC example REVERT: 2b0f88223 Set up TRA example REVERT: 05ed0f4df Wind Farm Control Interface (#280) REVERT: 47dd2d61e Update API docs REVERT: be4753b5f Revert PC_PitComC to T REVERT: 7d6b45a03 Try apt-get update REVERT: a681eb7ef Update toolbox docs REVERT: 5b38681c1 Clean up inputs further REVERT: 9d5e21a7e Clean up Twr_ variables and names names REVERT: f71b8ec04 Rate limit set point, needs clean up REVERT: c75738eee Modified ZeroMQ interface to include pitch offsets (#261) REVERT: a610e55eb Better Open Loop Control Error Catching (#273) REVERT: dd01047c5 Update .readthedocs.yaml remove old python version REVERT: 8693d4ba4 Update .readthedocs.yaml REVERT: 328d29e7d Update .readthedocs.yaml with version key REVERT: c4790340d Update .readthedocs.yaml with another python version REVERT: 04d3f5284 Update .readthedocs.yaml with new python version REVERT: 80973fe16 Update .readthedocs.yaml with python 3.9 REVERT: 6f1ccfa33 Update .readthedocs.yaml with other build options REVERT: f2a624db1 Update .readthedocs.yaml with build.os REVERT: 0e800947d Update api_change.rst formatting REVERT: b66cd1170 Add types to scalars (#264) REVERT: 31b7cc823 Update API docs REVERT: 9ca681b3c Clean up more old TD_Modes REVERT: 3c0c800ca Add Twr_Mode error catching and warnings REVERT: 93b16623f Remove TD_Mode, regen inputs, docs REVERT: 2c76747fa Increase max file unit (#253) REVERT: 4ebd1350f Clean up types, make band total width of band REVERT: b10ec71b2 Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone REVERT: 25cf21977 Re-work exclusion zone with simpler implementation REVERT: 989ce5ba9 Merge pull request #170 from dzalkind/power_ref_tracking REVERT: e75baa29a Remove pCrunch notebook REVERT: 3b0bde0fa Update PRC example with PRC_GenSpeeds REVERT: 32292e588 Bring back saturation of torque reference speed REVERT: d9a31fb76 Document API changes REVERT: 38f27def4 Add LPF on WSE for speed selection, use gen speed rather than rotor REVERT: b817a5ca8 Bring back new VS_ControlMode that merge lost REVERT: 3092e387b Tidy example documentation, output REVERT: 24052dc20 Revert run_FAST cases REVERT: b5eb5c0ad Use updated DISCON writing functions for PRC inputs REVERT: ea55560f7 Shorten PRC example REVERT: b27629b3d Rename power ref example REVERT: 716b2e46d Merge remote-tracking branch 'upstream/develop' into power_ref_tracking REVERT: 63bcb0d4b Extend ROSCO for MHK (#257) REVERT: 31332d923 Update .readthedocs.yaml to remove use of 'system_packages' as it is being depreciated by readthedocs (#258) REVERT: c641b54a6 Rotor Position Control (#255) REVERT: 178217bb1 Regenerate registry, inputs REVERT: d9547ddcd Fix relative Cp filepaths REVERT: 9de385b3c Merge remote-tracking branch 'upstream/develop' into power_ref_tracking REVERT: 273af277d Regen registry, discons REVERT: fef92431b Fix relative Cp filepaths REVERT: d4d4cb261 Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone REVERT: 2f069daec Floating Feedback Gain Scheduling (#241) REVERT: c701f6776 OpenFAST 3.5.0 (#246) REVERT: e5b1af538 Yaw Rate Bug Fix (#239) REVERT: 5fd97e254 Increment version number REVERT: 12f8fdb4b Merge remote-tracking branch 'upstream/main' into develop REVERT: 90357a2cd Merge remote-tracking branch 'upstream/develop' into power_ref_tracking REVERT: 23879c815 Remove old TD_Mode references REVERT: 1c644ecde Update TRA example REVERT: 0dc1ad0c1 Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone REVERT: 79426f799 Increment version number REVERT: 339ad5391 Tidy example output REVERT: 585e2c8b1 Open loop platform control (#236) REVERT: 24bded08f Add note about offset REVERT: 60b366d0a Revert openfast changes REVERT: ac14b174d Init PC_RefSpeed if no PRC REVERT: de15e52d4 Various bug fixes (#233) REVERT: 766941943 Merge remote-tracking branch 'upstream/develop' into power_ref_tracking REVERT: 8a39f3cc7 Update example with ramp, reference REVERT: 5a7046f70 Active Wake Control (#230) REVERT: 099532bc7 Finish merge with awc inputs and registry REVERT: f1037ec6e Merge remote-tracking branch 'origin/awc' into power_ref_tracking REVERT: 9e5fd58cd Add PRC example REVERT: e49f3837d Add latest plot_FAST notebook REVERT: 1e38c90d7 Update IPC example for testing sat modes REVERT: 52e370867 Finish merge with inputs and registry REVERT: fe2470475 Merge remote-tracking branch 'upstream/develop' into power_ref_tracking REVERT: fbb44c4b2 Add IPC gain to NREL2p8 REVERT: 5afb385bd Parallelize output processing REVERT: 90c40416b Add optimized NREL2p8 controller input REVERT: 820aa6630 Merge pull request #2 from kbrown1snl/patch-2 REVERT: 728c61da3 Update 20_active_wake_control.py REVERT: 17ce1a5c4 Merge remote-tracking branch 'jfred/patch-1' into awc REVERT: bc3341760 Update api_change.rst REVERT: 8e4cf8b24 Allow more than 99 local variables in dbg2 REVERT: 7f12c9c92 Clean up comments REVERT: 9d7e18de4 Tidy file writing REVERT: 3851a6baf Remove lingering comment REVERT: e02379d93 Remove AWC references from IPC REVERT: 50bd08c19 Tidy up IPC, allow AWC and IPC with warning REVERT: 50f419119 Update error message REVERT: 1e25c88ae Fixed bug in added AWC input checks. REVERT: bd4d7d5d9 Added checks for AWC inputs. REVERT: cae3f1733 Updated AWC input parameters. REVERT: 2947b4f10 Dylib -> so in Test_Cases REVERT: e1379de0a Run ROSCO_testing from anywhere REVERT: de8d228a6 Fix input file writing, force into int in write_array REVERT: 5e75601ca Make AWC_n a list, too REVERT: c1e4be785 Force AWC_n into int better REVERT: 4194da43f Force AWC_n into int REVERT: e4d7ec259 Tidy input writing, remove `future` references REVERT: 74c7fcbfe Rename methods in readme REVERT: 4e2a77833 Remove duplicate PF_Offsets input read REVERT: ca7c44d8e Tidy print statements, file writing REVERT: daf77e943 Merge remote-tracking branch 'ndev/rosco_awc_merge' into awc REVERT: 8ea0a4c97 Merge remote-tracking branch 'jfred/AWC_NREL' into awc REVERT: 87cde8c52 Merge remote-tracking branch 'upstream/develop' into awc REVERT: 1ccc1b36b Platform control and Optional Inputs (#227) REVERT: e8996003c Updated Coleman Transformation based AWC REVERT: b2fdfbcf9 Update AWC_Mode descriptions REVERT: b17f35005 Add 2.8 to update_discons, regenerate DISCON Should match closely to original DISCON REVERT: 4604ebbee Add 20_awc to test_examples REVERT: a9ec14e98 Update all DISCONs REVERT: b24f07b6f Merge remote-tracking branch 'upstream/develop' into awc REVERT: 70d5771c8 Fix file writing in AWC section REVERT: 687b7603e Undo unintentional changes to wrie_registry.py REVERT: 3bc2185ce Added NREL-developed AWC-implementation REVERT: ff0ce39cf Update rosco_types.yaml REVERT: 797e5544e Update utilities.py REVERT: 826ca01fb Update toolbox_schema.yaml REVERT: b141c4e04 Update 20_active_wake_control.py REVERT: baaa8db06 Update ReadSetParameters.f90 REVERT: 5c878add4 Update ROSCO_Types.f90 REVERT: ae5090b5c Update Controllers.f90 REVERT: 32dc9fd8a Update NREL-2p8-127_DISCON.IN REVERT: 46e7168d8 Update 20_active_wake_control.py REVERT: 87b3f09c5 Revert setup directory REVERT: de3a6fe44 Tidy up DISCON file writing REVERT: de16ecdda Test all AWC cases in example 20 REVERT: cabbb2adc Merge pull request #1 from kbrown1snl/patch-1 REVERT: 1824f991a Fix units in schema REVERT: f6d061f87 Update 20_active_wake_control.py REVERT: a7d33035f Merge remote-tracking branch 'upstream/main' into develop REVERT: 83022e586 Prep for more modes REVERT: 3c40565ea Formatting fixes REVERT: d93d44321 Update AWC example with instructions/theory REVERT: 2bb01760d Tidy example REVERT: 1693602fb Add AWC to toolbox schema REVERT: 1201a6672 Update other DISCONs REVERT: cc4080d03 Tidy up input additions REVERT: da46fac31 Set min pitch for AWC REVERT: 5c5333b12 Remove LocalVar%PC_MinPit = CntrPar%PC_MinPit, breaking setpoint smoother REVERT: b102b34d2 Update example to point to correct inputs REVERT: 80bd691ac Add AWC_Mode and move AWC into subroutine REVERT: d05ef6c7a Merge branch 'develop' into rosco_awc_merge REVERT: 2f941e38f Merge remote-tracking branch 'upstream/main' into develop REVERT: a4717839d Add initial AWC example, needs OF3.4 REVERT: f5c3c1e5d Add case generation updates REVERT: 42525a98a V270 prep (#218) REVERT: a1cf97bbe Rename examples (#215) REVERT: 20c9c9d1d Adding NREL 2.8 127 for AWC testing REVERT: 0c0e466a8 Fixes to readsetparams and awc location REVERT: 3155b63dd Add script for updating DISCON versions (#214) REVERT: c51ed30ac Removed duplicate pitch assignment and removed MinPitch mods for AWC REVERT: e554c1da0 IPC Saturation Fix [RAAW] (#210) REVERT: be28641f1 Allow PA_Mode 1 (#213) REVERT: 515da1797 Make AWC_complexangle a LocalVar for logging REVERT: 974e271c7 Separate contribution to PitCom from mode calculation REVERT: 0575d7527 Re-organize AWC pitch contribution, before actuator REVERT: 1e802638f Apply DbKi to COMPLEX REVERT: 0be88d47e Add AWC parameters to registry, regenerate types REVERT: f5428de80 Merge remote-tracking branch 'upstream/develop' into rosco_awc_merge REVERT: 721fbf5d1 Use new numpy REVERT: 15c0603fb Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone REVERT: 05d7b3b94 Compatibility with Numpy v1.24 (#208) REVERT: 75a648cdf AWC First Version, collected changes REVERT: b3a8b1cbf Try compilers in macOS build REVERT: b5c65bdb5 Add example_19 to CI REVERT: c8d08c11d Fix default Twr_GainTau REVERT: b1e122985 Allow Twr_Mode of 3 in tuning yaml REVERT: 591571e76 Add Twr_GainFactor and Twr_GainTau REVERT: 6881ac098 Add TRA example REVERT: f7bae0009 Tidy input writer REVERT: a3aa81fac Separate collective pitch command from total, use in SS REVERT: b1f78e088 Add VS_RefSpd and PC_RefSpd to LocalVars REVERT: f2db21273 Tidy up merge with develop REVERT: a2741f20a Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone REVERT: 9d27a333b OpenFAST v3.3.0 (#202) REVERT: 5ad1d4109 Doc fix (#200) REVERT: 827b2814f Update sim.py (#196) REVERT: 602332eac Various Bug Fixes (#188) REVERT: 9384f0307 Added feature to read AeroDyn 14 files also for the case without tower influence. (#177) REVERT: decd69470 Various Bug Fixes (#167) REVERT: 2efac8480 Adding pitch actuator fault (#163) REVERT: 34ca985ef Update discons REVERT: b933b3bab Add rotor speed tracking, test case REVERT: 86c8acfb2 Update Windows install instructions REVERT: 778822b5d Add generator efficiency to power output of simple simulation REVERT: ae7b26748 Update example 05 units REVERT: 16bd05c66 Clean up TwrControl_Mode REVERT: 2da1a16ab Change TD_Mode to Twr_Mode REVERT: eec3d5f23 Merge branch 'develop' into f/exclusion_zone REVERT: 772e36f96 update discons REVERT: df919635b Update registry REVERT: 9bc45ce27 Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone REVERT: 40a4edc9f F/zmq (#145) REVERT: b45fb4300 External Control Interface (#141) REVERT: 9ca75e1e2 Robust control updates (#139) REVERT: 0bf504ee3 Pass through (#136) REVERT: 75e7fb8dc RAAW Updates (#133) REVERT: 50a2f90e3 Add OpenFAST channels that Simulink reads (#135) REVERT: 5cdb0b5fb Pitch Actuator and IPC updates (#123) REVERT: e035a7d95 Flip Ct and Cq table allocation (#130) REVERT: bd0562cd4 sigma + ipc (#125) REVERT: d52019231 Update docs to reflect CI process REVERT: e9c9378e3 Merge remote-tracking branch 'upstream/develop' into develop REVERT: 4126adbfd Bladed readthedocs (#117) REVERT: d7d15b044 Update version in API change docs REVERT: 8c312875c Bladed docs (#116) REVERT: 5f18bf8c1 Increment version number REVERT: 9b5499d76 ipc (#105) REVERT: a857211fa Allow default inputs (#110) REVERT: 1be503c03 Fix print var type for WE_CP REVERT: 2d8a9451b Update DISCONs REVERT: 7e30c4d64 Add exclusion zone to example REVERT: eb9b901b8 Add exclusion zone mode to REVERT: a5eb72c35 fix units for exclusion zone REVERT: d50e23a00 Add twr frequency exclusion zone REVERT: 38a13da46 add control packageg REVERT: a9f43b948 Print when finished with ROSCO REVERT: 58b4e1b5d Update discons - resolve conflict REVERT: c8b23371f Merge remote-tracking branch 'upstream/develop' into f/ipc REVERT: 480c7c4ad Disable logging level REVERT: 3beca3eb9 Clean up, hone in on debug call REVERT: 5692ab844 Add more debugging lines 2 REVERT: a568be6a5 Add more debugging lines REVERT: e119569f4 Debug OL reading REVERT: 0971f300c Set wind speed, rotor speed IC in example 14 REVERT: a362dc473 Fix OL_Input reading REVERT: 41e0dc6e2 Fix ccrotor inputs (#104) REVERT: b4c755844 Update DISCONs again REVERT: db919993c Fix Material parameter path REVERT: 1dc03765f shorten simulation time REVERT: 5cb3725e3 Allow IPC to command pitch value below peak shaving saturation limit REVERT: 07753d8ca Add IPC tuning vars REVERT: 6caf61ed4 cleanup and streaamline run_examples REVERT: 1e5398f9f add examples to readme REVERT: 26bd784e9 Update cp surfaces and DISCONS REVERT: 7f3d89a3d Add example 13 for IPC REVERT: e35f20a13 expand pitch_initial to 30 degrees REVERT: 7760bcd77 update coord reader/writer REVERT: c1d7908dc Add IEA15MW_OL.yaml REVERT: 9a75c7114 ignore dbg2 files REVERT: 280996714 Update Polars to point to coord files REVERT: b6ba25358 make sure IPC_KP is positive REVERT: 03f2b761c fix ipc gain printing bug REVERT: 9bc06254d fix variable names REVERT: 02e08f7d0 add IPC gains to schema for pass-through ability REVERT: 86f3a9c4c numerical qualifiers for error handling REVERT: abd83d731 Add IPC_KP to api changes REVERT: 844b0693d add CMakeFiles to gitignore REVERT: 2ade01535 add mutichannel plotting with tuples REVERT: 7e5e2a3d7 Error checking foro flp or ipc REVERT: 79e5d5400 Addd IPC_KP to DISCON.IN REVERT: 0111087a8 Fix comments in ColemanTransformInverse REVERT: fded9d422 Add cyclic flap conrol REVERT: dbd81afda Better logic for filtering RootMOOP and fix notch filter slopes bug REVERT: 5e40ac40f Add IPC and filtered RootMyc to registry REVERT: 823f5f00f Add proportional control and cleanup IPC REVERT: 065befa76 Fix performance table paths REVERT: afca92fce Update surface and DISCON.INs REVERT: 262d3f6fe rename aerodynblade inputs REVERT: ee00f6786 remove interpolation of blade chord and twist REVERT: aad739652 Merge pull request #103 from nikhar-abbas/hf/robust REVERT: 5d5a9ba82 add bld edgewise freq to robust dict_inputs REVERT: 93dceb7ed Break up if statement in open loop pitch (#100) REVERT: 6c1e4dbf1 Restart & registry (#99) REVERT: 50f686dd2 Open Loop Control (#98) REVERT: f57ee4553 Merge pull request #97 from nikhar-abbas/b/listcheck REVERT: 6f16a9da6 update listcheck method for numpy arrays REVERT: aa888a1fc FOCAL Updates (#64) git-subtree-dir: ROSCO git-subtree-split: b994e4de67c423ff598a4bb354657b62ff61a50d * Clean up discons? * Replace separate input descriptions with combined WEIS rsts * Point to maintained ROSCO yamls * Push actual rst file * reg traj file to exmp 02 and init OF + tau1_const * Add script to sync with WISDEM inputs * improved code to handle initial conditions of openfast * Point to monopile properly in 09 * Point example 10 to right geometry path * Fix another geometry path * Update subtree doc to new module development method * Revise documentation * fix bug in HD reader * get rid of try except for reg traj openfast only * update READMEs and remove bar usc from 08 * forgot the .py file * push back bar_usc.yaml * work on AD15 and SD optional inputs * twr_freq not needed for FB * write optional OF inputs only if defined * Add note about ROSCO dll compilation * Update documentation (#271) * update docs and add notebooks * remove R history --------- Co-authored-by: dzalkind Co-authored-by: pibo Co-authored-by: dzalkind <65573423+dzalkind@users.noreply.github.com> Co-authored-by: Pietro Bortolotti Co-authored-by: Athul Krishna Sundarrajan <59715652+AthulKrishnaSundarrajan@users.noreply.github.com> --- .readthedocs.yaml | 39 + docs/dlc_generator.rst | 5 + docs/how_to_contribute_code.rst | 54 +- docs/inputs/analysis_schema.rst | 507 - docs/inputs/analysis_schema_wisdem.rst | 1994 -- docs/inputs/geometry_schema.rst | 1045 - docs/inputs/geometry_schema_wisdem.rst | 6 - docs/inputs/modeling_schema.rst | 3583 --- docs/inputs/modeling_schema_wisdem.rst | 394 - docs/inputs/weis_analysis_schema.rst | 4501 ++++ docs/inputs/weis_geometry_schema.rst | 2265 ++ docs/inputs/weis_modeling_schema.rst | 6433 +++++ docs/optimization.rst | 10 + docs/weis_outputs.rst | 15 + examples/00_setup/get_wisdem_yamls.py | 39 + .../DISCON-Monopile.IN | 2 +- .../DISCON-UMaineSemi.IN | 2 +- examples/01_aeroelasticse/README.md | 5 + examples/02_control_opt/IEA15MW-tuning.yaml | 57 - examples/02_control_opt/README.md | 7 - .../IEA-15-240-RWT-outputs.yaml | 52 + .../IEA-15-240-RWT.yaml | 0 examples/02_run_openfast_cases/README.md | 25 + .../analysis_options.yaml | 2 +- .../analysis_options_loads.yaml | 2 +- .../analysis_options_sm.yaml | 2 +- .../modeling_options.yaml | 9 +- .../modeling_options_loads.yaml | 3 +- .../modeling_options_sm.yaml | 3 +- .../weis_driver_loads.py | 0 .../weis_driver_rosco_opt.py} | 0 .../weis_driver_sm.py | 0 examples/03_NREL5MW_OC3_spar/HydroData/Spar.1 | 1020 - examples/03_NREL5MW_OC3_spar/HydroData/Spar.3 | 22200 ---------------- .../03_NREL5MW_OC3_spar/HydroData/Spar.hst | 36 - examples/03_NREL5MW_OC3_spar/README.md | 27 +- .../03_NREL5MW_OC3_spar/analysis_options.yaml | 2 +- .../analysis_options_noopt.yaml | 34 +- .../03_NREL5MW_OC3_spar/modeling_options.yaml | 4 +- .../modeling_options_freq.yaml | 2 - examples/04_NREL5MW_OC4_semi/README.md | 2 +- .../04_NREL5MW_OC4_semi/analysis_options.yaml | 2 +- .../04_NREL5MW_OC4_semi/modeling_options.yaml | 4 - .../modeling_options_freq.yaml | 2 - examples/04_NREL5MW_OC4_semi/weis_driver.py | 2 +- .../05_IEA-3.4-130-RWT/IEA-3p4-130-RWT.yaml | 20 +- examples/05_IEA-3.4-130-RWT/README.md | 3 + .../05_IEA-3.4-130-RWT/analysis_options.yaml | 2 +- .../05_IEA-3.4-130-RWT/modeling_options.yaml | 5 - examples/05_IEA-3.4-130-RWT/weis_driver.py | 2 +- .../06_IEA-15-240-RWT/IEA-15-240-RWT.yaml | 954 - .../IEA-15-240-RWT_Monopile.yaml | 1058 + .../IEA-15-240-RWT_VolturnUS-S.yaml | 6 +- examples/06_IEA-15-240-RWT/README.md | 32 + .../06_IEA-15-240-RWT/analysis_options.yaml | 24 +- .../analysis_options_TMDs.yaml | 2 +- .../analysis_options_tower_DVs.yaml | 2 +- .../06_IEA-15-240-RWT/modeling_options.yaml | 4 - .../modeling_options_tower.yaml | 30 +- .../modeling_options_umaine_semi.yaml | 40 +- ...weis_driver.py => weis_driver_monopile.py} | 2 +- .../weis_driver_umaine_semi.py | 2 +- examples/07_te_flaps/README.md | 9 + examples/07_te_flaps/modeling_options.yaml | 2 - examples/08_OLAF/BAR_USC.yaml | 2 +- examples/08_OLAF/README.md | 4 + .../09_design_of_experiments/DOE_openfast.py | 2 +- examples/09_design_of_experiments/README.md | 9 + .../modeling_options.yaml | 2 - .../modeling_options_OF.yaml | 2 - .../09_design_of_experiments/weis_driver.py | 2 +- examples/10_override_example/README.md | 1 + .../10_override_example/modeling_options.yaml | 2 - examples/10_override_example/weis_driver.py | 2 +- examples/11_use_bem/modeling_options.yaml | 2 - .../11_use_bem/modeling_options_freq.yaml | 2 - examples/11_use_bem/weis_driver.py | 2 +- examples/12_linearization/README.md | 6 +- .../12_linearization/modeling_options.yaml | 2 - .../modeling_options_doe.yaml | 2 - examples/13_DTQP/IEA-15-floating.yaml | 1208 - examples/13_DTQP/analysis_options_ol2cl.yaml | 2 +- examples/13_DTQP/gen_oloc.py | 7 +- examples/13_DTQP/modeling_options.yaml | 4 - examples/13_DTQP/modeling_options_ol2cl.yaml | 8 +- examples/13_DTQP/review_LPVmodeling.ipynb | 441 + examples/13_DTQP/review_OLOC.ipynb | 346 + examples/14_level2ccd/README.md | 77 + examples/14_level2ccd/modeling_options.yaml | 2 - examples/15_RAFT_Studies/IEA-15-floating.yaml | 1263 - examples/15_RAFT_Studies/README.md | 2 +- .../15_RAFT_Studies/analysis_options.yaml | 2 +- .../analysis_options_level3.yaml | 74 +- .../modeling_options_level3.yaml | 23 +- .../modeling_options_umaine_semi.yaml | 8 +- examples/15_RAFT_Studies/opt_22.yaml | 961 - .../15_RAFT_Studies/weis_driver_level3.py | 3 +- ...umaine_semi.py => weis_driver_raft_opt.py} | 2 +- weis/aeroelasticse/FAST_reader.py | 14 +- weis/aeroelasticse/FAST_writer.py | 7 + weis/aeroelasticse/openmdao_openfast.py | 61 +- weis/control/tune_rosco.py | 8 +- weis/dtqpy/solver/DTQPy_SOLVER_ipopt.py | 4 + weis/frequency/raft_wrapper.py | 19 +- weis/glue_code/gc_LoadInputs.py | 10 +- weis/glue_code/glue_code.py | 1 + weis/glue_code/runWEIS.py | 4 + weis/inputs/modeling_schema.yaml | 34 +- weis/inputs/schema2rst.py | 48 +- weis/test/run_examples.py | 4 +- weis/test/test_examples_skinny.py | 6 +- 111 files changed, 15659 insertions(+), 35635 deletions(-) create mode 100644 .readthedocs.yaml create mode 100644 docs/dlc_generator.rst delete mode 100644 docs/inputs/analysis_schema.rst delete mode 100644 docs/inputs/analysis_schema_wisdem.rst delete mode 100644 docs/inputs/geometry_schema.rst delete mode 100644 docs/inputs/geometry_schema_wisdem.rst delete mode 100644 docs/inputs/modeling_schema.rst delete mode 100644 docs/inputs/modeling_schema_wisdem.rst create mode 100644 docs/inputs/weis_analysis_schema.rst create mode 100644 docs/inputs/weis_geometry_schema.rst create mode 100644 docs/inputs/weis_modeling_schema.rst create mode 100644 docs/optimization.rst create mode 100644 docs/weis_outputs.rst create mode 100644 examples/00_setup/get_wisdem_yamls.py create mode 100644 examples/01_aeroelasticse/README.md delete mode 100644 examples/02_control_opt/IEA15MW-tuning.yaml delete mode 100644 examples/02_control_opt/README.md create mode 100644 examples/02_run_openfast_cases/IEA-15-240-RWT-outputs.yaml rename examples/{02_control_opt => 02_run_openfast_cases}/IEA-15-240-RWT.yaml (100%) create mode 100644 examples/02_run_openfast_cases/README.md rename examples/{02_control_opt => 02_run_openfast_cases}/analysis_options.yaml (97%) rename examples/{02_control_opt => 02_run_openfast_cases}/analysis_options_loads.yaml (96%) rename examples/{02_control_opt => 02_run_openfast_cases}/analysis_options_sm.yaml (97%) rename examples/{02_control_opt => 02_run_openfast_cases}/modeling_options.yaml (85%) rename examples/{02_control_opt => 02_run_openfast_cases}/modeling_options_loads.yaml (94%) rename examples/{02_control_opt => 02_run_openfast_cases}/modeling_options_sm.yaml (94%) rename examples/{02_control_opt => 02_run_openfast_cases}/weis_driver_loads.py (100%) rename examples/{02_control_opt/weis_driver.py => 02_run_openfast_cases/weis_driver_rosco_opt.py} (100%) rename examples/{02_control_opt => 02_run_openfast_cases}/weis_driver_sm.py (100%) delete mode 100644 examples/03_NREL5MW_OC3_spar/HydroData/Spar.1 delete mode 100644 examples/03_NREL5MW_OC3_spar/HydroData/Spar.3 delete mode 100644 examples/03_NREL5MW_OC3_spar/HydroData/Spar.hst create mode 100644 examples/05_IEA-3.4-130-RWT/README.md delete mode 100644 examples/06_IEA-15-240-RWT/IEA-15-240-RWT.yaml create mode 100644 examples/06_IEA-15-240-RWT/IEA-15-240-RWT_Monopile.yaml create mode 100644 examples/06_IEA-15-240-RWT/README.md rename examples/06_IEA-15-240-RWT/{weis_driver.py => weis_driver_monopile.py} (90%) create mode 100644 examples/07_te_flaps/README.md create mode 100644 examples/08_OLAF/README.md create mode 100644 examples/09_design_of_experiments/README.md create mode 100644 examples/10_override_example/README.md delete mode 100644 examples/13_DTQP/IEA-15-floating.yaml create mode 100644 examples/13_DTQP/review_LPVmodeling.ipynb create mode 100644 examples/13_DTQP/review_OLOC.ipynb create mode 100644 examples/14_level2ccd/README.md delete mode 100644 examples/15_RAFT_Studies/IEA-15-floating.yaml delete mode 100644 examples/15_RAFT_Studies/opt_22.yaml rename examples/15_RAFT_Studies/{weis_driver_umaine_semi.py => weis_driver_raft_opt.py} (85%) diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 000000000..67171faf7 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,39 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "mambaforge-4.10" + jobs: + # Read the docs needs a couple packages not in the environment file + pre_install: + - conda install cmake compilers + + +# Shouldn't need conda for building the docs, but it is an option +conda: + environment: environment.yml + + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +# If using Sphinx, optionally build your docs in additional formats such as PDF +# formats: +# - pdf + +# Optionally declare the Python requirements required to build your docs +python: + install: + - method: pip + path: . + extra_requirements: + - docs +# system_packages: true diff --git a/docs/dlc_generator.rst b/docs/dlc_generator.rst new file mode 100644 index 000000000..228e9695d --- /dev/null +++ b/docs/dlc_generator.rst @@ -0,0 +1,5 @@ +DLC Generator +------------- + + +**Inputs to the DLC case generator explained** \ No newline at end of file diff --git a/docs/how_to_contribute_code.rst b/docs/how_to_contribute_code.rst index c43144788..998ec82c7 100644 --- a/docs/how_to_contribute_code.rst +++ b/docs/how_to_contribute_code.rst @@ -21,54 +21,30 @@ There is currently very little documentation for WEIS, so you have a lot of flex Do not stress too much about the outline of the information you create, simply that it exists within the repo. We will reorganize the documentation content at a later date. -Using Git subtrees ------------------- +Developing Python Modules Used in WEIS +-------------------------------------- +WEIS is comprised of several modules, like WISDEM, ROSCO, and RAFT. +Previously, we used subtrees of each module used in WEIS. +Now, each of these modules are installed via conda. +You can determine which version is installed in your conda environment using:: -The WEIS repo contains copies of other codes created by using the :code:`git subtree` commands. -Below are some details about how to add external codes and update them. + conda list | grep wisdem -Adding a subtree for the first time -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +where :code:`wisdem` can be replaced with any of the modules in the :code:`environment.yml` -To add an external code for the first time, using OpenFAST as an example, type: +To make changes in WISDEM, first conda uninstall it:: -.. code-block:: bash + conda uninstall --force wisdem # omitting the --force flag will uninstall others, like rosco. Also, mamba is less reliable here. - $ git remote add OpenFAST https://github.com/OpenFAST/openfast - $ git fetch OpenFAST - $ git subtree add -P OpenFAST OpenFAST/dev --squash +Clone the WISDEM repository:: + git clone https://github.com/WISDEM/WISDEM.git -The :code:`--squash` is important so WEIS doesn't get filled up with commits from the subtree repos. +and follow the installation instructions of that repository, **while staying within the conda environment used to install weis.** +Since most dependencies will already be installed for each module, you can likely simply navigate to the desired repository and:: -Updating a subtree -~~~~~~~~~~~~~~~~~~ + pip install -e . -Once a subtree code exists in this repo, we can update it like this. -This first two lines are needed only if you don't have the remote for the particular subtree yet. -If you already have the remote, only the last line is needed. - -.. code-block:: bash - - $ git remote add OpenFAST https://github.com/OpenFAST/openfast - $ git fetch OpenFAST - $ git subtree pull --prefix OpenFAST https://github.com/OpenFAST/openfast dev --squash --message="Updating to latest OpenFAST develop" - -Changes to these subtree codes **should only be made to their original repos**, *not* to this WEIS repo. -Once those individual repos have been updated, use the previous :code:`git subtree pull` command to pull in those updates to the WEIS repo. -Once the upstream repos have your code changes, those changes have been pulled into your branch, you can then submit a PR for WEIS. - -Troubleshooting subtree updates -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you run into trouble using :code:`git subtree`, specifically if you see :code:`git: 'subtree' is not a git command.`, try using your system git instead of any conda-installed git. -Specifically, try using :code:`/usr/bin/git subtree` for any subtree commands. -If that doesn't work for you, please open an issue on this repo so we can track it. - -Sometimes when updating a subtree, you might get an error that contains :code:`could not rev-parse split hash`, which suggests that the subtree and the more recent branch have diverged in some way. -To fix this, manually remove the entire folder created by the subtree command (e.g. :code:`rm -rf ROSCO`.) -Then, follow the steps to add a repo subtree for the first time. -By deleting then re-adding the subtree repo, you ensure that all the changes are correctly added to the WEIS repo. Testing ------- diff --git a/docs/inputs/analysis_schema.rst b/docs/inputs/analysis_schema.rst deleted file mode 100644 index f2cc3843d..000000000 --- a/docs/inputs/analysis_schema.rst +++ /dev/null @@ -1,507 +0,0 @@ -$schema: "http://json-schema.org/draft-07/schema#" -$id: WEIS_add-ons_analysis -title: WEIS analysis ontology add-ons beyond WISDEM ontology -description: Scehma that describes the analysis and optimization options for WEIS -type: object -properties: - general: - type: object - default: {} - properties: - folder_output: - type: string - default: output - description: Name of folder to dump output files - fname_output: - type: string - default: output - description: File prefix for output files - design_variables: - type: object - default: {} - properties: - control: - type: object - default: {} - properties: - flaps: - type: object - default: {} - properties: - te_flap_end: - type: object - default: {} - properties: - flag: &flag - type: boolean - default: False - description: Activates as a design variable or constraint - min: - type: number - maximum: 1.0 - minimum: 0.1 - default: 0.5 - max: - type: number - maximum: 1.0 - minimum: 0.1 - default: 0.98 - te_flap_ext: - type: object - default: {} - properties: - flag: *flag - min: - type: number - maximum: 1.0 - minimum: 0.0 - default: 0.01 - max: - type: number - maximum: 1.0 - minimum: 0.0 - default: 0.2 - tsr: - type: object - default: {} - properties: - flag: *flag - min_gain: &mingain - type: number - default: 0.5 - unit: none - description: Lower bound on scalar multiplier that will be applied to value at control points - max_gain: &maxgain - type: number - default: 1.5 - unit: none - description: Upper bound on scalar multiplier that will be applied to value at control points - ps_percent: - type: object - default: {} - description: Percent peak shaving as a design variable - properties: - flag: *flag - lower_bound: - type: number - default: 0.75 - unit: none - upper_bound: - type: number - default: 1.0 - unit: none - servo: - type: object - default: {} - properties: - pitch_control: - type: object - default: {} - properties: - omega: &control_omega - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 0.1 - minimum: 0.0 - maximum: 10.0 - unit: rad/s - max: - type: number - default: 0.7 - minimum: 0.0 - maximum: 10.0 - unit: rad/s - zeta: &control_zeta - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 0.7 - minimum: 0.0 - maximum: 10.0 - unit: none - max: - type: number - default: 1.5 - minimum: 0.0 - maximum: 10.0 - unit: rad/s - Kp_float: - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: -100 - unit: s - max: - type: number - default: 0 - unit: s - ptfm_freq: - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 0.00001 - minimum: 0.00001 - unit: rad/s - max: - type: number - default: 1.5 - minimum: 0.00001 - unit: rad/s - stability_margin: - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 0.01 - minimum: 0.0 - maximum: 1.0 - unit: none - max: - type: number - default: 0.01 - minimum: 0.0 - maximum: 1.0 - unit: none - - torque_control: - type: object - default: {} - properties: - omega: *control_omega - zeta: *control_zeta - flap_control: - type: object - default: {} - properties: - flp_kp_norm: - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 0.01 - minimum: 0.0 - maximum: 10.0 - unit: none - max: - type: number - default: 5.0 - minimum: 0.0 - maximum: 10.0 - unit: none - flp_tau: - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 5 - minimum: 0.0 - maximum: 100.0 - unit: none - max: - type: number - default: 30 - minimum: 0.0 - maximum: 100.0 - unit: none - ipc_control: - type: object - default: {} - properties: - Kp: - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1.e+3 - unit: s - max: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1.e+3 - unit: s - ref: &ipc_ref - type: number - default: 1.e-8 - minimum: 1.e-10 - maximum: 1.e-5 - Ki: - type: object - default: {} - properties: - flag: *flag - min: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1.e+3 - unit: none - max: - type: number - default: 1.e-7 - minimum: 0.0 - maximum: 1.e+3 - unit: none - ref: *ipc_ref - TMDs: - type: object - description: Design variables associated with TMDs - default: {} - properties: - flag: *flag - groups: - type: array - description: Sets of members that share the same design - default: [] - items: - type: object - default: {} - properties: - names: - type: array - description: TMD names of those that are linked - items: - type: string - mass: - type: object - description: Mass optimization of TMD group - properties: - lower_bound: &bound - type: number - default: 20000 - upper_bound: *bound - initial: &initial - type: number - default: 100 - description: Initial condition of TMD group - const_omega: - type: boolean - default: False - description: Keep the natural frequency constant while the mass changes? - const_zeta: - type: boolean - default: False - description: Keep the damping ratio constant while the mass changes? - stiffness: - type: object - description: Stiffness optimization of TMD group - properties: - lower_bound: *bound - upper_bound: *bound - initial: *initial - damping: - type: object - description: Damping optimization of TMD group - properties: - lower_bound: *bound - upper_bound: *bound - initial: *initial - natural_frequency: - type: object - description: Natural frequency optimization of TMD group - properties: - lower_bound: *bound - upper_bound: *bound - initial: *initial - const_zeta: - type: boolean - default: False - description: Keep the damping ratio constant while the natural frequency changes? - damping_ratio: - type: object - description: Damping ratio optimization of TMD group - properties: - lower_bound: *bound - upper_bound: *bound - initial: *initial - constraints: - # GB: These all need gammas or safety factors - type: object - default: {} - properties: - control: - type: object - default: {} - properties: - flap_control: - type: object - description: Words TODO - default: {} - properties: - flag: *flag - min: &flapminmax - type: number - default: 0.05 - minimum: 0.0 - maximum: 1.0e+6 - max: *flapminmax - rotor_overspeed: - type: object - description: (Maximum rotor speed / rated rotor speed) - 1. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. - default: {} - properties: - flag: *flag - min: &rotor_overspeed - type: number - default: 0.05 - minimum: 0.0 - maximum: 1.0 - max: *rotor_overspeed - Max_PtfmPitch: - type: object - description: Maximum platform pitch displacement over all cases. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. - default: {} - properties: - flag: *flag - max: - type: number - default: 6.0 - minimum: 0.0 - maximum: 30.0 - unit: deg - Std_PtfmPitch: - type: object - description: Maximum platform pitch standard deviation over all cases. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. - default: {} - properties: - flag: *flag - max: - type: number - default: 2.0 - minimum: 0.0 - maximum: 30.0 - unit: deg - Max_TwrBsMyt: - type: object - description: Maximum platform pitch displacement - default: {} - properties: - flag: *flag - max: - type: number - default: 1.e+5 - minimum: 0.0 - maximum: 1.e+8 - unit: kN*m - DEL_TwrBsMyt: - type: object - description: Maximum platform pitch displacement - default: {} - properties: - flag: *flag - max: - type: number - default: 1.e+5 - minimum: 0.0 - maximum: 1.e+8 - unit: kN*m - nacelle_acceleration: - type: object - description: Maximum Nacelle IMU accelleration magnitude, i.e., sqrt(NcIMUTAxs^2 + NcIMUTAys^2 + NcIMUTAzs^2). Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. - default: {} - properties: - flag: *flag - max: - type: number - default: 3.2667 - minimum: 0.0 - maximum: 30.0 - unit: m/s^2 - avg_pitch_travel: - type: object - description: Average pitch travel per second - default: {} - properties: - flag: *flag - max: - type: number - default: 5 - minimum: 0.0 - maximum: 30.0 - unit: deg/s - pitch_duty_cycle: - type: object - description: Number of pitch direction changes per second of simulation - default: {} - properties: - flag: *flag - max: - type: number - default: 5 - minimum: 0.0 - maximum: 30.0 - unit: deg/s - floating: - type: object - default: {} - properties: - Max_Offset: - type: object - default: {} - description: Maximum combined surge/sway offset. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. - properties: - flag: *flag - max: - type: number - default: 20 - minimum: 0.0 - maximum: 20000.0 - unit: m - damage: - type: object - default: {} - properties: - tower_base: - type: object - description: Tower base damage constraint - default: {} - properties: - flag: *flag - max: - type: number - default: 1.0 - minimum: 1.e-5 - maximum: 30.0 - log: - type: boolean - default: False - description: Use the logarithm of damage as the constraint. - - openfast_failed: - type: object - default: {} - properties: - flag: - type: boolean - description: Constrain design to one where OpenFAST simulations don't fail_value - default: False - - - - merit_figure: - type: string - description: Objective function / merit figure for optimization - default: LCOE diff --git a/docs/inputs/analysis_schema_wisdem.rst b/docs/inputs/analysis_schema_wisdem.rst deleted file mode 100644 index 4ccb8cf55..000000000 --- a/docs/inputs/analysis_schema_wisdem.rst +++ /dev/null @@ -1,1994 +0,0 @@ -.. _analysis-options: - -****************************** -Analysis Options Inputs -****************************** -The following inputs describe the options available in the ``analysis_options`` file. This example is from the :code:`03_blade` case in the :code:`examples` directory. - - -.. literalinclude:: /../examples/03_blade/analysis_options_aerostruct.yaml - :language: yaml - -general -**************************************** - - -:code:`folder_output` : String - Name of folder to dump output files - - *Default* = output - -:code:`fname_output` : String - File prefix for output files - - *Default* = output - - - -design_variables -**************************************** - - -Sets the design variables in a design optimization and analysis - - - -rotor_diameter -######################################## - - -Adjust the rotor diameter by changing the blade length (all blade properties constant with respect to non-dimensional span coordinates) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`minimum` : Float, m - - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 1000.0 - - -:code:`maximum` : Float, m - - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 1000.0 - - - - -blade -######################################## - - -Design variables associated with the wind turbine blades - - - -aero_shape -======================================== - - -Design variables associated with the blade aerodynamic shape - - - -twist ----------------------------------------- - - -Blade twist as a design variable by adding or subtracting radians from the initial value at spline control points along the span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`inverse` : Boolean - When set to True, the twist is defined inverting the - blade-element momentum equations to achieve a desired margin to stall, - which is defined among the constraints. - :code:`flag` and :code:`inverse` cannot be simultaneously be set to True - - *Default* = False - -:code:`n_opt` : Integer - Number of equally-spaced control points of the spline - parametrizing the twist distribution along blade span. - - *Default* = 8 - - *Minimum* = 4 - -:code:`lower_bound` : Array of Floats, rad - Lowest number of radians that can be added (typically negative to - explore smaller twist angles) - - *Default* = [-0.1, -0.1, -0.1, -0.1, -0.1, -0.1, -0.1, -0.1] - -:code:`upper_bound` : Array of Floats, rad - Largest number of radians that can be added (typically postive to - explore greater twist angles) - - *Default* = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] - -:code:`index_start` : Integer - Integer setting the first DV of the :code:`n_opt` along span that is optimized. - It is recommended to set :code:`index_start` to 1 - to lock the first DV and prevent the optimizer to try to - optimize the twist of the blade root cylinder. - - *Default* = 0 - -:code:`index_end` : Integer - Integer setting the last DV of the :code:`n_opt` along span that is optimized. - - *Default* = 8 - - -chord ----------------------------------------- - - -Blade chord as a design variable by scaling (multiplying) the initial value at spline control points along the span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`n_opt` : Integer - Number of equally-spaced control points of the spline - parametrizing the chord distribution along blade span. - - *Default* = 8 - - *Minimum* = 4 - -:code:`max_decrease` : Float - Maximum nondimensional decrease of the blade chord at each optimization location - - *Default* = 0.5 - -:code:`max_increase` : Float - Maximum nondimensional increase of the blade chord at each optimization location - - *Default* = 1.5 - -:code:`index_start` : Integer - Integer setting the first DV of the :code:`n_opt` along span that is optimized. - Setting :code:`index_start` to 1 or 2 locks the blade root diameter. - - *Default* = 0 - - -:code:`index_end` : Integer - Integer setting the last DV of the :code:`n_opt` along span that is optimized. - It is recommended to lock the last point close to blade tip, setting :code:`index_end` to :code:`n_opt` minus 1. - The last point controls the chord length at blade tip and due to - the imperfect tip loss models of CCBlade, it is usually a good - idea to taper the chord manually and do not let a numerical - optimizer control it. - - *Default* = 8 - - -af_positions ----------------------------------------- - - -Adjust airfoil positions along the blade span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`af_start` : Integer - Index of airfoil where the optimization can start shifting airfoil - position. The airfoil at blade tip is always locked. It is advised - to keep the airfoils close to blade root locked. - - *Default* = 4 - - *Minimum* = 1 - - - -structure -======================================== - - -Design variables associated with the internal blade structure - - - -spar_cap_ss ----------------------------------------- - - -Blade suction-side spar cap thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`n_opt` : Integer - Number of equally-spaced control points of the spline - parametrizing the thickness of the spar cap on the suction side. - - *Default* = 8 - - *Minimum* = 4 - -:code:`max_decrease` : Float - Maximum nondimensional decrease of the spar cap thickness on the suction-side at each optimization location - - *Default* = 0.5 - -:code:`max_increase` : Float - Maximum nondimensional increase of the spar cap thickness on the suction-side at each optimization location - - *Default* = 1.5 - -:code:`index_start` : Integer - Integer setting the first DV of the :code:`n_opt` along span that is optimized. - It is recommended to set :code:`index_start` to 1 - to lock the first DV and impose a pre- - defined taper to small thicknesses and mimic a blade - manufacturability constraint. - - *Default* = 0 - -:code:`index_end` : Integer - Integer setting the last DV of the :code:`n_opt` along span that is optimized. - It is recommended to lock the last point close to blade tip, setting :code:`index_end` to :code:`n_opt` minus 1. - This imposes a predefined taper to small thicknesses and mimic a blade - manufacturability constraint. - - *Default* = 8 - - -spar_cap_ps ----------------------------------------- - - -Blade pressure-side spar cap thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`n_opt` : Integer - Number of equally-spaced control points of the spline - parametrizing the thickness of the spar cap on the pressure side. - - *Default* = 8 - - *Minimum* = 4 - -:code:`max_decrease` : Float - Maximum nondimensional decrease of the spar cap thickness on the pressure-side at each optimization location - - *Default* = 0.5 - -:code:`max_increase` : Float - Maximum nondimensional increase of the spar cap thickness on the pressure-side at each optimization location - - *Default* = 1.5 - -:code:`index_start` : Integer - Integer setting the first DV of the :code:`n_opt` along span that is optimized. - It is recommended to set :code:`index_start` to 1 - to lock the first DV and impose a pre- - defined taper to small thicknesses and mimic a blade - manufacturability constraint. - - *Default* = 0 - -:code:`index_end` : Integer - Integer setting the last DV of the :code:`n_opt` along span that is optimized. - It is recommended to lock the last point close to blade tip, setting :code:`index_end` to :code:`n_opt` minus 1. - This imposes a predefined taper to small thicknesses and mimic a blade - manufacturability constraint. - - *Default* = 8 - - -te_ss ----------------------------------------- - - -Blade suction-side trailing edge reinforcement thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`n_opt` : Integer - Number of equally-spaced control points of the spline - parametrizing the thickness of the trailing edge reinforcement on - the suction side. By default, the first point close to blade root - and the last point close to blade tip are locked. This is done to - impose a pre-defined taper to small thicknesses and mimic a blade - manufacturability constraint. - - *Default* = 8 - - *Minimum* = 4 - -:code:`min_gain` : Float - Lower bound on scalar multiplier that will be applied to value at - control points - - *Default* = 0.5 - -:code:`max_gain` : Float - Upper bound on scalar multiplier that will be applied to value at - control points - - *Default* = 1.5 - - - -te_ps ----------------------------------------- - - -Blade pressure-side trailing edge reinforcement thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`n_opt` : Integer - Number of equally-spaced control points of the spline - parametrizing the thickness of the trailing edge reinforcement on - the pressure side. By default, the first point close to blade root - and the last point close to blade tip are locked. This is done to - impose a pre-defined taper to small thicknesses and mimic a blade - manufacturability constraint. - - *Default* = 8 - - *Minimum* = 4 - -:code:`min_gain` : Float - Lower bound on scalar multiplier that will be applied to value at - control points - - *Default* = 0.5 - -:code:`max_gain` : Float - Upper bound on scalar multiplier that will be applied to value at - control points - - *Default* = 1.5 - - - -control -######################################## - - -Design variables associated with the control of the wind turbine - - - -tsr -======================================== - - -Adjust the tip-speed ratio (ratio between blade tip velocity and steady hub-height wind speed) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`minimum` : Float - Minimum allowable value - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 30.0 - - -:code:`maximum` : Float - Maximum allowable value - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 30.0 - - - - -hub -######################################## - - -Design variables associated with the hub - - - -cone -======================================== - - -Adjust the blade attachment coning angle (positive values are always away from the tower whether upwind or downwind) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, rad - Design variable bound - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 0.5235987756 - - -:code:`upper_bound` : Float, rad - Design variable bound - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 0.5235987756 - - - - -hub_diameter -======================================== - - -Adjust the rotor hub diameter - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for hub diameter - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for hub diameter - - *Default* = 30.0 - - *Minimum* = 0.0 *Maximum* = 30.0 - - - - -drivetrain -######################################## - - -Design variables associated with the drivetrain - - - -uptilt -======================================== - - -Adjust the drive shaft tilt angle (positive values tilt away from the tower whether upwind or downwind) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, rad - Design variable bound - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 0.5235987756 - - -:code:`upper_bound` : Float, rad - Design variable bound - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 0.5235987756 - - - - -overhang -======================================== - - -Adjust the x-distance, parallel to the ground or still water line, from the tower top center to the rotor apex. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -distance_tt_hub -======================================== - - -Adjust the z-dimension height from the tower top to the rotor apex - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -distance_hub_mb -======================================== - - -Adjust the distance along the drive staft from the hub flange to the first main bearing - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -distance_mb_mb -======================================== - - -Adjust the distance along the drive staft from the first to the second main bearing - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -generator_length -======================================== - - -Adjust the distance along the drive staft between the generator rotor drive shaft attachment to the stator bedplate attachment - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -gear_ratio -======================================== - - -For geared configurations only, adjust the gear ratio of the gearbox that multiplies the shaft speed and divides the torque - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float - - - *Default* = 1.0 - - *Minimum* = 1.0 *Maximum* = 500.0 - - -:code:`upper_bound` : Float - - - *Default* = 150.0 - - *Minimum* = 1.0 *Maximum* = 1000.0 - - - - -lss_diameter -======================================== - - -Adjust the diameter at the beginning and end of the low speed shaft (assumes a linear taper) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -hss_diameter -======================================== - - -Adjust the diameter at the beginning and end of the high speed shaft (assumes a linear taper) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -nose_diameter -======================================== - - -For direct-drive configurations only, adjust the diameter at the beginning and end of the nose/turret (assumes a linear taper) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Lowest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - -:code:`upper_bound` : Float, m - Highest value allowable for design variable - - *Default* = 0.1 - - *Minimum* = 0.1 *Maximum* = 30.0 - - - - -lss_wall_thickness -======================================== - - -Adjust the thickness at the beginning and end of the low speed shaft (assumes a linear taper) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.001 - - *Minimum* = 0.001 *Maximum* = 3.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 1.0 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -hss_wall_thickness -======================================== - - -Adjust the thickness at the beginning and end of the high speed shaft (assumes a linear taper) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.001 - - *Minimum* = 0.001 *Maximum* = 3.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 1.0 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -nose_wall_thickness -======================================== - - -For direct-drive configurations only, adjust the thickness at the beginning and end of the nose/turret (assumes a linear taper) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.001 - - *Minimum* = 0.001 *Maximum* = 3.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 1.0 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -bedplate_wall_thickness -======================================== - - -For direct-drive configurations only, adjust the wall thickness along the elliptical bedplate - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.001 - - *Minimum* = 0.001 *Maximum* = 3.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 1.0 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -bedplate_web_thickness -======================================== - - -For geared configurations only, adjust the I-beam web thickness of the bedplate - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.001 - - *Minimum* = 0.001 *Maximum* = 3.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 1.0 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -bedplate_flange_thickness -======================================== - - -For geared configurations only, adjust the I-beam flange thickness of the bedplate - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.001 - - *Minimum* = 0.001 *Maximum* = 3.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 1.0 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -bedplate_flange_width -======================================== - - -For geared configurations only, adjust the I-beam flange width of the bedplate - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.001 - - *Minimum* = 0.001 *Maximum* = 3.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 1.0 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -tower -######################################## - - -Design variables associated with the tower or monopile - - - -outer_diameter -======================================== - - -Adjust the outer diamter of the cylindrical column at nodes along the height. Linear tapering is assumed between the nodes, creating conical frustums in each section - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - -:code:`upper_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - - - -layer_thickness -======================================== - - -Adjust the layer thickness of each section in the column - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Design variable bound - - *Default* = 0.01 - - *Minimum* = 1e-05 *Maximum* = 1.0 - - -:code:`upper_bound` : Float, m - Design variable bound - - *Default* = 0.01 - - *Minimum* = 1e-05 *Maximum* = 1.0 - - - - -section_height -======================================== - - -Adjust the height of each conical section - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - -:code:`upper_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - - - -monopile -######################################## - - -Design variables associated with the tower or monopile - - - -outer_diameter -======================================== - - -Adjust the outer diamter of the cylindrical column at nodes along the height. Linear tapering is assumed between the nodes, creating conical frustums in each section - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - -:code:`upper_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - - - -layer_thickness -======================================== - - -Adjust the layer thickness of each section in the column - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Design variable bound - - *Default* = 0.01 - - *Minimum* = 1e-05 *Maximum* = 1.0 - - -:code:`upper_bound` : Float, m - Design variable bound - - *Default* = 0.01 - - *Minimum* = 1e-05 *Maximum* = 1.0 - - - - -section_height -======================================== - - -Adjust the height of each conical section - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - -:code:`upper_bound` : Float, m - Design variable bound - - *Default* = 5.0 - - *Minimum* = 0.1 *Maximum* = 100.0 - - - - -constraints -**************************************** - - -Activate the constraints that are applied to a design optimization - - - -blade -######################################## - - -Constraints associated with the blade design - - - -strains_spar_cap_ss -======================================== - - -Enforce a maximum allowable strain in the suction-side spar caps - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`max` : Float - Maximum allowable strain value - - *Default* = 0.004 - - *Minimum* = 1e-08 *Maximum* = 0.1 - - - - -strains_spar_cap_ps -======================================== - - -Enforce a maximum allowable strain in the pressure-side spar caps - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`max` : Float - Maximum allowable strain value - - *Default* = 0.004 - - *Minimum* = 1e-08 *Maximum* = 0.1 - - - - -tip_deflection -======================================== - - -Enforce a maximum allowable blade tip deflection towards the tower expressed as a safety factor on the parked margin. Meaning a parked distance to the tower of 30m and a constraint value here of 1.5 would mean that 30/1.5=20m of deflection is the maximum allowable - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`margin` : Float - - - *Default* = 1.4175 - - *Minimum* = 1.0 *Maximum* = 10.0 - - - - -rail_transport -======================================== - - -Enforce sufficient blade flexibility such that they can be transported on rail cars without exceeding maximum blade strains or derailment. User can activate either 8-axle flatcars or 4-axle - -:code:`8_axle` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`4_axle` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -stall -======================================== - - -Ensuring blade angles of attacks do not approach the stall point. Margin is expressed in radians from stall. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`margin` : Float, radians - - - *Default* = 0.05233 - - *Minimum* = 0.0 *Maximum* = 0.5 - - - - -chord -======================================== - - -Enforcing max chord length limit at all points along blade span. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`max` : Float, meter - - - *Default* = 4.3 - - *Minimum* = 0.1 *Maximum* = 20.0 - - -root_circle_diameter -======================================== - - -Enforcing the minimum blade root circle diameter. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -frequency -======================================== - - -Frequency separation constraint between blade fundamental frequency and blade passing (3P) frequency at rated conditions using gamma_freq margin. Can be activated for blade flap and/or edge modes. - -:code:`flap_3P` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`edge_3P` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -moment_coefficient -======================================== - - -(EXPERIMENTAL) Targeted blade moment coefficient (useful for managing root flap loads or inverse design approaches that is not recommendend for general use) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`min` : Float - - - *Default* = 0.15 - - *Minimum* = 0.01 *Maximum* = 5.0 - - -:code:`max` : Float - - - *Default* = 0.15 - - *Minimum* = 0.01 *Maximum* = 5.0 - - - - -match_cl_cd -======================================== - - -(EXPERIMENTAL) Targeted airfoil cl/cd ratio (useful for inverse design approaches that is not recommendend for general use) - -:code:`flag_cl` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`flag_cd` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`filename` : String - file path to constraint data - - *Default* = - - - -match_L_D -======================================== - - -(EXPERIMENTAL) Targeted blade moment coefficient (useful for managing root flap loads or inverse design approaches that is not recommendend for general use) - -:code:`flag_L` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`flag_D` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`filename` : String - file path to constraint data - - *Default* = - - - -tower -######################################## - - -Constraints associated with the tower design - - - -height_constraint -======================================== - - -Double-sided constraint to ensure total tower height meets target hub height when adjusting section heights - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.01 - - *Minimum* = 1e-06 *Maximum* = 10.0 - - -:code:`upper_bound` : Float, m - - - *Default* = 0.01 - - *Minimum* = 1e-06 *Maximum* = 10.0 - - - - -stress -======================================== - - -Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -global_buckling -======================================== - - -Enforce a global buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -shell_buckling -======================================== - - -Enforce a shell buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -slope -======================================== - - -Ensure that the diameter moving up the tower at any node is always equal or less than the diameter of the node preceding it - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -d_to_t -======================================== - - -Double-sided constraint to ensure target diameter to thickness ratio for manufacturing and structural objectives - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float - - - *Default* = 50.0 - - *Minimum* = 1.0 *Maximum* = 2000.0 - - -:code:`upper_bound` : Float - - - *Default* = 50.0 - - *Minimum* = 1.0 *Maximum* = 2000.0 - - - - -taper -======================================== - - -Enforcing a max allowable conical frustum taper ratio per section - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float - - - *Default* = 0.5 - - *Minimum* = 0.001 *Maximum* = 1.0 - - - - -frequency -======================================== - - -Frequency separation constraint between all tower modal frequencies and blade period (1P) and passing (3P) frequencies at rated conditions using gamma_freq margin. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -frequency_1 -======================================== - - -Targeted range for tower first frequency constraint. Since first and second frequencies are generally the same for the tower, this usually governs the second frequency as well (both fore-aft and side-side first frequency) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, Hz - - - *Default* = 0.1 - - *Minimum* = 0.01 *Maximum* = 1.0 - - -:code:`upper_bound` : Float, Hz - - - *Default* = 0.1 - - *Minimum* = 0.01 *Maximum* = 1.0 - - - - -monopile -######################################## - - -Constraints associated with the monopile design - - - -pile_depth -======================================== - - -Ensures that the submerged suction pile depth meets a minimum value - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, m - - - *Default* = 0.0 - - *Minimum* = 0.0 *Maximum* = 200.0 - - - - -stress -======================================== - - -Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -global_buckling -======================================== - - -Enforce a global buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -shell_buckling -======================================== - - -Enforce a shell buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -slope -======================================== - - -Ensure that the diameter moving up the tower at any node is always equal or less than the diameter of the node preceding it - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -d_to_t -======================================== - - -Double-sided constraint to ensure target diameter to thickness ratio for manufacturing and structural objectives - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float - - - *Default* = 50.0 - - *Minimum* = 1.0 *Maximum* = 2000.0 - - -:code:`upper_bound` : Float - - - *Default* = 50.0 - - *Minimum* = 1.0 *Maximum* = 2000.0 - - - - -taper -======================================== - - -Enforcing a max allowable conical frustum taper ratio per section - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float - - - *Default* = 0.5 - - *Minimum* = 0.001 *Maximum* = 1.0 - - - - -frequency -======================================== - - -Frequency separation constraint between all tower modal frequencies and blade period (1P) and passing (3P) frequencies at rated conditions using gamma_freq margin. - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -frequency_1 -======================================== - - -Targeted range for tower first frequency constraint. Since first and second frequencies are generally the same for the tower, this usually governs the second frequency as well (both fore-aft and side-side first frequency) - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, Hz - - - *Default* = 0.1 - - *Minimum* = 0.01 *Maximum* = 1.0 - - -:code:`upper_bound` : Float, Hz - - - *Default* = 0.1 - - *Minimum* = 0.01 *Maximum* = 1.0 - - - - -hub -######################################## - - - - -hub_diameter -======================================== - - -Ensure that the diameter of the hub is sufficient to accommodate the number of blades and blade root diameter - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -drivetrain -######################################## - - - - -lss -======================================== - - -Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -hss -======================================== - - -Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -bedplate -======================================== - - -Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -mb1 -======================================== - - -Ensure that the angular deflection at this meain bearing does not exceed the maximum allowable deflection for the bearing type - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -mb2 -======================================== - - -Ensure that the angular deflection at this meain bearing does not exceed the maximum allowable deflection for the bearing type - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -length -======================================== - - -Ensure that the bedplate length is sufficient to meet desired overhang value - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -height -======================================== - - -Ensure that the bedplate height is sufficient to meet desired nacelle height value - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - - - -access -======================================== - - -For direct-drive configurations only, ensure that the inner diameter of the nose/turret is big enough to allow human access - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`lower_bound` : Float, meter - Minimum size to ensure human maintenance access - - *Default* = 2.0 - - *Minimum* = 0.1 *Maximum* = 5.0 - - - - -ecc -======================================== - - -For direct-drive configurations only, ensure that the elliptical bedplate length is greater than its height - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`merit_figure` : String from, ['LCOE', 'AEP', 'Cp', 'blade_mass', 'tower_mass', 'tower_cost', 'monopile_mass', 'monopile_cost', 'structural_mass', 'structural_cost', 'blade_tip_deflection', 'My_std', 'flp1_std'] - Objective function / merit figure for optimization. Choices are - LCOE- levelized cost of energy, AEP- turbine annual energy - production, Cp- rotor power coefficient, blade_mass, tower_mass, - tower_cost, monopile_mass, monopile_cost, structural_mass- - tower+monopile mass, structural_cost- tower+monopile cost, - blade_tip_deflection- blade tip deflection distance towards tower, - My_std- blade flap moment standard deviation, flp1_std- trailing - flap standard deviation - - *Default* = LCOE - - - -driver -**************************************** - - -Specification of the optimization driver (optimization algorithm) parameters - -:code:`tol` : Float - Convergence tolerance (relative) - - *Default* = 1e-06 - - *Minimum* = 1e-12 *Maximum* = 1.0 - - -:code:`max_iter` : Integer - Max number of optimization iterations - - *Default* = 100 - - *Minimum* = 0 *Maximum* = 100000 - - -:code:`max_function_calls` : Integer - Max number of calls to objective function evaluation - - *Default* = 100000 - - *Minimum* = 0 *Maximum* = 100000000 - - -:code:`solver` : String from, ['SLSQP', 'CONMIN', 'COBYLA', 'SNOPT'] - Optimization driver. Can be one of [SLSQP, CONMIN, COBYLA, SNOPT] - - *Default* = SLSQP - -:code:`step_size` : Float - Maximum step size - - *Default* = 0.001 - - *Minimum* = 1e-10 *Maximum* = 100.0 - - -:code:`form` : String from, ['central', 'forward', 'complex'] - Finite difference calculation mode - - *Default* = central - - - -recorder -**************************************** - - -Optimization iteration recording via OpenMDAO - -:code:`flag` : Boolean - Activates as a design variable or constraint - - *Default* = False - -:code:`file_name` : String - OpenMDAO recorder output SQL database file - - *Default* = log_opt.sql diff --git a/docs/inputs/geometry_schema.rst b/docs/inputs/geometry_schema.rst deleted file mode 100644 index 632ce9add..000000000 --- a/docs/inputs/geometry_schema.rst +++ /dev/null @@ -1,1045 +0,0 @@ -$schema: "http://json-schema.org/draft-07/schema#" -$id: WEIS_add-ons_geom -title: WEIS geometry ontology add-ons beyond WISDEM ontology -description: Ontology definition for wind turbines as defined in WP1 of IEA Wind Task 37 - Phase II -type: object -properties: - environment: - type: object - required: - - air_density - - air_dyn_viscosity - - air_speed_sound - - shear_exp - optional: - - gravity - - weib_shape_parameter - - water_density - - water_dyn_viscosity - - water_depth - - soil_shear_modulus - - soil_poisson - - air_pressure - - air_vapor_pressure - properties: - gravity: - type: number - description: Gravitational acceleration - unit: m/s/s - minimum: 0 - maximum: 100.0 - default: 9.80665 - air_density: - type: number - description: Density of air. - unit: kg/m3 - minimum: 0 - maximum: 1.5 - default: 1.225 - air_dyn_viscosity: - type: number - description: Dynamic viscosity of air. - unit: kg/(ms) - minimum: 0 - maximum: 2.e-5 - default: 1.81e-5 - air_pressure: - type: number - description: Atmospheric pressure of air - unit: kg/(ms^2) - minimum: 0 - maximum: 1.e+6 - default: 1.035e+5 - air_vapor_pressure: - type: number - description: Vapor pressure of fluid - unit: kg/(ms^2) - minimum: 0 - maximum: 1.e+6 - default: 1.7e+3 - weib_shape_parameter: - type: number - description: Shape factor of the Weibull wind distribution. - unit: none - minimum: 1 - maximum: 3 - default: 2. - air_speed_sound: - type: number - description: Speed of sound in air. - unit: m/s - minimum: 330. - maximum: 350. - default: 340. - shear_exp: - type: number - description: Shear exponent of the atmospheric boundary layer. - unit: none - minimum: 0 - maximum: 1 - default: 0.2 - water_density: - type: number - description: Density of water. - unit: kg/m3 - minimum: 950 - maximum: 1100 - default: 1025.0 - water_dyn_viscosity: - type: number - description: Dynamic viscosity of water. - unit: kg/(ms) - minimum: 1.e-3 - maximum: 2.e-3 - default: 1.3351e-3 - water_depth: - type: number - description: Water depth for offshore environment. - unit: m - minimum: 0.0 - maximum: 1.e+4 - default: 0.0 - soil_shear_modulus: - type: number - description: Shear modulus of the soil. - unit: Pa - minimum: 100.e+6 - maximum: 200.e+6 - default: 140.e+6 - soil_poisson: - type: number - description: Poisson ratio of the soil. - unit: none - minimum: 0 - maximum: 0.6 - default: 0.4 - TMDs: - type: array - description: Ontology definition for TMDs - items: - type: object - required: - - name - - component - - location - - mass - - stiffness - - damping - properties: - name: - description: Unique name of the TMD - type: string - component: - description: Component location of the TMD (tower or platform) - type: string - # enum: - # - tower - # - platform - location: - description: Location of TMD in global coordinates - type: array - items: - type: number - minIteams: 3 - maxItems: 3 - mass: - description: Mass of TMD - type: number - unit: kg - default: 0 - stiffness: - description: Stiffness of TMD - type: number - unit: N/m - default: 0 - damping: - description: Damping of TMD - type: number - unit: (N/(m/s)) - default: 0 - X_DOF: - description: Dof on or off for StC X - type: boolean - default: False - Y_DOF: - description: Dof on or off for StC Y - type: boolean - default: False - Z_DOF: - description: Dof on or off for StC Z - type: boolean - default: False - natural_frequency: - description: Natural frequency of TMD, will overwrite stiffness (-1 indicates that it's not used) - type: number - unit: rad/s - default: -1 - damping_ratio: - description: Daming ratio of TMD, will overwrite damping (-1 indicates that it's not used) - type: number - unit: non-dimensional - default: -1 - preload_spring: - description: Ensure that equilibrium point of the TMD is at `location` by offseting the location based on the spring constant - type: boolean - default: True - - - - -definitions: - distributed_data: - grid_nd: - type: array - description: Grid along a beam expressed non-dimensional from 0 to 1 - items: - type: number - unit: none - minItems: 2 - minimum: 0.0 - maximum: 1.0 - uniqueItems: true - grid_al: - type: array - description: Grid along an arc length, expressed non dimensionally where 0 is the leading edge, -1 is the trailing edge on the pressure side and +1 the trailing edge on the pressure side - items: - type: number - unit: none - minItems: 2 - minimum: -1.0 - maximum: 1.0 - uniqueItems: true - grid_aoa: - type: array - description: Grid of angles of attack to describe polars - items: - type: number - unit: radians - minItems: 2 - minimum: -3.14159265359 - maximum: 3.14159265359 - uniqueItems: true - polar_coeff: - type: array - description: Lift, drag and moment coefficients - items: - type: number - unit: none - minItems: 2 - uniqueItems: false - strings: - type: array - items: - type: string - minItems: 2 - uniqueItems: false - nd: - type: array - description: Non dimensional quantity described along a beam and expressed non-dimensional - items: - type: number - unit: none - minItems: 2 - uniqueItems: false - length: - type: array - description: Length quantity described along a beam, expressed in meter - items: - type: number - unit: meter - minItems: 2 - uniqueItems: false - angle: - type: array - description: Angle quantity along a beam, expressed in radians - items: - type: number - unit: radians - minItems: 2 - uniqueItems: false - mass_length: - type: array - description: Mass per unit length along a beam, expressed in kilogram per meter - items: - type: number - unit: kg/m - minItems: 2 - uniqueItems: false - area: - type: array - description: Cross sectional area along a beam, expressed in meter squared - items: - type: number - unit: m2 - minItems: 2 - uniqueItems: false - description: Cross sectional area - elast_mod: - type: array - description: Modulus of elasticity of a material along a beam, expressed in Newton over meter squared - items: - type: number - unit: N m2 - minItems: 2 - uniqueItems: false - description: Modulus of elasticity - shear_mod: - type: array - description: Shear modulus of elasticity of a material along a beam, expressed in Newton over meter squared - items: - type: number - unit: N/m2 - minItems: 2 - uniqueItems: false - description: Shear modulus of elasticity - area_moment: - type: array - description: Area moment of inertia of a section along a beam, expressed in meter to the power of four - items: - type: number - unit: m4 - minItems: 2 - uniqueItems: false - description: Area moment of inertia - mass_moment: - type: array - description: Mass moment of inertia of a section along a beam, expressed in kilogram times meter squared per meter - items: - type: number - unit: kg*m2/m - minItems: 2 - uniqueItems: false - description: Mass moment of inertia per unit span - tors_stiff_const: - type: array - description: Torsional stiffness constant with respect to ze axis at the shear center [m4/rad]. For a circular section only this is identical to the polar moment of inertia - items: - type: number - unit: m4/rad - minItems: 2 - uniqueItems: false - shear_stiff: - type: array - description: Shearing stiffness along the beam - items: - type: number - unit: N - minItems: 2 - uniqueItems: false - axial_stiff: - type: array - description: Axial stiffness EA along the beam - items: - type: number - unit: N - minItems: 2 - uniqueItems: false - bending_stiff: - type: array - description: Bending stiffness E11-E22 along the beam - items: - type: number - unit: N/m2 - minItems: 2 - uniqueItems: false - tors_stiff: - type: array - description: Torsional stiffness GJ along the beam - items: - type: number - unit: N/m2 - minItems: 2 - uniqueItems: false - nd_arc_position: - type: object - description: non-dimensional location of the point along the non-dimensional arc length - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/grid_al" - fixed: - type: string - description: Name of the layer to lock the edge - offset: - type: object - description: dimensional offset in respect to the pitch axis along the x axis, which is the chord line rotated by a user-defined angle. Negative values move the midpoint towards the leading edge, positive towards the trailing edge - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - rotation: - type: object - description: rotation of the chord axis around the pitch axis - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/angle" - fixed: - type: string - description: Name of the layer to lock the edge - axis_coordinates: - type: object - description: The reference system is located at blade root, with z aligned with the pitch axis, x pointing towards the suction sides of the airfoils (standard prebend will be negative) and y pointing to the trailing edge (standard sweep will be positive) - required: - - x - - y - - z - properties: - x: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - y: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - z: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - beam: - timoschenko_hawc: - type: object - description: Timoschenko beam as in HAWC2 - required: - - reference_axis - - A - - E - - G - - I_x - - I_y - - K - - dm - - k_x - - k_y - - pitch - - ri_x - - ri_y - - x_cg - - x_e - - x_sh - - y_cg - - y_e - - y_sh - properties: - reference_axis: - $ref: "#/definitions/distributed_data/axis_coordinates" - A: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/area" - E: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/elast_mod" - G: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/shear_mod" - I_x: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/area_moment" - I_y: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/area_moment" - K: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/tors_stiff_const" - dm: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/mass_length" - k_x: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/nd" - k_y: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/nd" - pitch: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/angle" - ri_x: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - ri_y: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - x_cg: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - x_e: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - x_sh: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - y_cg: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - y_e: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - y_sh: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - cp_lambda_beam: - type: object - description: Geometrically exact beams with simplified properties - required: - - reference_axis - - T11 - - T22 - - EA - - E11 - - E22 - - GJ - - x_ce - - y_ce - - dm - - delta_theta - - x_sh - - y_sh - - J1 - - J2 - - J3 - - x_cg - - y_cg - properties: - reference_axis: - $ref: "#/definitions/distributed_data/axis_coordinates" - T11: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/shear_stiff" - T22: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/shear_stiff" - EA: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/axial_stiff" - E11: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/bending_stiff" - E22: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/bending_stiff" - GJ: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/tors_stiff" - x_ce: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - y_ce: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - dm: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/mass_length" - delta_theta: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/angle" - x_sh: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - y_sh: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - J1: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/mass_moment" - J2: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/mass_moment" - J3: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/mass_moment" - x_cg: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - y_cg: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - $ref: "#/definitions/distributed_data/length" - six_x_six: - type: object - required: - - reference_axis - - stiff_matrix - properties: - reference_axis: - $ref: "#/definitions/distributed_data/axis_coordinates" - stiff_matrix: - type: object - required: - - grid - - values - properties: - grid: - $ref: "#/definitions/distributed_data/grid_nd" - values: - type: array - items: - type: array - description: Stiffness matrix 6x6, only upper diagonal reported line by line (21 elements), specified at each grid point - minItems: 21 - maxItems: 21 - uniqueItems: false - - actuator: - type: string - description: Actuator used as control output - enum: - - pitch - - torque #called generator above, keep consistent? - - tower_TMD - - hull_TMD - - active_tension - - passive_weather_vane - - passive_buoy_can - sensor: - type: string - description: Sensor used as control input, could be any OpenFAST output (in Simluink), enumerating avrSWAP now # DZ: within ROSCO, probably not...needs to be in avrSWAP - enum: - - gen_speed - - nac_IMU - - wind_speed_estimate - - gust_measure - - RootMyc1 - - RootMyc2 - - RootMyc3 - - RootMyT # MBC of above - - RootMyY # MBC of above - - azimuth - - YawBrTAxp - - YawBrTAyp - - RootMxc1 - - RootMxc2 - - RootMxc3 - - LSSTipMya - - LSSTipMza - - LSSTipMxa - - LSSTipMys - - LSSTipMzs - - YawBrMyn - - YawBrMzn - - NcIMURAxs # avrSWAP names don't always match OpenFAST output names - - NcIMURAzs - # No platform info from avrSWAP, will they be added? - filter: - type: object - description: Linear filter, could be a LPF, HPF, NF, INF, or user_defined - required: - - filt_type - - filt_def - filt_type: - type: string - description: Type of filter used, could be a LPF, HPF, NF, INF, or user_defined - enum: - - LPF - - HPF - - NF - - INF - - user_defined - filt_def: - LPF: - type: object - description: Low pass filter - required: - - omega - - order - optional: - - damping - HPF: - NF: - INF: - user_defined: - type: object - description: User defined filter - required: - - num - - den - optional: - - dt - num: - type: array - description: Numerator coefficients of linear filter - items: - type: number - unit: none - minItems: 0 - uniqueItems: false - den: - type: array - description: Numerator coefficients of linear filter - items: - type: number - unit: none - minItems: 1 - uniqueItems: false - dt: - type: number - description: Sampling rate of filter, -1 for continuous # DZ: will probably convert all to dt of simulation... not sure how to handle this - minimum: -1 - - state_space: - type: object - description: Linear state space model - required: - - ss_A - - ss_B - - ss_C - - ss_D - ss_A: - type: array - description: A matrix of linear state space model, flattened with n_states^2 elements - items: - type: number - unit: none - minItems: 1 - uniqueItems: false - ss_B: - type: array - description: B matrix of linear state space model, flattened with n_states x n_inputs elements - items: - type: number - unit: none - minItems: 1 - uniqueItems: false - ss_C: - type: array - description: C matrix of linear state space model, flattened with n_outputs x n_states elements - items: - type: number - unit: none - minItems: 1 - uniqueItems: false - ss_D: - type: array - description: D matrix of linear state space model, flattened with n_outputs x n_inputs elements - items: - type: number - unit: none - minItems: 1 - uniqueItems: false - # DZ: might be a good idea to check the number of states - ss_dt: - type: number - description: Sampling rate of filter, -1 for continuous # DZ: will probably convert all to dt of simulation... not sure how to handle this - minimum: -1 - - timeseries: - type: object - description: Array of time, value pairs # DZ: can we check that the number of elements are equal? - required: - - time - - value - optional: - - filename - time: - type: array - description: Time in timeseries - items: - type: number - unit: seconds - minItems: 1 - uniqueItems: true # probably? - value: - type: array - description: Value in timeseries - items: - type: number - unit: none #any - minItems: 1 - uniqueItems: false - # can we check that number of elements are equal? - filename: - type: string - description: Name of file with timeseries data - - activator: - type: object - description: Gain used to enable/disable control elements, can be used partially - required: - - wind_speeds - - act_gain - wind_speeds: - type: array - description: Array of wind speed breakpoints for activators - items: - type: number - unit: m/s - minItems: 1 - uniqueItems: true - act_gain: - type: array - description: Array of gains from 0 to 1, enabling/disabling control element - items: - type: number - unit: none - minItems: 1 - uniqueItems: false - minimum: 0 - maximum: 1 diff --git a/docs/inputs/geometry_schema_wisdem.rst b/docs/inputs/geometry_schema_wisdem.rst deleted file mode 100644 index dfd4535a5..000000000 --- a/docs/inputs/geometry_schema_wisdem.rst +++ /dev/null @@ -1,6 +0,0 @@ -****************************** -Geometry Inputs -****************************** -Significant effort has been invested to develop an _ontology_ for wind turbines systems analysis by the IEA Wind Task 37 - Systems Engineering in its `WindIO `_ project. WISDEM uses this ontology for the physical description of the turbine, and its components, and the required level of fidelity for systems analysis. - -Full documentation of the WISDEM geometry input file can be found at the `WindIO documentation `_ diff --git a/docs/inputs/modeling_schema.rst b/docs/inputs/modeling_schema.rst deleted file mode 100644 index 84a4980a4..000000000 --- a/docs/inputs/modeling_schema.rst +++ /dev/null @@ -1,3583 +0,0 @@ -$schema: 'http://json-schema.org/draft-07/schema#' -$id: WEIS_model_options_schema_v00 -title: WEIS wind turbine modeling options schema -description: Schema that describes the modeling options for WEIS -type: object -properties: - General: - type: object - default: {} - properties: - verbosity: - type: boolean - default: False - description: Prints additional outputs to screen (and to a file log in the future) - solver_maxiter: - type: integer - default: 5 - description: Number of iterations for the top-level coupling solver - openfast_configuration: - type: object - default: {} - properties: - OF_run_fst: - type: string - default: none - description: Filename prefix for output files - OF_run_dir: - type: string - default: none - description: Path to place FAST output files (e.g. /home/user/myturbines/output) - generate_af_coords: - type: boolean - default: False - description: Flag to write airfoil coordinates out or not - use_exe: - type: boolean - default: False - description: Use openfast executable instead of library - model_only: - type: boolean - default: False - description: Flag to only generate an OpenFAST model and stop - save_timeseries: - type: boolean - default: False - description: Save openfast output timeseries - keep_time: - type: boolean - default: True - description: Keep timeseries in openmdao_openfast for post-processing - save_iterations: - type: boolean - default: False - description: Save summary stats and other info for each openfast iteration. Could bump this up to a more global post-processing input. - FAST_exe: - type: string - default: none - description: Path to FAST executable to override default WEIS value (e.g. /home/user/OpenFAST/bin/openfast) - FAST_lib: - type: string - default: none - description: Path to FAST dynamic library to override default WEIS value (e.g. /home/user/OpenFAST/lib/libopenfast.so) - path2dll: - type: string - default: none - description: Path to controller shared library (e.g. /home/user/myturbines/libdiscon.so) - allow_fails: - type: boolean - default: False - description: Allow WEIS to continue if OpenFAST fails? All outputs will be filled with fail_value. Use with caution! - fail_value: - type: number - default: -9999 - decription: All OpenFAST outputs will be filled with this if the simulation fails. - goodman_correction: - type: boolean - default: False - description: Flag whether to apply the Goodman correction for mean stress value to the stress amplitude value in fatigue calculations - WISDEM: - type: object - default: {} - description: Options for running WISDEM. No further options are included in this file. They are populated using the modeling schema in the WISDEM project in python. - Level1: - type: object - default: {} - description: Options for WEIS fidelity level 1 = frequency domain (RAFT) - properties: - flag: - type: boolean - default: False - description: Whether or not to run WEIS fidelity level 1 = frequency domain (RAFT) - min_freq: - type: number - description: Minimum frequency to evaluate (frequencies will be min_freq:min_freq:max_freq) - default: 0.0159 - minimum: 0.0 - maximum: 1e3 - units: Hz - max_freq: - type: number - description: Maximum frequency to evaluate (frequencies will be min_freq:min_freq:max_freq) - default: 0.3183 - minimum: 0.0 - maximum: 1e3 - units: Hz - potential_bem_members: - type: array - description: List of submerged member names to model with potential flow boundary element methods. Members not listed here will be modeled with strip theory - default: [] - items: - type: string - uniqueItems: True - potential_model_override: - type: integer - default: 0 - enum: [0, 1, 2] - description: User override for potential boundary element modeling. 0 = uses the potential_bem_members list for inviscid force and computes viscous drag with strip theory (members not listed use only strip theory), 1 = no potential BEM modeling for any member (just strip theory), 2 = potential BEM modeling for all members (no strip theory) - xi_start: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1000.0 - description: Initial amplitude of each DOF for all frequencies - nIter: - type: integer - default: 15 - minimum: 1 - maximum: 100 - description: Number of iterations to solve dynamics - dls_max: - type: integer - default: 5 - minimum: 1 - maximum: 100 - description: Maximum node splitting section amount - min_freq_BEM: - type: number - default: 0.0159 - minimum: 0.0 - maximum: 2.0 - description: lowest frequency and frequency interval to use in BEM analysis - units: Hz - trim_ballast: - type: integer - default: 0 - description: Use RAFT to trim ballast so that average heave is near 0 (0 - no trim, 1 - adjust compartment fill values, 2 - adjust ballast density, recommended for now) - heave_tol: - type: number - default: 1 - minimum: 0 - description: Heave tolerance for trim_ballast - units: m - save_designs: - type: boolean - default: False - description: Save RAFT design iterations in /raft_designs - runPyHAMS: - type: boolean - default: True - description: Flag to run pyHAMS - Level3: &ofmodopt - type: object - default: {} - description: Options for WEIS fidelity level 3 = nonlinear time domain - properties: - flag: - type: boolean - default: False - description: Whether or not to run WEIS fidelity level 3 = nonlinear time domain (Linearize OpenFAST) - simulation: &ofsimulation # TODO: Should this also move to analysis settings? - type: object - default: {} - properties: - Echo: &echo - type: boolean - default: False - description: Echo input data to '.ech' (flag) - AbortLevel: - type: string - enum: ['WARNING', 'SEVERE', 'FATAL'] - default: 'FATAL' - description: Error level when simulation should abort (string) {'WARNING', 'SEVERE', 'FATAL'} - DT: - type: number - default: 0.025 - minimum: 0.0 - maximum: 10.0 - unit: s - description: Integration time step (s) - InterpOrder: - type: string - enum: ['1','2', linear, Linear, LINEAR, quadratic, Quadratic, QUADRATIC] - default: '2' - description: Interpolation order for input/output time history (-) {1=linear, 2=quadratic} - NumCrctn: - type: integer - default: 0 - minimum: 0 - maximum: 10 - description: Number of correction iterations (-) {0=explicit calculation, i.e., no corrections} - DT_UJac: - type: number - default: 99999.0 - minimum: 0.0 - maximum: 100000.0 - unit: s - description: Time between calls to get Jacobians (s) - UJacSclFact: - type: number - default: 1e6 - minimum: 0.0 - maximum: 1e9 - description: Scaling factor used in Jacobians (-) - CompElast: - type: integer - enum: [0,1,2] - default: 1 - description: Compute structural dynamics (switch) {1=ElastoDyn; 2=ElastoDyn + BeamDyn for blades} - CompInflow: - type: integer - enum: [0,1,2] - default: 1 - description: Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM} - CompAero: - type: integer - enum: [0,1,2] - default: 2 - description: Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15} - CompServo: - type: integer - enum: [0,1] - default: 1 - description: Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn} - CompHydro: - type: integer - enum: [0,1] - default: 0 - description: Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} - CompSub: - type: integer - enum: [0,1,2] - default: 0 - description: Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF} - CompMooring: - type: integer - enum: [0,1,2,3,4] - default: 0 - description: Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex} - CompIce: - type: integer - enum: [0,1,2] - default: 0 - description: Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn} - MHK: - type: integer - enum: [0,1,2] - default: 0 - description: MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine} - Gravity: - type: number - default: 9.81 - minimum: 0.0 - maximum: 100.0 - unit: m / s**2 - description: Gravitational acceleration (m/s^2) - AirDens: - type: number - default: 1.225 - description: Air density (kg/m^3) - unit: kg/m**3 - WtrDens: - type: number - default: 1025 - description: Water density (kg/m^3) - unit: kg/m**3 - KinVisc: - type: number - default: 1.464E-05 - description: Kinematic viscosity of working fluid (m^2/s) - SpdSound: - type: number - default: 335 - description: Speed of sound in working fluid (m/s) - Patm: - type: number - default: 103500 - description: Atmospheric pressure (Pa) [used only for an MHK turbine cavitation check] - Pvap: - type: number - default: 1700 - description: Vapour pressure of working fluid (Pa) [used only for an MHK turbine cavitation check] - WtrDpth: - type: number - default: 300 - description: Water depth (m) - MSL2SWL: - type: number - default: 0 - description: Offset between still-water level and mean sea level (m) [positive upward] - EDFile: - type: string - default: none - description: Name of file containing ElastoDyn input parameters (quoted string) - BDBldFile(1): - type: string - default: none - description: Name of file containing BeamDyn input parameters for blade 1 (quoted string) - BDBldFile(2): - type: string - default: none - description: Name of file containing BeamDyn input parameters for blade 2 (quoted string) - BDBldFile(3): - type: string - default: none - description: Name of file containing BeamDyn input parameters for blade 3 (quoted string) - InflowFile: - type: string - default: none - description: Name of file containing inflow wind input parameters (quoted string) - AeroFile: - type: string - default: none - description: Name of file containing aerodynamic input parameters (quoted string) - ServoFile: - type: string - default: none - description: Name of file containing control and electrical-drive input parameters (quoted string) - HydroFile: - type: string - default: none - description: Name of file containing hydrodynamic input parameters (quoted string) - SubFile: - type: string - default: none - description: Name of file containing sub-structural input parameters (quoted string) - MooringFile: - type: string - default: none - description: Name of file containing mooring system input parameters (quoted string) - IceFile: - type: string - default: none - description: Name of file containing ice input parameters (quoted string) - SumPrint: - type: boolean - default: False - description: Print summary data to '.sum' (flag) - SttsTime: - type: number - default: 10. - minimum: 0.01 - maximum: 1000. - units: s - description: Amount of time between screen status messages (s) - ChkptTime: - type: number - default: 99999. - minimum: 0.01 - maximum: 1000000. - units: s - description: Amount of time between creating checkpoint files for potential restart (s) - DT_Out: - type: number - default: 0 - description: Time step for tabular output (s) (or 'default') - OutFileFmt: - type: integer - enum: [0,1,2,3] - default: 2 - description: Format for tabular (time-marching) output file (switch) {1 text file [.out], 2 binary file [.outb], 3 both} - TabDelim: - type: boolean - default: True - description: Use tab delimiters in text tabular output file? (flag) (currently unused) - OutFmt: - type: string - default: 'ES10.3E2' - description: Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string (currently unused) - Linearize: - type: boolean - default: False - description: Linearization analysis (flag) - CalcSteady: - type: boolean - default: False - description: Calculate a steady-state periodic operating point before linearization? [unused if Linearize=False] (flag) - TrimCase: - type: string - enum: ['1','2','3', yaw, Yaw, YAW, torque, Torque, TORQUE, pitch, Pitch, PITCH] - default: '3' - description: Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} [used only if CalcSteady=True] (-) - TrimTol: - type: number - default: 0.001 - minimum: 0.0 - maximum: 1.0 - unit: none - description: Tolerance for the rotational speed convergence [used only if CalcSteady=True] (-) - TrimGain: - type: number - default: 0.01 - minimum: 0.0 - maximum: 1.0 - unit: kg*m^2/rad/s - description: Proportional gain for the rotational speed error (>0) [used only if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for torque) - Twr_Kdmp: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1e5 - unit: kg/s - description: Damping factor for the tower [used only if CalcSteady=True] (N/(m/s)) - Bld_Kdmp: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1e5 - unit: kg/s - description: Damping factor for the blades [used only if CalcSteady=True] (N/(m/s)) - NLinTimes: - type: integer - default: 2 - minimum: 0 - maximum: 10 - description: Number of times to linearize (-) [>=1] [unused if Linearize=False] - LinTimes: - type: array - description: List of times at which to linearize (s) [1 to NLinTimes] [used only when Linearize=True and CalcSteady=False] - default: [30.0, 60.0] - items: - type: number - uniqueItems: True - minimum: 0.0 - maximum: 1e4 - LinInputs: - type: string - enum: ['0','1','2', none, None, NONE, standard, Standard, STANDARD, all, All, ALL] - default: '1' - description: Inputs included in linearization (switch) {0=none; 1=standard; 2=all module inputs (debug)} [unused if Linearize=False] - LinOutputs: - type: string - enum: ['0','1','2', none, None, NONE, standard, Standard, STANDARD, all, All, ALL] - default: '1' - description: Outputs included in linearization (switch) {0=none; 1=from OutList(s); 2=all module outputs (debug)} [unused if Linearize=False] - LinOutJac: - type: boolean - default: False - description: Include full Jacobians in linearization output (for debug) (flag) [unused if Linearize=False; used only if LinInputs=LinOutputs=2] - LinOutMod: - type: boolean - default: False - description: Write module-level linearization output files in addition to output for full system? (flag) [unused if Linearize=False] - WrVTK: - type: integer - default: 0 - enum: [0,1,2] - description: VTK visualization data output (switch) {0=none; 1=initialization data only; 2=animation} - VTK_type: - type: integer - default: 2 - enum: [1,2,3] - description: Type of VTK visualization data (switch) {1=surfaces; 2=basic meshes (lines/points); 3=all meshes (debug)} [unused if WrVTK=0] - VTK_fields: - type: boolean - default: False - description: Write mesh fields to VTK data files? (flag) {true/false} [unused if WrVTK=0] - VTK_fps: - type: number - default: 10. - minimum: 0. - description: Frame rate for VTK output (frames per second){will use closest integer multiple of DT} [used only if WrVTK=2] - InflowWind: &ofinflowwind - type: object - default: {} - properties: - Echo: *echo - WindType: - type: integer - enum: [1,2,3,4,5,6,7] - unit: none - default: 1 - description: Switch for wind file type (1=steady; 2=uniform; 3=binary TurbSim FF; 4=binary Bladed-style FF; 5=HAWC format; 6=User defined; 7=native Bladed FF) - PropagationDir: - type: number - default: 0.0 - minimum: 0.0 - maximum: 360.0 - unit: deg - description: Direction of wind propagation (meteoroligical rotation from aligned with X (positive rotates towards -Y) -- degrees) - VFlowAng: - type: number - default: 0.0 - minimum: -90.0 - maximum: 90.0 - unit: deg - description: Upflow angle (degrees) (not used for native Bladed format WindType=7) - VelInterpCubic: - type: boolean - default: False - description: Use cubic interpolation for velocity in time (false=linear, true=cubic) [Used with WindType=2,3,4,5,7] - NWindVel: - type: integer - default: 1 - minimum: 0 - maximum: 9 - unit: none - description: Number of points to output the wind velocity (0 to 9) - HWindSpeed: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1000.0 - unit: m / s - description: Horizontal windspeed, for WindType = 1 - RefHt: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1000.0 - unit: m - description: Reference height for horizontal wind speed (m) - PLExp: - type: number - default: 0.0 - minimum: 0.0 - maximum: 100.0 - unit: none - description: Power law exponent (-) - Filename_Uni: - type: string - default: none - description: Filename of time series data for uniform wind field [used only for WindType = 2] - RefHt_Uni: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1000.0 - unit: m - description: Reference height for horizontal wind speed (m) - RefLength: - type: number - default: 1.0 - minimum: 1.e-6 - maximum: 1000.0 - unit: none - description: Reference length for linear horizontal and vertical sheer (-) [used only for WindType = 2] - FileName_BTS: - type: string - default: none - description: Name of the Full field wind file to use (.bts) [used only for WindType = 3] - FilenameRoot: - type: string - default: none - description: Rootname of the full-field wind file to use (.wnd, .sum) [used only for WindType = 4] - TowerFile: - type: boolean - default: False - description: Have tower file (.twr) (flag) [used only for WindType = 4] - FileName_u: - type: string - default: none - description: Name of the file containing the u-component fluctuating wind (.bin) [Only used with WindType = 5] - FileName_v: - type: string - default: none - description: Name of the file containing the v-component fluctuating wind (.bin) [Only used with WindType = 5] - FileName_w: - type: string - default: none - description: Name of the file containing the w-component fluctuating wind (.bin) [Only used with WindType = 5] - nx: - type: integer - default: 2 - minimum: 2 - maximum: 1000 - unit: none - description: Number of grids in the x direction (in the 3 files above) (-) - ny: - type: integer - default: 2 - minimum: 2 - maximum: 1000 - unit: none - description: Number of grids in the y direction (in the 3 files above) (-) - nz: - type: integer - default: 2 - minimum: 2 - maximum: 1000 - unit: none - description: Number of grids in the z direction (in the 3 files above) (-) - dx: - type: number - default: 10 - minimum: 0. - maximum: 1000. - unit: meter - description: Distance (in meters) between points in the x direction (m) - dy: - type: number - default: 10 - minimum: 0. - maximum: 1000. - unit: meter - description: Distance (in meters) between points in the y direction (m) - dz: - type: number - default: 10 - minimum: 0. - maximum: 1000. - unit: meter - description: Distance (in meters) between points in the z direction (m) - RefHt_Hawc: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1000.0 - unit: m - description: Reference height for horizontal wind speed (m) - ScaleMethod: - type: integer - default: 0 - enum: [0,1,2] - unit: none - description: Turbulence scaling method [0 = none, 1 = direct scaling, 2 = calculate scaling factor based on a desired standard deviation] - SFx: - type: number - default: 1. - minimum: 0. - maximum: 1000. - unit: none - description: Turbulence scaling factor for the x direction (-) [ScaleMethod=1] - SFy: - type: number - default: 1. - minimum: 0. - maximum: 1000. - unit: none - description: Turbulence scaling factor for the y direction (-) [ScaleMethod=1] - SFz: - type: number - default: 1. - minimum: 0. - maximum: 1000. - unit: none - description: Turbulence scaling factor for the z direction (-) [ScaleMethod=1] - SigmaFx: - type: number - default: 1. - minimum: 0. - maximum: 1000. - unit: m /s - description: Turbulence standard deviation to calculate scaling from in x direction (m/s) [ScaleMethod=2] - SigmaFy: - type: number - default: 1. - minimum: 0. - maximum: 1000. - unit: m /s - description: Turbulence standard deviation to calculate scaling from in y direction (m/s) [ScaleMethod=2] - SigmaFz: - type: number - default: 1. - minimum: 0. - maximum: 1000. - unit: m /s - description: Turbulence standard deviation to calculate scaling from in z direction (m/s) [ScaleMethod=2] - URef: - type: number - default: 0. - minimum: 0. - maximum: 1000. - unit: m / s - description: Mean u-component wind speed at the reference height (m/s) [HAWC-format files] - WindProfile: - type: integer - default: 0 - enum: [0,1,2] - unit: none - description: Wind profile type (0=constant;1=logarithmic,2=power law) - PLExp_Hawc: - type: number - default: 0. - minimum: 0. - maximum: 1000. - unit: none - description: Power law exponent (-) (used for PL wind profile type only)[HAWC-format files] - Z0: - type: number - default: 0. - minimum: 0. - maximum: 1000. - unit: m - description: Surface roughness length (m) (used for LG wind profile type only)[HAWC-format files] - XOffset: - type: number - default: 0 - minimum: 0. - maximum: 1000. - unit: m - description: Initial offset in +x direction (shift of wind box) - SumPrint: - type: boolean - default: False - description: Print summary data to '.sum' (flag) - SensorType: - type: integer - enum: [0,1,2,3] - default: 0 - description: Switch for lidar configuration (0 = None, 1 = Single Point Beam(s), 2 = Continuous, 3 = Pulsed) - NumPulseGate: - type: integer - default: 0 - description: Number of lidar measurement gates (used when SensorType = 3) - PulseSpacing: - type: number - default: 0 - description: Distance between range gates (m) (used when SensorType = 3) - NumBeam: - type: integer - enum: [0,1,2,3,4,5] - default: 0 - description: Number of lidar measurement beams (0-5)(used when SensorType = 1) - FocalDistanceX: - type: number - default: 0 - description: Focal distance coordinates of the lidar beam in the x direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) - FocalDistanceY: - type: number - default: 0. - description: Focal distance coordinates of the lidar beam in the y direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) - FocalDistanceZ: - type: number - default: 0. - description: Focal distance coordinates of the lidar beam in the z direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) - RotorApexOffsetPos: - type: array - default: [0.0, 0.0, 0.0] - description: Offset of the lidar from hub height (m) - items: - type: number - minItems: 3 - maxItems: 3 - URefLid: - type: number - default: 0. - minimum: 0. - description: Reference average wind speed for the lidar [m/s] - MeasurementInterval: - type: number - default: 0. - minimum: 0. - description: Time between each measurement [s] - LidRadialVel: - type: boolean - default: False - description: TRUE => return radial component, FALSE => return 'x' direction estimate - ConsiderHubMotion: - type: integer - default: 1 - description: Flag whether to consider the hub motion's impact on Lidar measurements - AeroDyn: &ofaerodyn - type: object - default: {} - properties: - flag: - type: boolean - default: False - description: Whether or not to run AeroDyn - Echo: *echo - DTAero: - type: number - default: 0. - minimum: 0. - maximum: 10. - unit: s - description: Time interval for aerodynamic calculations. Set it to 0. for default (same as main fst) - WakeMod: - type: integer - enum: [0, 1, 2, 3] - default: 1 - description: Type of wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} - AFAeroMod: - type: integer - enum: [0, 1, 2] - default: 2 - description: Type of blade airfoil aerodynamics model (switch) {1=steady model, 2=Beddoes-Leishman unsteady model} [must be 1 when linearizing] - TwrPotent: - type: integer - enum: [0, 1, 2] - default: 1 - description: Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} - TwrShadow: - type: integer - enum: [0, 1, 2] - default: 1 - description: Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} - TwrAero: - type: boolean - default: True - description: Calculate tower aerodynamic loads? (flag) - FrozenWake: - type: boolean - default: False - description: Assume frozen wake during linearization? (flag) [used only when WakeMod=1 and when linearizing] - CavitCheck: - type: boolean - default: False - description: Perform cavitation check? (flag) TRUE will turn off unsteady aerodynamics - Buoyancy: - type: boolean - default: False - description: Include buoyancy effects? (flag) - CompAA: - type: boolean - default: False - description: Flag to compute AeroAcoustics calculation [only used when WakeMod=1 or 2] - AA_InputFile: - type: string - default: AeroAcousticsInput.dat - description: Aeroacoustics input file - SkewMod: - type: integer - enum: [1,2,3] - default: 2 - description: Type of skewed-wake correction model (switch) {1=uncoupled, 2=Pitt/Peters, 3=coupled} [used only when WakeMod=1] - SkewModFactor: - type: number - default: 1.4726215563702154 - description: Constant used in Pitt/Peters skewed wake model {or 'default' is 15/32*pi} (-) [used only when SkewMod=2; unused when WakeMod=0] - TipLoss: - type: boolean - default: True - description: Use the Prandtl tip-loss model? (flag) [used only when WakeMod=1] - HubLoss: - type: boolean - default: True - description: Use the Prandtl hub-loss model? (flag) [used only when WakeMod=1] - TanInd: - type: boolean - default: True - description: Include tangential induction in BEMT calculations? (flag) [used only when WakeMod=1] - AIDrag: - type: boolean - default: True - description: Include the drag term in the axial-induction calculation? (flag) [used only when WakeMod=1] - TIDrag: - type: boolean - default: True - description: Include the drag term in the tangential-induction calculation? (flag) [used only when WakeMod=1 and TanInd=TRUE] - IndToler: - type: number - default: 0.0 - description: Convergence tolerance for BEMT nonlinear solve residual equation {or 0.0 for default} (-) [used only when WakeMod=1] - MaxIter: - type: integer - default: 500 - description: Maximum number of iteration steps (-) [used only when WakeMod=1] - DBEMT_Mod: - type: integer - enum: [1, 2, 3] - default: 2 - description: Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) [used only when WakeMod=2] - tau1_const: - type: number - unit: s - default: 2.0 - minimum: 0.0 - maximum: 1000.0 - description: Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1] - OLAFInputFileName: - type: string - default: unused - description: Input file for OLAF [used only when WakeMod=3] - OLAF: - type: object - default: {} - properties: - IntMethod: - type: integer - enumerate: [5] - default: 5 - description: Integration method 1 RK4, 5 Forward Euler 1st order, default 5 switch - DTfvw: - type: number - default: 0. - minimum: 0. - maximum: 10. - unit: s - description: Time interval for wake propagation. {default dtaero} (s) - FreeWakeStart: - default: 0. - minimum: 0. - maximum: 10. - unit: s - description: Time when wake is free. (-) value = always free. {default 0.0} (s) - FullCircStart: - default: 0. - minimum: 0. - maximum: 10. - unit: s - description: Time at which full circulation is reached. {default 0.0} (s) - CircSolvMethod: - type: integer - enumerate: [1, 2, 3] - default: 1 - description: Circulation solving method {1 Cl-Based, 2 No-Flow Through, 3 Prescribed, default 1 }(switch) - CircSolvConvCrit: - type: number - default: 0.001 - description: Convergence criteria {default 0.001} [only if CircSolvMethod=1] (-) - CircSolvRelaxation: - type: number - default: 0.1 - description: Relaxation factor {default 0.1} [only if CircSolvMethod=1] (-) - CircSolvMaxIter: - type: integer - default: 30 - description: Maximum number of iterations for circulation solving {default 30} (-) - PrescribedCircFile: - type: string - default: 'NA' - description: File containing prescribed circulation [only if CircSolvMethod=3] (quoted string) - nNWPanels: - type: integer - minimum: 0 - default: 120 - description: Number of near-wake panels [integer] (-) - nNWPanelsFree: - type: integer - minimum: 0 - default: 120 - description: Number of free near-wake panels (-) {default nNWPanels} - nFWPanels: - type: integer - minimum: 0 - default: 0 - description: Number of far-wake panels (-) {default 0} - nFWPanelsFree: - type: integer - minimum: 0 - default: 0 - description: Number of free far-wake panels (-) {default nFWPanels} - FWShedVorticity: - type: boolean - default: False - description: Include shed vorticity in the far wake {default false} - DiffusionMethod: - type: integer - enumerate: [0, 1] - default: 0 - description: Diffusion method to account for viscous effects {0 None, 1 Core Spreading, 'default' 0} - RegDeterMethod: - type: integer - enumerate: [0, 1, 2, 3] - default: 0 - description: Method to determine the regularization parameters {0 Manual, 1 Optimized, 2 chord, 3 span default 0 } - RegFunction: - type: integer - enumerate: [0, 1, 2, 3, 4] - default: 3 - description: Viscous diffusion function {0 None, 1 Rankine, 2 LambOseen, 3 Vatistas, 4 Denominator, 'default' 3} (switch) - WakeRegMethod: - type: integer - enumerate: [0, 1, 2, 3] - default: 1 - description: Wake regularization method {1 Constant, 2 Stretching, 3 Age, default 1} (switch) - WakeRegFactor: - type: number - default: 0.25 - description: Wake regularization factor (m) - WingRegFactor: - type: number - default: 0.25 - description: Wing regularization factor (m) - CoreSpreadEddyVisc: - type: number - default: 100 - description: Eddy viscosity in core spreading methods, typical values 1-1000 - TwrShadowOnWake: - type: boolean - default: False - description: Include tower flow disturbance effects on wake convection {default:false} [only if TwrPotent or TwrShadow] - ShearModel: - type: integer - enumerate: [0, 1] - default: 0 - description: Shear Model {0 No treatment, 1 Mirrored vorticity, default 0} - VelocityMethod: - type: integer - enumerate: [1, 2] - default: 1 - description: Method to determine the velocity {1Biot-Savart Segment, 2Particle tree, default 1} - TreeBranchFactor: - type: number - minimum: 0. - default: 2.0 - description: Branch radius fraction above which a multipole calculation is used {default 2.0} [only if VelocityMethod=2] - PartPerSegment: - type: integer - default: 1 - minimum: 0 - description: Number of particles per segment [only if VelocityMethod=2] - WrVTk: - type: integer - default: 0 - enumerate: [0, 1] - description: Outputs Visualization Toolkit (VTK) (independent of .fst option) {0 NoVTK, 1 Write VTK at each time step} (flag) - nVTKBlades: - type: integer - default: 3 - enumerate: [0, 1, 2, 3, 4, 5, 6] - description: Number of blades for which VTK files are exported {0 No VTK per blade, n VTK for blade 1 to n} (-) - VTKCoord: - type: integer - enumerate: [1, 2, 3] - default: 1 - description: Coordinate system used for VTK export. {1 Global, 2 Hub, 3 Both, 'default' 1} - VTK_fps: - type: number - default: 1 - description: Frame rate for VTK output (frames per second) {"all" for all glue code timesteps, "default" for all OLAF timesteps} [used only if WrVTK=1] - nGridOut: - type: integer - default: 0 - description: (GB DEBUG 7/8) Number of grid points for VTK output - UAMod: - type: integer - enum: [1,2,3] - default: 3 - description: Unsteady Aero Model Switch (switch) {1=Baseline model (Original), 2=Gonzalez's variant (changes in Cn,Cc,Cm), 3=Minemma/Pierce variant (changes in Cc and Cm)} [used only when AFAeroMod=2] - FLookup: - type: boolean - default: True - description: Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when AFAeroMod=2] - AFTabMod: - type: integer - enum: [1,2,3] - default: 1 - description: Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) - InCol_Alfa: - type: integer - default: 1 - description: The column in the airfoil tables that contains the angle of attack (-) - InCol_Cl: - type: integer - default: 2 - description: The column in the airfoil tables that contains the lift coefficient (-) - InCol_Cd: - type: integer - default: 3 - description: The column in the airfoil tables that contains the drag coefficient (-) - InCol_Cm: - type: integer - default: 4 - description: The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) - InCol_Cpmin: - type: integer - default: 0 - description: The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) - UseBlCm: - type: boolean - default: True - description: Include aerodynamic pitching moment in calculations? (flag) - VolHub: - type: number - default: 0 - description: Hub volume (m^3) - minimum: 0. - HubCenBx: - type: number - default: 0 - description: Hub center of buoyancy x direction offset (m) - minimum: -100. - maximum: 100. - VolNac: - type: number - default: 0 - description: Nacelle volume (m^3) - minimum: 0. - NacCenB: - type: array - default: [0.0, 0.0, 0.0] - description: Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) - items: - type: number - minItems: 3 - maxItems: 3 - minimum: -100. - maximum: 100. - TFinAero: - type: boolean - default: False - description: Calculate tail fin aerodynamics model (flag) - TFinFile: - type: string - default: "unused" - description: Input file for tail fin aerodynamics [used only when TFinAero=True] - Patm: - type: number - minimum: 0. - default: 1.035000000000000e+05 - description: Atmospheric pressure (Pa) [used only when CavitCheck=True] - Pvap: - type: number - minimum: 0. - default: 1.700000000000000e+03 - description: Vapour pressure of fluid (Pa) [used only when CavitCheck=True] - FluidDepth: - type: number - minimum: 0. - default: 5.000000000000000e-01 - description: Water depth above mid-hub height (m) [used only when CavitCheck=True] - TwrTI: - type: number - default: 0.1 - minimum: 0. - maximum: 10. - description: Turbulence intensity used in the Eames tower shadow model. Values of TwrTI between 0.05 and 0.4 are recommended. - TwrCb: - type: number - default: 0.0 - # minimum: 0. - # maximum: 10. - description: Turbulence buoyancy coefficient - SumPrint: - type: boolean - default: False - description: Print summary data to '.sum' (flag) - ElastoDyn: &ofelastodyn - type: object - default: {} - properties: - Echo: *echo - Method: - type: string - default: '3' - enum: ['1', '2', '3', RK4, AB4, ABM4] - DT: - type: number - default: 0.0 - minimum: 0.0 - maximum: 10.0 - unit: s - description: Integration time step, 0.0 for default (s) - FlapDOF1: - type: boolean - default: True - description: First flapwise blade mode DOF (flag) - FlapDOF2: - type: boolean - default: True - description: Second flapwise blade mode DOF (flag) - EdgeDOF: - type: boolean - default: True - description: First edgewise blade mode DOF (flag) - TeetDOF: - type: boolean - default: False - description: Rotor-teeter DOF (flag) [unused for 3 blades] - DrTrDOF: - type: boolean - default: True - description: Drivetrain rotational-flexibility DOF (flag) - GenDOF: - type: boolean - default: True - description: Generator DOF (flag) - YawDOF: - type: boolean - default: True - description: Yaw DOF (flag) - TwFADOF1: - type: boolean - default: True - description: First fore-aft tower bending-mode DOF (flag) - TwFADOF2: - type: boolean - default: True - description: Second fore-aft tower bending-mode DOF (flag) - TwSSDOF1: - type: boolean - default: True - description: First side-to-side tower bending-mode DOF (flag) - TwSSDOF2: - type: boolean - default: True - description: Second side-to-side tower bending-mode DOF (flag) - PtfmSgDOF: - type: boolean - default: True - description: Platform horizontal surge translation DOF (flag) - PtfmSwDOF: - type: boolean - default: True - description: Platform horizontal sway translation DOF (flag) - PtfmHvDOF: - type: boolean - default: True - description: Platform vertical heave translation DOF (flag) - PtfmRDOF: - type: boolean - default: True - description: Platform roll tilt rotation DOF (flag) - PtfmPDOF: - type: boolean - default: True - description: Platform pitch tilt rotation DOF (flag) - PtfmYDOF: - type: boolean - default: True - description: Platform yaw rotation DOF (flag) - OoPDefl: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m - description: Initial out-of-plane blade-tip displacement (meters) - IPDefl: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m - description: Initial in-plane blade-tip deflection (meters) - BlPitch1: - type: number - minimum: -1.5707963267948966 # -90deg - maximum: 1.5707963267948966 # 90deg - default: 0.017453292519943295 # 1 deg - unit: rad - description: Blade 1 initial pitch (radians) - BlPitch2: - type: number - minimum: -1.5707963267948966 # -90deg - maximum: 1.5707963267948966 # 90deg - default: 0.017453292519943295 # 1 deg - unit: rad - description: Blade 2 initial pitch (radians) - BlPitch3: - type: number - minimum: -1.5707963267948966 # -90deg - maximum: 1.5707963267948966 # 90deg - default: 0.017453292519943295 # 1 deg - unit: rad - description: Blade 3 initial pitch (radians) [unused for 2 blades] - TeetDefl: - type: number - minimum: -1.5707963267948966 # -90deg - maximum: 1.5707963267948966 # 90deg - default: 0.0 - unit: rad - description: Initial or fixed teeter angle (radians) [unused for 3 blades] - Azimuth: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Initial azimuth angle for blade 1 (radians) - RotSpeed: - type: number - minimum: 0.0 - maximum: 100.0 - default: 5.0 - unit: rpm - description: Initial or fixed rotor speed (rpm) - NacYaw: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Initial or fixed nacelle-yaw angle (radians) - TTDspFA: - type: number - minimum: 0.0 - maximum: 50.0 - default: 0.0 - unit: m - description: Initial fore-aft tower-top displacement (meters) - TTDspSS: - type: number - minimum: 0.0 - maximum: 50.0 - default: 0.0 - unit: m - description: Initial side-to-side tower-top displacement (meters) - PtfmSurge: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m - description: Initial or fixed horizontal surge translational displacement of platform (meters) - PtfmSway: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m - description: Initial or fixed horizontal sway translational displacement of platform (meters) - PtfmHeave: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m - description: Initial or fixed vertical heave translational displacement of platform (meters) - PtfmRoll: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Initial or fixed roll tilt rotational displacement of platform (radians) - PtfmPitch: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Initial or fixed pitch tilt rotational displacement of platform (radians) - PtfmYaw: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Initial or fixed yaw rotational displacement of platform (radians) - UndSling: - type: number - minimum: -10. - maximum: 10. - default: 0. - unit: m - description: Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades] - Delta3: - type: number - minimum: -30. - maximum: 30. - default: 0. - unit: deg - description: Delta-3 angle for teetering rotors (degrees) [unused for 3 blades] - AzimB1Up: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Azimuth value to use for I/O when blade 1 points up (radians) - ShftGagL: - type: number - minimum: -10. - maximum: 10. - default: 0. - unit: m - description: Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters) - NcIMUxn: - type: number - minimum: -10. - maximum: 10. - default: 0. - unit: m - description: Downwind distance from the tower-top to the nacelle IMU (meters) - NcIMUyn: - type: number - minimum: -10. - maximum: 10. - default: 0. - unit: m - description: Lateral distance from the tower-top to the nacelle IMU (meters) - NcIMUzn: - type: number - minimum: -10. - maximum: 10. - default: 0. - unit: m - description: Vertical distance from the tower-top to the nacelle IMU (meters) - BldNodes: - type: integer - minimum: 10 - maximum: 200 - default: 50 - unit: none - description: Number of blade nodes (per blade) used for analysis (-) - TeetMod: - type: integer - enum: [0, 1, 2] - default: 0 - description: 'Rotor-teeter spring/damper model {0: none, 1: standard, 2: user-defined from routine UserTeet} (switch) [unused for 3 blades]' - TeetDmpP: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Rotor-teeter damper position (radians) [used only for 2 blades and when TeetMod=1] - TeetDmp: - type: number - minimum: 0.0 - maximum: 1e4 - default: 0.0 - unit: kg*m^2/rad/s - description: Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1] - TeetCDmp: - type: number - minimum: 0.0 - maximum: 1e4 - default: 0.0 - unit: kg*m^2/s^2 - description: Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1] - TeetSStP: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Rotor-teeter soft-stop position (radians) [used only for 2 blades and when TeetMod=1] - TeetHStP: - type: number - minimum: -6.283185307179586 # -360 deg - maximum: 6.283185307179586 # 360 deg - default: 0.0 - unit: rad - description: Rotor-teeter hard-stop position (radians) [used only for 2 blades and when TeetMod=1] - TeetSSSp: - type: number - minimum: 0.0 - maximum: 1e4 - default: 0.0 - unit: kg*m^2/rad/s^2 - description: Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] - TeetHSSp: - type: number - minimum: 0.0 - maximum: 1e4 - default: 0.0 - unit: kg*m^2/rad/s^2 - description: Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] - Furling: - type: boolean - default: False - description: Read in additional model properties for furling turbine (flag) [must currently be FALSE) - FurlFile: - type: string - default: none - description: Name of file containing furling properties (quoted string) [unused when Furling=False] - TwrNodes: - type: integer - minimum: 10 - maximum: 200 - default: 20 - unit: none - description: Number of tower nodes used for analysis (-) - SumPrint: - type: boolean - default: False - description: Print summary data to '.sum' (flag) - OutFile: - type: integer - default: 1 - description: Switch to determine where output will be placed 1 in module output file only; 2 in glue code output file only; 3 both (currently unused) - TabDelim: - type: boolean - default: True - description: Use tab delimiters in text tabular output file? (flag) (currently unused) - OutFmt: - type: string - default: 'ES10.3E2' - description: Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string (currently unused) - DecFact: - type: integer - default: 1 - description: Decimation factor for tabular output 1 output every time step} (-) (currently unused) - TStart: - type: number - default: 0.0 - minimum: 0.0 - maximum: 100000.0 - unit: s - description: Time to begin tabular output (s) (currently unused) - ElastoDynBlade: &ofelastodynblade - type: object - default: {} - properties: - BldFlDmp1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Blade flap mode 1 structural damping in percent of critical (%) - BldFlDmp2: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Blade flap mode 2 structural damping in percent of critical (%) - BldEdDmp1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Blade edge mode 1 structural damping in percent of critical (%) - FlStTunr1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Blade flapwise modal stiffness tuner, 1st mode (-) - FlStTunr2: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Blade flapwise modal stiffness tuner, 2nd mode (-) - AdjBlMs: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Factor to adjust blade mass density (-) - AdjFlSt: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Factor to adjust blade flap stiffness (-) - AdjEdSt: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Factor to adjust blade edge stiffness (-) - ElastoDynTower: &ofelastodyntower - type: object - default: {} - properties: - TwrFADmp1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower 1st fore-aft mode structural damping ratio (%) - TwrFADmp2: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower 2nd fore-aft mode structural damping ratio (%) - TwrSSDmp1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower 1st side-to-side mode structural damping ratio (%) - TwrSSDmp2: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower 2nd side-to-side mode structural damping ratio (%) - FlStTunr1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Blade flapwise modal stiffness tuner, 1st mode (-) - FAStTunr1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower fore-aft modal stiffness tuner, 1st mode (-) - FAStTunr2: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower fore-aft modal stiffness tuner, 2nd mode (-) - SSStTunr1: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower side-to-side stiffness tuner, 1st mode (-) - SSStTunr2: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Tower side-to-side stiffness tuner, 2nd mode (-) - AdjTwMa: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Factor to adjust tower mass density (-) - AdjFASt: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Factor to adjust tower fore-aft stiffness (-) - AdjSSSt: - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - unit: none - description: Factor to adjust tower side-to-side stiffness (-) - BeamDyn: &ofbeamdyn - type: object - default: {} - properties: - QuasiStaticInit: - type: boolean - default: True - description: Use quasistatic pre-conditioning with centripetal accelerations in initialization (flag) [dynamic solve only] - rhoinf: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1e10 - unit: none - description: Numerical damping parameter for generalized-alpha integrator - quadrature: - type: string - enum: ['1', '2', gaussian, Gaussian, GAUSSIAN, trapezoidal, Trapezoidal, TRAPEZOIDAL] - default: '2' - description: 'Quadrature method: 1=Gaussian; 2=Trapezoidal (switch)' - refine: - type: integer - minimum: 1 - maximum: 10 - default: 1 - description: Refinement factor for trapezoidal quadrature (-). DEFAULT = 1 [used only when quadrature=2] - n_fact: - type: integer - minimum: 1 - maximum: 50 - default: 5 - description: Factorization frequency (-). DEFAULT = 5 - DTBeam: - type: number - default: 0.0 - minimum: 0.0 - maximum: 10.0 - unit: s - description: Time step size (s). Use 0.0 for Default - load_retries: - type: integer - minimum: 0 - maximum: 50 - default: 0 - description: Number of factored load retries before quitting the simulation. Use 0 for Default - NRMax: - type: integer - minimum: 1 - maximum: 100 - default: 10 - description: Max number of iterations in Newton-Ralphson algorithm (-). DEFAULT = 10 - stop_tol: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1e16 - unit: none - description: Tolerance for stopping criterion (-) - tngt_stf_fd: - type: boolean - default: False - description: Flag to use finite differenced tangent stiffness matrix (-) - tngt_stf_comp: - type: boolean - default: False - description: Flag to compare analytical finite differenced tangent stiffness matrix (-) - tngt_stf_pert: - type: number - minimum: 0.0 - maximum: 1e1 - default: 0.0 - unit: none - description: perturbation size for finite differencing (-). Use 0.0 for DEFAULT - tngt_stf_difftol: - type: number - minimum: 0.0 - maximum: 1e2 - default: 0.0 - unit: none - description: Maximum allowable relative difference between analytical and fd tangent stiffness (-) - RotStates: - type: boolean - default: True - description: Orient states in the rotating frame during linearization? (flag) [used only when linearizing] - order_elem: - type: integer - minimum: 0 - maximum: 50 - default: 10 - description: Order of interpolation (basis) function (-) - UsePitchAct: - type: boolean - default: False - description: Whether a pitch actuator should be used (flag) - PitchJ: - type: number - minimum: 0.0 - maximum: 1e12 - default: 200.0 - unit: kg*m^2 - description: Pitch actuator inertia (kg-m^2) [used only when UsePitchAct is true] - PitchK: - type: number - minimum: 0.0 - maximum: 1e12 - default: 2e7 - unit: kg*m^2/s^2 - description: Pitch actuator stiffness (kg-m^2/s^2) [used only when UsePitchAct is true] - PitchC: - type: number - minimum: 0.0 - maximum: 1e12 - default: 5e5 - unit: kg*m^2/s - description: Pitch actuator damping (kg-m^2/s) [used only when UsePitchAct is true] - HydroDyn: &ofhydrodyn - type: object - default: {} - properties: - Echo: *echo - WaveMod: - type: integer - enum: [0, 1, 2, 3, 4, 5, 6] - default: 2 - description: Incident wave kinematics model {0- none/still water, 1- regular (periodic), 1P#- regular with user-specified phase, 2- JONSWAP/Pierson-Moskowitz spectrum (irregular), 3- White noise spectrum (irregular), 4- user-defined spectrum from routine UserWaveSpctrm (irregular), 5- Externally generated wave-elevation time series, 6- Externally generated full wave-kinematics time series [option 6 is invalid for PotMod/=0]} (switch) - WaveStMod: - type: integer - enum: [0, 1, 2, 3] - default: 0 - description: Model for stretching incident wave kinematics to instantaneous free surface {0 = none=no stretching, 1 = vertical stretching, 2 = extrapolation stretching, 3 = Wheeler stretching} (switch) [unused when WaveMod=0 or when PotMod/=0] - WaveTMax: - type: number - default: 3600 - minimum: 0.0 - maximum: 1e5 - unit: s - description: Analysis time for incident wave calculations (sec) [unused when WaveMod=0; determines WaveDOmega=2Pi/WaveTMax in the IFFT] - WaveDT: - type: number - default: 0.25 - minimum: 0.0 - maximum: 10.0 - unit: s - description: Time step for incident wave calculations (sec) [unused when WaveMod=0; 0.1<=WaveDT<=1.0 recommended; determines WaveOmegaMax=Pi/WaveDT in the IFFT] - WavePkShp: - type: number - default: 1.0 - minimum: 1 - maximum: 7 - unit: none - description: Peak-shape parameter of incident wave spectrum (-) or DEFAULT (string) [used only when WaveMod=2; use 1.0 for Pierson-Moskowitz] - WvLowCOff: - type: number - default: 0.111527 - minimum: 0.0 - maximum: 1e3 - unit: rad/s - description: Low cut-off frequency or lower frequency limit of the wave spectrum beyond which the wave spectrum is zeroed (rad/s) [unused when WaveMod=0, 1, or 6] - WvHiCOff: - type: number - default: 0.783827 - minimum: 0.0 - maximum: 1e3 - unit: rad/s - description: High cut-off frequency or upper frequency limit of the wave spectrum beyond which the wave spectrum is zeroed (rad/s) [unused when WaveMod=0, 1, or 6] - WaveDir: # TODO: Move to Environment section - type: number - default: 0.0 - minimum: 0.0 - maximum: 6.283185307179586 - unit: rad - description: Incident wave propagation heading direction [unused when WaveMod=0 or 6] - WaveDirMod: - type: integer - enum: [0, 1] - default: 0 - description: Directional spreading function {0 = none, 1 = COS2S} [only used when WaveMod=2,3, or 4] - WaveDirSpread: - type: number - default: 1.0 - minimum: 0.0 - maximum: 1e4 - unit: none - description: Wave direction spreading coefficient ( > 0 ) [only used when WaveMod=2,3, or 4 and WaveDirMod=1] - WaveNDir: - type: integer - enum: [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49] - default: 1 - description: Number of wave directions [only used when WaveMod=2,3, or 4 and WaveDirMod=1; odd number only] - WaveDirRange: - type: number - unit: deg - default: 90 - minimum: 0.0 - maximum: 360 - description: Range of wave directions (full range = WaveDir +/- 1/2*WaveDirRange) (degrees) [only used when WaveMod=2,3,or 4 and WaveDirMod=1] - WaveSeed1: - type: integer - minimum: -2147483648 - maximum: 2147483647 - default: -561580799 - description: First random seed of incident waves [-2147483648 to 2147483647] [unused when WaveMod=0, 5, or 6] - WaveSeed2: - default: RANLUX - description: Second random seed of incident waves [-2147483648 to 2147483647] [unused when WaveMod=0, 5, or 6]. Use RANLUX for internal FAST pseudo-random number generator - WaveNDAmp: - type: boolean - default: True - description: Flag for normally distributed amplitudes [only used when WaveMod=2, 3, or 4] - WvKinFile: - type: string - default: '' - description: Root name of externally generated wave data file(s) (quoted string) [used only when WaveMod=5 or 6] - NWaveElev: - type: integer - default: 1 - minimum: 0 - maximum: 9 - description: Number of points where the incident wave elevations can be computed (-) [maximum of 9 output locations] - WaveElevxi: - type: array - default: ['0.0'] - description: List of xi-coordinates for points where the incident wave elevations can be output (meters) [NWaveElev points, separated by commas or white space; usused if NWaveElev = 0] - items: - type: string - # default: 0.0 - # unit: m - maxItems: 9 - WaveElevyi: - type: array - default: ['0.0'] - description: List of yi-coordinates for points where the incident wave elevations can be output (meters) [NWaveElev points, separated by commas or white space; usused if NWaveElev = 0] - items: - type: string - # default: 0.0 - # unit: m - maxItems: 9 - WvDiffQTF: - type: boolean - default: False - description: Full difference-frequency 2nd-order wave kinematics (flag) - WvSumQTF: - type: boolean - default: False - description: Full summation-frequency 2nd-order wave kinematics (flag) - WvLowCOffD: - type: number - minimum: 0.0 - maximum: 1e4 - default: 0.0 - unit: rad/s - description: Low frequency cutoff used in the difference-frequencies (rad/s) [Only used with a difference-frequency method] - WvHiCOffD: - type: number - minimum: 0.0 - maximum: 1e4 - default: 0.737863 - unit: rad/s - description: High frequency cutoff used in the difference-frequencies (rad/s) [Only used with a difference-frequency method] - WvLowCOffS: - type: number - minimum: 0.0 - maximum: 1e4 - default: 0.314159 - unit: rad/s - description: Low frequency cutoff used in the summation-frequencies (rad/s) [Only used with a summation-frequency method] - WvHiCOffS: - type: number - minimum: 0.0 - maximum: 1.e+4 - default: 3.2 - unit: rad/s - description: High frequency cutoff used in the summation-frequencies (rad/s) [Only used with a summation-frequency method] - CurrMod: - type: integer - enum: [0, 1, 2] - default: 0 - description: Current profile model {0 = none=no current, 1 = standard, 2 = user-defined from routine UserCurrent} (switch) - CurrSSV0: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m/s - description: Sub-surface current velocity at still water level (m/s) [used only when CurrMod=1] - CurrSSDir: - type: number - default: 0 - maximum: 6.283185307179586 - unit: rad - description: Sub-surface current heading direction (radians) or 0.0 for default [used only when CurrMod=1] - CurrNSRef: - type: number - minimum: 0.0 - maximum: 1e4 - default: 20.0 - unit: m - description: Near-surface current reference depth (meters) [used only when CurrMod=1] - CurrNSV0: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m/s - description: Near-surface current velocity at still water level (m/s) [used only when CurrMod=1] - CurrNSDir: - type: number - default: 0.0 - minimum: 0.0 - maximum: 6.283185307179586 - unit: rad - description: Near-surface current heading direction (degrees) [used only when CurrMod=1] - CurrDIV: - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - unit: m/s - description: Depth-independent current velocity (m/s) [used only when CurrMod=1] - CurrDIDir: - type: number - default: 0.0 - minimum: 0.0 - maximum: 6.283185307179586 - unit: rad - description: Depth-independent current heading direction (radians) [used only when CurrMod=1] - PotMod: - type: integer - enum: [0, 1, 2] - default: 0 - description: Potential-flow model {0 = none=no potential flow, 1 = frequency-to-time-domain transforms based on Capytaine/NEMOH/WAMIT output, 2 = fluid-impulse theory (FIT)} (switch) - PotFile: - type: string - default: 'unused' - description: Will be automatically filled in with HAMS output unless a value here overrides it; WAMIT output files containing the linear, nondimensionalized, hydrostatic restoring matrix (.hst), frequency-dependent hydrodynamic added mass matrix and damping matrix (.1), and frequency- and direction-dependent wave excitation force vector per unit wave amplitude (.3) (quoted string) [MAKE SURE THE FREQUENCIES INHERENT IN THESE WAMIT FILES SPAN THE PHYSICALLY-SIGNIFICANT RANGE OF FREQUENCIES FOR THE GIVEN PLATFORM; THEY MUST CONTAIN THE ZERO- AND INFINITE-FREQUENCY LIMITS] - WAMITULEN: - type: number - minimum: 0.0 - maximum: 1e3 - default: 1.0 - unit: m - description: Characteristic body length scale used to redimensionalize Capytaine/NEMOH/WAMIT output (meters) [only used when PotMod=1] - # PtfmVol0: - # type: number - # default: 0.0 - # minimum: 0.0 - # units: m^3 - # description: Displaced volume of water when the platform is in its undisplaced position (m^3) [only used when PotMod=1; USE THE SAME VALUE COMPUTED BY WAMIT AS OUTPUT IN THE .OUT FILE!] - PtfmMass_Init: - type: number - default: 0.0 - minimum: 0.0 - units: kg - description: Mass of initial platform design. When PtfmMass_Init > 0, PtfmVol0 will scale with the platform mass; this is a temporary solution to enable spar simulations where the heave is very sensitive to platform mass. - PtfmCOBxt: - type: number - default: 0.0 - minimum: 0.0 - units: m - description: The xt offset of the center of buoyancy (COB) from the platform reference point (meters) [only used when PotMod=1] - PtfmCOByt: - type: number - default: 0.0 - minimum: 0.0 - units: m - description: The yt offset of the center of buoyancy (COB) from the platform reference point (meters) [only used when PotMod=1] - ExctnMod: - type: integer - enum: [0, 1, 2] - default: 0 - description: Wave Excitation model {0 = None, 1 = DFT, 2 = state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE] - RdtnMod: - type: integer - enum: [0, 1, 2] - default: 0 - description: Radiation memory-effect model {0 = no memory-effect calculation, 1 = convolution, 2 = state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ss INPUT FILE] - RdtnTMax: - type: number - minimum: 0.0 - maximum: 1e3 - default: 60.0 - unit: s - description: Analysis time for wave radiation kernel calculations (sec) [only used when PotMod=1; determines RdtnDOmega=Pi/RdtnTMax in the cosine transform; MAKE SURE THIS IS LONG ENOUGH FOR THE RADIATION IMPULSE RESPONSE FUNCTIONS TO DECAY TO NEAR-ZERO FOR THE GIVEN PLATFORM!] - RdtnDT: - type: number - minimum: 0.0 - maximum: 1e3 - default: 0.0125 - unit: s - description: Time step for wave radiation kernel calculations, use 0.0 for default (sec) [only used when PotMod=1; DT<=RdtnDT<=0.1 recommended; determines RdtnOmegaMax=Pi/RdtnDT in the cosine transform] - MnDrift: - type: integer - enum: [0, 7, 8, 9, 10, 11, 12] - default: 0 - description: Mean-drift 2nd-order forces computed {0 = None; [7, 8, 9, 10, 11, or 12] = WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero] - NewmanApp: - type: integer - enum: [0, 7, 8, 9, 10, 11, 12] - default: 0 - description: Mean- and slow-drift 2nd-order forces computed with Newman's approximation {0 = None; [7, 8, 9, 10, 11, or 12] = WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. Used only when WaveDirMod=0] - DiffQTF: - type: integer - enum: [0, 10, 11, 12] - default: 0 - description: Full difference-frequency 2nd-order forces computed with full QTF {0 = None; [10, 11, or 12] = WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero] - SumQTF: - type: integer - enum: [0, 10, 11, 12] - default: 0 - description: Full summation -frequency 2nd-order forces computed with full QTF {0 = None; [10, 11, or 12] = WAMIT file to use} - AddF0: - type: array - default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - description: Additional preload (N, N-m) - items: - type: number - minItems: 6 - maxItems: 6 - AddCLin1: &addclin - type: array - default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - description: Additional linear stiffness by row (N/m, N/rad, N-m/m, N-m/rad) - items: - type: number - minItems: 6 - maxItems: 6 - AddCLin2: *addclin - AddCLin3: *addclin - AddCLin4: *addclin - AddCLin5: *addclin - AddCLin6: *addclin - AddBLin1: &addblin - type: array - default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - description: Additional linear damping by row (N/(m/s), N/(rad/s), N-m/(m/s), N-m/(rad/s)) - items: - type: number - minItems: 6 - maxItems: 6 - AddBLin2: *addblin - AddBLin3: *addblin - AddBLin4: *addblin - AddBLin5: *addblin - AddBLin6: *addblin - AddBQuad1: &addbquad - type: array - default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - description: Additional quadratic drag by row (N/(m/s)^2, N/(rad/s)^2, N-m(m/s)^2, N-m/(rad/s)^2) - items: - type: number - minItems: 6 - maxItems: 6 - AddBQuad2: *addbquad - AddBQuad3: *addbquad - AddBQuad4: *addbquad - AddBQuad5: *addbquad - AddBQuad6: *addbquad - NMOutputs: - type: integer - minimum: 0 - maximum: 9 - default: 0 - description: Number of member outputs (-) [must be < 10] - NJOutputs: - type: integer - minimum: 0 - maximum: 9 - default: 0 - description: Number of joint outputs [Must be < 10] - JOutLst: - type: array - default: [0] - description: List of JointIDs which are to be output (-)[unused if NJOutputs=0] - items: - type: integer - maxItems: 9 - HDSum: - type: boolean - default: True - description: Output a summary file [flag] - OutAll: - type: boolean - default: False - description: Output all user-specified member and joint loads (only at each member end, not interior locations) [flag] - OutSwtch: - type: integer - enum: [1, 2, 3] - default: 2 - description: Output requested channels to [1=Hydrodyn.out, 2=GlueCode.out, 3=both files] - OutFmt: - type: string - default: 'ES11.4e2' - description: Output format for numerical results (quoted string) [not checked for validity] - OutSFmt: - type: string - default: 'A11' - description: Output format for header strings (quoted string) [not checked for validity] - NBody: - type: integer - minimum: 1 - maximum: 9 - default: 1 - description: Number of WAMIT bodies to be used (-) [>=1; only used when PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, there are NBody sets of WAMIT data each with a vector of size 6 x 1 and matrices of size 6 x 6] - NBodyMod: - type: integer - minimum: 1 - maximum: 3 - default: 1 - description: Body coupling model {1- include coupling terms between each body and NBody in HydroDyn equals NBODY in WAMIT, 2- neglect coupling terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3- Neglect coupling terms between each body and NBODY=1 with XBODY=/0 in WAMIT} (switch) [only used when PotMod=1] - SimplCd: &simpl - type: number - minimum: 0.0 - maximum: 100.0 - default: 1.0 - description: Simple strip theory model coefficient, default of 1.0 - SimplCa: *simpl - SimplCp: *simpl - SimplCdMG: *simpl - SimplCaMG: *simpl - SimplCpMG: *simpl - SimplAxCd: &simpl_0 - type: number - minimum: 0.0 - maximum: 100.0 - default: 0.0 - description: Simple strip theory model coefficient, default of 0.0 - SimplAxCa: *simpl - SimplAxCp: *simpl - SimplAxCdMG: *simpl_0 - SimplAxCaMG: *simpl - SimplAxCpMG: *simpl - SubDyn: &ofsubdyn - type: object - default: {} - properties: - Echo: *echo - SDdeltaT: - type: number - default: -999.0 - maximum: 100.0 - unit: s - description: Local Integration Step. If 0.0, the glue-code integration step will be used. - IntMethod: - type: integer - enum: [1, 2, 3, 4] - default: 3 - description: Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. - SttcSolve: - type: boolean - default: True - description: Solve dynamics about static equilibrium point - GuyanLoadCorrection: - type: boolean - default: False - description: Include extra moment from lever arm at interface and rotate FEM for floating. - FEMMod: - type: integer - enum: [1, 2, 3, 4] - default: 3 - description: FEM switch = element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)] - NDiv: - type: integer - default: 1 - minimum: 1 - maximum: 100 - description: Number of sub-elements per member - CBMod: - type: boolean - default: True - description: If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system. - Nmodes: - type: integer - default: 0 - minimum: 0 - maximum: 50 - description: Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 --> Guyan Reduction. - JDampings: - type: array - description: Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes). - default: [1.0] - items: - type: number - unit: none - GuyanDampMod: - type: integer - enum: [0, 1, 2] - default: 0 - description: Guyan damping {0=none, 1=Rayleigh Damping, 2=user specified 6x6 matrix} - RayleighDamp: - type: array - default: [0.0, 0.0] - description: Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1] - items: - type: number - minItems: 2 - maxItems: 2 - GuyanDampSize: - type: integer - default: 6 - minimum: 0 - maximum: 6 - description: Guyan damping matrix (6x6) [only if GuyanDampMod=2] - GuyanDamp1: &guyan_damp - type: array - default: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - description: Guyan damping matrix by row (6x6) - items: - type: number - minItems: 6 - maxItems: 6 - GuyanDamp2: *guyan_damp - GuyanDamp3: *guyan_damp - GuyanDamp4: *guyan_damp - GuyanDamp5: *guyan_damp - GuyanDamp6: *guyan_damp - SumPrint: - type: boolean - default: False - description: Output a Summary File (flag) that contains matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested. - OutCOSM: - type: boolean - default: False - description: Output cosine matrices with the selected output member forces (flag) - OutAll: - type: boolean - default: False - description: Output all members' end forces (flag) - OutSwtch: - type: integer - enum: [1, 2, 3] - default: 2 - description: Output requested channels to 1=.SD.out; 2=.out (generated by FAST); 3=both files. - TabDelim: - type: boolean - default: True - description: Generate a tab-delimited output in the .SD.out file - OutDec: - type: integer - default: 1 - description: Decimation of output in the .SD.out file - minimum: 0 - OutFmt: - type: string - default: 'ES11.4e2' - description: Output format for numerical results in the .SD.out file (quoted string) [not checked for validity] - OutSFmt: - type: string - default: 'A11' - description: Output format for header strings in the .SD.out file (quoted string) [not checked for validity] - NMOutputs: - type: integer - minimum: 0 - maximum: 9 - default: 0 - description: Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9]. - MoorDyn: &ofmoordyn - type: object - default: {} - properties: - Echo: *echo - dtM: - type: number - unit: s - default: 0.001 - minimum: 0.0 - maximum: 100.0 - description: Time step to use in mooring integration (s) - kbot: - type: number - unit: kg/(m^2*s^2) - default: 3.e+6 - minimum: 0.0 - maximum: 1.e+9 - description: Bottom stiffness (Pa/m) - cbot: - type: number - unit: kg/(m^2*s) - default: 3.e+5 - minimum: 0.0 - maximum: 1.e+9 - description: Bottom damping (Pa/m) - dtIC: - type: number - unit: s - default: 1.0 - minimum: 0.0 - maximum: 100.0 - description: Time interval for analyzing convergence during IC gen (s) - TmaxIC: - type: number - unit: s - default: 60.0 - minimum: 0.0 - maximum: 1000.0 - description: Max time for ic gen (s) - CdScaleIC: - type: number - unit: none - default: 4.0 - minimum: 0.0 - maximum: 1000.0 - description: Factor by which to scale drag coefficients during dynamic relaxation (-) - threshIC: - type: number - unit: none - default: 1e-3 - minimum: 0.0 - maximum: 1.0 - description: Threshold for IC convergence (-) - ServoDyn: &ofservodyn - type: object - default: {} - description: ServoDyn modelling options in OpenFAST - properties: - Echo: *echo - DT: - type: string - default: 'default' - description: Communication interval for controllers (s) (or 'default') - PCMode: - type: integer - description: Pitch control mode {0 = none, 4 = user-defined from Simulink/Labview, 5 = user-defined from Bladed-style DLL} - default: 5 - enum: [0,4,5] - TPCOn: - type: number - default: 0. - unit: s - minimum: 0. - description: Time to enable active pitch control (s) [unused when PCMode=0] - TPitManS1: - type: number - minimum: 0. - unit: s - default: 99999. - description: Time to start override pitch maneuver for blade 1 and end standard pitch control (s) - TPitManS2: - type: number - minimum: 0. - unit: s - default: 99999. - description: Time to start override pitch maneuver for blade 2 and end standard pitch control (s) - TPitManS3: - type: number - minimum: 0. - unit: s - default: 99999. - description: Time to start override pitch maneuver for blade 3 and end standard pitch control (s) - PitManRat(1): - type: number - minimum: 1.e-6 - maximum: 30. - unit: deg / s - default: 1. - description: Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 1 (deg/s). It cannot be 0 - PitManRat(2): - type: number - minimum: 1.e-6 - maximum: 30. - unit: deg / s - default: 1. - description: Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 2 (deg/s). It cannot be 0 - PitManRat(3): - type: number - minimum: 1.e-6 - maximum: 30. - unit: deg / s - default: 1. - description: Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 3 (deg/s). It cannot be 0 - BlPitchF(1): - type: number - unit: deg - default: 90. - minimum: -180 - maximum: +180 - description: Blade 1 final pitch for pitch maneuvers (degrees) - BlPitchF(2): - type: number - unit: deg - default: 90. - minimum: -180 - maximum: +180 - description: Blade 2 final pitch for pitch maneuvers (degrees) - BlPitchF(3): - type: number - unit: deg - default: 90. - minimum: -180 - maximum: +180 - description: Blade 3 final pitch for pitch maneuvers (degrees) - VSContrl: - type: integer - description: Variable-speed control mode {0 = none, 4 = user-defined from Simulink/Labview, 5 = user-defined from Bladed-style DLL} - default: 5 - enum: [0,4,5] - GenModel: - type: integer - description: Generator model {1 = simple, 2 = Thevenin, 3 = user-defined from routine UserGen} - default: 1 - enum: [1,2] - GenTiStr: - type: boolean - default: True - description: Method to start the generator {True - timed using TimGenOn, False - generator speed using SpdGenOn} (flag) - GenTiStp: - type: boolean - default: True - description: Method to stop the generator {True - timed using TimGenOf, False - when generator power = 0} (flag) - SpdGenOn: - type: number - default: 99999. - minimum: 0. - unit: rpm - description: Generator speed to turn on the generator for a startup (HSS speed) (rpm) [used only when GenTiStr=False] - TimGenOn: - type: number - default: 0. - minimum: 0. - unit: s - description: Time to turn on the generator for a startup (s) [used only when GenTiStr=True] - TimGenOf: - type: number - default: 99999. - minimum: 0. - unit: s - description: Time to turn off the generator (s) [used only when GenTiStp=True] - VS_RtGnSp: - type: number - default: 99999. - minimum: 0. - unit: rpm - description: Rated generator speed for simple variable-speed generator control (HSS side) (rpm) [used only when VSContrl=1] - VS_RtTq: - type: number - default: 99999. - minimum: 0. - unit: N * m - description: Rated generator torque/constant generator torque in Region 3 for simple variable-speed generator control (HSS side) (N-m) [used only when VSContrl=1] - VS_Rgn2K: - type: number - default: 99999. - minimum: 0. - unit: N * m / rpm**2 - description: Generator torque constant in Region 2 for simple variable-speed generator control (HSS side) (N-m/rpm^2) [used only when VSContrl=1] - VS_SlPc: - type: number - default: 99999. - minimum: 0. - unit: none - description: Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1] - SIG_SlPc: - type: number - default: 99999. - minimum: 0. - unit: none - description: Rated generator slip percentage (%) [used only when VSContrl=0 and GenModel=1] - SIG_SySp: - type: number - default: 99999. - minimum: 0. - unit: rpm - description: Synchronous (zero-torque) generator speed (rpm) [used only when VSContrl=0 and GenModel=1] - SIG_RtTq: - type: number - default: 99999. - minimum: 0. - unit: N * m - description: Rated torque (N-m) [used only when VSContrl=0 and GenModel=1] - SIG_PORt: - type: number - default: 99999. - minimum: 0. - unit: none - description: Pull-out ratio (Tpullout/Trated) (-) [used only when VSContrl=0 and GenModel=1] - TEC_Freq: - type: number - default: 99999. - minimum: 0. - unit: Hz - description: Line frequency [50 or 60] (Hz) [used only when VSContrl=0 and GenModel=2] - TEC_NPol: - type: integer - default: 0 - minimum: 0 - unit: none - description: Number of poles [even integer > 0] (-) [used only when VSContrl=0 and GenModel=2] - TEC_SRes: - type: number - default: 99999. - minimum: 0. - unit: ohms - description: Stator resistance (ohms) [used only when VSContrl=0 and GenModel=2] - TEC_RRes: - type: number - default: 99999. - minimum: 0. - unit: ohms - description: Rotor resistance (ohms) [used only when VSContrl=0 and GenModel=2] - TEC_VLL: - type: number - default: 99999. - minimum: 0. - unit: volts - description: Line-to-line RMS voltage (volts) [used only when VSContrl=0 and GenModel=2] - TEC_SLR: - type: number - default: 99999. - minimum: 0. - unit: ohms - description: Stator leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] - TEC_RLR: - type: number - default: 99999. - minimum: 0. - unit: ohms - description: Rotor leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] - TEC_MR: - type: number - default: 99999. - minimum: 0. - unit: ohms - description: Magnetizing reactance (ohms) [used only when VSContrl=0 and GenModel=2] - HSSBrMode: - type: integer - description: HSS brake model {0 = none, 1 = simple, 4 = user-defined from Simulink/Labview, 5 = user-defined from Bladed-style DLL (not in ROSCO, yet)} - enum: [0,1,4,5] - default: 0 - THSSBrDp: - type: number - default: 99999. - minimum: 0. - unit: s - description: Time to initiate deployment of the HSS brake (s) - HSSBrDT: - type: number - default: 99999. - minimum: 0. - unit: s - description: Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1] - HSSBrTqF: - type: number - default: 99999. - minimum: 0. - unit: N * m - description: Fully deployed HSS-brake torque (N-m) - YCMode: - type: integer - enum: [0,3,4,5] - default: 0 - description: Yaw control mode {0 - none, 3 - user-defined from routine UserYawCont, 4 - user-defined from Simulink/Labview, 5 - user-defined from Bladed-style DLL} (switch) - TYCOn: - type: number - default: 99999. - unit: s - description: Time to enable active yaw control (s) [unused when YCMode=0] - YawNeut: - type: number - default: 0. - unit: deg - description: Neutral yaw position--yaw spring force is zero at this yaw (degrees) - YawSpr: - type: number - default: 0. - unit: N * m / rad - description: Nacelle-yaw spring constant (N-m/rad) - YawDamp: - type: number - default: 0. - unit: N * m / rad / s - description: Nacelle-yaw damping constant (N-m/(rad/s)) - TYawManS: - type: number - default: 99999. - unit: s - description: Time to start override yaw maneuver and end standard yaw control (s) - YawManRat: - type: number - default: 0.25 - minimum: 1.e-6 - unit: deg / s - description: Yaw maneuver rate (in absolute value) (deg/s). It cannot be zero - NacYawF: - type: number - default: 0. - unit: deg - description: Final yaw angle for override yaw maneuvers (degrees) - AfCmode: - type: integer - enum: [0,1,4,5] - default: 0 - description: Airfoil control mode {0- none, 1- cosine wave cycle, 4- user-defined from Simulink/Labview, 5- user-defined from Bladed-style DLL} - AfC_Mean: - type: number - default: 0. - unit: deg - description: Mean level for sinusoidal cycling or steady value (-) [used only with AfCmode==1] - AfC_Amp: - type: number - default: 0. - unit: deg - description: Amplitude for for cosine cycling of flap signal (AfC = AfC_Amp*cos(Azimuth+phase)+AfC_mean) (-) [used only with AfCmode==1] - AfC_Phase: - type: number - default: 0. - unit: deg - description: AfC_phase - Phase relative to the blade azimuth (0 is vertical) for for cosine cycling of flap signal (deg) [used only with AfCmode==1] - CCmode: - type: integer - enum: [0,4,5] - default: 0 - unit: deg - description: Cable control mode {0- none, 4- user-defined from Simulink/Labview, 5- user-defineAfC_phased from Bladed-style DLL} - CompNTMD: - type: boolean - default: False - description: Compute nacelle tuned mass damper {true/false} - NTMDfile: - type: string - default: none - description: Name of the file for nacelle tuned mass damper (quoted string) [unused when CompNTMD is false] - CompTTMD: - type: boolean - default: False - description: Compute tower tuned mass damper {true/false} - TTMDfile: - type: string - default: none - description: Name of the file for tower tuned mass damper (quoted string) [unused when CompTTMD is false] - DLL_ProcName: - type: string - default: 'DISCON' - description: Name of procedure in DLL to be called (-) [case sensitive; used only with DLL Interface] - DLL_DT: - type: string - default: 'default' - description: Communication interval for dynamic library (s) (or 'default') [used only with Bladed Interface] - DLL_Ramp: - type: boolean - default: False - description: Whether a linear ramp should be used between DLL_DT time steps [introduces time shift when true] (flag) [used only with Bladed Interface] - BPCutoff: - type: number - default: 99999. - unit: Hz - description: Cuttoff frequency for low-pass filter on blade pitch from DLL (Hz) [used only with Bladed Interface] - NacYaw_North: - type: number - default: 0. - unit: deg - description: Reference yaw angle of the nacelle when the upwind end points due North (deg) [used only with Bladed Interface] - Ptch_Cntrl: - type: integer - enum: [0,1] - default: 0 - description: Record 28 Use individual pitch control {0 - collective pitch; 1 - individual pitch control} (switch) [used only with Bladed Interface] - Ptch_SetPnt: - type: number - default: 0. - unit: deg - description: Record 5 Below-rated pitch angle set-point (deg) [used only with Bladed Interface] - Ptch_Min: - type: number - default: 0. - unit: deg - description: Record 6 - Minimum pitch angle (deg) [used only with Bladed Interface] - Ptch_Max: - type: number - default: 0. - unit: deg - description: Record 7 Maximum pitch angle (deg) [used only with Bladed Interface] - PtchRate_Min: - type: number - default: 0. - unit: deg / s - description: Record 8 Minimum pitch rate (most negative value allowed) (deg/s) [used only with Bladed Interface] - PtchRate_Max: - type: number - default: 0. - unit: deg / s - description: Record 9 Maximum pitch rate (deg/s) [used only with Bladed Interface] - Gain_OM: - type: number - default: 0. - unit: N * m / (rad / s)**2 - description: Record 16 Optimal mode gain (Nm/(rad/s)^2) [used only with Bladed Interface] - GenSpd_MinOM: - type: number - default: 0. - unit: rpm - description: Record 17 Minimum generator speed (rpm) [used only with Bladed Interface] - GenSpd_MaxOM: - type: number - default: 0. - unit: rpm - description: Record 18 Optimal mode maximum speed (rpm) [used only with Bladed Interface] - GenSpd_Dem: - type: number - default: 0. - unit: rpm - description: Record 19 Demanded generator speed above rated (rpm) [used only with Bladed Interface] - GenTrq_Dem: - type: number - default: 0. - unit: N * m - description: Record 22 Demanded generator torque above rated (Nm) [used only with Bladed Interface] - GenPwr_Dem: - type: number - default: 0. - unit: W - description: Record 13 Demanded power (W) [used only with Bladed Interface] - DLL_NumTrq: - type: integer - default: 0 - description: Record 26 No. of points in torque-speed look-up table {0 = none and use the optimal mode parameters; nonzero = ignore the optimal mode PARAMETERs by setting Record 16 to 0.0} (-) [used only with Bladed Interface] - SumPrint: - type: boolean - default: False - description: Print summary data to '.sum' (flag) - OutFile: - type: integer - default: 1 - description: Switch to determine where output will be placed 1 in module output file only; 2 in glue code output file only; 3 both (currently unused) - TabDelim: - type: boolean - default: True - description: Use tab delimiters in text tabular output file? (flag) (currently unused) - OutFmt: - type: string - default: 'ES10.3E2' - description: Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string (currently unused) - TStart: - type: number - default: 0.0 - minimum: 0.0 - maximum: 100000.0 - unit: s - description: Time to begin tabular output (s) (currently unused) - outlist: &ofoutlist - type: object - default: {} - properties: - InflowWind: - type: object - default: {} - AeroDyn: - type: object - default: {} - ElastoDyn: - type: object - default: {} - BeamDyn: - type: object - default: {} - HydroDyn: - type: object - default: {} - SubDyn: - type: object - default: {} - MoorDyn: - type: object - default: {} - ServoDyn: - type: object - default: {} - from_openfast: - type: boolean - default: False - description: Whether we derive OpenFAST model from an existing model and ignore WISDEM - openfast_file: - type: string - default: unused - description: Main (.fst) OpenFAST input file name. No directory. - openfast_dir: - type: string - default: unused - description: OpenFAST input directory, containing .fst file. Absolute path or relative to modeling input - xfoil: - type: object - default: {} - properties: - path: - type: string - default: '' - description: File path to xfoil executable (e.g. /home/user/Xfoil/bin/xfoil) - run_parallel: - type: boolean - default: False - description: Whether or not to run xfoil in parallel (requires mpi setup) - Level2: - type: object - default: {} - description: Options for WEIS fidelity level 2 = linearized time domain (OpenFAST) - properties: - flag: - type: boolean - default: False - description: Whether or not to run WEIS fidelity level 2 = linearized OpenFAST - #simulation: *ofsimulation - simulation: # this may be shared with Level3 IEC load cases in the future - type: object - default: {} - properties: - flag: - type: boolean - default: False - description: Whether or not to run a level 2 time domain simulation - TMax: &TMax - type: number - default: 720.0 - minimum: 0.0 - maximum: 100000.0 - unit: s - description: Total run time (s) - linearization: # Some of these options were in Level 3, but we wouldn't set them if running a Level 2 simulation - type: object - default: {} - properties: - TMax: *TMax # note that linearization could run for a different TMax than simulation - DT: - type: number - default: 0.025 - minimum: 0.0 - maximum: 10.0 - unit: s - description: Integration time step (s) - wind_speeds: - type: array - description: List of wind speeds at which to linearize (m/s) - default: [14.0, 16.0, 18.0] - items: - type: number - uniqueItems: True - minimum: 0.0 - maximum: 200.0 - rated_offset: - type: number - default: 1 - minimum: 0.0 - maximum: 10.0 - unit: m/s - description: Amount to increase rated wind speed from cc-blade to openfast with DOFs enabled. In general, the more DOFs, the greater this value. - DOFs: - type: array - description: List of degrees-of-freedom to linearize about - default: ['GenDOF','TwFADOF1'] - items: - type: string - enum: ['FlapDOF1','FlapDOF2','EdgeDOF','TeetDOF','DrTrDOF','GenDOF','YawDOF','TwFADOF1','TwFADOF2','TwSSDOF1','TwSSDOF2','PtfmSgDOF','PtfmSwDOF','PtfmHvDOF','PtfmRDOF','PtfmPDOF','PtfmYDOF'] - # DZ: I would assume Linearize = True if we were running Level 2 WEIS - # Linearize: - # type: boolean - # default: False - # description: Linearization analysis (flag) - # DZ: For now, only CalcSteady = True is supported - # CalcSteady: - # type: boolean - # default: False - # description: Calculate a steady-state periodic operating point before linearization? [unused if Linearize=False] (flag) - # DZ: For now, we determine TrimCase this automatically based on whether wind_speeds > v_rated - # TrimCase: - # type: string - # enum: ['1','2','3', yaw, Yaw, YAW, torque, Torque, TORQUE, pitch, Pitch, PITCH] - # default: '3' - # description: Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} [used only if CalcSteady=True] (-) - TrimTol: - type: number - default: 1.e-5 - minimum: 0.0 - maximum: 1.0 - unit: none - description: Tolerance for the rotational speed convergence [used only if CalcSteady=True] (-) - TrimGain: - type: number - default: 1.e-4 - minimum: 0.0 - maximum: 1.0 - unit: rad/(rad/s) - description: Proportional gain for the rotational speed error (>0) [used only if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for torque) - Twr_Kdmp: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1e5 - unit: kg/s - description: Damping factor for the tower [used only if CalcSteady=True] (N/(m/s)) - Bld_Kdmp: - type: number - default: 0.0 - minimum: 0.0 - maximum: 1e5 - unit: kg/s - description: Damping factor for the blades [used only if CalcSteady=True] (N/(m/s)) - NLinTimes: - type: integer - default: 12 - minimum: 0 - maximum: 120 - description: Number of times to linearize (-) [>=1] [unused if Linearize=False] - LinTimes: - type: array - description: List of times at which to linearize (s) [1 to NLinTimes] [used only when Linearize=True and CalcSteady=False] - default: [30.0, 60.0] - items: - type: number - uniqueItems: True - minimum: 0.0 - maximum: 1e4 - # DZ: I don't know if we should support these initially: - # LinInputs: - # type: string - # enum: ['0','1','2', none, None, NONE, standard, Standard, STANDARD, all, All, ALL] - # default: '1' - # description: Inputs included in linearization (switch) {0=none; 1=standard; 2=all module inputs (debug)} [unused if Linearize=False] - # LinOutputs: - # type: string - # enum: ['0','1','2', none, None, NONE, standard, Standard, STANDARD, all, All, ALL] - # default: '1' - # description: Outputs included in linearization (switch) {0=none; 1=from OutList(s); 2=all module outputs (debug)} [unused if Linearize=False] - # LinOutJac: - # type: boolean - # default: False - # description: Include full Jacobians in linearization output (for debug) (flag) [unused if Linearize=False; used only if LinInputs=LinOutputs=2] - # LinOutMod: - # type: boolean - # default: False - # description: Write module-level linearization output files in addition to output for full system? (flag) [unused if Linearize=False] - DTQP: # this may be shared with Level3 IEC load cases in the future - type: object - default: {} - properties: - flag: - type: boolean - default: False - description: Whether or not to run a DTQP optimization at level 2 - nt: - type: number - default: 1000 - description: Number of timesteps in DTQP timeseries optimization - maxiters: - type: number - default: 150000 - description: Maximum number of DTQP optimization iterations - tolerance: - type: number - default: 1.E-4 - description: Tolerance of DTQP optimization - function: - type: string - enum: ['osqp','ipopt'] - default: 'osqp' - description: Solver used for DTQP optimization - - #InflowWind: *ofinflowwind - #AeroDyn: *ofaerodyn - #ElastoDyn: *ofelastodyn - #ElastoDynBlade: *ofelastodynblade - #ElastoDynTower: *ofelastodyntower - #BeamDyn: *ofbeamdyn - #HydroDyn: *ofhydrodyn - #SubDyn: *ofsubdyn - #MoorDyn: *ofmoordyn - #ServoDyn: *ofservodyn - #outlist: *ofoutlist - DLC_driver: - type: object - default: {} - properties: - DLCs: - type: array - default: [{}] - items: - type: object - properties: - DLC: - type: string - default: '1.1' - enum: ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6', '5.1', '6.1', '6.2', '6.3', '6.4', '6.5', '12.1', 'Custom'] - description: IEC design load case to run. The DLCs currently supported are 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 5.1, 6.1, 6.3, and 6.4 - wind_speed: - type: array - description: Wind speeds for this DLC. If these are defined, ws_bin_size is neglected. - default: [] - items: - type: number - unit: m/s - minItems: 1 - minimum: 0.0 - maximum: 200.0 - uniqueItems: true - ws_bin_size: - type: number - default: 2 - minimum: 0.01 - maximum: 20.0 - unit: m/s - description: Size of the wind speed bin between cut in and cout out wind speeds. It usually can be set to 2 m/s. This entry is neglected if the wind speeds are specified by the user. - n_seeds: - type: integer - default: 1 - minimum: 1 - maximum: 100 - description: Number of turbulent wind seeds drawn from the numpy random integer generator. This entry is neglected if the entry wind_seed is defined. If DLC 1.4, number of waves seeds. - n_azimuth: - type: integer - default: 1 - minimum: 1 - maximum: 100 - description: Number of azimuth initial conditions to use (primarily during DLC 5.1) - wind_seed: - type: array - default: [] - description: Array of turbulent wind seeds for TurbSim. If these are defined, n_seeds is neglected. - items: - type: integer - unit: none - minItems: 1 - uniqueItems: true - wave_seeds: - type: array - default: [] - description: Wave random number generator seeds for HydroDyn - items: - type: integer - unit: none - minItems: 1 - uniqueItems: true - wind_heading: - type: array - description: Wind direction from north. This array must currently have either length=1, i.e. one constant value, or the same length of the array wind_speed. - default: [0.] - items: - type: number - unit: deg - minItems: 1 - minimum: -180.0 - maximum: 180.0 - yaw_misalign: - type: array - description: Alignment of the nacelle with respect to north. This array must currently have either length=1, i.e. one constant value, or the same length of the array wind_speed. Default depends on DLC, specified in dlc_generator. - items: - type: number - unit: deg - minItems: 1 - minimum: -180.0 - maximum: 180.0 - wave_spectrum: - type: array - description: Spectrum of the waves. This array must currently have either length=1, i.e. one constant spectrum, or the same length of the array wind_speed - #default: ["JONSWAP"] - items: - type: str - enum: ["JONSWAP","unit"] - minItems: 1 - turbine_status: - type: string - description: Status of the turbine, it can be either operating, parked-idling, or parked-still. Each DLC come with its default turbine status specified by the standards. - default: operating - enum: ['operating','parked-idling','parked-still'] - wave_period: - type: array - description: Period between waves. If this array is populated by the user, then the field metocean_conditions is neglected. If wave_period is not defined, metocean_conditions will be used, either in the values provided by the user or with its default values (the first option is highly recommended). - default: [] - items: - type: number - unit: s - minItems: 1 - minimum: 0.0 - maximum: 1000.0 - wave_height: - type: array - description: Height of the waves. If this array is populated by the user, then the field metocean_conditions is neglected. If wave_height is not defined, metocean_conditions will be used, either in the values provided by the user or with its default values (the first option is highly recommended). - default: [] - items: - type: number - unit: m - minItems: 1 - minimum: 0.0 - maximum: 100.0 - wave_heading: - type: array - description: Heading of the waves with respect to north. This array must currently have either length=1, i.e. one constant value, or the same length of the array wind_speed - default: [0.] - items: - type: number - unit: deg - minItems: 1 - minimum: -180.0 - maximum: 180.0 - wave_gamma: - type: array - description: Peak-shape parameter of incident wave spectrum. If 0, the default from IEC61400-3 / HydroDyn is used. This array must currently have either length=1, i.e. one constant value, or the same length of the array wind_speed - default: [0.] - items: - type: number - minItems: 1 - minimum: 0.0 - maximum: 10.0 - probabilities: - type: array - description: Probability of occurrance for each case. This entry is relevant only for DLC 1.2 and 6.4. This array must currently have either length=1, i.e. one constant value, or the same length of the array wind_speed. - default: [1.] - items: - type: number - minItems: 1 - minimum: 0. - maximum: 1. - IEC_WindType: - type: string - default: NTM - enum: ['NTM', '1ETM', '2ETM', '3ETM', '1EWM1', '2EWM1', '3EWM1', '1EWM50', '2EWM50', '3EWM50', 'ECD', 'EDC', 'EOG'] - description: IEC turbulence type ('NTM'=normal, 'xETM'=extreme turbulence, 'xEWM1'=extreme 1-year wind, 'xEWM50'=extreme 50-year wind, where x=wind turbine class 1, 2, or 3), 'ECD'=extreme coherent gust with direction change, 'EDC'=extreme direction change, 'EOG'=extreme operating gust. Normally the user does not need to define this entry. - analysis_time: - type: number - unit: s - minimum: 0.0 - maximum: 1.e+4 - default: 0. - description: This is the length of the simulation where outputs will be recorded. Its default is 600 seconds (10 minutes) for most simulations, except for the coherent cases where a shorter time window of 200 s is used. - transient_time: - type: number - unit: s - minimum: 0.0 - maximum: 1.e+4 - default: 120. - description: This is the length of the simulation where outputs will be discarded. Its default is 120 seconds (2 minutes) for all simulations. The total simulation time is the sum of analysis_time and transient_time - shutdown_time: - type: number - unit: s - minimum: 0.0 - maximum: 1.e+5 - default: 9999 - description: Time when shutdown occurs in DLC 5.1 - wind_file: - type: string - description: File path of custom wind file - turbulent_wind: - type: object - default: {} - description: These are all inputs to TurbSim. These inputs usually do not need to be set unless you are trying to customize a DLC - properties: - flag: - type: boolean - default: False - description: Flag switching between steady wind and turbulent wind grid from TurbSim. - Echo: - type: boolean - default: False - description: Echo input data to .ech (flag) - RandSeed1: - type: integer - default: 1 - description: First random seed (-2147483648 to 2147483647) - RandSeed2: - default: RANLUX - description: Second random seed (-2147483648 to 2147483647) - WrBHHTP: - type: boolean - default: False - description: Output hub-height turbulence parameters in binary form? (Generates RootName.bin) - WrFHHTP: - type: boolean - default: False - description: Output hub-height turbulence parameters in formatted form? (Generates RootName.dat) - WrADHH: - type: boolean - default: False - description: Output hub-height time-series data in AeroDyn form? (Generates RootName.hh) - WrADFF: - type: boolean - default: True - description: Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts) - WrBLFF: - type: boolean - default: False - description: Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd) - WrADTWR: - type: boolean - default: False - description: Output tower time-series data? (Generates RootName.twr) - WrFMTFF: - type: boolean - default: False - description: Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w) - WrACT: - type: boolean - default: False - description: Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts) - Clockwise: - type: boolean - default: False - description: Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn) - ScaleIEC: - type: integer - enum: [0, 1, 2] - default: 0 - description: Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales] - NumGrid_Z: - type: integer - default: 25 - minimum: 5 - maximum: 100 - description: Vertical grid-point matrix dimension - NumGrid_Y: - type: integer - default: 25 - minimum: 5 - maximum: 100 - description: Horizontal grid-point matrix dimension - TimeStep: - type: number - default: 0.05 - minimum: 1.e-4 - maximum: 1. - unit: s - description: Time step [seconds] - UsableTime: - type: string - default: 'ALL' - description: Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is 'ALL') - HubHt: - type: number - default: 0 - minimum: 0 - maximum: 5.e+2 - unit: m - description: Hub height [m] (should be > 0.5*GridHeight) - GridHeight: - type: number - default: 0 - minimum: 0 - maximum: 5.e+2 - unit: m - description: Grid height [m] - GridWidth: - type: number - default: 0 - minimum: 0 - maximum: 5.e+2 - unit: m - description: Grid width [m] (should be >= 2*(RotorRadius+ShaftLength)) - VFlowAng: - type: number - default: 0. - minimum: -9.e+1 - maximum: 9.e+1 - unit: deg - description: Vertical mean flow (uptilt) angle [degrees] - HFlowAng: - type: number - default: 0. - minimum: -9.e+1 - maximum: 9.e+1 - unit: deg - description: Horizontal mean flow (skew) angle [degrees] - TurbModel: - type: string - enum: ['IECKAI','IECVKM','GP_LLJ','NWTCUP','SMOOTH','WF_UPW','WF_07D','WF_14D','TIDAL','API','USRINP','TIMESR','NONE'] - default: IECKAI - description: Turbulence model - UserFile: - type: string - default: unused - description: Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "USRINP" and "TIMESR" models) - IECstandard: - type: string - default: 1-ED3 - enum: ['1-ED3', '1-ED2'] - description: Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. "1-Ed2") ) - ETMc: - type: string - default: default - description: IEC Extreme Turbulence Model - WindProfileType: - type: string - enum: ['LOG','PL','JET','H2L','API','USR','TS','IEC', 'LOG','default'] - default: PL - description: Velocity profile type ('LOG';'PL'=power law;'JET';'H2L'=Log law for TIDAL model;'API';'USR';'TS';'IEC'=PL on rotor disk, LOG elsewhere; or 'default') - ProfileFile: - type: string - default: unused - description: Name of the file that contains input profiles for WindProfileType='USR' and/or TurbModel='USRVKM' [-] - RefHt: - type: number - default: 0 - minimum: 0 - maximum: 1.e+5 - unit: m - description: Height of the reference velocity (URef) [m] - URef: - type: number - unit: m/s - default: -1 - description: Mean (total) velocity at the reference height [m/s] (or 'default' for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds] - IECturbc: - type: number - unit: '(-)' - default: -1 - description: Turbulence intensity (fraction) for custom DLCs, if default (-1), the class letter will be used - ZJetMax: - type: string - default: default - description: Jet height [m] (used only for JET velocity profile, valid 70-490 m) - PLExp: - type: number - default: -1 - description: Power law exponent [-] (or 'default'), if default (-1), the environment option shear_exp will be used for all DLCs - Z0: - type: string - default: default - description: Surface roughness length [m] (or 'default') - Latitude: - type: string - default: default - description: Site latitude [degrees] (or 'default') - RICH_NO: - type: number - default: 0.05 - description: Gradient Richardson number [-] - UStar: - type: string - default: default - description: Friction or shear velocity [m/s] (or 'default') - ZI: - type: string - default: default - description: Mixing layer depth [m] (or 'default') - PC_UW: - type: string - default: default - description: Hub mean uw Reynolds stress [m^2/s^2] (or 'default' or 'none') - PC_UV: - type: string - default: default - description: Hub mean uv Reynolds stress [m^2/s^2] (or 'default' or 'none') - PC_VW: - type: string - default: default - description: Hub mean vw Reynolds stress [m^2/s^2] (or 'default' or 'none') - SCMod1: - type: string - default: default - description: u-component coherence model ('GENERAL', 'IEC', 'API', 'NONE', or 'default') - SCMod2: - type: string - default: default - description: v-component coherence model ('GENERAL', 'IEC', 'NONE', or 'default') - SCMod3: - type: string - default: default - description: w-component coherence model ('GENERAL', 'IEC', 'NONE', or 'default') - InCDec1: - type: string - default: default - description: u-component coherence parameters for general or IEC models [-, m^-1] (e.g. '10.0 0.3e-3' in quotes) (or 'default') - InCDec2: - type: string - default: default - description: v-component coherence parameters for general or IEC models [-, m^-1] (e.g. '10.0 0.3e-3' in quotes) (or 'default') - InCDec3: - type: string - default: default - description: w-component coherence parameters for general or IEC models [-, m^-1] (e.g. '10.0 0.3e-3' in quotes) (or 'default') - CohExp: - type: string - default: default - description: Coherence exponent for general model [-] (or 'default') - CTEventPath: - type: string - default: unused - description: Name of the path where event data files are located - CTEventFile: - type: string - enum: ['LES','DNS','RANDOM'] - default: RANDOM - description: Type of event files - Randomize: - type: boolean - default: True - description: Randomize the disturbance scale and locations? (true/false) - DistScl: - type: number - default: 1. - minimum: 0 - maximum: 1. - description: Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.) - CTLy: - type: number - default: 0.5 - minimum: 0 - maximum: 1. - description: Fractional location of tower centerline from right [-] (looking downwind) to left side of the dataset. (Ignored when Randomize = true.) - CTLz: - type: number - default: 0.5 - minimum: 0 - maximum: 1. - description: Fractional location of hub height from the bottom of the dataset. [-] (Ignored when Randomize = true.) - CTStartTime: - type: number - default: 30 - minimum: 0 - maximum: 1.e+3 - unit: s - description: Minimum start time for coherent structures in RootName.cts - fix_wind_seeds: - type: boolean - default: True - description: Fix the seed of the random integer generator controlling the seed of TurbSim. When set to False, the seeds change everytime the DLC generator class is called. It is recommended to keep it to True when the optimization is on, or different wind seeds will be generated for every function call, complicating the smoothness of the solution space. Even when set to True, the wind seeds are different across wind speeds and DLCs. - fix_wave_seeds: - type: boolean - default: True - description: Fix the seed of the random integer generator controlling the wave seed of HydroDyn. When set to False, the seeds change everytime the DLC generator class is called. It is recommended to keep it to True when the optimization is on, or different wave seeds will be generated for every function call, complicating the smoothness of the solution space. Even when set to True, the wave seeds are different across wind speeds and DLCs. - metocean_conditions: - type: object - default: {} - description: Here the metocean conditions can be specified in terms of wind speeds, significant wave height (Hs), and wave period (Tp) for normal sea state (NSS), fatigue calculations, and severe sea state (SSS). Currently WEIS neglects the joint probability density function crossing wind/wave directionality, wave peak shape parameter gamma - properties: - wind_speed: - type: array - description: Array of wind speeds to tabulate Hs and Tp - default: [4., 6., 8., 10., 12., 14., 16., 18., 20., 22., 24.] - items: - type: number - unit: m/s - minItems: 1 - minimum: 0.0 - maximum: 50.0 - uniqueItems: true - wave_height_NSS: - type: array - description: Array of Hs for NSS conditional to wind speed - default: [1.10, 1.18, 1.32, 1.54, 1.84, 2.19, 2.60, 3.06, 3.62, 4.03, 4.52] - items: - type: number - unit: m - minItems: 1 - minimum: 0.0 - maximum: 100.0 - uniqueItems: false - wave_period_NSS: - type: array - description: Array of Tp for NSS conditional to wind speed - default: [8.52, 8.31, 8.01, 7.65, 7.44, 7.46, 7.64, 8.05, 8.52, 8.99, 9.45] - items: - type: number - unit: s - minItems: 1 - minimum: 0.0 - maximum: 1000.0 - uniqueItems: false - wave_height_fatigue: - type: array - description: Array of Hs for fatigue computations conditional to wind speed - default: [1.10, 1.18, 1.32, 1.54, 1.84, 2.19, 2.60, 3.06, 3.62, 4.03, 4.52] - items: - type: number - unit: m - minItems: 1 - minimum: 0.0 - maximum: 100.0 - uniqueItems: false - wave_period_fatigue: - type: array - description: Array of Tp for fatigue computations conditional to wind speed - default: [8.52, 8.31, 8.01, 7.65, 7.44, 7.46, 7.64, 8.05, 8.52, 8.99, 9.45] - items: - type: number - unit: s - minItems: 1 - minimum: 0.0 - maximum: 1000.0 - uniqueItems: false - wave_height_SSS: - type: array - description: Array of Hs for SSS conditional to wind speed - default: [1.10, 1.18, 1.32, 1.54, 1.84, 2.19, 2.60, 3.06, 3.62, 4.03, 4.52] - items: - type: number - unit: m - minItems: 1 - minimum: 0.0 - maximum: 100.0 - uniqueItems: false - wave_period_SSS: - type: array - description: Array of Tp for SSS conditional to wind speed - default: [8.52, 8.31, 8.01, 7.65, 7.44, 7.46, 7.64, 8.05, 8.52, 8.99, 9.45] - items: - type: number - unit: s - minItems: 1 - minimum: 0.0 - maximum: 1000.0 - uniqueItems: false - wave_height50: - type: number - description: Wave height with 50-year occurrence, used in DLC 6.1 - default: 15. - unit: m - minimum: 0.0 - maximum: 100.0 - wave_period50: - type: number - description: Wave period with 50-year occurrence, used in DLC 6.1 - default: 15. - unit: s - minimum: 0.0 - maximum: 1000.0 - wave_height1: - type: number - description: Wave height with 1-year occurrence, used in DLC 6.3, 7.1, and 8.2 - default: 15. - unit: m - minimum: 0.0 - maximum: 100.0 - wave_period1: - type: number - description: Wave period with 1-year occurrence, used in DLC 6.3, 7.1, and 8.2 - default: 15. - unit: s - minimum: 0.0 - maximum: 1000.0 - - ROSCO: - type: object - default: {} - description: Options for WEIS fidelity level 3 = nonlinear time domain. Inherited from ROSCO/rosco/toolbox/inputs/toolbox_shema.yaml - properties: - tuning_yaml: - type: string - description: yaml file to tune the ROSCO controller, only used for control-only optimizations using an OpenFAST model. Absolute path or relative to modeling input. - default: none - - OL2CL: - type: object - default: {} - decription: Options for WEIS open loop to closed loop control optimization - properties: - flag: - type: boolean - default: False - description: Whether or not to run open loop to closed loop optimization - trajectory_dir: - type: string - default: unused - description: Directory where open loop control trajectories are located - save_error: - type: boolean - default: True - description: Save error timeseries? diff --git a/docs/inputs/modeling_schema_wisdem.rst b/docs/inputs/modeling_schema_wisdem.rst deleted file mode 100644 index 55bed6831..000000000 --- a/docs/inputs/modeling_schema_wisdem.rst +++ /dev/null @@ -1,394 +0,0 @@ -.. _modeling-options: - -****************************** -Modeling Options Inputs -****************************** - -The following inputs describe the options available in the ``modeling_options`` file. This example is from the :code:`02_reference_turbines` case in the :code:`examples` directory. - - -.. literalinclude:: /../examples/02_reference_turbines/modeling_options.yaml - :language: yaml - - - -General -**************************************** - - -:code:`verbosity` : Boolean - Prints additional outputs to screen (and to a file log in the - future) - - *Default* = False - - - -RotorSE -**************************************** - - -:code:`flag` : Boolean - Whether or not to run RotorSE and ServoSE - - *Default* = False - -:code:`n_aoa` : Integer - Number of angles of attack in a common grid to define polars - - *Default* = 200 - -:code:`n_xy` : Integer - Number of coordinate point used to define airfoils - - *Default* = 200 - -:code:`n_span` : Integer - Number of spanwise stations in a common grid used to define blade - properties - - *Default* = 30 - -:code:`n_pc` : Integer - Number of wind speeds to compute the power curve - - *Default* = 20 - -:code:`n_pc_spline` : Integer - Number of wind speeds to spline the power curve - - *Default* = 200 - -:code:`n_pitch_perf_surfaces` : Integer - Number of pitch angles to determine the Cp-Ct-Cq-surfaces - - *Default* = 20 - -:code:`min_pitch_perf_surfaces` : Float - Min pitch angle of the Cp-Ct-Cq-surfaces - - *Default* = -5.0 - -:code:`max_pitch_perf_surfaces` : Float - Max pitch angle of the Cp-Ct-Cq-surfaces - - *Default* = 30.0 - -:code:`n_tsr_perf_surfaces` : Integer - Number of tsr values to determine the Cp-Ct-Cq-surfaces - - *Default* = 20 - -:code:`min_tsr_perf_surfaces` : Float - Min TSR of the Cp-Ct-Cq-surfaces - - *Default* = 2.0 - -:code:`max_tsr_perf_surfaces` : Float - Max TSR of the Cp-Ct-Cq-surfaces - - *Default* = 12.0 - -:code:`n_U_perf_surfaces` : Integer - Number of wind speeds to determine the Cp-Ct-Cq-surfaces - - *Default* = 1 - -:code:`regulation_reg_III` : Boolean - Flag to derive the regulation trajectory in region III in terms of - pitch and TSR - - *Default* = False - -:code:`spar_cap_ss` : String - Composite layer modeling the spar cap on the suction side in the - geometry yaml. This entry is used to compute ultimate strains and - it is linked to the design variable spar_cap_ss. - - *Default* = none - -:code:`spar_cap_ps` : String - Composite layer modeling the spar cap on the pressure side in the - geometry yaml. This entry is used to compute ultimate strains and - it is linked to the design variable spar_cap_ps. - - *Default* = none - -:code:`te_ss` : String - Composite layer modeling the trailing edge reinforcement on the - suction side in the geometry yaml. This entry is used to compute - ultimate strains and it is linked to the design variable te_ss. - - *Default* = none - -:code:`te_ps` : String - Composite layer modeling the trailing edge reinforcement on the - pressure side in the geometry yaml. This entry is used to compute - ultimate strains and it is linked to the design variable te_ps. - - *Default* = none - -:code:`gamma_freq` : Float - Partial safety factor for modal frequencies - - *Default* = 1.1 - - *Minimum* = 1.0 *Maximum* = 5.0 - -:code:`gust_std` : Float - Number of standard deviations for strength of gust - - *Default* = 3.0 - - *Minimum* = 0.0 *Maximum* = 5.0 - -:code:`root_fastener_s_f` : Float - Safety factor for the max stress of blade root fasteners - - *Default* = 2.5 - - *Minimum* = 0.1 *Maximum* = 1.e+2 - - -DriveSE -**************************************** - - -:code:`flag` : Boolean - Whether or not to run RotorSE and ServoSE - - *Default* = False - -:code:`model_generator` : Boolean - Whether or not to do detailed generator modeling using tools - formerly in GeneratorSE - - *Default* = False - -:code:`gamma_f` : Float - Partial safety factor on loads - - *Default* = 1.35 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`gamma_m` : Float - Partial safety factor for materials - - *Default* = 1.3 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`gamma_n` : Float - Partial safety factor for consequence of failure - - *Default* = 1.0 - - *Minimum* = 1.0 *Maximum* = 5.0 - - - - -hub -######################################## - - -:code:`hub_gamma` : Float - Partial safety factor for hub sizing - - *Default* = 2.0 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`spinner_gamma` : Float - Partial safety factor for spinner sizing - - *Default* = 1.5 - - *Minimum* = 1.0 *Maximum* = 5.0 - - - - -TowerSE -**************************************** - - -:code:`flag` : Boolean - Whether or not to run RotorSE and ServoSE - - *Default* = False - -:code:`nLC` : Integer - Number of load cases - - *Default* = 1 - -:code:`wind` : String from, ['PowerWind', 'LogisticWind'] - Wind scaling relationship with height - - *Default* = PowerWind - -:code:`gamma_f` : Float - Partial safety factor on loads - - *Default* = 1.35 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`gamma_m` : Float - Partial safety factor for materials - - *Default* = 1.3 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`gamma_n` : Float - Partial safety factor for consequence of failure - - *Default* = 1.0 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`gamma_b` : Float - Partial safety factor for buckling - - *Default* = 1.1 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`gamma_freq` : Float - Partial safety factor for modal frequencies - - *Default* = 1.1 - - *Minimum* = 1.0 *Maximum* = 5.0 - -:code:`gamma_fatigue` : Float - Partial safety factor for fatigue failure - - *Default* = 1.0 - - *Minimum* = 1.0 *Maximum* = 5.0 - - -:code:`buckling_length` : Float, m - Buckling length factor in Eurocode safety check - - *Default* = 1.0 - - *Minimum* = 1.0 *Maximum* = 100.0 - - - - -frame3dd -######################################## - - -Set of Frame3DD options used for tower analysis - -:code:`shear` : Boolean - Inclusion of shear area for symmetric sections - - *Default* = True - -:code:`geom` : Boolean - Inclusion of shear stiffening through axial loading - - *Default* = True - -:code:`nM` : Integer - Number of tower eigenvalue modes to calculate - - *Default* = 6 - - *Minimum* = 0 *Maximum* = 20 - - -:code:`tol` : Float - Convergence tolerance for modal eigenvalue solution - - *Default* = 1e-09 - - *Minimum* = 1e-12 *Maximum* = 0.1 - - - - -BOS -**************************************** - - -:code:`flag` : Boolean - Whether or not to run balance of station cost models (LandBOSSE or - ORBIT) - - *Default* = False - - - -FloatingSE -**************************************** - - -:code:`flag` : Boolean - Whether or not to run the floating design modules (FloatingSE) - - *Default* = False - - - -Loading -**************************************** - - -This is only used if not running the full WISDEM turbine Group and you need to input the mass properties, forces, and moments for a tower-only or nacelle-only analysis - -:code:`mass` : Float, kilogram - Mass at external boundary of the system. For the tower, this - would be the RNA mass. - - *Default* = 0.0 - -:code:`center_of_mass` : Array of Floats, meter - Distance from system boundary to center of mass of the applied - load. For the tower, this would be the RNA center of mass in - tower-top coordinates. - - *Default* = [0.0, 0.0, 0.0] - -:code:`moment_of_inertia` : Array of Floats, kg*m^2 - Moment of inertia of external mass in coordinate system at the - system boundary. For the tower, this would be the RNA MoI in - tower-top coordinates. - - *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] - - - -loads -######################################## - - -:code:`force` : Array of Floats, Newton - Force vector applied at system boundary - - *Default* = [0.0, 0.0, 0.0] - -:code:`moment` : Array of Floats, N*m - Force vector applied at system boundary - - *Default* = [0.0, 0.0, 0.0] - -:code:`velocity` : Float, meter - Applied wind reference velocity, if necessary - - *Default* = 0.0 diff --git a/docs/inputs/weis_analysis_schema.rst b/docs/inputs/weis_analysis_schema.rst new file mode 100644 index 000000000..f1cf2302b --- /dev/null +++ b/docs/inputs/weis_analysis_schema.rst @@ -0,0 +1,4501 @@ +****************************** +/Users/dzalkind/Tools/WEIS-2/weis/inputs/weis_analysis_schema.yaml +****************************** +Scehma that describes the analysis and optimization options for WEIS + + +/Users/dzalkind/Tools/WEIS-2/weis/inputs/weis_analysis_schema. + + + +general +**************************************** + +:code:`folder_output` : String + Name of folder to dump output files + + *Default* = output + +:code:`fname_output` : String + File prefix for output files + + *Default* = output + + + +design_variables +**************************************** + +Sets the design variables in a design optimization and analysis + + +rotor_diameter +######################################## + +Adjust the rotor diameter by changing the blade length (all blade properties constant with respect to non-dimensional span coordinates) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`minimum` : Float, m + + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`maximum` : Float, m + + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + + + +blade +######################################## + +Design variables associated with the wind turbine blades + + +aero_shape +======================================== + +Design variables associated with the blade aerodynamic shape + + +twist +---------------------------------------- + +Blade twist as a design variable by adding or subtracting radians from the initial value at spline control points along the span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`inverse` : Boolean + Words TODO? + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the twist distribution along blade span. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float, rad + Maximum allowable decrease of twist at each DV location along + blade span. + + *Default* = 0.1 + +:code:`max_increase` : Float, rad + Maximum allowable increase of twist at each DV location along + blade span. + + *Default* = 0.1 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +chord +---------------------------------------- + +Blade chord as a design variable by scaling (multiplying) the initial value at spline control points along the span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the chord distribution along blade span. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +af_positions +---------------------------------------- + +Adjust airfoil positions along the blade span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`af_start` : Integer + Index of airfoil where the optimization can start shifting airfoil + position. The airfoil at blade tip is always locked. + + *Default* = 4 + + *Minimum* = 1 + + + +rthick +---------------------------------------- + +Blade relative thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. This requires the INN for airfoil design +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the relative thickness distribution along blade + span. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +L/D +---------------------------------------- + +Lift to drag ratio as a design variable by scaling (multiplying) the initial value at spline control points along the span. This requires the INN for airfoil design +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the lift to drag ratio distribution along blade + span. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +c_d +---------------------------------------- + +Drag coefficient at rated conditions as a design variable by scaling (multiplying) the initial value at spline control points along the span. This requires the INN for airfoil design +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the drag coefficient distribution along blade span. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +stall_margin +---------------------------------------- + +Stall margin at rated conditions as a design variable by scaling (multiplying) the initial value at spline control points along the span. This requires the INN for airfoil design +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the stall margin distribution along blade span. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +z +---------------------------------------- + +INN design parameter z +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + z design parameter count + + *Default* = 3 + +:code:`lower_bound` : Float + + + *Default* = -1.0 + + *Minimum* = -1e+30 *Maximum* = 1e+30 + + +:code:`upper_bound` : Float + + + *Default* = 1.0 + + *Minimum* = -1e+30 *Maximum* = 1e+30 + + + + +structure +======================================== + +Design variables associated with the internal blade structure + + +spar_cap_ss +---------------------------------------- + +Blade suction-side spar cap thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the thickness of the spar cap on the suction side. + By default, the first point close to blade root and the last point + close to blade tip are locked. This is done to impose a pre- + defined taper to small thicknesses and mimic a blade + manufacturability constraint. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +spar_cap_ps +---------------------------------------- + +Blade pressure-side spar cap thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`equal_to_suction` : Boolean + If the pressure side spar cap should be equal to the suction side + layer + + *Default* = True + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the thickness of the spar cap on the pressure side. + By default, the first point close to blade root and the last point + close to blade tip are locked. This is done to impose a pre- + defined taper to small thicknesses and mimic a blade + manufacturability constraint. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +te_ss +---------------------------------------- + +Blade suction-side trailing edge reinforcement thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the thickness of the trailing edge reinforcement on + the suction side. By default, the first point close to blade root + and the last point close to blade tip are locked. This is done to + impose a pre-defined taper to small thicknesses and mimic a blade + manufacturability constraint. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +te_ps +---------------------------------------- + +Blade pressure-side trailing edge reinforcement thickness as a design variable by scaling (multiplying) the initial value at spline control points along the span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`equal_to_suction` : Boolean + If the pressure side spar cap should be equal to the suction side + layer + + *Default* = True + +:code:`n_opt` : Integer + Number of equally-spaced control points of the spline + parametrizing the thickness of the trailing edge reinforcement on + the pressure side. By default, the first point close to blade root + and the last point close to blade tip are locked. This is done to + impose a pre-defined taper to small thicknesses and mimic a blade + manufacturability constraint. + + *Default* = 8 + + *Minimum* = 4 + +:code:`max_decrease` : Float + Maximum nondimensional decrease at each optimization location + + *Default* = 0.5 + +:code:`max_increase` : Float + Maximum nondimensional increase at each optimization location + + *Default* = 1.5 + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +control +######################################## + +Design variables associated with the control of the wind turbine + + +tsr +======================================== + +Adjust the tip-speed ratio (ratio between blade tip velocity and steady hub-height wind speed) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`minimum` : Float + Minimum allowable value + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 30.0 + + +:code:`maximum` : Float + Maximum allowable value + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 30.0 + + +:code:`min_gain` : Float + Lower bound on scalar multiplier that will be applied to value at + control points + + *Default* = 0.5 + +:code:`max_gain` : Float + Upper bound on scalar multiplier that will be applied to value at + control points + + *Default* = 1.5 + + + +flaps +======================================== + + + +te_flap_end +---------------------------------------- + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.5 + + *Minimum* = 0.1 *Maximum* = 1.0 + + +:code:`max` : Float + + + *Default* = 0.98 + + *Minimum* = 0.1 *Maximum* = 1.0 + + + + +te_flap_ext +---------------------------------------- + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.01 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`max` : Float + + + *Default* = 0.2 + + *Minimum* = 0.0 *Maximum* = 1.0 + + + + +ps_percent +======================================== + +Percent peak shaving as a design variable +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 0.75 + +:code:`upper_bound` : Float + + + *Default* = 1.0 + + + +servo +======================================== + + + +pitch_control +---------------------------------------- + + + +omega +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float, rad/s + + + *Default* = 0.1 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`max` : Float, rad/s + + + *Default* = 0.7 + + *Minimum* = 0.0 *Maximum* = 10.0 + + + + +zeta +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.7 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`max` : Float, rad/s + + + *Default* = 1.5 + + *Minimum* = 0.0 *Maximum* = 10.0 + + + + +Kp_float +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float, s + + + *Default* = -100 + +:code:`max` : Float, s + + + *Default* = 0 + + + +ptfm_freq +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float, rad/s + + + *Default* = 1e-05 + + *Minimum* = 1e-05 + +:code:`max` : Float, rad/s + + + *Default* = 1.5 + + *Minimum* = 1e-05 + + + +stability_margin +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.01 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`max` : Float + + + *Default* = 0.01 + + *Minimum* = 0.0 *Maximum* = 1.0 + + + + +torque_control +---------------------------------------- + + + +omega +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float, rad/s + + + *Default* = 0.1 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`max` : Float, rad/s + + + *Default* = 0.7 + + *Minimum* = 0.0 *Maximum* = 10.0 + + + + +zeta +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.7 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`max` : Float, rad/s + + + *Default* = 1.5 + + *Minimum* = 0.0 *Maximum* = 10.0 + + + + +flap_control +---------------------------------------- + + + +flp_kp_norm +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.01 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`max` : Float + + + *Default* = 5.0 + + *Minimum* = 0.0 *Maximum* = 10.0 + + + + +flp_tau +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 5 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`max` : Float + + + *Default* = 30 + + *Minimum* = 0.0 *Maximum* = 100.0 + + + + +ipc_control +---------------------------------------- + + + +Kp +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float, s + + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`max` : Float, s + + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`ref` : Float + + + *Default* = 1e-08 + + *Minimum* = 1e-10 *Maximum* = 1e-05 + + + + +Ki +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`max` : Float + + + *Default* = 1e-07 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`ref` : Float + + + *Default* = 1e-08 + + *Minimum* = 1e-10 *Maximum* = 1e-05 + + + + +hub +######################################## + +Design variables associated with the hub + + +cone +======================================== + +Adjust the blade attachment coning angle (positive values are always away from the tower whether upwind or downwind) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, rad + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 0.5235987756 + + +:code:`upper_bound` : Float, rad + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 0.5235987756 + + + + +hub_diameter +======================================== + +Adjust the rotor hub diameter +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for hub diameter + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for hub diameter + + *Default* = 30.0 + + *Minimum* = 0.0 *Maximum* = 30.0 + + + + +drivetrain +######################################## + +Design variables associated with the drivetrain + + +uptilt +======================================== + +Adjust the drive shaft tilt angle (positive values tilt away from the tower whether upwind or downwind) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, rad + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 0.5235987756 + + +:code:`upper_bound` : Float, rad + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 0.5235987756 + + + + +overhang +======================================== + +Adjust the x-distance, parallel to the ground or still water line, from the tower top center to the rotor apex. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +distance_tt_hub +======================================== + +Adjust the z-dimension height from the tower top to the rotor apex +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +distance_hub_mb +======================================== + +Adjust the distance along the drive staft from the hub flange to the first main bearing +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +distance_mb_mb +======================================== + +Adjust the distance along the drive staft from the first to the second main bearing +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +generator_length +======================================== + +Adjust the distance along the drive staft between the generator rotor drive shaft attachment to the stator bedplate attachment +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +gear_ratio +======================================== + +For geared configurations only, adjust the gear ratio of the gearbox that multiplies the shaft speed and divides the torque +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 500.0 + + +:code:`upper_bound` : Float + + + *Default* = 150.0 + + *Minimum* = 1.0 *Maximum* = 1000.0 + + + + +lss_diameter +======================================== + +Adjust the diameter at the beginning and end of the low speed shaft (assumes a linear taper) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +hss_diameter +======================================== + +Adjust the diameter at the beginning and end of the high speed shaft (assumes a linear taper) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +nose_diameter +======================================== + +For direct-drive configurations only, adjust the diameter at the beginning and end of the nose/turret (assumes a linear taper) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Lowest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + +:code:`upper_bound` : Float, m + Highest value allowable for design variable + + *Default* = 0.1 + + *Minimum* = 0.1 *Maximum* = 30.0 + + + + +lss_wall_thickness +======================================== + +Adjust the thickness at the beginning and end of the low speed shaft (assumes a linear taper) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.001 + + *Minimum* = 0.001 *Maximum* = 3.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +hss_wall_thickness +======================================== + +Adjust the thickness at the beginning and end of the high speed shaft (assumes a linear taper) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.001 + + *Minimum* = 0.001 *Maximum* = 3.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +nose_wall_thickness +======================================== + +For direct-drive configurations only, adjust the thickness at the beginning and end of the nose/turret (assumes a linear taper) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.001 + + *Minimum* = 0.001 *Maximum* = 3.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +bedplate_wall_thickness +======================================== + +For direct-drive configurations only, adjust the wall thickness along the elliptical bedplate +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.001 + + *Minimum* = 0.001 *Maximum* = 3.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +bedplate_web_thickness +======================================== + +For geared configurations only, adjust the I-beam web thickness of the bedplate +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.001 + + *Minimum* = 0.001 *Maximum* = 3.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +bedplate_flange_thickness +======================================== + +For geared configurations only, adjust the I-beam flange thickness of the bedplate +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.001 + + *Minimum* = 0.001 *Maximum* = 3.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +bedplate_flange_width +======================================== + +For geared configurations only, adjust the I-beam flange width of the bedplate +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.001 + + *Minimum* = 0.001 *Maximum* = 3.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +tower +######################################## + +Design variables associated with the tower or monopile + + +outer_diameter +======================================== + +Adjust the outer diamter of the cylindrical column at nodes along the height. Linear tapering is assumed between the nodes, creating conical frustums in each section +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + + + +layer_thickness +======================================== + +Adjust the layer thickness of each section in the column +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.01 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 0.01 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + + + +section_height +======================================== + +Adjust the height of each conical section +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + + + +E +======================================== + +Isotropic Young's modulus +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, Pa + Design variable bound + + *Default* = 200000000000.0 + + *Minimum* = 1.0 *Maximum* = 1000000000000.0 + + +:code:`upper_bound` : Float, Pa + Design variable bound + + *Default* = 200000000000.0 + + *Minimum* = 1.0 *Maximum* = 1000000000000.0 + + + + +rho +======================================== + +Material density of the tower +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, kg/m**3 + Design variable bound + + *Default* = 7800 + + *Minimum* = 1.0 *Maximum* = 100000.0 + + +:code:`upper_bound` : Float, kg/m**3 + Design variable bound + + *Default* = 7800 + + *Minimum* = 1.0 *Maximum* = 100000.0 + + + + +monopile +######################################## + +Design variables associated with the tower or monopile + + +outer_diameter +======================================== + +Adjust the outer diamter of the cylindrical column at nodes along the height. Linear tapering is assumed between the nodes, creating conical frustums in each section +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + + + +layer_thickness +======================================== + +Adjust the layer thickness of each section in the column +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.01 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 0.01 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + + + +section_height +======================================== + +Adjust the height of each conical section +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + + + +E +======================================== + +Isotropic Young's modulus +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, Pa + Design variable bound + + *Default* = 200000000000.0 + + *Minimum* = 1.0 *Maximum* = 1000000000000.0 + + +:code:`upper_bound` : Float, Pa + Design variable bound + + *Default* = 200000000000.0 + + *Minimum* = 1.0 *Maximum* = 1000000000000.0 + + + + +rho +======================================== + +Material density of the tower +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, kg/m**3 + Design variable bound + + *Default* = 7800 + + *Minimum* = 1.0 *Maximum* = 100000.0 + + +:code:`upper_bound` : Float, kg/m**3 + Design variable bound + + *Default* = 7800 + + *Minimum* = 1.0 *Maximum* = 100000.0 + + + + +jacket +######################################## + +Design variables associated with the jacket + + +foot_head_ratio +======================================== + +Adjust the ratio of the jacket foot (bottom) radius to that of the head (top) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + Design variable bound + + *Default* = 1.5 + + *Minimum* = 1.0 *Maximum* = 100.0 + + +:code:`upper_bound` : Float + Design variable bound + + *Default* = 1.5 + + *Minimum* = 1.0 *Maximum* = 100.0 + + + + +r_head +======================================== + +Adjust the radius of the jacket head. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + + + +leg_diameter +======================================== + +Adjust the diameter of the jacket legs. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 1.5 + + *Minimum* = 0.1 *Maximum* = 10.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 1.5 + + *Minimum* = 0.1 *Maximum* = 10.0 + + + + +height +======================================== + +Overall jacket height, meters. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 70 + + *Minimum* = 0.1 *Maximum* = 1000.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 70 + + *Minimum* = 0.1 *Maximum* = 1000.0 + + + + +leg_thickness +======================================== + +Adjust the leg thicknesses of the jacket. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.001 *Maximum* = 10.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.001 *Maximum* = 10.0 + + + + +brace_diameters +======================================== + +Adjust the brace diameters of the jacket. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.001 *Maximum* = 10.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.001 *Maximum* = 10.0 + + + + +brace_thicknesses +======================================== + +Adjust the brace thicknesses of the jacket. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.001 *Maximum* = 10.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.001 *Maximum* = 10.0 + + + + +bay_spacing +======================================== + +Jacket bay nodal spacing. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`upper_bound` : Float + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.0 *Maximum* = 1.0 + + + + +floating +######################################## + +Design variables associated with the floating platform + + +joints +======================================== + +Design variables associated with the node/joint locations used in the floating platform +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +z_coordinate +---------------------------------------- + +:code:`names` : Array of Strings + Joint or member names of those that are linked + +:code:`lower_bound` : Float, m + Design variable bound + +:code:`upper_bound` : Float, m + Design variable bound + + + +r_coordinate +---------------------------------------- + +:code:`names` : Array of Strings + Joint or member names of those that are linked + +:code:`lower_bound` : Float, m + Design variable bound + +:code:`upper_bound` : Float, m + Design variable bound + + + +members +======================================== + +Design variables associated with the members used in the floating platform +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +groups +---------------------------------------- + +:code:`names` : Array of Strings + Joint or member names of those that are linked + + + +diameter +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Diameter optimization of member group +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 5.0 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`constant` : Boolean + Should the diameters be constant + + *Default* = False + + + +thickness +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Thickness optimization of member group +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.01 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + +:code:`upper_bound` : Float, m + Design variable bound + + *Default* = 0.01 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + + + +ballast +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Ballast volume optimization of member group +:code:`lower_bound` : Float, m^3 + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`upper_bound` : Float, m^3 + Design variable bound + + *Default* = 100000.0 + + *Minimum* = 0.0 + + + +axial_joints +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`names` : Array of Strings + Joint or member names of those that are linked + +:code:`lower_bound` : Float + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`upper_bound` : Float + Design variable bound + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1.0 + + + + +stiffeners +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Stiffener optimization of member group + + +ring +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Ring stiffener optimization of member group + + +size +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Ring stiffener sizing multiplier on T-shape +:code:`min_gain` : Float + Lower bound on scalar multiplier that will be applied to value at + control points + + *Default* = 0.5 + +:code:`max_gain` : Float + + + *Default* = 1.5 + + + +spacing +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Ring stiffener spacing along member axis +:code:`lower_bound` : Float + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`upper_bound` : Float + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.0 + + + +longitudinal +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Longitudinal stiffener optimization of member group + + +size +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Longitudinal stiffener sizing multiplier on T-shape +:code:`min_gain` : Float + Lower bound on scalar multiplier that will be applied to value at + control points + + *Default* = 0.5 + +:code:`max_gain` : Float + + + *Default* = 1.5 + + + +spacing +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Longitudinal stiffener spacing around member annulus +:code:`lower_bound` : Float, rad + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 3.141592653589793 + + +:code:`upper_bound` : Float, rad + Design variable bound + + *Default* = 0.1 + + *Minimum* = 0.0 *Maximum* = 3.141592653589793 + + + + +mooring +######################################## + +Design variables associated with the mooring system + + +line_length +======================================== + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`upper_bound` : Float, m + Design variable bound + + *Minimum* = 0.0 + + + +line_diameter +======================================== + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`upper_bound` : Float, m + Design variable bound + + *Minimum* = 0.0 + + + +line_mass_density_coeff +======================================== + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`upper_bound` : Float, m + Design variable bound + + *Minimum* = 0.0 + + + +line_stiffness_coeff +======================================== + +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + Design variable bound + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`upper_bound` : Float, m + Design variable bound + + *Minimum* = 0.0 + + + +TMDs +######################################## + +Design variables associated with TMDs +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +groups +======================================== + +:code:`names` : Array of Strings + TMD names of those that are linked + + + +mass +---------------------------------------- + +Mass optimization of TMD group +:code:`lower_bound` : Float + + + *Default* = 20000 + +:code:`upper_bound` : Float + + + *Default* = 20000 + +:code:`initial` : Float + Initial condition of TMD group + + *Default* = 100 + +:code:`const_omega` : Boolean + Keep the natural frequency constant while the mass changes? + + *Default* = False + +:code:`const_zeta` : Boolean + Keep the damping ratio constant while the mass changes? + + *Default* = False + + + +stiffness +---------------------------------------- + +Stiffness optimization of TMD group +:code:`lower_bound` : Float + + + *Default* = 20000 + +:code:`upper_bound` : Float + + + *Default* = 20000 + +:code:`initial` : Float + Initial condition of TMD group + + *Default* = 100 + + + +damping +---------------------------------------- + +Damping optimization of TMD group +:code:`lower_bound` : Float + + + *Default* = 20000 + +:code:`upper_bound` : Float + + + *Default* = 20000 + +:code:`initial` : Float + Initial condition of TMD group + + *Default* = 100 + + + +natural_frequency +---------------------------------------- + +Natural frequency optimization of TMD group +:code:`lower_bound` : Float + + + *Default* = 20000 + +:code:`upper_bound` : Float + + + *Default* = 20000 + +:code:`initial` : Float + Initial condition of TMD group + + *Default* = 100 + +:code:`const_zeta` : Boolean + Keep the damping ratio constant while the natural frequency + changes? + + *Default* = False + + + +damping_ratio +---------------------------------------- + +Damping ratio optimization of TMD group +:code:`lower_bound` : Float + + + *Default* = 20000 + +:code:`upper_bound` : Float + + + *Default* = 20000 + +:code:`initial` : Float + Initial condition of TMD group + + *Default* = 100 + + + +constraints +**************************************** + +Activate the constraints that are applied to a design optimization + + +blade +######################################## + +Constraints associated with the blade design + + +strains_spar_cap_ss +======================================== + +Enforce a maximum allowable strain in the suction-side spar caps +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float + Maximum allowable strain value + + *Default* = 0.004 + + *Minimum* = 1e-08 *Maximum* = 0.1 + + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +strains_spar_cap_ps +======================================== + +Enforce a maximum allowable strain in the pressure-side spar caps +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float + Maximum allowable strain value + + *Default* = 0.004 + + *Minimum* = 1e-08 *Maximum* = 0.1 + + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +strains_te_ss +======================================== + +Enforce a maximum allowable strain in the suction-side trailing edge reinforcements +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float + Maximum allowable strain value + + *Default* = 0.004 + + *Minimum* = 1e-08 *Maximum* = 0.1 + + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +strains_te_ps +======================================== + +Enforce a maximum allowable strain in the pressure-side trailing edge reinforcements +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float + Maximum allowable strain value + + *Default* = 0.004 + + *Minimum* = 1e-08 *Maximum* = 0.1 + + +:code:`index_start` : Integer + First index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 0 + + *Minimum* = 0 + +:code:`index_end` : Integer + Last index of the array of design variables/constraints that is + optimized/constrained + + *Default* = 8 + + *Minimum* = 0 + + + +tip_deflection +======================================== + +Enforce a maximum allowable blade tip deflection towards the tower expressed as a safety factor on the parked margin. Meaning a parked distance to the tower of 30m and a constraint value here of 1.5 would mean that 30/1.5=20m of deflection is the maximum allowable +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`margin` : Float + + + *Default* = 1.4175 + + *Minimum* = 1.0 *Maximum* = 10.0 + + + + +t_sc_joint +======================================== + +Enforce a maximum allowable spar cap thickness, expressed as the ratio of the required spar cap thickness at the joint location to the nominal spar cap thickness. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +rail_transport +======================================== + +Enforce sufficient blade flexibility such that they can be transported on rail cars without exceeding maximum blade strains or derailment. User can activate either 8-axle flatcars or 4-axle +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`8_axle` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`4_axle` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +stall +======================================== + +Ensuring blade angles of attacks do not approach the stall point. Margin is expressed in radians from stall. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`margin` : Float, radians + + + *Default* = 0.05233 + + *Minimum* = 0.0 *Maximum* = 0.5 + + + + +chord +======================================== + +Enforcing the maximum chord length limit at all points along blade span. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, meter + + + *Default* = 4.75 + + *Minimum* = 0.1 *Maximum* = 20.0 + + + + +root_circle_diameter +======================================== + +Enforcing the minimum blade root circle diameter. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max_ratio` : Float + Maximum ratio between the recommended root circle diameter and the + actual chord at blade root. The optimizer will make sure that the + ratio stays below this value. + + *Default* = 1.0 + + *Minimum* = 0.01 *Maximum* = 10.0 + + + + +frequency +======================================== + +Frequency separation constraint between blade fundamental frequency and blade passing (3P) frequency at rated conditions using gamma_freq margin. Can be activated for blade flap and/or edge modes. +:code:`flap_3P` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`edge_3P` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +moment_coefficient +======================================== + +(EXPERIMENTAL) Targeted blade moment coefficient (useful for managing root flap loads or inverse design approaches that is not recommendend for general use) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.15 + + *Minimum* = 0.01 *Maximum* = 5.0 + + +:code:`max` : Float + + + *Default* = 0.15 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +match_cl_cd +======================================== + +(EXPERIMENTAL) Targeted airfoil cl/cd ratio (useful for inverse design approaches that is not recommendend for general use) +:code:`flag_cl` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`flag_cd` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`filename` : String + file path to constraint data + + *Default* = + + + +match_L_D +======================================== + +(EXPERIMENTAL) Targeted blade moment coefficient (useful for managing root flap loads or inverse design approaches that is not recommendend for general use) +:code:`flag_L` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`flag_D` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`filename` : String + file path to constraint data + + *Default* = + + + +AEP +======================================== + +Set a minimum bound on AEP in kWh when optimizing the blade and rotor parameters +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float, kWh + + + *Default* = 1.0 + + *Minimum* = 1.0 + + + +thrust_coeff +======================================== + +(EXPERIMENTAL) Bound the ccblade thrust coefficient away from unconstrained optimal when optimizing for power, for highly-loaded rotors +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower` : Float + + + *Minimum* = 0.0 + +:code:`upper` : Float + + + *Minimum* = 0.0 + + + +tower +######################################## + +Constraints associated with the tower design + + +height_constraint +======================================== + +Double-sided constraint to ensure total tower height meets target hub height when adjusting section heights +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.01 + + *Minimum* = 1e-06 *Maximum* = 10.0 + + +:code:`upper_bound` : Float, m + + + *Default* = 0.01 + + *Minimum* = 1e-06 *Maximum* = 10.0 + + + + +stress +======================================== + +Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +global_buckling +======================================== + +Enforce a global buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +shell_buckling +======================================== + +Enforce a shell buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +slope +======================================== + +Ensure that the diameter moving up the tower at any node is always equal or less than the diameter of the node preceding it +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +thickness_slope +======================================== + +Ensure that the thickness moving up the tower at any node is always equal or less than the thickness of the section preceding it +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +d_to_t +======================================== + +Double-sided constraint to ensure target diameter to thickness ratio for manufacturing and structural objectives +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 50.0 + + *Minimum* = 1.0 *Maximum* = 2000.0 + + +:code:`upper_bound` : Float + + + *Default* = 50.0 + + *Minimum* = 1.0 *Maximum* = 2000.0 + + + + +taper +======================================== + +Enforcing a max allowable conical frustum taper ratio per section +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 0.5 + + *Minimum* = 0.001 *Maximum* = 1.0 + + + + +frequency +======================================== + +Frequency separation constraint between all tower modal frequencies and blade period (1P) and passing (3P) frequencies at rated conditions using gamma_freq margin. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +frequency_1 +======================================== + +Targeted range for tower first frequency constraint. Since first and second frequencies are generally the same for the tower, this usually governs the second frequency as well (both fore-aft and side-side first frequency) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, Hz + + + *Default* = 0.1 + + *Minimum* = 0.01 *Maximum* = 5.0 + + +:code:`upper_bound` : Float, Hz + + + *Default* = 0.1 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +monopile +######################################## + +Constraints associated with the monopile design + + +stress +======================================== + +Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +global_buckling +======================================== + +Enforce a global buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +shell_buckling +======================================== + +Enforce a shell buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +slope +======================================== + +Ensure that the diameter moving up the tower at any node is always equal or less than the diameter of the node preceding it +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +thickness_slope +======================================== + +Ensure that the thickness moving up the tower at any node is always equal or less than the thickness of the section preceding it +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +d_to_t +======================================== + +Double-sided constraint to ensure target diameter to thickness ratio for manufacturing and structural objectives +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 50.0 + + *Minimum* = 1.0 *Maximum* = 2000.0 + + +:code:`upper_bound` : Float + + + *Default* = 50.0 + + *Minimum* = 1.0 *Maximum* = 2000.0 + + + + +taper +======================================== + +Enforcing a max allowable conical frustum taper ratio per section +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 0.5 + + *Minimum* = 0.001 *Maximum* = 1.0 + + + + +frequency_1 +======================================== + +Targeted range for tower first frequency constraint. Since first and second frequencies are generally the same for the tower, this usually governs the second frequency as well (both fore-aft and side-side first frequency) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, Hz + + + *Default* = 0.1 + + *Minimum* = 0.01 *Maximum* = 5.0 + + +:code:`upper_bound` : Float, Hz + + + *Default* = 0.1 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +pile_depth +======================================== + +Ensures that the submerged suction pile depth meets a minimum value +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 200.0 + + + + +tower_diameter_coupling +======================================== + +Ensures that the top diameter of the monopile is the same or larger than the base diameter of the tower +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +jacket +######################################## + +Constraints associated with the monopile design + + +stress +======================================== + +Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +global_buckling +======================================== + +Enforce a global buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +shell_buckling +======================================== + +Enforce a shell buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +slope +======================================== + +Ensure that the diameter moving up the tower at any node is always equal or less than the diameter of the node preceding it +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +thickness_slope +======================================== + +Ensure that the thickness moving up the tower at any node is always equal or less than the thickness of the section preceding it +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +d_to_t +======================================== + +Double-sided constraint to ensure target diameter to thickness ratio for manufacturing and structural objectives +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 50.0 + + *Minimum* = 1.0 *Maximum* = 2000.0 + + +:code:`upper_bound` : Float + + + *Default* = 50.0 + + *Minimum* = 1.0 *Maximum* = 2000.0 + + + + +taper +======================================== + +Enforcing a max allowable conical frustum taper ratio per section +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float + + + *Default* = 0.5 + + *Minimum* = 0.001 *Maximum* = 1.0 + + + + +frequency_1 +======================================== + +Targeted range for tower first frequency constraint. Since first and second frequencies are generally the same for the tower, this usually governs the second frequency as well (both fore-aft and side-side first frequency) +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, Hz + + + *Default* = 0.1 + + *Minimum* = 0.01 *Maximum* = 5.0 + + +:code:`upper_bound` : Float, Hz + + + *Default* = 0.1 + + *Minimum* = 0.01 *Maximum* = 5.0 + + + + +pile_depth +======================================== + +Ensures that the submerged suction pile depth meets a minimum value +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, m + + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 200.0 + + + + +tower_diameter_coupling +======================================== + +Ensures that the top diameter of the monopile is the same or larger than the base diameter of the tower +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +hub +######################################## + + + +hub_diameter +======================================== + +Ensure that the diameter of the hub is sufficient to accommodate the number of blades and blade root diameter +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +drivetrain +######################################## + + + +lss +======================================== + +Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +hss +======================================== + +Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +bedplate +======================================== + +Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +mb1 +======================================== + +Ensure that the angular deflection at this meain bearing does not exceed the maximum allowable deflection for the bearing type +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +mb2 +======================================== + +Ensure that the angular deflection at this meain bearing does not exceed the maximum allowable deflection for the bearing type +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +length +======================================== + +Ensure that the bedplate length is sufficient to meet desired overhang value +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +height +======================================== + +Ensure that the bedplate height is sufficient to meet desired nacelle height value +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +access +======================================== + +For direct-drive configurations only, ensure that the inner diameter of the nose/turret is big enough to allow human access +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, meter + Minimum size to ensure human maintenance access + + *Default* = 2.0 + + *Minimum* = 0.1 *Maximum* = 5.0 + + + + +shaft_deflection +======================================== + +Allowable non-torque deflection of the shaft, in meters, at the generator rotor attachment for direct drive or gearbox attachment for geared drive +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`upper_bound` : Float, meter + Upper limit of deflection + + *Default* = 0.0001 + + *Minimum* = 1e-06 *Maximum* = 1.0 + + + + +shaft_angle +======================================== + +Allowable non-torque angular deflection of the shaft, in radians, at the generator rotor attachment for direct drive or gearbox attachment for geared drive +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`upper_bound` : Float, radian + Upper limit of angular deflection + + *Default* = 0.001 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + + + +stator_deflection +======================================== + +Allowable deflection of the nose or bedplate, in meters, at the generator stator attachment +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`upper_bound` : Float, meter + Upper limit of deflection + + *Default* = 0.0001 + + *Minimum* = 1e-06 *Maximum* = 1.0 + + + + +stator_angle +======================================== + +Allowable non-torque angular deflection of the nose or bedplate, in radians, at the generator stator attachment +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`upper_bound` : Float, radian + Upper limit of angular deflection + + *Default* = 0.001 + + *Minimum* = 1e-05 *Maximum* = 1.0 + + + + +ecc +======================================== + +For direct-drive configurations only, ensure that the elliptical bedplate length is greater than its height +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +floating +######################################## + + + +operational_heel +======================================== + +Ensure that the mooring system has enough restoring force to keep the heel/pitch angle below this limit +:code:`upper_bound` : Float, rad + + + *Default* = 0.17453292519943295 + + *Minimum* = 0.017453292519943295 *Maximum* = 0.7853981633974483 + + + + +survival_heel +======================================== + +Ensure that the mooring system has enough restoring force to keep the heel/pitch angle below this limit +:code:`upper_bound` : Float, rad + + + *Default* = 0.17453292519943295 + + *Minimum* = 0.017453292519943295 *Maximum* = 0.7853981633974483 + + + + +max_surge +======================================== + +Ensure that the mooring system has enough restoring force so that this surge distance, expressed as a fraction of water depth, is not exceeded +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`upper_bound` : Float + + + *Default* = 0.1 + + *Minimum* = 0.01 *Maximum* = 1.0 + + + + +buoyancy +======================================== + +Ensures that the platform displacement is sufficient to support the weight of the turbine system +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +fixed_ballast_capacity +======================================== + +Ensures that there is sufficient volume to hold the specified fixed (permanent) ballast +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +variable_ballast_capacity +======================================== + +Ensures that there is sufficient volume to hold the needed water (variable) ballast to achieve neutral buoyancy +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +metacentric_height +======================================== + +Ensures hydrostatic stability with a positive metacentric height +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, meter + + + *Default* = 10.0 + + *Minimum* = 0.0 + + + +freeboard_margin +======================================== + +Ensures that the freeboard (top points of structure) of floating platform stays above the waterline at the survival heel offset +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +draft_margin +======================================== + +Ensures that the draft (bottom points of structure) of floating platform stays beneath the waterline at the survival heel offset +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +fairlead_depth +======================================== + +Ensures that the mooring line attachment depth (fairlead) is sufficiently beneath the water line that it is not exposed at the significant wave height +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +mooring_surge +======================================== + +Ensures that the mooring lines have sufficient restoring force to overcome rotor thrust at the max surge offset +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +mooring_heel +======================================== + +Ensures that the mooring lines have sufficient restoring force to overcome rotor thrust at the max heel offset +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +mooring_tension +======================================== + +Keep the mooring line tension below its breaking point +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +mooring_length +======================================== + +Keep the mooring line length within the bounds for catenary hang or TLP tension +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +anchor_vertical +======================================== + +Ensure that the maximum vertical force on the anchor does not exceed limit +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +anchor_lateral +======================================== + +Ensure that the maximum lateral force on the anchor does not exceed limit +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +stress +======================================== + +Enforce a maximum allowable von Mises stress relative to the material yield stress with safety factor of gamma_f * gamma_m * gamma_n +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +global_buckling +======================================== + +Enforce a global buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +shell_buckling +======================================== + +Enforce a shell buckling limit using Eurocode checks with safety factor of gamma_f * gamma_b +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + + + +surge_period +======================================== + +Ensure that the rigid body period stays within bounds +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + +:code:`upper_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + + + +sway_period +======================================== + +Ensure that the rigid body period stays within bounds +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + +:code:`upper_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + + + +heave_period +======================================== + +Ensure that the rigid body period stays within bounds +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + +:code:`upper_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + + + +roll_period +======================================== + +Ensure that the rigid body period stays within bounds +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + +:code:`upper_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + + + +pitch_period +======================================== + +Ensure that the rigid body period stays within bounds +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + +:code:`upper_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + + + +yaw_period +======================================== + +Ensure that the rigid body period stays within bounds +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`lower_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + +:code:`upper_bound` : Float, s + + + *Default* = 1.0 + + *Minimum* = 0.01 + + + +Max_Offset +======================================== + +Maximum combined surge/sway offset. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, m + + + *Default* = 20 + + *Minimum* = 0.0 *Maximum* = 20000.0 + + + + +control +######################################## + + + +flap_control +======================================== + +Words TODO +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.05 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`max` : Float + + + *Default* = 0.05 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + + + +rotor_overspeed +======================================== + +(Maximum rotor speed / rated rotor speed) - 1. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`min` : Float + + + *Default* = 0.05 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`max` : Float + + + *Default* = 0.05 + + *Minimum* = 0.0 *Maximum* = 1.0 + + + + +Max_PtfmPitch +======================================== + +Maximum platform pitch displacement over all cases. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, deg + + + *Default* = 6.0 + + *Minimum* = 0.0 *Maximum* = 30.0 + + + + +Std_PtfmPitch +======================================== + +Maximum platform pitch standard deviation over all cases. Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, deg + + + *Default* = 2.0 + + *Minimum* = 0.0 *Maximum* = 30.0 + + + + +Max_TwrBsMyt +======================================== + +Maximum platform pitch displacement +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, kN*m + + + *Default* = 100000.0 + + *Minimum* = 0.0 *Maximum* = 100000000.0 + + + + +DEL_TwrBsMyt +======================================== + +Maximum platform pitch displacement +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, kN*m + + + *Default* = 100000.0 + + *Minimum* = 0.0 *Maximum* = 100000000.0 + + + + +nacelle_acceleration +======================================== + +Maximum Nacelle IMU accelleration magnitude, i.e., sqrt(NcIMUTAxs^2 + NcIMUTAys^2 + NcIMUTAzs^2). Can be computed in both RAFT and OpenFAST. The higher fidelity option will be used when active. +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, m/s^2 + + + *Default* = 3.2667 + + *Minimum* = 0.0 *Maximum* = 30.0 + + + + +avg_pitch_travel +======================================== + +Average pitch travel per second +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, deg/s + + + *Default* = 5 + + *Minimum* = 0.0 *Maximum* = 30.0 + + + + +pitch_duty_cycle +======================================== + +Number of pitch direction changes per second of simulation +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float, deg/s + + + *Default* = 5 + + *Minimum* = 0.0 *Maximum* = 30.0 + + + + +damage +######################################## + + + +tower_base +======================================== + +Tower base damage constraint +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`max` : Float + + + *Default* = 1.0 + + *Minimum* = 1e-05 *Maximum* = 30.0 + + +:code:`log` : Boolean + Use the logarithm of damage as the constraint. + + *Default* = False + + + +openfast_failed +######################################## + +:code:`flag` : Boolean + Constrain design to one where OpenFAST simulations don't + fail_value + + *Default* = False + +:code:`merit_figure` : String + Objective function / merit figure for optimization + + *Default* = LCOE + + + +driver +**************************************** + + + +optimization +######################################## + +Specification of the optimization driver (optimization algorithm) parameters +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`tol` : Float + Convergence tolerance (relative) + + *Default* = 1e-06 + + *Minimum* = 1e-12 *Maximum* = 1.0 + + +:code:`max_iter` : Integer + Max number of optimization iterations + + *Default* = 100 + + *Minimum* = 0 *Maximum* = 100000 + + +:code:`max_major_iter` : Integer + Max number of major optimization iterations of SNOPT + + *Default* = 10 + + *Minimum* = 0 *Maximum* = 100000 + + +:code:`max_minor_iter` : Integer + Max number of minor optimization iterations of SNOPT + + *Default* = 100 + + *Minimum* = 0 *Maximum* = 100000 + + +:code:`time_limit` : Integer + Max seconds of major iteration runtime for SNOPT + + *Default* = 0 + + *Minimum* = 0 + +:code:`max_function_calls` : Integer + Max number of calls to objective function evaluation + + *Default* = 100000 + + *Minimum* = 0 *Maximum* = 100000000 + + +:code:`solver` : String from, ['SLSQP', 'CONMIN', 'COBYLA', 'SNOPT', 'Nelder-Mead', 'GA', 'GN_DIRECT', 'GN_DIRECT_L', 'GN_DIRECT_L_NOSCAL', 'GN_ORIG_DIRECT', 'GN_ORIG_DIRECT_L', 'GN_AGS', 'GN_ISRES', 'LN_COBYLA', 'LD_MMA', 'LD_CCSAQ', 'LD_SLSQP', 'NSGA2'] + Optimization driver. + + *Default* = SLSQP + +:code:`step_size` : Float + Maximum step size for finite difference approximation + + *Default* = 0.001 + + *Minimum* = 1e-10 *Maximum* = 100.0 + + +:code:`form` : String from, ['central', 'forward', 'complex'] + Finite difference calculation mode + + *Default* = central + +:code:`step_calc` : String from, ['None', 'abs', 'rel_avg', 'rel_element', 'rel_legacy'] + Step type for computing the size of the finite difference step. + + *Default* = None + +:code:`debug_print` : Boolean + Toggle driver debug printing + + *Default* = False + + + +design_of_experiments +######################################## + +Specification of the design of experiments driver parameters +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`run_parallel` : Boolean + Toggle parallel model runs + + *Default* = True + +:code:`generator` : String from, ['Uniform', 'FullFact', 'PlackettBurman', 'BoxBehnken', 'LatinHypercube'] + Type of model input generator. + + *Default* = Uniform + +:code:`num_samples` : Integer + Number of samples to evaluate model at (Uniform and LatinHypercube + only) + + *Default* = 5 + + *Minimum* = 1 *Maximum* = 1000000 + + +:code:`seed` : Integer + Random seed to use if design is randomized + + *Default* = 2 + + *Minimum* = 1 *Maximum* = 1000000 + + +:code:`levels` : Integer + Number of evenly spaced levels between each design variable lower + and upper bound (FullFactorial only) + + *Default* = 2 + + *Minimum* = 1 *Maximum* = 1000000 + + +:code:`criterion` : String from, ['None', 'center', 'c', 'maximin', 'm', 'centermaximin', 'cm', 'correelation', 'corr'] + Descriptor of sampling method for LatinHypercube generator + + *Default* = center + +:code:`iterations` : Integer + Number of iterations in maximin and correlations algorithms + (LatinHypercube only) + + *Default* = 2 + + *Minimum* = 1 *Maximum* = 1000000 + + +:code:`debug_print` : Boolean + Toggle driver debug printing + + *Default* = False + + + +step_size_study +######################################## + +Specification of the step size study parameters +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`form` : String from, ['central', 'forward', 'complex'] + Finite difference calculation mode + + *Default* = central + +:code:`driver_scaling` : Boolean + When True, return derivatives that are scaled according to either + the adder and scaler or the ref and ref0 values that were + specified when add_design_var, add_objective, and add_constraint + were called on the model. + + *Default* = False + + + +recorder +**************************************** + +Optimization iteration recording via OpenMDAO +:code:`flag` : Boolean + Activates as a design variable or constraint + + *Default* = False + +:code:`file_name` : String + OpenMDAO recorder output SQL database file + + *Default* = log_opt.sql + +:code:`just_dvs` : Boolean + If true, only record design variables. + + *Default* = False + diff --git a/docs/inputs/weis_geometry_schema.rst b/docs/inputs/weis_geometry_schema.rst new file mode 100644 index 000000000..ec18dae6c --- /dev/null +++ b/docs/inputs/weis_geometry_schema.rst @@ -0,0 +1,2265 @@ +****************************** +/Users/dzalkind/Tools/WEIS-2/weis/inputs/weis_geometry_schema.yaml +****************************** +Ontology definition for wind turbines as defined in WP1 of IEA Wind Task 37 - Phase II + + +/Users/dzalkind/Tools/WEIS-2/weis/inputs/weis_geometry_schema. + +:code:`comments` : String + Description of the model + +:code:`name` : String + Name of the turbine + + + +assembly +**************************************** + +:code:`turbine_class` : String from, ['I', 'II', 'III', 'IV', 'i', 'ii', 'iii', 'iv', 1, 2, 3, 4] + IEC wind class of the wind turbine. The options are "I", "II", + "III", and 'IV' + + *Default* = I + +:code:`turbulence_class` : String from, ['A', 'B', 'C', 'D', 'a', 'b', 'c', 'd'] + IEC turbulence class of the wind turbine. The options are "A", + "B", and "C" + + *Default* = B + +:code:`drivetrain` : String from, ['Geared', 'geared', 'Direct_drive', 'Direct_Drive', 'Direct', 'direct_drive', 'direct', 'pm_direct_drive', 'Constant_eff'] + String characterizing the drivetrain configuration + + *Default* = geared + +:code:`rotor_orientation` : String from, ['Upwind', 'upwind', 'UPWIND', 'downwind', 'Downwind', 'DOWNWIND'] + Orientation of the horizontal-axis rotor. The options are "Upwind" + and "Downwind" + + *Default* = Upwind + +:code:`number_of_blades` : Integer + Number of blades of the rotor + + *Default* = 3 + + *Minimum* = 0 *Maximum* = 10 + + +:code:`rotor_diameter` : Float, m + Diameter of the rotor, defined as two times the projected blade + length plus the hub diameter + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`hub_height` : Float, m + Height of the hub center over the ground (land-based) or the mean + sea level (offshore) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`rated_power` : Float, W + Nameplate power of the turbine, i.e. the rated electrical output + of the generator. + + *Minimum* = 0 + +:code:`lifetime` : Float, years + Turbine design lifetime in years. + + *Default* = 25.0 + + *Minimum* = 0 + + + +components +**************************************** + + + +blade +######################################## + + + +outer_shape_bem +======================================== + + + +airfoil_position +---------------------------------------- + + + +chord +---------------------------------------- + + + +twist +---------------------------------------- + + + +pitch_axis +---------------------------------------- + + + +rthick +---------------------------------------- + + + +L/D +---------------------------------------- + + + +c_d +---------------------------------------- + + + +stall_margin +---------------------------------------- + + + +elastic_properties_mb +======================================== + + + +internal_structure_2d_fem +======================================== + + + +root +---------------------------------------- + +:code:`d_f` : Float, m + Diameter of the fastener, default is M30, so 0.03 meters + + *Default* = 0.03 + + *Minimum* = 0.01 *Maximum* = 0.2 + + +:code:`sigma_max` : Float, Pa + Max stress on bolt + + *Default* = 675000000.0 + + *Minimum* = 100000.0 *Maximum* = 10000000000.0 + + + + +webs +---------------------------------------- + +:code:`name` : String + structural component identifier + + + +layers +---------------------------------------- + +:code:`name` : String + structural component identifier + +:code:`material` : String + material identifier + +:code:`web` : String + web to which the layer is associated to, only to be defined for + web layers + + + +thickness +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +thickness of the laminate + + +n_plies +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +number of plies of the laminate + + +fiber_orientation +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +orientation of the fibers + + +width +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +dimensional width of the component along the arc + + +joint +---------------------------------------- + +This is a spanwise joint along the blade, usually adopted to ease transportation constraints. WISDEM currently supports a single joint. +:code:`position` : Float + Spanwise position of the segmentation joint. + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`mass` : Float, kg + Mass of the joint. + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`cost` : Float, USD + Cost of the joint. + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`bolt` : String from, ['M18', 'M24', 'M30', 'M36', 'M42', 'M48', 'M52'] + Bolt size for the blade bolted joint + + *Default* = M30 + +:code:`nonmaterial_cost` : Float, USD + Cost of the joint not from materials. + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`reinforcement_layer_ss` : String + Layer identifier for the joint reinforcement on the suction side + + *Default* = joint_reinf_ss + +:code:`reinforcement_layer_ps` : String + Layer identifier for the joint reinforcement on the pressure side + + *Default* = joint_reinf_ps + + + +hub +######################################## + +:code:`diameter` : Float, meter + Diameter of the hub measured at the blade root positions. + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`cone_angle` : Float, rad + Rotor precone angle, defined positive for both upwind and downwind + rotors. + + *Minimum* = 0 *Maximum* = 0.4 + + +:code:`drag_coefficient` : Float + Equivalent drag coefficient to compute the aerodynamic forces + generated on the hub. + + *Default* = 0.5 + + *Minimum* = 0 *Maximum* = 2.0 + + +:code:`flange_t2shell_t` : Float + Ratio of flange thickness to shell thickness + + *Default* = 6.0 + + *Minimum* = 0 *Maximum* = 20.0 + + +:code:`flange_OD2hub_D` : Float + Ratio of flange outer diameter to hub diameter + + *Default* = 0.6 + + *Minimum* = 0 *Maximum* = 10.0 + + +:code:`flange_ID2OD` : Float + Check this + + *Default* = 0.8 + + *Minimum* = 0 *Maximum* = 10.0 + + +:code:`hub_blade_spacing_margin` : Float + Ratio of flange thickness to shell thickness + + *Default* = 1.2 + + *Minimum* = 0 *Maximum* = 20.0 + + +:code:`hub_stress_concentration` : Float + Stress concentration factor. Stress concentration occurs at all + fillets,notches, lifting lugs, hatches and are accounted for by + assigning a stress concentration factor + + *Default* = 3.0 + + *Minimum* = 0 *Maximum* = 20.0 + + +:code:`n_front_brackets` : Integer + Number of front spinner brackets + + *Default* = 5 + + *Minimum* = 0 *Maximum* = 20 + + +:code:`n_rear_brackets` : Integer + Number of rear spinner brackets + + *Default* = 5 + + *Minimum* = 0 *Maximum* = 20 + + +:code:`clearance_hub_spinner` : Float, m + Clearance between spinner and hub + + *Default* = 0.5 + + *Minimum* = 0 *Maximum* = 20.0 + + +:code:`spin_hole_incr` : Float + Ratio between access hole diameter in the spinner and blade root + diameter. Typical value 1.2 + + *Default* = 1.2 + + *Minimum* = 0 *Maximum* = 20.0 + + +:code:`pitch_system_scaling_factor` : Float + Scaling factor to tune the total mass (0.54 is recommended for + modern designs) + + *Default* = 0.54 + + *Minimum* = 0 *Maximum* = 2.0 + + +:code:`hub_material` : String + Material of the shell of the hub + +:code:`spinner_material` : String + Material of the spinner + + + +elastic_properties_mb +======================================== + +:code:`system_mass` : Float, kg + Mass of the hub system, which includes the hub, the spinner, the + blade bearings, the pitch actuators, the cabling, .... + + *Minimum* = 0 + +:code:`system_inertia` : Array of Floats, kgm2 + Inertia of the hub system, on the hub reference system, which has + the x aligned with the rotor axis, and y and z perpendicular to + it. + +:code:`system_center_mass` : Array of Floats, m + Center of mass of the hub system. Work in progress. + + + +nacelle +######################################## + + + +drivetrain +======================================== + +Inputs to WISDEM specific drivetrain sizing tool, DrivetrainSE +:code:`uptilt` : Float, rad + Tilt angle of the nacelle, always defined positive. + + *Default* = 0.08726 + + *Minimum* = 0.0 *Maximum* = 0.2 + + +:code:`distance_tt_hub` : Float, meter + Vertical distance between the tower top and the hub center. + + *Default* = 2.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`distance_hub_mb` : Float, meter + Distance from hub flange to first main bearing along shaft. + + *Default* = 2.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`distance_mb_mb` : Float, meter + Distance from first to second main bearing along shaft. + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`overhang` : Float, meter + Horizontal distance between the tower axis and the rotor apex. + + *Default* = 5.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`generator_length` : Float, meter + Length of generator along the shaft + + *Default* = 2.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`generator_radius_user` : Float, m + User input override of generator radius, only used when using + simple generator scaling + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`generator_mass_user` : Float, kg + User input override of generator mass, only used when using simple + generator mass scaling + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000000000.0 + + + + +generator_rpm_efficiency_user +---------------------------------------- + +User input override of generator rpm-efficiency values, with rpm as grid input and eff as values input +:code:`gear_ratio` : Float + Gear ratio of the drivetrain. Set it to 1 for direct drive + machines. + + *Default* = 1.0 + + *Minimum* = 1 *Maximum* = 1000 + + +:code:`gearbox_length_user` : Float, meter + User input override of gearbox length along shaft, only used when + using gearbox_mass_user is > 0 + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`gearbox_radius_user` : Float, m + User input override of gearbox radius, only used when using + gearbox_mass_user is > 0 + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + +:code:`gearbox_mass_user` : Float, kg + User input override of gearbox mass + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000000000.0 + + +:code:`gearbox_efficiency` : Float + Efficiency of the gearbox system. + + *Default* = 1.0 + + *Minimum* = 0.8 *Maximum* = 1.0 + + +:code:`damping_ratio` : Float + Damping ratio for the drivetrain system + + *Default* = 0.005 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`lss_diameter` : Array of Floats, m + Diameter of the low speed shaft at beginning (generator/gearbox) + and end (hub) points + + *Default* = [0.3, 0.3] + +:code:`lss_wall_thickness` : Array of Floats, m + Thickness of the low speed shaft at beginning (generator/gearbox) + and end (hub) points + + *Default* = [0.1, 0.1] + +:code:`lss_material` : String + Material name identifier + + *Default* = steel + +:code:`hss_length` : Float, meter + Length of the high speed shaft + + *Default* = 1.5 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`hss_diameter` : Array of Floats, m + Diameter of the high speed shaft at beginning (generator) and end + (generator) points + + *Default* = [0.3, 0.3] + +:code:`hss_wall_thickness` : Array of Floats, m + Thickness of the high speed shaft at beginning (generator) and end + (generator) points + + *Default* = [0.1, 0.1] + +:code:`hss_material` : String + Material name identifier + + *Default* = steel + +:code:`nose_diameter` : Array of Floats, m + Diameter of the nose/turret at beginning (bedplate) and end (main + bearing) points + + *Default* = [0.3, 0.3] + +:code:`nose_wall_thickness` : Array of Floats, m + Thickness of the nose/turret at beginning (bedplate) and end (main + bearing) points + + *Default* = [0.1, 0.1] + + + +bedplate_wall_thickness +---------------------------------------- + +Thickness of the hollow elliptical bedplate used in direct drive configurations +:code:`bedplate_flange_width` : Float, meter + Bedplate I-beam flange width used in geared configurations + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 3.0 + + +:code:`bedplate_flange_thickness` : Float, meter + Bedplate I-beam flange thickness used in geared configurations + + *Default* = 0.05 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`bedplate_web_thickness` : Float, meter + Bedplate I-beam web thickness used in geared configurations + + *Default* = 0.05 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`brake_mass_user` : Float, kg + Override regular regression-based calculation of brake mass with + this value + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`hvac_mass_coefficient` : Float, kg/kW + Regression-based scaling coefficient on machine rating to get HVAC + system mass + + *Default* = 0.025 + + *Minimum* = 0.0 + +:code:`converter_mass_user` : Float, kg + Override regular regression-based calculation of converter mass + with this value + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`transformer_mass_user` : Float, kg + Override regular regression-based calculation of transformer mass + with this value + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`bedplate_material` : String + Material name identifier + + *Default* = steel + +:code:`mb1Type` : String from, ['CARB', 'CRB', 'SRB', 'TRB'] + Type of bearing for first main bearing + + *Default* = CARB + +:code:`mb2Type` : String from, ['CARB', 'CRB', 'SRB', 'TRB'] + Type of bearing for second main bearing + + *Default* = SRB + +:code:`uptower` : Boolean + If power electronics are located uptower (True) or at tower base + (False) + + *Default* = True + +:code:`gear_configuration` : String + 3-letter string of Es or Ps to denote epicyclic or parallel gear + configuration + + *Default* = EEP + +:code:`planet_numbers` : Array of Integers + Number of planets for epicyclic stages (use 0 for parallel) + + *Default* = [3, 3, 0] + + *Minimum* = 0 + + *Maximum* = 6 + + + +elastic_properties_mb +======================================== + +:code:`system_mass` : Float, kg + Mass of the nacelle system, including the entire drivetrain system + (shafts, gearbox if present, break, bearings, generator). It + excludes the turbine rotor, the hub, and the yaw system. + + *Minimum* = 0 + +:code:`yaw_mass` : Float, kg + Mass of the yaw system. + + *Minimum* = 0 + +:code:`system_inertia` : Array of Floats, kgm2 + Inertia of the nacelle system with respect to the center of mass. + The sum includes the entire drivetrain system (shafts, gearbox if + present, break, bearings, generator). It excludes the turbine + rotor, the hub, and the yaw system. + +:code:`system_inertia_tt` : Array of Floats, kgm2 + Inertia of the nacelle system with respect to the tower top. The + sum includes the entire drivetrain system (shafts, gearbox if + present, break, bearings, generator). It excludes the turbine + rotor, the hub, and the yaw system. + +:code:`system_center_mass` : Array of Floats, m + Center of mass of the nacelle system, including the entire + drivetrain system (shafts, gearbox if present, break, bearings, + generator). It excludes the turbine rotor, the hub, and the yaw + system. + + + +tower +######################################## + + + +outer_shape_bem +======================================== + + + +outer_diameter +---------------------------------------- + + + +drag_coefficient +---------------------------------------- + + + +elastic_properties_mb +======================================== + + + +internal_structure_2d_fem +======================================== + +:code:`outfitting_factor` : Float + Scaling factor for the tower mass to account for auxiliary + structures, such as elevator, ladders, cables, platforms, etc + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 2.0 + + + + +layers +---------------------------------------- + +:code:`name` : String + structural component identifier + +:code:`material` : String + material identifier + + + +thickness +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +thickness of the laminate + + +monopile +######################################## + +:code:`transition_piece_mass` : Float, kg + Total mass of transition piece + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`transition_piece_cost` : Float, USD + Total cost of transition piece + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`gravity_foundation_mass` : Float, kg + Total mass of gravity foundation addition onto monopile + + *Default* = 0.0 + + *Minimum* = 0.0 + + + +outer_shape +======================================== + + + +outer_diameter +---------------------------------------- + + + +drag_coefficient +---------------------------------------- + + + +elastic_properties_mb +======================================== + + + +internal_structure_2d_fem +======================================== + +:code:`outfitting_factor` : Float + Scaling factor for the tower mass to account for auxiliary + structures, such as elevator, ladders, cables, platforms, etc + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 2.0 + + + + +layers +---------------------------------------- + +:code:`name` : String + structural component identifier + +:code:`material` : String + material identifier + + + +thickness +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +thickness of the laminate + + +jacket +######################################## + +:code:`transition_piece_mass` : Float, kg + Total mass of transition piece + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`transition_piece_cost` : Float, USD + Total cost of transition piece + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`gravity_foundation_mass` : Float, kg + Total mass of gravity foundation addition onto monopile + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`material` : String + Material of jacket members + + *Default* = steel + +:code:`n_bays` : Integer + Number of bays (x-joints) in the vertical direction for jackets. + +:code:`n_legs` : Integer + Number of legs for jacket. + +:code:`r_foot` : Float + Radius of foot (bottom) of jacket, in meters. + +:code:`r_head` : Float + Radius of head (top) of jacket, in meters. + +:code:`height` : Float + Overall jacket height, meters. + +:code:`leg_thickness` : Float + Leg thickness, meters. Constant throughout each leg. + +:code:`x_mb` : Boolean + Mud brace included if true. + +:code:`leg_diameter` : Float + Leg diameter, meters. Constant throughout each leg. + + + +floating_platform +######################################## + +Ontology definition for floating platforms (substructures) suitable for use with the WEIS co-design analysis tool + + +joints +======================================== + +:code:`name` : String + Unique name of the joint (node) + +:code:`location` : Array of Floats, m + Coordinates (x,y,z or r,θ,z) of the joint in the global coordinate + system. + +:code:`transition` : Boolean + Whether the transition piece and turbine tower attach at this node + + *Default* = False + +:code:`cylindrical` : Boolean + Whether to use cylindrical coordinates (r,θ,z), with (r,θ) lying + in the x/y-plane, instead of Cartesian coordinates. + + *Default* = False + + + +reactions +---------------------------------------- + +If this joint is compliant is certain DOFs, then specify which are compliant (True) in the member/element coordinate system). If not specified, default is all entries are False (completely rigid). For instance, a ball joint would be Rx=Ry=Rz=False, Rxx=Ryy=Rzz=True +:code:`Rx` : Boolean + + + *Default* = False + +:code:`Ry` : Boolean + + + *Default* = False + +:code:`Rz` : Boolean + + + *Default* = False + +:code:`Rxx` : Boolean + + + *Default* = False + +:code:`Ryy` : Boolean + + + *Default* = False + +:code:`Rzz` : Boolean + + + *Default* = False + +:code:`Euler` : Array of Floats + Euler angles [alpha, beta, gamma] that describe the rotation of + the Reaction coordinate system relative to the global coordinate + system α is a rotation around the z axis, β is a rotation around + the x' axis, γ is a rotation around the z" axis. + + + +members +======================================== + +:code:`name` : String + Name of the member + +:code:`joint1` : String + Name of joint/node connection + +:code:`joint2` : String + Name of joint/node connection + + + +outer_shape +---------------------------------------- + +:code:`shape` : String from, ['circular', 'polygonal'] + Specifies cross-sectional shape of the member. If circular, then + the outer_diameter field is required. If polygonal, then the + side_lengths, angles, and rotation fields are required + + + +outer_diameter +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Gridded values describing diameter at non-dimensional axis from joint1 to joint2 +:code:`side_lengths1` : Array of Floats, m + Polygon side lengths at joint1 + + *Minimum* = 0 + +:code:`side_lengths2` : Array of Floats, m + Polygon side lengths at joint1 + + *Minimum* = 0 + +:code:`angles` : Array of Floats, rad + Polygon angles with the ordering such that angle[i] is between + side_length[i] and side_length[i+1] + + *Minimum* = 0 + +:code:`rotation` : Float, rad + Angle between principle axes of the cross-section and the member + coordinate system. Essentially the rotation of the member if both + joints were placed on the global x-y axis with the first side + length along the z-axis + + + +internal_structure +---------------------------------------- + +:code:`outfitting_factor` : Float + Scaling factor for the member mass to account for auxiliary + structures, such as elevator, ladders, cables, platforms, + fasteners, etc + + *Default* = 1.0 + + *Minimum* = 1.0 + + + +layers +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`name` : String + structural component identifier + +:code:`material` : String + material identifier + + + +thickness +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Gridded values describing thickness along non-dimensional axis from joint1 to joint2 + + +ring_stiffeners +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`material` : String + material identifier + +:code:`flange_thickness` : Float, m + + + *Minimum* = 0 + +:code:`flange_width` : Float, m + + + *Minimum* = 0 + +:code:`web_height` : Float, m + + + *Minimum* = 0 + +:code:`web_thickness` : Float, m + + + *Minimum* = 0 + + + +longitudinal_stiffeners +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`material` : String + material identifier + +:code:`flange_thickness` : Float, m + + + *Minimum* = 0 + +:code:`flange_width` : Float, m + + + *Minimum* = 0 + +:code:`web_height` : Float, m + + + *Minimum* = 0 + +:code:`web_thickness` : Float, m + + + *Minimum* = 0 + + + +bulkhead +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`material` : String + material identifier + + + +thickness +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +thickness of the bulkhead at non-dimensional locations of the member [0..1] + + +ballast +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:code:`variable_flag` : Boolean + If true, then this ballast is variable and adjusted by control + system. If false, then considered permanent + +:code:`material` : String + material identifier + +:code:`volume` : Float, m^3 + Total volume of ballast (permanent ballast only) + + *Minimum* = 0 + + + +axial_joints +---------------------------------------- + +:code:`name` : String + Unique name of joint + +:code:`grid` : Float + Non-dimensional value along member axis + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`Ca` : Float + User-defined added mass coefficient + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`Cp` : Float + User-defined pressure coefficient + + *Default* = 0.0 + +:code:`Cd` : Float + User-defined drag coefficient + + *Default* = 0.0 + + *Minimum* = 0.0 + + + +rigid_bodies +======================================== + +:code:`joint1` : String + Name of joint/node connection + +:code:`mass` : Float, kg + Mass of this rigid body + + *Minimum* = 0 + +:code:`cost` : Float, USD + Cost of this rigid body + + *Minimum* = 0 + +:code:`cm_offset` : Array of Floats, m + Offset from joint location to center of mass (CM) of body in dx, + dy, dz + +:code:`moments_of_inertia` : Array of Floats, kg*m^2 + Moments of inertia around body CM in Ixx, Iyy, Izz + + *Minimum* = 0 + +:code:`Ca` : Float + User-defined added mass coefficient + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`Cp` : Float + User-defined pressure coefficient + + *Default* = 0.0 + +:code:`Cd` : Float + User-defined drag coefficient + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`transition_piece_mass` : Float, kg + Total mass of transition piece + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`transition_piece_cost` : Float, USD + Total cost of transition piece + + *Default* = 0.0 + + *Minimum* = 0.0 + + + +mooring +######################################## + +Ontology definition for mooring systems suitable for use with the WEIS co-design analysis tool + + +nodes +======================================== + +:code:`name` : String + Name or ID of this node for use in line segment + +:code:`node_type` : String from, ['fixed', 'fix', 'connection', 'connect', 'free', 'vessel'] + + +:code:`location` : Array of Floats, meter + – Coordinates x, y, and z of the connection (relative to inertial + reference frame if Fixed or Connect, relative to platform + reference frame if Vessel). In the case of Connect nodes, it is + simply an initial guess for position before MoorDyn calculates the + equilibrium initial position. + +:code:`joint` : String + For anchor positions and fairlead attachments, reference a joint + name from the "joints" section or an "axial_joint" on a member + + *Default* = none + +:code:`anchor_type` : String + Name of anchor type from anchor_type list + + *Default* = none + +:code:`fairlead_type` : String from, ['rigid', 'actuated', 'ball'] + + + *Default* = rigid + +:code:`node_mass` : Float, kilogram + Clump weight mass + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`node_volume` : Float, meter^3 + Floater volume + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`drag_area` : Float, meter^2 + Product of drag coefficient and projected area (assumed constant + in all directions) to calculate a drag force for the node + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`added_mass` : Float + Added mass coefficient used along with node volume to calculate + added mass on node + + *Default* = 0.0 + + + +lines +======================================== + +:code:`name` : String + ID of this line + +:code:`line_type` : String + Reference to line type database + +:code:`unstretched_length` : Float, meter + length of line segment prior to tensioning + + *Minimum* = 0.0 + +:code:`node1` : String + node id of first line connection + +:code:`node2` : String + node id of second line connection + + + +line_types +======================================== + +:code:`name` : String + Name of material or line type to be referenced by line segments + +:code:`diameter` : Float, meter + the volume-equivalent diameter of the line – the diameter of a + cylinder having the same displacement per unit length + + *Minimum* = 0.0 + +:code:`type` : String from, ['chain', 'chain_stud', 'nylon', 'polyester', 'polypropylene', 'wire_fiber', 'fiber', 'wire', 'wire_wire', 'iwrc', 'Chain', 'Chain_Stud', 'Nylon', 'Polyester', 'Polypropylene', 'Wire', 'Wire_Fiber', 'Fiber', 'Wire', 'Wire_Wire', 'IWRC', 'CHAIN', 'CHAIN_STUD', 'NYLON', 'POLYESTER', 'POLYPROPYLENE', 'WIRE', 'WIRE_FIBER', 'FIBER', 'WIRE', 'WIRE_WIRE', 'custom', 'Custom', 'CUSTOM'] + Type of material for property lookup + +:code:`mass_density` : Float, kilogram/meter + mass per unit length (in air) + + *Minimum* = 0.0 + +:code:`stiffness` : Float, Newton + axial line stiffness, product of elasticity modulus and cross- + sectional area + + *Minimum* = 0.0 + +:code:`cost` : Float, USD/meter + cost per unit length + + *Minimum* = 0.0 + +:code:`breaking_load` : Float, Newton + line break tension + + *Minimum* = 0.0 + +:code:`damping` : Float, Newton * second + internal damping (BA) + + *Default* = 0.0 + +:code:`transverse_added_mass` : Float + transverse added mass coefficient (with respect to line + displacement) + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`tangential_added_mass` : Float + tangential added mass coefficient (with respect to line + displacement) + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`transverse_drag` : Float + transverse drag coefficient (with respect to frontal area, d*l) + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`tangential_drag` : Float + tangential drag coefficient (with respect to surface area, π*d*l) + + *Default* = 0.0 + + *Minimum* = 0.0 + + + +anchor_types +======================================== + +:code:`name` : String + Name of anchor to be referenced by anchor_id in Nodes section + +:code:`type` : String from, ['drag_embedment', 'suction', 'plate', 'micropile', 'sepla', 'Drag_Embedment', 'Suction', 'Plate', 'Micropile', 'Sepla', 'DRAG_EMBEDMENT', 'SUCTION', 'PLATE', 'MICROPILE', 'SEPLA', 'custom', 'Custom', 'CUSTOM'] + Type of anchor for property lookup + +:code:`mass` : Float, kilogram + mass of the anchor + + *Minimum* = 0.0 + +:code:`cost` : Float, USD + cost of the anchor + + *Minimum* = 0.0 + +:code:`max_lateral_load` : Float, Newton + Maximum lateral load (parallel to the sea floor) that the anchor + can support + + *Minimum* = 0.0 + +:code:`max_vertical_load` : Float, Newton + Maximum vertical load (perpendicular to the sea floor) that the + anchor can support + + *Minimum* = 0.0 + + + +airfoils +**************************************** + +:code:`name` : String + Name of the airfoil + + + +coordinates +######################################## + +Airfoil coordinates described from trailing edge (x=1) along the suction side (y>0) to leading edge (x=0) back to trailing edge (x=1) along the pressure side (y<0) +:code:`x` : Array of Floats + + + *Minimum* = 0.0 + + *Maximum* = 1.0 + +:code:`y` : Array of Floats + + + *Minimum* = -1.0 + + *Maximum* = 1.0 + +:code:`relative_thickness` : Float + Thickness of the airfoil expressed non-dimensional + + *Minimum* = 0 *Maximum* = 1 + + +:code:`aerodynamic_center` : Float + Non-dimensional chordwise coordinate of the aerodynamic center + + *Minimum* = 0 *Maximum* = 1 + + + + +polars +######################################## + +Lift, drag and moment coefficients expressed in terms of angles of attack +:code:`configuration` : String + Text to identify the setup for the definition of the polars + +:code:`re` : Float + Reynolds number of the polars + + + +c_l +======================================== + + + +c_d +======================================== + + + +c_m +======================================== + + + +materials +**************************************** + +:code:`name` : String + Name of the material + +:code:`description` : String + Optional field describing the material + +:code:`source` : String + Optional field describing where the data come from + +:code:`orth` : Integer + Flag to switch between isotropic (0) and orthotropic (1) materials + +:code:`rho` : Float, kg/m3 + Density of the material. For composites, this is the density of + the laminate once cured + + *Minimum* = 0 *Maximum* = 20000 + + +:code:`ply_t` : Float, m + Ply thickness of the composite material + + *Minimum* = 0 *Maximum* = 0.1 + + +:code:`unit_cost` : Float, USD/kg + Unit cost of the material. For composites, this is the unit cost + of the dry fabric. + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`fvf` : Float + Fiber volume fraction of the composite material + + *Minimum* = 0 *Maximum* = 1 + + +:code:`fwf` : Float + Fiber weight fraction of the composite material + + *Minimum* = 0 *Maximum* = 1 + + +:code:`fiber_density` : Float, kg/m3 + Density of the fibers of a composite material. + + *Minimum* = 0 *Maximum* = 10000 + + +:code:`area_density_dry` : Float, kg/m2 + Aerial density of a fabric of a composite material. + + *Minimum* = 0 *Maximum* = 10000 + + +:code:`component_id` : Integer + Flag used by the NREL blade cost model + https://www.nrel.gov/docs/fy19osti/73585.pdf to define the + manufacturing process behind the laminate. 0 - coating, 1 - + sandwich filler , 2 - shell skin, 3 - shear webs, 4 - spar caps, 5 + - TE reinf. + +:code:`waste` : Float + Fraction of material that ends up wasted during manufacturing. + This quantity is used in the NREL blade cost model + https://www.nrel.gov/docs/fy19osti/73585.pdf + + *Minimum* = 0 *Maximum* = 1 + + +:code:`roll_mass` : Float, kg + Mass of a fabric roll. This quantity is used in the NREL blade + cost model https://www.nrel.gov/docs/fy19osti/73585.pdf + + *Minimum* = 0 *Maximum* = 10000 + + +:code:`GIc` : Float, J/m^2 + Mode 1 critical energy-release rate. It is used by NuMAD from + Sandia National Laboratories + +:code:`GIIc` : Float, J/m^2 + Mode 2 critical energy-release rate. It is used by NuMAD from + Sandia National Laboratories + +:code:`alp0` : Float, rad + Fracture angle under pure transverse compression. It is used by + NuMAD from Sandia National Laboratories + + + +control +**************************************** + + + +supervisory +######################################## + +:code:`Vin` : Float, m/s + Cut-in wind speed of the wind turbine. + + *Minimum* = 0 *Maximum* = 10 + + +:code:`Vout` : Float, m/s + Cut-out wind speed of the wind turbine. + + *Minimum* = 0 *Maximum* = 50 + + +:code:`maxTS` : Float, m/s + Maximum allowable blade tip speed. + + *Minimum* = 60 *Maximum* = 120 + + + + +pitch +######################################## + +:code:`min_pitch` : Float, rad + Minimum pitch angle, where the default is 0 degrees. It is used by + the ROSCO controller (https://github.com/NREL/ROSCO) + + *Default* = 0 + + *Minimum* = -0.5 *Maximum* = 1.0 + + +:code:`max_pitch_rate` : Float, rad/s + Maximum pitch rate of the rotor blades. + + *Minimum* = 0 *Maximum* = 0.2 + + + + +torque +######################################## + +:code:`max_torque_rate` : Float, Nm/s + Maximum torque rate of the wind turbine generator. + + *Minimum* = 1000 *Maximum* = 100000000 + + +:code:`tsr` : Float + Rated tip speed ratio of the wind turbine. As default, it is + maintained constant in region II. + + *Minimum* = 0 *Maximum* = 15 + + +:code:`VS_minspd` : Float, rad/s + Minimum rotor speed. It is used by the ROSCO controller + (https://github.com/NREL/ROSCO) + + *Minimum* = 0 *Maximum* = 5 + + +:code:`VS_maxspd` : Float, rad/s + Maximum rotor speed. It is used by the ROSCO controller + (https://github.com/NREL/ROSCO) + + *Default* = 10.0 + + *Minimum* = 0 + + + +environment +**************************************** + +:code:`gravity` : Float, m/s/s + Gravitational acceleration + + *Default* = 9.80665 + + *Minimum* = 0 *Maximum* = 100.0 + + +:code:`air_density` : Float, kg/m3 + Density of air. + + *Default* = 1.225 + + *Minimum* = 0 *Maximum* = 1.5 + + +:code:`air_dyn_viscosity` : Float, kg/(ms) + Dynamic viscosity of air. + + *Default* = 1.81e-05 + + *Minimum* = 0 *Maximum* = 2e-05 + + +:code:`air_pressure` : Float, kg/(ms^2) + Atmospheric pressure of air + + *Default* = 103500.0 + + *Minimum* = 0 *Maximum* = 1000000.0 + + +:code:`air_vapor_pressure` : Float, kg/(ms^2) + Vapor pressure of fluid + + *Default* = 1700.0 + + *Minimum* = 0 *Maximum* = 1000000.0 + + +:code:`weib_shape_parameter` : Float + Shape factor of the Weibull wind distribution. + + *Default* = 2.0 + + *Minimum* = 1 *Maximum* = 3 + + +:code:`air_speed_sound` : Float, m/s + Speed of sound in air. + + *Default* = 340.0 + + *Minimum* = 330.0 *Maximum* = 350.0 + + +:code:`shear_exp` : Float + Shear exponent of the atmospheric boundary layer. + + *Default* = 0.2 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`water_density` : Float, kg/m3 + Density of water. + + *Default* = 1025.0 + + *Minimum* = 950 *Maximum* = 1100 + + +:code:`water_dyn_viscosity` : Float, kg/(ms) + Dynamic viscosity of water. + + *Default* = 0.0013351 + + *Minimum* = 0.001 *Maximum* = 0.002 + + +:code:`water_depth` : Float, m + Water depth for offshore environment. + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`soil_shear_modulus` : Float, Pa + Shear modulus of the soil. + + *Default* = 140000000.0 + + *Minimum* = 100000000.0 *Maximum* = 200000000.0 + + +:code:`soil_poisson` : Float + Poisson ratio of the soil. + + *Default* = 0.4 + + *Minimum* = 0 *Maximum* = 0.6 + + +:code:`V_mean` : Float + Average inflow wind speed. If different than 0, this will + overwrite the V mean of the IEC wind class + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 20.0 + + + + +bos +**************************************** + +:code:`plant_turbine_spacing` : Float + Distance between turbines in the primary grid streamwise direction + in rotor diameters + + *Default* = 7 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`plant_row_spacing` : Float + Distance between turbine rows in the cross-wind direction in rotor + diameters + + *Default* = 7 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`commissioning_pct` : Float + Fraction of total BOS cost that is due to commissioning + + *Default* = 0.01 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`decommissioning_pct` : Float + Fraction of total BOS cost that is due to decommissioning + + *Default* = 0.15 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`distance_to_substation` : Float, km + Distance from centroid of plant to substation in km + + *Default* = 2 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`distance_to_interconnection` : Float, km + Distance from substation to grid connection in km + + *Default* = 50 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`distance_to_landfall` : Float, km + Distance from plant centroid to export cable landfall for offshore + plants + + *Default* = 100 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`distance_to_site` : Float, km + Distance from port to plant centroid for offshore plants + + *Default* = 100 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`interconnect_voltage` : Float, kV + Voltage of cabling to grid interconnection + + *Default* = 130 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`port_cost_per_month` : Float, USD + Monthly port rental fees + + *Default* = 2000000.0 + + *Minimum* = 0 *Maximum* = 1000000000.0 + + +:code:`site_auction_price` : Float, USD + Cost to secure site lease + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 1000000000.0 + + +:code:`site_assessment_plan_cost` : Float, USD + Cost to do engineering plan for site assessment + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 1000000000.0 + + +:code:`site_assessment_cost` : Float, USD + Cost to execute site assessment + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 1000000000.0 + + +:code:`construction_operations_plan_cost` : Float, USD + Cost to do construction planning + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 1000000000.0 + + +:code:`boem_review_cost` : Float, USD + Cost for additional review by U.S. Dept of Interior Bureau of + Ocean Energy Management (BOEM) + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 1000000000.0 + + +:code:`design_install_plan_cost` : Float, USD + Cost to do installation planning + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 1000000000.0 + + + + +costs +**************************************** + +:code:`wake_loss_factor` : Float + Factor to model losses in annual energy production in a wind farm + compared to the annual energy production at the turbine level + (wakes mostly). + + *Default* = 0.15 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`fixed_charge_rate` : Float + Fixed charge rate to compute the levelized cost of energy. See + this for inspiration https://www.nrel.gov/docs/fy20osti/74598.pdf + + *Default* = 0.075 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`bos_per_kW` : Float, USD/kW + Balance of stations costs expressed in USD per kW. See this for + inspiration https://www.nrel.gov/docs/fy20osti/74598.pdf + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 10000 + + +:code:`opex_per_kW` : Float, USD/kW + Operational expenditures expressed in USD per kW. See this for + inspiration https://www.nrel.gov/docs/fy20osti/74598.pdf + + *Default* = 0.0 + + *Minimum* = 0 *Maximum* = 1000 + + +:code:`turbine_number` : Integer + Number of turbines in the park, used to compute levelized cost of + energy. Often wind parks are assumed of 600 MW. See this for + inspiration https://www.nrel.gov/docs/fy20osti/74598.pdf + + *Default* = 50 + + *Minimum* = 0 *Maximum* = 10000 + + +:code:`labor_rate` : Float, USD/h + Hourly loaded wage per worker including all benefits and overhead. + This is currently only applied to steel, column structures. + + *Default* = 58.8 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`painting_rate` : Float, USD/m^2 + Cost per unit area for finishing and surface treatments. This is + currently only applied to steel, column structures. + + *Default* = 30.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`blade_mass_cost_coeff` : Float, USD/kg + Regression-based blade cost/mass ratio + + *Default* = 14.6 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`hub_mass_cost_coeff` : Float, USD/kg + Regression-based hub cost/mass ratio + + *Default* = 3.9 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`pitch_system_mass_cost_coeff` : Float, USD/kg + Regression-based pitch system cost/mass ratio + + *Default* = 22.1 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`spinner_mass_cost_coeff` : Float, USD/kg + Regression-based spinner cost/mass ratio + + *Default* = 11.1 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`lss_mass_cost_coeff` : Float, USD/kg + Regression-based low speed shaft cost/mass ratio + + *Default* = 11.9 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`bearing_mass_cost_coeff` : Float, USD/kg + Regression-based bearing cost/mass ratio + + *Default* = 4.5 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`gearbox_mass_cost_coeff` : Float, USD/kg + Regression-based gearbox cost/mass ratio + + *Default* = 12.9 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`hss_mass_cost_coeff` : Float, USD/kg + Regression-based high speed side cost/mass ratio + + *Default* = 6.8 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`generator_mass_cost_coeff` : Float, USD/kg + Regression-based generator cost/mass ratio + + *Default* = 12.4 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`bedplate_mass_cost_coeff` : Float, USD/kg + Regression-based bedplate cost/mass ratio + + *Default* = 2.9 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`yaw_mass_cost_coeff` : Float, USD/kg + Regression-based yaw system cost/mass ratio + + *Default* = 8.3 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`converter_mass_cost_coeff` : Float, USD/kg + Regression-based converter cost/mass ratio + + *Default* = 18.8 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`transformer_mass_cost_coeff` : Float, USD/kg + Regression-based transformer cost/mass ratio + + *Default* = 18.8 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`hvac_mass_cost_coeff` : Float, USD/kg + Regression-based HVAC system cost/mass ratio + + *Default* = 124.0 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`cover_mass_cost_coeff` : Float, USD/kg + Regression-based nacelle cover cost/mass ratio + + *Default* = 5.7 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`elec_connec_machine_rating_cost_coeff` : Float, USD/kW + Regression-based electrical plant connection cost/rating ratio + + *Default* = 41.85 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`platforms_mass_cost_coeff` : Float, USD/kg + Regression-based nacelle platform cost/mass ratio + + *Default* = 17.1 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`tower_mass_cost_coeff` : Float, USD/kg + Regression-based tower cost/mass ratio + + *Default* = 2.9 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`controls_machine_rating_cost_coeff` : Float, USD/kW + Regression-based controller and sensor system cost/rating ratio + + *Default* = 21.15 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`crane_cost` : Float, USD + crane cost if present + + *Default* = 12000.0 + + *Minimum* = 0.0 *Maximum* = 1000000.0 + + +:code:`electricity_price` : Float, USD/kW/h + Electricity price used to compute value in beyond lcoe metrics + + *Default* = 0.04 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`reserve_margin_price` : Float, USD/kW/yr + Reserve margin price used to compute value in beyond lcoe metrics + + *Default* = 120.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`capacity_credit` : Float + Capacity credit used to compute value in beyond lcoe metrics + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`benchmark_price` : Float, USD/kW/h + Benchmark price used to nondimensionalize value in beyond lcoe + metrics + + *Default* = 0.071 + + *Minimum* = 0.0 *Maximum* = 1.0 + + + + +TMDs +**************************************** + +:code:`name` : String + Unique name of the TMD + +:code:`component` : String + Component location of the TMD (tower or platform) + +:code:`location` : Array of Floats + Location of TMD in global coordinates + +:code:`mass` : Float, kg + Mass of TMD + + *Default* = 0 + +:code:`stiffness` : Float, N/m + Stiffness of TMD + + *Default* = 0 + +:code:`damping` : Float, (N/(m/s)) + Damping of TMD + + *Default* = 0 + +:code:`X_DOF` : Boolean + Dof on or off for StC X + + *Default* = False + +:code:`Y_DOF` : Boolean + Dof on or off for StC Y + + *Default* = False + +:code:`Z_DOF` : Boolean + Dof on or off for StC Z + + *Default* = False + +:code:`natural_frequency` : Float, rad/s + Natural frequency of TMD, will overwrite stiffness (-1 indicates + that it's not used) + + *Default* = -1 + +:code:`damping_ratio` : Float, non-dimensional + Daming ratio of TMD, will overwrite damping (-1 indicates that + it's not used) + + *Default* = -1 + +:code:`preload_spring` : Boolean + Ensure that equilibrium point of the TMD is at `location` by + offseting the location based on the spring constant + + *Default* = True + diff --git a/docs/inputs/weis_modeling_schema.rst b/docs/inputs/weis_modeling_schema.rst new file mode 100644 index 000000000..86cbfa9c4 --- /dev/null +++ b/docs/inputs/weis_modeling_schema.rst @@ -0,0 +1,6433 @@ +****************************** +/Users/dzalkind/Tools/WEIS-2/weis/inputs/weis_modeling_schema.yaml +****************************** +Schema that describes the modeling options for WEIS + + +/Users/dzalkind/Tools/WEIS-2/weis/inputs/weis_modeling_schema. + + + +General +**************************************** + +:code:`verbosity` : Boolean + Prints additional outputs to screen (and to a file log in the + future) + + *Default* = False + +:code:`solver_maxiter` : Integer + Number of iterations for the top-level coupling solver + + *Default* = 5 + + + +openfast_configuration +######################################## + +:code:`OF_run_fst` : String + Filename prefix for output files + + *Default* = none + +:code:`OF_run_dir` : String + Path to place FAST output files (e.g. + /home/user/myturbines/output) + + *Default* = none + +:code:`generate_af_coords` : Boolean + Flag to write airfoil coordinates out or not + + *Default* = False + +:code:`use_exe` : Boolean + Use openfast executable instead of library + + *Default* = False + +:code:`model_only` : Boolean + Flag to only generate an OpenFAST model and stop + + *Default* = False + +:code:`save_timeseries` : Boolean + Save openfast output timeseries + + *Default* = True + +:code:`keep_time` : Boolean + Keep timeseries in openmdao_openfast for post-processing + + *Default* = True + +:code:`save_iterations` : Boolean + Save summary stats and other info for each openfast iteration. + Could bump this up to a more global post-processing input. + + *Default* = True + +:code:`FAST_exe` : String + Path to FAST executable to override default WEIS value (e.g. + /home/user/OpenFAST/bin/openfast) + + *Default* = none + +:code:`FAST_lib` : String + Path to FAST dynamic library to override default WEIS value (e.g. + /home/user/OpenFAST/lib/libopenfast.so) + + *Default* = none + +:code:`path2dll` : String + Path to controller shared library (e.g. + /home/user/myturbines/libdiscon.so) + + *Default* = none + +:code:`allow_fails` : Boolean + Allow WEIS to continue if OpenFAST fails? All outputs will be + filled with fail_value. Use with caution! + + *Default* = False + +:code:`fail_value` : Float + + + *Default* = -9999 + +:code:`goodman_correction` : Boolean + Flag whether to apply the Goodman correction for mean stress value + to the stress amplitude value in fatigue calculations + + *Default* = False + + + +WISDEM +**************************************** + +Options for running WISDEM. No further options are included in this file. They are populated using the modeling schema in the WISDEM project in python. +:code:`n_dlc` : Integer + Number of load cases + + *Default* = 1 + + *Minimum* = 0 + + + +RotorSE +######################################## + +:code:`flag` : Boolean + Whether or not to run this module + + *Default* = False + +:code:`n_aoa` : Integer + Number of angles of attack in a common grid to define polars + + *Default* = 200 + +:code:`n_xy` : Integer + Number of coordinate point used to define airfoils + + *Default* = 200 + +:code:`n_span` : Integer + Number of spanwise stations in a common grid used to define blade + properties + + *Default* = 30 + +:code:`n_pc` : Integer + Number of wind speeds to compute the power curve + + *Default* = 20 + +:code:`n_pc_spline` : Integer + Number of wind speeds to spline the power curve + + *Default* = 200 + +:code:`n_pitch_perf_surfaces` : Integer + Number of pitch angles to determine the Cp-Ct-Cq-surfaces + + *Default* = 20 + +:code:`min_pitch_perf_surfaces` : Float + Min pitch angle of the Cp-Ct-Cq-surfaces + + *Default* = -5.0 + +:code:`max_pitch_perf_surfaces` : Float + Max pitch angle of the Cp-Ct-Cq-surfaces + + *Default* = 30.0 + +:code:`n_tsr_perf_surfaces` : Integer + Number of tsr values to determine the Cp-Ct-Cq-surfaces + + *Default* = 20 + +:code:`min_tsr_perf_surfaces` : Float + Min TSR of the Cp-Ct-Cq-surfaces + + *Default* = 2.0 + +:code:`max_tsr_perf_surfaces` : Float + Max TSR of the Cp-Ct-Cq-surfaces + + *Default* = 12.0 + +:code:`n_U_perf_surfaces` : Integer + Number of wind speeds to determine the Cp-Ct-Cq-surfaces + + *Default* = 1 + +:code:`regulation_reg_III` : Boolean + Flag to derive the regulation trajectory in region III in terms of + pitch and TSR + + *Default* = True + +:code:`peak_thrust_shaving` : Boolean + If True, apply peak thrust shaving within RotorSE. + + *Default* = False + +:code:`thrust_shaving_coeff` : Float + Scalar applied to the max torque within RotorSE for peak thrust + shaving. Only used if `peak_thrust_shaving` is True. + + *Default* = 1.0 + +:code:`fix_pitch_regI12` : Boolean + If True, pitch is fixed in region I1/2, i.e. when min rpm is + enforced. + + *Default* = False + +:code:`spar_cap_ss` : String + Composite layer modeling the spar cap on the suction side in the + geometry yaml. This entry is used to compute ultimate strains and + it is linked to the design variable spar_cap_ss. + + *Default* = none + +:code:`spar_cap_ps` : String + Composite layer modeling the spar cap on the pressure side in the + geometry yaml. This entry is used to compute ultimate strains and + it is linked to the design variable spar_cap_ps. + + *Default* = none + +:code:`te_ss` : String + Composite layer modeling the trailing edge reinforcement on the + suction side in the geometry yaml. This entry is used to compute + ultimate strains and it is linked to the design variable te_ss. + + *Default* = none + +:code:`te_ps` : String + Composite layer modeling the trailing edge reinforcement on the + pressure side in the geometry yaml. This entry is used to compute + ultimate strains and it is linked to the design variable te_ps. + + *Default* = none + +:code:`gamma_freq` : Float + Partial safety factor on modal frequencies + + *Default* = 1.1 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gust_std` : Float + Number of standard deviations for strength of gust + + *Default* = 3.0 + + *Minimum* = 0.0 *Maximum* = 15.0 + + +:code:`root_fastener_s_f` : Float + Safety factor for the max stress of blade root fasteners + + *Default* = 2.5 + + *Minimum* = 0.1 *Maximum* = 100.0 + + +:code:`hubloss` : Boolean + Include Prandtl hub loss model in CCBlade calls + + *Default* = True + +:code:`tiploss` : Boolean + Include Prandtl tip loss model in CCBlade calls + + *Default* = True + +:code:`wakerotation` : Boolean + Include effect of wake rotation (i.e., tangential induction factor + is nonzero) in CCBlade calls + + *Default* = True + +:code:`usecd` : Boolean + Use drag coefficient in computing induction factors in CCBlade + calls + + *Default* = True + +:code:`n_sector` : Integer + Number of sectors to divide rotor face into in computing thrust + and power. + + *Default* = 4 + + *Minimum* = 1 *Maximum* = 10 + + +:code:`3d_af_correction` : Boolean + Flag switching on and off the 3d DU-Selig airfoil correction + implemented in Polar.py + + *Default* = True + +:code:`inn_af` : Boolean + Flag switching on and off the inverted neural network for airfoil + design + + *Default* = False + +:code:`inn_af_max_rthick` : Float + Maximum airfoil thickness supported by the INN for airfoil design + + *Default* = 0.4 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`inn_af_min_rthick` : Float + Minimum airfoil thickness supported by the INN for airfoil design + + *Default* = 0.15 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`rail_transport` : Boolean + Flag switching on and off the rail transport module of RotorSE + + *Default* = False + + + +DriveSE +######################################## + +:code:`flag` : Boolean + Whether or not to run this module + + *Default* = False + +:code:`model_generator` : Boolean + Whether or not to do detailed generator modeling using tools + formerly in GeneratorSE + + *Default* = False + +:code:`gamma_f` : Float + Partial safety factor on loads + + *Default* = 1.35 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_m` : Float + Partial safety factor for materials + + *Default* = 1.3 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_n` : Float + Partial safety factor for consequence of failure + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 5.0 + + + + +hub +======================================== + +:code:`hub_gamma` : Float + Partial safety factor for hub sizing + + *Default* = 2.0 + + *Minimum* = 1.0 *Maximum* = 7.0 + + +:code:`spinner_gamma` : Float + Partial safety factor for spinner sizing + + *Default* = 1.5 + + *Minimum* = 1.0 *Maximum* = 5.0 + + + + +TowerSE +######################################## + +:code:`flag` : Boolean + Whether or not to run this module + + *Default* = False + +:code:`wind` : String from, ['PowerWind', 'LogisticWind'] + Wind scaling relationship with height + + *Default* = PowerWind + +:code:`gamma_f` : Float + Partial safety factor on loads + + *Default* = 1.35 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_m` : Float + Partial safety factor for materials + + *Default* = 1.3 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_n` : Float + Partial safety factor for consequence of failure + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_b` : Float + Partial safety factor for buckling + + *Default* = 1.1 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_freq` : Float + Partial safety factor on modal frequencies + + *Default* = 1.1 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_fatigue` : Float + Partial safety factor for fatigue failure + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`buckling_method` : String from, ['Eurocode', 'Euro-code', 'eurocode', 'euro-code', 'DNVGL', 'dnvgl', 'DNV-GL', 'dnv-gl'] + Buckling utilization calculation method- Eurocode 1994 or DNVGL + RP-C202 + + *Default* = dnvgl + +:code:`buckling_length` : Float, m + Buckling length factor in Eurocode safety check + + *Default* = 10.0 + + *Minimum* = 1.0 *Maximum* = 100.0 + + + + +frame3dd +======================================== + +Set of Frame3DD options used for tower analysis +:code:`shear` : Boolean + Inclusion of shear area for symmetric sections + + *Default* = True + +:code:`geom` : Boolean + Inclusion of shear stiffening through axial loading + + *Default* = True + +:code:`modal_method` : Float + Eigenvalue solver 1=Subspace-Jacobi iteration, 2=Stodola (matrix + iteration) + + *Default* = 1 + +:code:`tol` : Float + Convergence tolerance for modal eigenvalue solution + + *Default* = 1e-09 + + *Minimum* = 1e-12 *Maximum* = 0.1 + + +:code:`n_refine` : Integer + Number of Frame3DD element refinements for every specified section + along tower/member + + *Default* = 3 + + + +FixedBottomSE +######################################## + +:code:`type` : String + Can be `monopile` or `jacket`. + + *Default* = monopile + +:code:`flag` : Boolean + Whether or not to run this module + + *Default* = False + +:code:`wind` : String from, ['PowerWind', 'LogisticWind'] + Wind scaling relationship with height + + *Default* = PowerWind + +:code:`gamma_f` : Float + Partial safety factor on loads + + *Default* = 1.35 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_m` : Float + Partial safety factor for materials + + *Default* = 1.3 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_n` : Float + Partial safety factor for consequence of failure + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_b` : Float + Partial safety factor for buckling + + *Default* = 1.1 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_freq` : Float + Partial safety factor on modal frequencies + + *Default* = 1.1 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_fatigue` : Float + Partial safety factor for fatigue failure + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`buckling_method` : String from, ['Eurocode', 'Euro-code', 'eurocode', 'euro-code', 'DNVGL', 'dnvgl', 'DNV-GL', 'dnv-gl'] + Buckling utilization calculation method- Eurocode 1994 or DNVGL + RP-C202 + + *Default* = dnvgl + +:code:`buckling_length` : Float, m + Buckling length factor in Eurocode safety check + + *Default* = 10.0 + + *Minimum* = 1.0 *Maximum* = 100.0 + + + + +frame3dd +======================================== + +Set of Frame3DD options used for tower analysis +:code:`shear` : Boolean + Inclusion of shear area for symmetric sections + + *Default* = True + +:code:`geom` : Boolean + Inclusion of shear stiffening through axial loading + + *Default* = True + +:code:`modal_method` : Float + Eigenvalue solver 1=Subspace-Jacobi iteration, 2=Stodola (matrix + iteration) + + *Default* = 1 + +:code:`tol` : Float + Convergence tolerance for modal eigenvalue solution + + *Default* = 1e-09 + + *Minimum* = 1e-12 *Maximum* = 0.1 + + +:code:`soil_springs` : Boolean + If False, then a monopile is modeled with a perfectly clamped + foundation. If True, then spring-stiffness equivalents are + computed from soil properties for all DOF. + + *Default* = False + +:code:`gravity_foundation` : Boolean + Model the monopile base as a gravity-based foundation with no pile + embedment + + *Default* = False + +:code:`n_refine` : Integer + Number of Frame3DD element refinements for every specified section + along tower/member + + *Default* = 3 + +:code:`n_legs` : Integer + Number of legs for the jacket. Only used if `type`==`jacket`. + + *Default* = 4 + +:code:`n_bays` : Integer + Number of bays for the jacket, or x-joints per tower leg pair. + Only used if `type`==`jacket`. + + *Default* = 3 + +:code:`mud_brace` : Boolean + If true, add a mud brace at the bottom of each jacket leg. Only + used if `type`==`jacket`. + + *Default* = True + +:code:`save_truss_figures` : Boolean + If true, save .pngs of the jacket truss during analysis or + optimization. Jacket only. + + *Default* = False + + + +BOS +######################################## + +:code:`flag` : Boolean + Whether or not to run this module + + *Default* = False + + + +FloatingSE +######################################## + +:code:`flag` : Boolean + Whether or not to run this module + + *Default* = False + +:code:`n_refine` : Integer + Number of Frame3DD element refinements for every specified section + along tower/member + + *Default* = 1 + + + +frame3dd +======================================== + +Set of Frame3DD options used for floating tower analysis +:code:`shear` : Boolean + Inclusion of shear area for symmetric sections + + *Default* = False + +:code:`geom` : Boolean + Inclusion of shear stiffening through axial loading + + *Default* = False + +:code:`modal_method` : Float + Eigenvalue solver 1=Subspace-Jacobi iteration, 2=Stodola (matrix + iteration) + + *Default* = 2 + +:code:`shift` : Float + Numerical matrix diagonal adder for eigenvalue solve of + unrestrained structure + + *Default* = 10.0 + +:code:`tol` : Float + Convergence tolerance for modal eigenvalue solution + + *Default* = 1e-08 + + *Minimum* = 1e-12 *Maximum* = 0.1 + + +:code:`gamma_f` : Float + Partial safety factor on loads + + *Default* = 1.35 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_m` : Float + Partial safety factor for materials + + *Default* = 1.3 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_n` : Float + Partial safety factor for consequence of failure + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_b` : Float + Partial safety factor for buckling + + *Default* = 1.1 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_freq` : Float + Partial safety factor on modal frequencies + + *Default* = 1.1 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`gamma_fatigue` : Float + Partial safety factor for fatigue failure + + *Default* = 1.0 + + *Minimum* = 1.0 *Maximum* = 5.0 + + +:code:`symmetric_moorings` : Boolean + Whether or not to assume a symmetric mooring system + + *Default* = True + +:code:`rank_and_file` : Boolean + Use the rank-and-file method of identifying mode shapes that + guarantees modeshape numbers in all directions, but will reuse the + same modeshape for multiple directions + + *Default* = False + + + +Loading +######################################## + +This is only used if not running the full WISDEM turbine Group and you need to input the mass properties, forces, and moments for a tower-only or nacelle-only analysis +:code:`mass` : Float, kilogram + Mass at external boundary of the system. For the tower, this + would be the RNA mass. + + *Default* = 0.0 + +:code:`center_of_mass` : Array of Floats, meter + Distance from system boundary to center of mass of the applied + load. For the tower, this would be the RNA center of mass in + tower-top coordinates. + + *Default* = [0.0, 0.0, 0.0] + +:code:`moment_of_inertia` : Array of Floats, kg*m^2 + Moment of inertia of external mass in coordinate system at the + system boundary. For the tower, this would be the RNA MoI in + tower-top coordinates. + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + + + +loads +======================================== + +:code:`force` : Array of Floats, Newton + Force vector applied at system boundary + + *Default* = [0.0, 0.0, 0.0] + +:code:`moment` : Array of Floats, N*m + Force vector applied at system boundary + + *Default* = [0.0, 0.0, 0.0] + +:code:`velocity` : Float, meter + Applied wind reference velocity, if necessary + + *Default* = 0.0 + + + +Level1 +**************************************** + +Options for WEIS fidelity level 1 = frequency domain (RAFT) +:code:`flag` : Boolean + Whether or not to run WEIS fidelity level 1 = frequency domain + (RAFT) + + *Default* = False + +:code:`min_freq` : Float, Hz + Minimum frequency to evaluate (frequencies will be + min_freq:min_freq:max_freq) + + *Default* = 0.0159 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`max_freq` : Float, Hz + Maximum frequency to evaluate (frequencies will be + min_freq:min_freq:max_freq) + + *Default* = 0.3183 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`potential_bem_members` : Array of Strings + List of submerged member names to model with potential flow + boundary element methods. Members not listed here will be modeled + with strip theory + + *Default* = [] + +:code:`potential_model_override` : Integer + User override for potential boundary element modeling. 0 = uses + the potential_bem_members list for inviscid force and computes + viscous drag with strip theory (members not listed use only strip + theory), 1 = no potential BEM modeling for any member (just strip + theory), 2 = potential BEM modeling for all members (no strip + theory) + + *Default* = 0 + +:code:`xi_start` : Float + Initial amplitude of each DOF for all frequencies + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`nIter` : Integer + Number of iterations to solve dynamics + + *Default* = 15 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`dls_max` : Integer + Maximum node splitting section amount + + *Default* = 5 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`min_freq_BEM` : Float, Hz + lowest frequency and frequency interval to use in BEM analysis + + *Default* = 0.0159 + + *Minimum* = 0.0 *Maximum* = 2.0 + + +:code:`trim_ballast` : Integer + Use RAFT to trim ballast so that average heave is near 0 (0 - no + trim, 1 - adjust compartment fill values, 2 - adjust ballast + density, recommended for now) + + *Default* = 0 + +:code:`heave_tol` : Float, m + Heave tolerance for trim_ballast + + *Default* = 1 + + *Minimum* = 0 + +:code:`save_designs` : Boolean + Save RAFT design iterations in /raft_designs + + *Default* = False + +:code:`runPyHAMS` : Boolean + Flag to run pyHAMS + + *Default* = True + + + +Level3 +**************************************** + +Options for WEIS fidelity level 3 = nonlinear time domain +:code:`flag` : Boolean + Whether or not to run WEIS fidelity level 3 = nonlinear time + domain (Linearize OpenFAST) + + *Default* = False + + + +simulation +######################################## + +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`AbortLevel` : String from, ['WARNING', 'SEVERE', 'FATAL'] + Error level when simulation should abort (string) {'WARNING', + 'SEVERE', 'FATAL'} + + *Default* = FATAL + +:code:`DT` : Float, s + Integration time step (s) + + *Default* = 0.025 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`InterpOrder` : String from, ['1', '2', 'linear', 'Linear', 'LINEAR', 'quadratic', 'Quadratic', 'QUADRATIC'] + Interpolation order for input/output time history (-) {1=linear, + 2=quadratic} + + *Default* = 2 + +:code:`NumCrctn` : Integer + Number of correction iterations (-) {0=explicit calculation, i.e., + no corrections} + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 10 + + +:code:`DT_UJac` : Float, s + Time between calls to get Jacobians (s) + + *Default* = 99999.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`UJacSclFact` : Float + Scaling factor used in Jacobians (-) + + *Default* = 1000000.0 + + *Minimum* = 0.0 *Maximum* = 1000000000.0 + + +:code:`CompElast` : Integer + Compute structural dynamics (switch) {1=ElastoDyn; 2=ElastoDyn + + BeamDyn for blades} + + *Default* = 1 + +:code:`CompInflow` : Integer + Compute inflow wind velocities (switch) {0=still air; + 1=InflowWind; 2=external from OpenFOAM} + + *Default* = 1 + +:code:`CompAero` : Integer + Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; + 2=AeroDyn v15} + + *Default* = 2 + +:code:`CompServo` : Integer + Compute control and electrical-drive dynamics (switch) {0=None; + 1=ServoDyn} + + *Default* = 1 + +:code:`CompHydro` : Integer + Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} + + *Default* = 0 + +:code:`CompSub` : Integer + Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; + 2=External Platform MCKF} + + *Default* = 0 + +:code:`CompMooring` : Integer + Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; + 3=MoorDyn; 4=OrcaFlex} + + *Default* = 0 + +:code:`CompIce` : Integer + Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn} + + *Default* = 0 + +:code:`MHK` : Integer + MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK + turbine; 2=Floating MHK turbine} + + *Default* = 0 + +:code:`Gravity` : Float, m / s**2 + Gravitational acceleration (m/s^2) + + *Default* = 9.81 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`AirDens` : Float, kg/m**3 + Air density (kg/m^3) + + *Default* = 1.225 + +:code:`WtrDens` : Float, kg/m**3 + Water density (kg/m^3) + + *Default* = 1025 + +:code:`KinVisc` : Float + Kinematic viscosity of working fluid (m^2/s) + + *Default* = 1.464e-05 + +:code:`SpdSound` : Float + Speed of sound in working fluid (m/s) + + *Default* = 335 + +:code:`Patm` : Float + Atmospheric pressure (Pa) [used only for an MHK turbine cavitation + check] + + *Default* = 103500 + +:code:`Pvap` : Float + Vapour pressure of working fluid (Pa) [used only for an MHK + turbine cavitation check] + + *Default* = 1700 + +:code:`WtrDpth` : Float + Water depth (m) + + *Default* = 300 + +:code:`MSL2SWL` : Float + Offset between still-water level and mean sea level (m) [positive + upward] + + *Default* = 0 + +:code:`EDFile` : String + Name of file containing ElastoDyn input parameters (quoted string) + + *Default* = none + +:code:`BDBldFile(1)` : String + Name of file containing BeamDyn input parameters for blade 1 + (quoted string) + + *Default* = none + +:code:`BDBldFile(2)` : String + Name of file containing BeamDyn input parameters for blade 2 + (quoted string) + + *Default* = none + +:code:`BDBldFile(3)` : String + Name of file containing BeamDyn input parameters for blade 3 + (quoted string) + + *Default* = none + +:code:`InflowFile` : String + Name of file containing inflow wind input parameters (quoted + string) + + *Default* = none + +:code:`AeroFile` : String + Name of file containing aerodynamic input parameters (quoted + string) + + *Default* = none + +:code:`ServoFile` : String + Name of file containing control and electrical-drive input + parameters (quoted string) + + *Default* = none + +:code:`HydroFile` : String + Name of file containing hydrodynamic input parameters (quoted + string) + + *Default* = none + +:code:`SubFile` : String + Name of file containing sub-structural input parameters (quoted + string) + + *Default* = none + +:code:`MooringFile` : String + Name of file containing mooring system input parameters (quoted + string) + + *Default* = none + +:code:`IceFile` : String + Name of file containing ice input parameters (quoted string) + + *Default* = none + +:code:`SumPrint` : Boolean + Print summary data to '.sum' (flag) + + *Default* = False + +:code:`SttsTime` : Float, s + Amount of time between screen status messages (s) + + *Default* = 10.0 + + *Minimum* = 0.01 *Maximum* = 1000.0 + + +:code:`ChkptTime` : Float, s + Amount of time between creating checkpoint files for potential + restart (s) + + *Default* = 99999.0 + + *Minimum* = 0.01 *Maximum* = 1000000.0 + + +:code:`DT_Out` : Float + Time step for tabular output (s) (or 'default') + + *Default* = 0 + +:code:`OutFileFmt` : Integer + Format for tabular (time-marching) output file (switch) {1 text + file [.out], 2 binary file [.outb], 3 both} + + *Default* = 2 + +:code:`TabDelim` : Boolean + Use tab delimiters in text tabular output file? (flag) (currently + unused) + + *Default* = True + +:code:`OutFmt` : String + Format used for text tabular output (except time). Resulting + field should be 10 characters. (quoted string (currently unused) + + *Default* = ES10.3E2 + +:code:`Linearize` : Boolean + Linearization analysis (flag) + + *Default* = False + +:code:`CalcSteady` : Boolean + Calculate a steady-state periodic operating point before + linearization? [unused if Linearize=False] (flag) + + *Default* = False + +:code:`TrimCase` : String from, ['1', '2', '3', 'yaw', 'Yaw', 'YAW', 'torque', 'Torque', 'TORQUE', 'pitch', 'Pitch', 'PITCH'] + Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} + [used only if CalcSteady=True] (-) + + *Default* = 3 + +:code:`TrimTol` : Float + Tolerance for the rotational speed convergence [used only if + CalcSteady=True] (-) + + *Default* = 0.001 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`TrimGain` : Float, kg*m^2/rad/s + Proportional gain for the rotational speed error (>0) [used only + if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for + torque) + + *Default* = 0.01 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`Twr_Kdmp` : Float, kg/s + Damping factor for the tower [used only if CalcSteady=True] + (N/(m/s)) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`Bld_Kdmp` : Float, kg/s + Damping factor for the blades [used only if CalcSteady=True] + (N/(m/s)) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`NLinTimes` : Integer + Number of times to linearize (-) [>=1] [unused if Linearize=False] + + *Default* = 2 + + *Minimum* = 0 *Maximum* = 10 + + +:code:`LinTimes` : Array of Floats + List of times at which to linearize (s) [1 to NLinTimes] [used + only when Linearize=True and CalcSteady=False] + + *Default* = [30.0, 60.0] + + *Minimum* = 0.0 + + *Maximum* = 10000.0 + +:code:`LinInputs` : String from, ['0', '1', '2', 'none', 'None', 'NONE', 'standard', 'Standard', 'STANDARD', 'all', 'All', 'ALL'] + Inputs included in linearization (switch) {0=none; 1=standard; + 2=all module inputs (debug)} [unused if Linearize=False] + + *Default* = 1 + +:code:`LinOutputs` : String from, ['0', '1', '2', 'none', 'None', 'NONE', 'standard', 'Standard', 'STANDARD', 'all', 'All', 'ALL'] + Outputs included in linearization (switch) {0=none; 1=from + OutList(s); 2=all module outputs (debug)} [unused if + Linearize=False] + + *Default* = 1 + +:code:`LinOutJac` : Boolean + Include full Jacobians in linearization output (for debug) (flag) + [unused if Linearize=False; used only if LinInputs=LinOutputs=2] + + *Default* = False + +:code:`LinOutMod` : Boolean + Write module-level linearization output files in addition to + output for full system? (flag) [unused if Linearize=False] + + *Default* = False + +:code:`WrVTK` : Integer + VTK visualization data output (switch) {0=none; 1=initialization + data only; 2=animation} + + *Default* = 0 + +:code:`VTK_type` : Integer + Type of VTK visualization data (switch) {1=surfaces; 2=basic + meshes (lines/points); 3=all meshes (debug)} [unused if WrVTK=0] + + *Default* = 2 + +:code:`VTK_fields` : Boolean + Write mesh fields to VTK data files? (flag) {true/false} [unused + if WrVTK=0] + + *Default* = False + +:code:`VTK_fps` : Float + Frame rate for VTK output (frames per second){will use closest + integer multiple of DT} [used only if WrVTK=2] + + *Default* = 10.0 + + *Minimum* = 0.0 + + + +InflowWind +######################################## + +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`WindType` : Integer + Switch for wind file type (1=steady; 2=uniform; 3=binary TurbSim + FF; 4=binary Bladed-style FF; 5=HAWC format; 6=User defined; + 7=native Bladed FF) + + *Default* = 1 + +:code:`PropagationDir` : Float, deg + Direction of wind propagation (meteoroligical rotation from + aligned with X (positive rotates towards -Y) -- degrees) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 360.0 + + +:code:`VFlowAng` : Float, deg + Upflow angle (degrees) (not used for native Bladed format + WindType=7) + + *Default* = 0.0 + + *Minimum* = -90.0 *Maximum* = 90.0 + + +:code:`VelInterpCubic` : Boolean + Use cubic interpolation for velocity in time (false=linear, + true=cubic) [Used with WindType=2,3,4,5,7] + + *Default* = False + +:code:`NWindVel` : Integer + Number of points to output the wind velocity (0 to 9) + + *Default* = 1 + + *Minimum* = 0 *Maximum* = 9 + + +:code:`HWindSpeed` : Float, m / s + Horizontal windspeed, for WindType = 1 + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`RefHt` : Float, m + Reference height for horizontal wind speed (m) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`PLExp` : Float + Power law exponent (-) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`Filename_Uni` : String + Filename of time series data for uniform wind field [used only for + WindType = 2] + + *Default* = none + +:code:`RefHt_Uni` : Float, m + Reference height for horizontal wind speed (m) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`RefLength` : Float + Reference length for linear horizontal and vertical sheer (-) + [used only for WindType = 2] + + *Default* = 1.0 + + *Minimum* = 1e-06 *Maximum* = 1000.0 + + +:code:`FileName_BTS` : String + Name of the Full field wind file to use (.bts) [used only for + WindType = 3] + + *Default* = none + +:code:`FilenameRoot` : String + Rootname of the full-field wind file to use (.wnd, .sum) [used + only for WindType = 4] + + *Default* = none + +:code:`TowerFile` : Boolean + Have tower file (.twr) (flag) [used only for WindType = 4] + + *Default* = False + +:code:`FileName_u` : String + Name of the file containing the u-component fluctuating wind + (.bin) [Only used with WindType = 5] + + *Default* = none + +:code:`FileName_v` : String + Name of the file containing the v-component fluctuating wind + (.bin) [Only used with WindType = 5] + + *Default* = none + +:code:`FileName_w` : String + Name of the file containing the w-component fluctuating wind + (.bin) [Only used with WindType = 5] + + *Default* = none + +:code:`nx` : Integer + Number of grids in the x direction (in the 3 files above) (-) + + *Default* = 2 + + *Minimum* = 2 *Maximum* = 1000 + + +:code:`ny` : Integer + Number of grids in the y direction (in the 3 files above) (-) + + *Default* = 2 + + *Minimum* = 2 *Maximum* = 1000 + + +:code:`nz` : Integer + Number of grids in the z direction (in the 3 files above) (-) + + *Default* = 2 + + *Minimum* = 2 *Maximum* = 1000 + + +:code:`dx` : Float, meter + Distance (in meters) between points in the x direction (m) + + *Default* = 10 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`dy` : Float, meter + Distance (in meters) between points in the y direction (m) + + *Default* = 10 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`dz` : Float, meter + Distance (in meters) between points in the z direction (m) + + *Default* = 10 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`RefHt_Hawc` : Float, m + Reference height for horizontal wind speed (m) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`ScaleMethod` : Integer + Turbulence scaling method [0 = none, 1 = direct scaling, 2 = + calculate scaling factor based on a desired standard deviation] + + *Default* = 0 + +:code:`SFx` : Float + Turbulence scaling factor for the x direction (-) + [ScaleMethod=1] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`SFy` : Float + Turbulence scaling factor for the y direction (-) + [ScaleMethod=1] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`SFz` : Float + Turbulence scaling factor for the z direction (-) + [ScaleMethod=1] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`SigmaFx` : Float, m /s + Turbulence standard deviation to calculate scaling from in x + direction (m/s) [ScaleMethod=2] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`SigmaFy` : Float, m /s + Turbulence standard deviation to calculate scaling from in y + direction (m/s) [ScaleMethod=2] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`SigmaFz` : Float, m /s + Turbulence standard deviation to calculate scaling from in z + direction (m/s) [ScaleMethod=2] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`URef` : Float, m / s + Mean u-component wind speed at the reference height (m/s) [HAWC- + format files] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`WindProfile` : Integer + Wind profile type (0=constant;1=logarithmic,2=power law) + + *Default* = 0 + +:code:`PLExp_Hawc` : Float + Power law exponent (-) (used for PL wind profile type only)[HAWC- + format files] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`Z0` : Float, m + Surface roughness length (m) (used for LG wind profile type + only)[HAWC-format files] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`XOffset` : Float, m + Initial offset in +x direction (shift of wind box) + + *Default* = 0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`SumPrint` : Boolean + Print summary data to '.sum' (flag) + + *Default* = False + +:code:`SensorType` : Integer + Switch for lidar configuration (0 = None, 1 = Single Point + Beam(s), 2 = Continuous, 3 = Pulsed) + + *Default* = 0 + +:code:`NumPulseGate` : Integer + Number of lidar measurement gates (used when SensorType = 3) + + *Default* = 0 + +:code:`PulseSpacing` : Float + Distance between range gates (m) (used when SensorType = 3) + + *Default* = 0 + +:code:`NumBeam` : Integer + Number of lidar measurement beams (0-5)(used when SensorType = 1) + + *Default* = 0 + +:code:`FocalDistanceX` : Float + Focal distance coordinates of the lidar beam in the x direction + (relative to hub height) (only first coordinate used for + SensorType 2 and 3) (m) + + *Default* = 0 + +:code:`FocalDistanceY` : Float + Focal distance coordinates of the lidar beam in the y direction + (relative to hub height) (only first coordinate used for + SensorType 2 and 3) (m) + + *Default* = 0.0 + +:code:`FocalDistanceZ` : Float + Focal distance coordinates of the lidar beam in the z direction + (relative to hub height) (only first coordinate used for + SensorType 2 and 3) (m) + + *Default* = 0.0 + +:code:`RotorApexOffsetPos` : Array of Floats + Offset of the lidar from hub height (m) + + *Default* = [0.0, 0.0, 0.0] + +:code:`URefLid` : Float + Reference average wind speed for the lidar [m/s] + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`MeasurementInterval` : Float + Time between each measurement [s] + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`LidRadialVel` : Boolean + TRUE => return radial component, FALSE => return 'x' direction + estimate + + *Default* = False + +:code:`ConsiderHubMotion` : Integer + Flag whether to consider the hub motion's impact on Lidar + measurements + + *Default* = 1 + + + +AeroDyn +######################################## + +:code:`flag` : Boolean + Whether or not to run AeroDyn + + *Default* = False + +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`DTAero` : Float, s + Time interval for aerodynamic calculations. Set it to 0. for + default (same as main fst) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`WakeMod` : Integer + Type of wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} + + *Default* = 1 + +:code:`AFAeroMod` : Integer + Type of blade airfoil aerodynamics model (switch) {1=steady model, + 2=Beddoes-Leishman unsteady model} [must be 1 when linearizing] + + *Default* = 2 + +:code:`TwrPotent` : Integer + Type tower influence on wind based on potential flow around the + tower (switch) {0=none, 1=baseline potential flow, 2=potential + flow with Bak correction} + + *Default* = 1 + +:code:`TwrShadow` : Integer + Calculate tower influence on wind based on downstream tower shadow + (switch) {0=none, 1=Powles model, 2=Eames model} + + *Default* = 1 + +:code:`TwrAero` : Boolean + Calculate tower aerodynamic loads? (flag) + + *Default* = True + +:code:`FrozenWake` : Boolean + Assume frozen wake during linearization? (flag) [used only when + WakeMod=1 and when linearizing] + + *Default* = False + +:code:`CavitCheck` : Boolean + Perform cavitation check? (flag) TRUE will turn off unsteady + aerodynamics + + *Default* = False + +:code:`Buoyancy` : Boolean + Include buoyancy effects? (flag) + + *Default* = False + +:code:`CompAA` : Boolean + Flag to compute AeroAcoustics calculation [only used when + WakeMod=1 or 2] + + *Default* = False + +:code:`AA_InputFile` : String + Aeroacoustics input file + + *Default* = AeroAcousticsInput.dat + +:code:`SkewMod` : Integer + Type of skewed-wake correction model (switch) {1=uncoupled, + 2=Pitt/Peters, 3=coupled} [used only when WakeMod=1] + + *Default* = 2 + +:code:`SkewModFactor` : Float + Constant used in Pitt/Peters skewed wake model {or 'default' is + 15/32*pi} (-) [used only when SkewMod=2; unused when WakeMod=0] + + *Default* = 1.4726215563702154 + +:code:`TipLoss` : Boolean + Use the Prandtl tip-loss model? (flag) [used only when WakeMod=1] + + *Default* = True + +:code:`HubLoss` : Boolean + Use the Prandtl hub-loss model? (flag) [used only when WakeMod=1] + + *Default* = True + +:code:`TanInd` : Boolean + Include tangential induction in BEMT calculations? (flag) [used + only when WakeMod=1] + + *Default* = True + +:code:`AIDrag` : Boolean + Include the drag term in the axial-induction calculation? (flag) + [used only when WakeMod=1] + + *Default* = True + +:code:`TIDrag` : Boolean + Include the drag term in the tangential-induction calculation? + (flag) [used only when WakeMod=1 and TanInd=TRUE] + + *Default* = True + +:code:`IndToler` : Float + Convergence tolerance for BEMT nonlinear solve residual equation + {or 0.0 for default} (-) [used only when WakeMod=1] + + *Default* = 0.0 + +:code:`MaxIter` : Integer + Maximum number of iteration steps (-) [used only when WakeMod=1] + + *Default* = 500 + +:code:`DBEMT_Mod` : Integer + Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=time- + dependent tau1, 3=constant tau1 with continuous formulation} (-) + [used only when WakeMod=2] + + *Default* = 2 + +:code:`tau1_const` : Float, s + Time constant for DBEMT (s) [used only when WakeMod=2 and + DBEMT_Mod=1] + + *Default* = 2.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`OLAFInputFileName` : String + Input file for OLAF [used only when WakeMod=3] + + *Default* = unused + + + +OLAF +======================================== + +:code:`IntMethod` : Integer + Integration method 1 RK4, 5 Forward Euler 1st order, default 5 + switch + + *Default* = 5 + +:code:`DTfvw` : Float, s + Time interval for wake propagation. {default dtaero} (s) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`CircSolvMethod` : Integer + Circulation solving method {1 Cl-Based, 2 No-Flow Through, 3 + Prescribed, default 1 }(switch) + + *Default* = 1 + +:code:`CircSolvConvCrit` : Float + Convergence criteria {default 0.001} [only if CircSolvMethod=1] + (-) + + *Default* = 0.001 + +:code:`CircSolvRelaxation` : Float + Relaxation factor {default 0.1} [only if CircSolvMethod=1] (-) + + *Default* = 0.1 + +:code:`CircSolvMaxIter` : Integer + Maximum number of iterations for circulation solving {default 30} + (-) + + *Default* = 30 + +:code:`PrescribedCircFile` : String + File containing prescribed circulation [only if CircSolvMethod=3] + (quoted string) + + *Default* = NA + +:code:`nNWPanels` : Integer + Number of near-wake panels [integer] (-) + + *Default* = 120 + + *Minimum* = 0 + +:code:`nNWPanelsFree` : Integer + Number of free near-wake panels (-) {default nNWPanels} + + *Default* = 120 + + *Minimum* = 0 + +:code:`nFWPanels` : Integer + Number of far-wake panels (-) {default 0} + + *Default* = 0 + + *Minimum* = 0 + +:code:`nFWPanelsFree` : Integer + Number of free far-wake panels (-) {default nFWPanels} + + *Default* = 0 + + *Minimum* = 0 + +:code:`FWShedVorticity` : Boolean + Include shed vorticity in the far wake {default false} + + *Default* = False + +:code:`DiffusionMethod` : Integer + Diffusion method to account for viscous effects {0 None, 1 Core + Spreading, 'default' 0} + + *Default* = 0 + +:code:`RegDeterMethod` : Integer + Method to determine the regularization parameters {0 Manual, 1 + Optimized, 2 chord, 3 span default 0 } + + *Default* = 0 + +:code:`RegFunction` : Integer + Viscous diffusion function {0 None, 1 Rankine, 2 LambOseen, 3 + Vatistas, 4 Denominator, 'default' 3} (switch) + + *Default* = 3 + +:code:`WakeRegMethod` : Integer + Wake regularization method {1 Constant, 2 Stretching, 3 Age, + default 1} (switch) + + *Default* = 1 + +:code:`WakeRegFactor` : Float + Wake regularization factor (m) + + *Default* = 0.25 + +:code:`WingRegFactor` : Float + Wing regularization factor (m) + + *Default* = 0.25 + +:code:`CoreSpreadEddyVisc` : Float + Eddy viscosity in core spreading methods, typical values 1-1000 + + *Default* = 100 + +:code:`TwrShadowOnWake` : Boolean + Include tower flow disturbance effects on wake convection + {default:false} [only if TwrPotent or TwrShadow] + + *Default* = False + +:code:`ShearModel` : Integer + Shear Model {0 No treatment, 1 Mirrored vorticity, default 0} + + *Default* = 0 + +:code:`VelocityMethod` : Integer + Method to determine the velocity {1Biot-Savart Segment, 2Particle + tree, default 1} + + *Default* = 1 + +:code:`TreeBranchFactor` : Float + Branch radius fraction above which a multipole calculation is used + {default 2.0} [only if VelocityMethod=2] + + *Default* = 2.0 + + *Minimum* = 0.0 + +:code:`PartPerSegment` : Integer + Number of particles per segment [only if VelocityMethod=2] + + *Default* = 1 + + *Minimum* = 0 + +:code:`WrVTk` : Integer + Outputs Visualization Toolkit (VTK) (independent of .fst option) + {0 NoVTK, 1 Write VTK at each time step} (flag) + + *Default* = 0 + +:code:`nVTKBlades` : Integer + Number of blades for which VTK files are exported {0 No VTK per + blade, n VTK for blade 1 to n} (-) + + *Default* = 3 + +:code:`VTKCoord` : Integer + Coordinate system used for VTK export. {1 Global, 2 Hub, 3 Both, + 'default' 1} + + *Default* = 1 + +:code:`VTK_fps` : Float + Frame rate for VTK output (frames per second) {"all" for all glue + code timesteps, "default" for all OLAF timesteps} [used only if + WrVTK=1] + + *Default* = 1 + +:code:`nGridOut` : Integer + (GB DEBUG 7/8) Number of grid points for VTK output + + *Default* = 0 + +:code:`UAMod` : Integer + Unsteady Aero Model Switch (switch) {1=Baseline model (Original), + 2=Gonzalez's variant (changes in Cn,Cc,Cm), 3=Minemma/Pierce + variant (changes in Cc and Cm)} [used only when AFAeroMod=2] + + *Default* = 3 + +:code:`FLookup` : Boolean + Flag to indicate whether a lookup for f' will be calculated (TRUE) + or whether best-fit exponential equations will be used (FALSE); if + FALSE S1-S4 must be provided in airfoil input files (flag) [used + only when AFAeroMod=2] + + *Default* = True + +:code:`AFTabMod` : Integer + Interpolation method for multiple airfoil tables {1=1D + interpolation on AoA (first table only); 2=2D interpolation on AoA + and Re; 3=2D interpolation on AoA and UserProp} (-) + + *Default* = 1 + +:code:`InCol_Alfa` : Integer + The column in the airfoil tables that contains the angle of attack + (-) + + *Default* = 1 + +:code:`InCol_Cl` : Integer + The column in the airfoil tables that contains the lift + coefficient (-) + + *Default* = 2 + +:code:`InCol_Cd` : Integer + The column in the airfoil tables that contains the drag + coefficient (-) + + *Default* = 3 + +:code:`InCol_Cm` : Integer + The column in the airfoil tables that contains the pitching-moment + coefficient; use zero if there is no Cm column (-) + + *Default* = 4 + +:code:`InCol_Cpmin` : Integer + The column in the airfoil tables that contains the Cpmin + coefficient; use zero if there is no Cpmin column (-) + + *Default* = 0 + +:code:`UseBlCm` : Boolean + Include aerodynamic pitching moment in calculations? (flag) + + *Default* = True + +:code:`VolHub` : Float + Hub volume (m^3) + + *Default* = 0 + + *Minimum* = 0.0 + +:code:`HubCenBx` : Float + Hub center of buoyancy x direction offset (m) + + *Default* = 0 + + *Minimum* = -100.0 *Maximum* = 100.0 + + +:code:`VolNac` : Float + Nacelle volume (m^3) + + *Default* = 0 + + *Minimum* = 0.0 + +:code:`NacCenB` : Array of Floats + Position of nacelle center of buoyancy from yaw bearing in nacelle + coordinates (m) + + *Default* = [0.0, 0.0, 0.0] + + *Minimum* = -100.0 + + *Maximum* = 100.0 + +:code:`TFinAero` : Boolean + Calculate tail fin aerodynamics model (flag) + + *Default* = False + +:code:`TFinFile` : String + Input file for tail fin aerodynamics [used only when + TFinAero=True] + + *Default* = unused + +:code:`Patm` : Float + Atmospheric pressure (Pa) [used only when CavitCheck=True] + + *Default* = 103500.0 + + *Minimum* = 0.0 + +:code:`Pvap` : Float + Vapour pressure of fluid (Pa) [used only when CavitCheck=True] + + *Default* = 1700.0 + + *Minimum* = 0.0 + +:code:`FluidDepth` : Float + Water depth above mid-hub height (m) [used only when + CavitCheck=True] + + *Default* = 0.5 + + *Minimum* = 0.0 + +:code:`TwrTI` : Float + Turbulence intensity used in the Eames tower shadow model. Values + of TwrTI between 0.05 and 0.4 are recommended. + + *Default* = 0.1 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`TwrCb` : Float + Turbulence buoyancy coefficient + + *Default* = 0.0 + +:code:`SumPrint` : Boolean + Print summary data to '.sum' (flag) + + *Default* = False + + + +ElastoDyn +######################################## + +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`Method` : String from, ['1', '2', '3', 'RK4', 'AB4', 'ABM4'] + + + *Default* = 3 + +:code:`DT` : Float, s + Integration time step, 0.0 for default (s) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`FlapDOF1` : Boolean + First flapwise blade mode DOF (flag) + + *Default* = True + +:code:`FlapDOF2` : Boolean + Second flapwise blade mode DOF (flag) + + *Default* = True + +:code:`EdgeDOF` : Boolean + First edgewise blade mode DOF (flag) + + *Default* = True + +:code:`TeetDOF` : Boolean + Rotor-teeter DOF (flag) [unused for 3 blades] + + *Default* = False + +:code:`DrTrDOF` : Boolean + Drivetrain rotational-flexibility DOF (flag) + + *Default* = True + +:code:`GenDOF` : Boolean + Generator DOF (flag) + + *Default* = True + +:code:`YawDOF` : Boolean + Yaw DOF (flag) + + *Default* = True + +:code:`TwFADOF1` : Boolean + First fore-aft tower bending-mode DOF (flag) + + *Default* = True + +:code:`TwFADOF2` : Boolean + Second fore-aft tower bending-mode DOF (flag) + + *Default* = True + +:code:`TwSSDOF1` : Boolean + First side-to-side tower bending-mode DOF (flag) + + *Default* = True + +:code:`TwSSDOF2` : Boolean + Second side-to-side tower bending-mode DOF (flag) + + *Default* = True + +:code:`PtfmSgDOF` : Boolean + Platform horizontal surge translation DOF (flag) + + *Default* = True + +:code:`PtfmSwDOF` : Boolean + Platform horizontal sway translation DOF (flag) + + *Default* = True + +:code:`PtfmHvDOF` : Boolean + Platform vertical heave translation DOF (flag) + + *Default* = True + +:code:`PtfmRDOF` : Boolean + Platform roll tilt rotation DOF (flag) + + *Default* = True + +:code:`PtfmPDOF` : Boolean + Platform pitch tilt rotation DOF (flag) + + *Default* = True + +:code:`PtfmYDOF` : Boolean + Platform yaw rotation DOF (flag) + + *Default* = True + +:code:`OoPDefl` : Float, m + Initial out-of-plane blade-tip displacement (meters) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`IPDefl` : Float, m + Initial in-plane blade-tip deflection (meters) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`BlPitch1` : Float, rad + Blade 1 initial pitch (radians) + + *Default* = 0.017453292519943295 + + *Minimum* = -1.5707963267948966 *Maximum* = 1.5707963267948966 + + +:code:`BlPitch2` : Float, rad + Blade 2 initial pitch (radians) + + *Default* = 0.017453292519943295 + + *Minimum* = -1.5707963267948966 *Maximum* = 1.5707963267948966 + + +:code:`BlPitch3` : Float, rad + Blade 3 initial pitch (radians) [unused for 2 blades] + + *Default* = 0.017453292519943295 + + *Minimum* = -1.5707963267948966 *Maximum* = 1.5707963267948966 + + +:code:`TeetDefl` : Float, rad + Initial or fixed teeter angle (radians) [unused for 3 blades] + + *Default* = 0.0 + + *Minimum* = -1.5707963267948966 *Maximum* = 1.5707963267948966 + + +:code:`Azimuth` : Float, rad + Initial azimuth angle for blade 1 (radians) + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`RotSpeed` : Float, rpm + Initial or fixed rotor speed (rpm) + + *Default* = 5.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`NacYaw` : Float, rad + Initial or fixed nacelle-yaw angle (radians) + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`TTDspFA` : Float, m + Initial fore-aft tower-top displacement (meters) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 50.0 + + +:code:`TTDspSS` : Float, m + Initial side-to-side tower-top displacement (meters) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 50.0 + + +:code:`PtfmSurge` : Float, m + Initial or fixed horizontal surge translational displacement of + platform (meters) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`PtfmSway` : Float, m + Initial or fixed horizontal sway translational displacement of + platform (meters) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`PtfmHeave` : Float, m + Initial or fixed vertical heave translational displacement of + platform (meters) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`PtfmRoll` : Float, rad + Initial or fixed roll tilt rotational displacement of platform + (radians) + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`PtfmPitch` : Float, rad + Initial or fixed pitch tilt rotational displacement of platform + (radians) + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`PtfmYaw` : Float, rad + Initial or fixed yaw rotational displacement of platform (radians) + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`UndSling` : Float, m + Undersling length [distance from teeter pin to the rotor apex] + (meters) [unused for 3 blades] + + *Default* = 0.0 + + *Minimum* = -10.0 *Maximum* = 10.0 + + +:code:`Delta3` : Float, deg + Delta-3 angle for teetering rotors (degrees) [unused for 3 blades] + + *Default* = 0.0 + + *Minimum* = -30.0 *Maximum* = 30.0 + + +:code:`AzimB1Up` : Float, rad + Azimuth value to use for I/O when blade 1 points up (radians) + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`ShftGagL` : Float, m + Distance from rotor apex [3 blades] or teeter pin [2 blades] to + shaft strain gages [positive for upwind rotors] (meters) + + *Default* = 0.0 + + *Minimum* = -10.0 *Maximum* = 10.0 + + +:code:`NcIMUxn` : Float, m + Downwind distance from the tower-top to the nacelle IMU (meters) + + *Default* = 0.0 + + *Minimum* = -10.0 *Maximum* = 10.0 + + +:code:`NcIMUyn` : Float, m + Lateral distance from the tower-top to the nacelle IMU (meters) + + *Default* = 0.0 + + *Minimum* = -10.0 *Maximum* = 10.0 + + +:code:`NcIMUzn` : Float, m + Vertical distance from the tower-top to the nacelle IMU (meters) + + *Default* = 0.0 + + *Minimum* = -10.0 *Maximum* = 10.0 + + +:code:`BldNodes` : Integer + Number of blade nodes (per blade) used for analysis (-) + + *Default* = 50 + + *Minimum* = 10 *Maximum* = 200 + + +:code:`TeetMod` : Integer + Rotor-teeter spring/damper model {0: none, 1: standard, 2: user- + defined from routine UserTeet} (switch) [unused for 3 blades] + + *Default* = 0 + +:code:`TeetDmpP` : Float, rad + Rotor-teeter damper position (radians) [used only for 2 blades and + when TeetMod=1] + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`TeetDmp` : Float, kg*m^2/rad/s + Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 + blades and when TeetMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`TeetCDmp` : Float, kg*m^2/s^2 + Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used + only for 2 blades and when TeetMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`TeetSStP` : Float, rad + Rotor-teeter soft-stop position (radians) [used only for 2 blades + and when TeetMod=1] + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`TeetHStP` : Float, rad + Rotor-teeter hard-stop position (radians) [used only for 2 blades + and when TeetMod=1] + + *Default* = 0.0 + + *Minimum* = -6.283185307179586 *Maximum* = 6.283185307179586 + + +:code:`TeetSSSp` : Float, kg*m^2/rad/s^2 + Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only + for 2 blades and when TeetMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`TeetHSSp` : Float, kg*m^2/rad/s^2 + Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only + for 2 blades and when TeetMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`Furling` : Boolean + Read in additional model properties for furling turbine (flag) + [must currently be FALSE) + + *Default* = False + +:code:`FurlFile` : String + Name of file containing furling properties (quoted string) [unused + when Furling=False] + + *Default* = none + +:code:`TwrNodes` : Integer + Number of tower nodes used for analysis (-) + + *Default* = 20 + + *Minimum* = 10 *Maximum* = 200 + + +:code:`SumPrint` : Boolean + Print summary data to '.sum' (flag) + + *Default* = False + +:code:`OutFile` : Integer + Switch to determine where output will be placed 1 in module output + file only; 2 in glue code output file only; 3 both (currently + unused) + + *Default* = 1 + +:code:`TabDelim` : Boolean + Use tab delimiters in text tabular output file? (flag) (currently + unused) + + *Default* = True + +:code:`OutFmt` : String + Format used for text tabular output (except time). Resulting + field should be 10 characters. (quoted string (currently unused) + + *Default* = ES10.3E2 + +:code:`DecFact` : Integer + Decimation factor for tabular output 1 output every time step} (-) + (currently unused) + + *Default* = 1 + +:code:`TStart` : Float, s + Time to begin tabular output (s) (currently unused) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + + + +ElastoDynBlade +######################################## + +:code:`BldFlDmp1` : Float + Blade flap mode 1 structural damping in percent of critical (%) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`BldFlDmp2` : Float + Blade flap mode 2 structural damping in percent of critical (%) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`BldEdDmp1` : Float + Blade edge mode 1 structural damping in percent of critical (%) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`FlStTunr1` : Float + Blade flapwise modal stiffness tuner, 1st mode (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`FlStTunr2` : Float + Blade flapwise modal stiffness tuner, 2nd mode (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`AdjBlMs` : Float + Factor to adjust blade mass density (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`AdjFlSt` : Float + Factor to adjust blade flap stiffness (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`AdjEdSt` : Float + Factor to adjust blade edge stiffness (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + + + +ElastoDynTower +######################################## + +:code:`TwrFADmp1` : Float + Tower 1st fore-aft mode structural damping ratio (%) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`TwrFADmp2` : Float + Tower 2nd fore-aft mode structural damping ratio (%) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`TwrSSDmp1` : Float + Tower 1st side-to-side mode structural damping ratio (%) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`TwrSSDmp2` : Float + Tower 2nd side-to-side mode structural damping ratio (%) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`FlStTunr1` : Float + Blade flapwise modal stiffness tuner, 1st mode (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`FAStTunr1` : Float + Tower fore-aft modal stiffness tuner, 1st mode (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`FAStTunr2` : Float + Tower fore-aft modal stiffness tuner, 2nd mode (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SSStTunr1` : Float + Tower side-to-side stiffness tuner, 1st mode (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SSStTunr2` : Float + Tower side-to-side stiffness tuner, 2nd mode (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`AdjTwMa` : Float + Factor to adjust tower mass density (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`AdjFASt` : Float + Factor to adjust tower fore-aft stiffness (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`AdjSSSt` : Float + Factor to adjust tower side-to-side stiffness (-) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + + + +BeamDyn +######################################## + +:code:`QuasiStaticInit` : Boolean + Use quasistatic pre-conditioning with centripetal accelerations in + initialization (flag) [dynamic solve only] + + *Default* = True + +:code:`rhoinf` : Float + Numerical damping parameter for generalized-alpha integrator + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000000000.0 + + +:code:`quadrature` : String from, ['1', '2', 'gaussian', 'Gaussian', 'GAUSSIAN', 'trapezoidal', 'Trapezoidal', 'TRAPEZOIDAL'] + Quadrature method: 1=Gaussian; 2=Trapezoidal (switch) + + *Default* = 2 + +:code:`refine` : Integer + Refinement factor for trapezoidal quadrature (-). DEFAULT = 1 + [used only when quadrature=2] + + *Default* = 1 + + *Minimum* = 1 *Maximum* = 10 + + +:code:`n_fact` : Integer + Factorization frequency (-). DEFAULT = 5 + + *Default* = 5 + + *Minimum* = 1 *Maximum* = 50 + + +:code:`DTBeam` : Float, s + Time step size (s). Use 0.0 for Default + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`load_retries` : Integer + Number of factored load retries before quitting the simulation. + Use 0 for Default + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 50 + + +:code:`NRMax` : Integer + Max number of iterations in Newton-Ralphson algorithm (-). DEFAULT + = 10 + + *Default* = 10 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`stop_tol` : Float + Tolerance for stopping criterion (-) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 1e+16 + + +:code:`tngt_stf_fd` : Boolean + Flag to use finite differenced tangent stiffness matrix (-) + + *Default* = False + +:code:`tngt_stf_comp` : Boolean + Flag to compare analytical finite differenced tangent stiffness + matrix (-) + + *Default* = False + +:code:`tngt_stf_pert` : Float + perturbation size for finite differencing (-). Use 0.0 for + DEFAULT + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`tngt_stf_difftol` : Float + Maximum allowable relative difference between analytical and fd + tangent stiffness (-) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`RotStates` : Boolean + Orient states in the rotating frame during linearization? (flag) + [used only when linearizing] + + *Default* = True + +:code:`order_elem` : Integer + Order of interpolation (basis) function (-) + + *Default* = 10 + + *Minimum* = 0 *Maximum* = 50 + + +:code:`UsePitchAct` : Boolean + Whether a pitch actuator should be used (flag) + + *Default* = False + +:code:`PitchJ` : Float, kg*m^2 + Pitch actuator inertia (kg-m^2) [used only when UsePitchAct is + true] + + *Default* = 200.0 + + *Minimum* = 0.0 *Maximum* = 1000000000000.0 + + +:code:`PitchK` : Float, kg*m^2/s^2 + Pitch actuator stiffness (kg-m^2/s^2) [used only when UsePitchAct + is true] + + *Default* = 20000000.0 + + *Minimum* = 0.0 *Maximum* = 1000000000000.0 + + +:code:`PitchC` : Float, kg*m^2/s + Pitch actuator damping (kg-m^2/s) [used only when UsePitchAct is + true] + + *Default* = 500000.0 + + *Minimum* = 0.0 *Maximum* = 1000000000000.0 + + + + +HydroDyn +######################################## + +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`WaveMod` : Integer + Incident wave kinematics model {0- none/still water, 1- regular + (periodic), 1P#- regular with user-specified phase, 2- + JONSWAP/Pierson-Moskowitz spectrum (irregular), 3- White noise + spectrum (irregular), 4- user-defined spectrum from routine + UserWaveSpctrm (irregular), 5- Externally generated wave-elevation + time series, 6- Externally generated full wave-kinematics time + series [option 6 is invalid for PotMod/=0]} (switch) + + *Default* = 2 + +:code:`WaveStMod` : Integer + Model for stretching incident wave kinematics to instantaneous + free surface {0 = none=no stretching, 1 = vertical stretching, 2 = + extrapolation stretching, 3 = Wheeler stretching} (switch) [unused + when WaveMod=0 or when PotMod/=0] + + *Default* = 0 + +:code:`WaveTMax` : Float, s + Analysis time for incident wave calculations (sec) [unused when + WaveMod=0; determines WaveDOmega=2Pi/WaveTMax in the IFFT] + + *Default* = 3600 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`WaveDT` : Float, s + Time step for incident wave calculations (sec) [unused when + WaveMod=0; 0.1<=WaveDT<=1.0 recommended; determines + WaveOmegaMax=Pi/WaveDT in the IFFT] + + *Default* = 0.25 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`WavePkShp` : Float + Peak-shape parameter of incident wave spectrum (-) or DEFAULT + (string) [used only when WaveMod=2; use 1.0 for Pierson-Moskowitz] + + *Default* = 1.0 + + *Minimum* = 1 *Maximum* = 7 + + +:code:`WvLowCOff` : Float, rad/s + Low cut-off frequency or lower frequency limit of the wave + spectrum beyond which the wave spectrum is zeroed (rad/s) [unused + when WaveMod=0, 1, or 6] + + *Default* = 0.111527 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`WvHiCOff` : Float, rad/s + High cut-off frequency or upper frequency limit of the wave + spectrum beyond which the wave spectrum is zeroed (rad/s) [unused + when WaveMod=0, 1, or 6] + + *Default* = 0.783827 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`WaveDir` : Float, rad + Incident wave propagation heading direction [unused when WaveMod=0 + or 6] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 6.283185307179586 + + +:code:`WaveDirMod` : Integer + Directional spreading function {0 = none, 1 = COS2S} [only used + when WaveMod=2,3, or 4] + + *Default* = 0 + +:code:`WaveDirSpread` : Float + Wave direction spreading coefficient ( > 0 ) [only used when + WaveMod=2,3, or 4 and WaveDirMod=1] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`WaveNDir` : Integer + Number of wave directions [only used when WaveMod=2,3, or 4 and + WaveDirMod=1; odd number only] + + *Default* = 1 + +:code:`WaveDirRange` : Float, deg + Range of wave directions (full range = WaveDir +/- + 1/2*WaveDirRange) (degrees) [only used when WaveMod=2,3,or 4 and + WaveDirMod=1] + + *Default* = 90 + + *Minimum* = 0.0 *Maximum* = 360 + + +:code:`WaveSeed1` : Integer + First random seed of incident waves [-2147483648 to 2147483647] + [unused when WaveMod=0, 5, or 6] + + *Default* = -561580799 + + *Minimum* = -2147483648 *Maximum* = 2147483647 + + +:code:`WaveNDAmp` : Boolean + Flag for normally distributed amplitudes [only used when + WaveMod=2, 3, or 4] + + *Default* = True + +:code:`WvKinFile` : String + Root name of externally generated wave data file(s) (quoted + string) [used only when WaveMod=5 or 6] + + *Default* = + +:code:`NWaveElev` : Integer + Number of points where the incident wave elevations can be + computed (-) [maximum of 9 output locations] + + *Default* = 1 + + *Minimum* = 0 *Maximum* = 9 + + +:code:`WaveElevxi` : Array of Strings + List of xi-coordinates for points where the incident wave + elevations can be output (meters) [NWaveElev points, separated by + commas or white space; usused if NWaveElev = 0] + + *Default* = ['0.0'] + +:code:`WaveElevyi` : Array of Strings + List of yi-coordinates for points where the incident wave + elevations can be output (meters) [NWaveElev points, separated by + commas or white space; usused if NWaveElev = 0] + + *Default* = ['0.0'] + +:code:`WvDiffQTF` : Boolean + Full difference-frequency 2nd-order wave kinematics (flag) + + *Default* = False + +:code:`WvSumQTF` : Boolean + Full summation-frequency 2nd-order wave kinematics (flag) + + *Default* = False + +:code:`WvLowCOffD` : Float, rad/s + Low frequency cutoff used in the difference-frequencies (rad/s) + [Only used with a difference-frequency method] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`WvHiCOffD` : Float, rad/s + High frequency cutoff used in the difference-frequencies (rad/s) + [Only used with a difference-frequency method] + + *Default* = 0.737863 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`WvLowCOffS` : Float, rad/s + Low frequency cutoff used in the summation-frequencies (rad/s) + [Only used with a summation-frequency method] + + *Default* = 0.314159 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`WvHiCOffS` : Float, rad/s + High frequency cutoff used in the summation-frequencies (rad/s) + [Only used with a summation-frequency method] + + *Default* = 3.2 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`CurrMod` : Integer + Current profile model {0 = none=no current, 1 = standard, 2 = + user-defined from routine UserCurrent} (switch) + + *Default* = 0 + +:code:`CurrSSV0` : Float, m/s + Sub-surface current velocity at still water level (m/s) [used + only when CurrMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`CurrSSDir` : Float, rad + Sub-surface current heading direction (radians) or 0.0 for default + [used only when CurrMod=1] + + *Default* = 0 *Maximum* = 6.283185307179586 + + +:code:`CurrNSRef` : Float, m + Near-surface current reference depth (meters) [used only when + CurrMod=1] + + *Default* = 20.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`CurrNSV0` : Float, m/s + Near-surface current velocity at still water level (m/s) [used + only when CurrMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`CurrNSDir` : Float, rad + Near-surface current heading direction (degrees) [used only when + CurrMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 6.283185307179586 + + +:code:`CurrDIV` : Float, m/s + Depth-independent current velocity (m/s) [used only when + CurrMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`CurrDIDir` : Float, rad + Depth-independent current heading direction (radians) [used only + when CurrMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 6.283185307179586 + + +:code:`PotMod` : Integer + Potential-flow model {0 = none=no potential flow, 1 = frequency- + to-time-domain transforms based on Capytaine/NEMOH/WAMIT output, 2 + = fluid-impulse theory (FIT)} (switch) + + *Default* = 0 + +:code:`PotFile` : String + Will be automatically filled in with HAMS output unless a value + here overrides it; WAMIT output files containing the linear, + nondimensionalized, hydrostatic restoring matrix (.hst), + frequency-dependent hydrodynamic added mass matrix and damping + matrix (.1), and frequency- and direction-dependent wave + excitation force vector per unit wave amplitude (.3) (quoted + string) [MAKE SURE THE FREQUENCIES INHERENT IN THESE WAMIT FILES + SPAN THE PHYSICALLY-SIGNIFICANT RANGE OF FREQUENCIES FOR THE GIVEN + PLATFORM; THEY MUST CONTAIN THE ZERO- AND INFINITE-FREQUENCY + LIMITS] + + *Default* = unused + +:code:`WAMITULEN` : Float, m + Characteristic body length scale used to redimensionalize + Capytaine/NEMOH/WAMIT output (meters) [only used when PotMod=1] + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`PtfmMass_Init` : Float, kg + Mass of initial platform design. When PtfmMass_Init > 0, PtfmVol0 + will scale with the platform mass; this is a temporary solution to + enable spar simulations where the heave is very sensitive to + platform mass. + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`PtfmCOBxt` : Float, m + The xt offset of the center of buoyancy (COB) from the platform + reference point (meters) [only used when PotMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`PtfmCOByt` : Float, m + The yt offset of the center of buoyancy (COB) from the platform + reference point (meters) [only used when PotMod=1] + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`ExctnMod` : Integer + Wave Excitation model {0 = None, 1 = DFT, 2 = state-space} + (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn + INPUT FILE] + + *Default* = 0 + +:code:`RdtnMod` : Integer + Radiation memory-effect model {0 = no memory-effect calculation, 1 + = convolution, 2 = state-space} (switch) [only used when PotMod=1; + STATE-SPACE REQUIRES *.ss INPUT FILE] + + *Default* = 0 + +:code:`RdtnTMax` : Float, s + Analysis time for wave radiation kernel calculations (sec) [only + used when PotMod=1; determines RdtnDOmega=Pi/RdtnTMax in the + cosine transform; MAKE SURE THIS IS LONG ENOUGH FOR THE RADIATION + IMPULSE RESPONSE FUNCTIONS TO DECAY TO NEAR-ZERO FOR THE GIVEN + PLATFORM!] + + *Default* = 60.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`RdtnDT` : Float, s + Time step for wave radiation kernel calculations, use 0.0 for + default (sec) [only used when PotMod=1; DT<=RdtnDT<=0.1 + recommended; determines RdtnOmegaMax=Pi/RdtnDT in the cosine + transform] + + *Default* = 0.0125 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`MnDrift` : Integer + Mean-drift 2nd-order forces computed {0 = None; [7, 8, 9, 10, 11, + or 12] = WAMIT file to use} [Only one of MnDrift, NewmanApp, or + DiffQTF can be non-zero] + + *Default* = 0 + +:code:`NewmanApp` : Integer + Mean- and slow-drift 2nd-order forces computed with Newman's + approximation {0 = None; [7, 8, 9, 10, 11, or 12] = WAMIT file to + use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. + Used only when WaveDirMod=0] + + *Default* = 0 + +:code:`DiffQTF` : Integer + Full difference-frequency 2nd-order forces computed with full QTF + {0 = None; [10, 11, or 12] = WAMIT file to use} [Only one of + MnDrift, NewmanApp, or DiffQTF can be non-zero] + + *Default* = 0 + +:code:`SumQTF` : Integer + Full summation -frequency 2nd-order forces computed with full QTF + {0 = None; [10, 11, or 12] = WAMIT file to use} + + *Default* = 0 + +:code:`AddF0` : Array of Floats + Additional preload (N, N-m) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddCLin1` : Array of Floats + Additional linear stiffness by row (N/m, N/rad, N-m/m, N-m/rad) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddCLin2` : Array of Floats + Additional linear stiffness by row (N/m, N/rad, N-m/m, N-m/rad) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddCLin3` : Array of Floats + Additional linear stiffness by row (N/m, N/rad, N-m/m, N-m/rad) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddCLin4` : Array of Floats + Additional linear stiffness by row (N/m, N/rad, N-m/m, N-m/rad) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddCLin5` : Array of Floats + Additional linear stiffness by row (N/m, N/rad, N-m/m, N-m/rad) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddCLin6` : Array of Floats + Additional linear stiffness by row (N/m, N/rad, N-m/m, N-m/rad) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBLin1` : Array of Floats + Additional linear damping by row (N/(m/s), N/(rad/s), N-m/(m/s), + N-m/(rad/s)) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBLin2` : Array of Floats + Additional linear damping by row (N/(m/s), N/(rad/s), N-m/(m/s), + N-m/(rad/s)) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBLin3` : Array of Floats + Additional linear damping by row (N/(m/s), N/(rad/s), N-m/(m/s), + N-m/(rad/s)) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBLin4` : Array of Floats + Additional linear damping by row (N/(m/s), N/(rad/s), N-m/(m/s), + N-m/(rad/s)) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBLin5` : Array of Floats + Additional linear damping by row (N/(m/s), N/(rad/s), N-m/(m/s), + N-m/(rad/s)) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBLin6` : Array of Floats + Additional linear damping by row (N/(m/s), N/(rad/s), N-m/(m/s), + N-m/(rad/s)) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBQuad1` : Array of Floats + Additional quadratic drag by row (N/(m/s)^2, N/(rad/s)^2, + N-m(m/s)^2, N-m/(rad/s)^2) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBQuad2` : Array of Floats + Additional quadratic drag by row (N/(m/s)^2, N/(rad/s)^2, + N-m(m/s)^2, N-m/(rad/s)^2) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBQuad3` : Array of Floats + Additional quadratic drag by row (N/(m/s)^2, N/(rad/s)^2, + N-m(m/s)^2, N-m/(rad/s)^2) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBQuad4` : Array of Floats + Additional quadratic drag by row (N/(m/s)^2, N/(rad/s)^2, + N-m(m/s)^2, N-m/(rad/s)^2) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBQuad5` : Array of Floats + Additional quadratic drag by row (N/(m/s)^2, N/(rad/s)^2, + N-m(m/s)^2, N-m/(rad/s)^2) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`AddBQuad6` : Array of Floats + Additional quadratic drag by row (N/(m/s)^2, N/(rad/s)^2, + N-m(m/s)^2, N-m/(rad/s)^2) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`NMOutputs` : Integer + Number of member outputs (-) [must be < 10] + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 9 + + +:code:`NJOutputs` : Integer + Number of joint outputs [Must be < 10] + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 9 + + +:code:`JOutLst` : Array of Integers + List of JointIDs which are to be output (-)[unused if NJOutputs=0] + + *Default* = [0] + +:code:`HDSum` : Boolean + Output a summary file [flag] + + *Default* = True + +:code:`OutAll` : Boolean + Output all user-specified member and joint loads (only at each + member end, not interior locations) [flag] + + *Default* = False + +:code:`OutSwtch` : Integer + Output requested channels to [1=Hydrodyn.out, 2=GlueCode.out, + 3=both files] + + *Default* = 2 + +:code:`OutFmt` : String + Output format for numerical results (quoted string) [not checked + for validity] + + *Default* = ES11.4e2 + +:code:`OutSFmt` : String + Output format for header strings (quoted string) [not checked for + validity] + + *Default* = A11 + +:code:`NBody` : Integer + Number of WAMIT bodies to be used (-) [>=1; only used when + PotMod=1. If NBodyMod=1, the WAMIT data contains a vector of size + 6*NBody x 1 and matrices of size 6*NBody x 6*NBody; if NBodyMod>1, + there are NBody sets of WAMIT data each with a vector of size 6 x + 1 and matrices of size 6 x 6] + + *Default* = 1 + + *Minimum* = 1 *Maximum* = 9 + + +:code:`NBodyMod` : Integer + Body coupling model {1- include coupling terms between each body + and NBody in HydroDyn equals NBODY in WAMIT, 2- neglect coupling + terms between each body and NBODY=1 with XBODY=0 in WAMIT, 3- + Neglect coupling terms between each body and NBODY=1 with XBODY=/0 + in WAMIT} (switch) [only used when PotMod=1] + + *Default* = 1 + + *Minimum* = 1 *Maximum* = 3 + + +:code:`SimplCd` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplCa` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplCp` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplCdMG` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplCaMG` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplCpMG` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplAxCd` : Float + Simple strip theory model coefficient, default of 0.0 + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplAxCa` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplAxCp` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplAxCdMG` : Float + Simple strip theory model coefficient, default of 0.0 + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplAxCaMG` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`SimplAxCpMG` : Float + Simple strip theory model coefficient, default of 1.0 + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + + + +SubDyn +######################################## + +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`SDdeltaT` : Float, s + Local Integration Step. If 0.0, the glue-code integration step + will be used. + + *Default* = -999.0 *Maximum* = 100.0 + + +:code:`IntMethod` : Integer + Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2]. + + *Default* = 3 + +:code:`SttcSolve` : Boolean + Solve dynamics about static equilibrium point + + *Default* = True + +:code:`GuyanLoadCorrection` : Boolean + Include extra moment from lever arm at interface and rotate FEM + for floating. + + *Default* = False + +:code:`FEMMod` : Integer + FEM switch = element model in the FEM. [1= Euler-Bernoulli(E-B); + 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node + tapered Timoshenko (unavailable)] + + *Default* = 3 + +:code:`NDiv` : Integer + Number of sub-elements per member + + *Default* = 1 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`CBMod` : Boolean + If True perform C-B reduction, else full FEM dofs will be + retained. If True, select Nmodes to retain in C-B reduced system. + + *Default* = True + +:code:`Nmodes` : Integer + Number of internal modes to retain (ignored if CBMod=False). If + Nmodes=0 --> Guyan Reduction. + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 50 + + +:code:`JDampings` : Array of Floats + Damping Ratios for each retained mode (% of critical) If Nmodes>0, + list Nmodes structural damping ratios for each retained mode (% of + critical), or a single damping ratio to be applied to all retained + modes. (last entered value will be used for all remaining modes). + + *Default* = [1.0] + +:code:`GuyanDampMod` : Integer + Guyan damping {0=none, 1=Rayleigh Damping, 2=user specified 6x6 + matrix} + + *Default* = 0 + +:code:`RayleighDamp` : Array of Floats + Mass and stiffness proportional damping coefficients (Rayleigh + Damping) [only if GuyanDampMod=1] + + *Default* = [0.0, 0.0] + +:code:`GuyanDampSize` : Integer + Guyan damping matrix (6x6) [only if GuyanDampMod=2] + + *Default* = 6 + + *Minimum* = 0 *Maximum* = 6 + + +:code:`GuyanDamp1` : Array of Floats + Guyan damping matrix by row (6x6) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`GuyanDamp2` : Array of Floats + Guyan damping matrix by row (6x6) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`GuyanDamp3` : Array of Floats + Guyan damping matrix by row (6x6) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`GuyanDamp4` : Array of Floats + Guyan damping matrix by row (6x6) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`GuyanDamp5` : Array of Floats + Guyan damping matrix by row (6x6) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`GuyanDamp6` : Array of Floats + Guyan damping matrix by row (6x6) + + *Default* = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + +:code:`SumPrint` : Boolean + Output a Summary File (flag) that contains matrices K,M and C-B + reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also + contain COSMs if requested. + + *Default* = False + +:code:`OutCOSM` : Boolean + Output cosine matrices with the selected output member forces + (flag) + + *Default* = False + +:code:`OutAll` : Boolean + Output all members' end forces (flag) + + *Default* = False + +:code:`OutSwtch` : Integer + Output requested channels to 1=.SD.out; + 2=.out (generated by FAST); 3=both files. + + *Default* = 2 + +:code:`TabDelim` : Boolean + Generate a tab-delimited output in the .SD.out file + + *Default* = True + +:code:`OutDec` : Integer + Decimation of output in the .SD.out file + + *Default* = 1 + + *Minimum* = 0 + +:code:`OutFmt` : String + Output format for numerical results in the .SD.out file + (quoted string) [not checked for validity] + + *Default* = ES11.4e2 + +:code:`OutSFmt` : String + Output format for header strings in the .SD.out file + (quoted string) [not checked for validity] + + *Default* = A11 + +:code:`NMOutputs` : Integer + Number of members whose + forces/displacements/velocities/accelerations will be output (-) + [Must be <= 9]. + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 9 + + + + +MoorDyn +######################################## + +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`dtM` : Float, s + Time step to use in mooring integration (s) + + *Default* = 0.001 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`kbot` : Float, kg/(m^2*s^2) + Bottom stiffness (Pa/m) + + *Default* = 3000000.0 + + *Minimum* = 0.0 *Maximum* = 1000000000.0 + + +:code:`cbot` : Float, kg/(m^2*s) + Bottom damping (Pa/m) + + *Default* = 300000.0 + + *Minimum* = 0.0 *Maximum* = 1000000000.0 + + +:code:`dtIC` : Float, s + Time interval for analyzing convergence during IC gen (s) + + *Default* = 1.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`TmaxIC` : Float, s + Max time for ic gen (s) + + *Default* = 60.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`CdScaleIC` : Float + Factor by which to scale drag coefficients during dynamic + relaxation (-) + + *Default* = 4.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`threshIC` : Float + Threshold for IC convergence (-) + + *Default* = 0.001 + + *Minimum* = 0.0 *Maximum* = 1.0 + + + + +ServoDyn +######################################## + +ServoDyn modelling options in OpenFAST +:code:`Echo` : Boolean + Echo input data to '.ech' (flag) + + *Default* = False + +:code:`DT` : String + Communication interval for controllers (s) (or 'default') + + *Default* = default + +:code:`PCMode` : Integer + Pitch control mode {0 = none, 4 = user-defined from + Simulink/Labview, 5 = user-defined from Bladed-style DLL} + + *Default* = 5 + +:code:`TPCOn` : Float, s + Time to enable active pitch control (s) [unused when PCMode=0] + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`TPitManS1` : Float, s + Time to start override pitch maneuver for blade 1 and end standard + pitch control (s) + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TPitManS2` : Float, s + Time to start override pitch maneuver for blade 2 and end standard + pitch control (s) + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TPitManS3` : Float, s + Time to start override pitch maneuver for blade 3 and end standard + pitch control (s) + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`PitManRat(1)` : Float, deg / s + Pitch rate at which override pitch maneuver heads toward final + pitch angle for blade 1 (deg/s). It cannot be 0 + + *Default* = 1.0 + + *Minimum* = 1e-06 *Maximum* = 30.0 + + +:code:`PitManRat(2)` : Float, deg / s + Pitch rate at which override pitch maneuver heads toward final + pitch angle for blade 2 (deg/s). It cannot be 0 + + *Default* = 1.0 + + *Minimum* = 1e-06 *Maximum* = 30.0 + + +:code:`PitManRat(3)` : Float, deg / s + Pitch rate at which override pitch maneuver heads toward final + pitch angle for blade 3 (deg/s). It cannot be 0 + + *Default* = 1.0 + + *Minimum* = 1e-06 *Maximum* = 30.0 + + +:code:`BlPitchF(1)` : Float, deg + Blade 1 final pitch for pitch maneuvers (degrees) + + *Default* = 90.0 + + *Minimum* = -180 *Maximum* = 180 + + +:code:`BlPitchF(2)` : Float, deg + Blade 2 final pitch for pitch maneuvers (degrees) + + *Default* = 90.0 + + *Minimum* = -180 *Maximum* = 180 + + +:code:`BlPitchF(3)` : Float, deg + Blade 3 final pitch for pitch maneuvers (degrees) + + *Default* = 90.0 + + *Minimum* = -180 *Maximum* = 180 + + +:code:`VSContrl` : Integer + Variable-speed control mode {0 = none, 4 = user-defined from + Simulink/Labview, 5 = user-defined from Bladed-style DLL} + + *Default* = 5 + +:code:`GenModel` : Integer + Generator model {1 = simple, 2 = Thevenin, 3 = user-defined from + routine UserGen} + + *Default* = 1 + +:code:`GenTiStr` : Boolean + Method to start the generator {True - timed using TimGenOn, False + - generator speed using SpdGenOn} (flag) + + *Default* = True + +:code:`GenTiStp` : Boolean + Method to stop the generator {True - timed using TimGenOf, False - + when generator power = 0} (flag) + + *Default* = True + +:code:`SpdGenOn` : Float, rpm + Generator speed to turn on the generator for a startup (HSS speed) + (rpm) [used only when GenTiStr=False] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TimGenOn` : Float, s + Time to turn on the generator for a startup (s) [used only when + GenTiStr=True] + + *Default* = 0.0 + + *Minimum* = 0.0 + +:code:`TimGenOf` : Float, s + Time to turn off the generator (s) [used only when GenTiStp=True] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`VS_RtGnSp` : Float, rpm + Rated generator speed for simple variable-speed generator control + (HSS side) (rpm) [used only when VSContrl=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`VS_RtTq` : Float, N * m + Rated generator torque/constant generator torque in Region 3 for + simple variable-speed generator control (HSS side) (N-m) [used + only when VSContrl=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`VS_Rgn2K` : Float, N * m / rpm**2 + Generator torque constant in Region 2 for simple variable-speed + generator control (HSS side) (N-m/rpm^2) [used only when + VSContrl=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`VS_SlPc` : Float + Rated generator slip percentage in Region 2 1/2 for simple + variable-speed generator control (%) [used only when VSContrl=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`SIG_SlPc` : Float + Rated generator slip percentage (%) [used only when VSContrl=0 and + GenModel=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`SIG_SySp` : Float, rpm + Synchronous (zero-torque) generator speed (rpm) [used only when + VSContrl=0 and GenModel=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`SIG_RtTq` : Float, N * m + Rated torque (N-m) [used only when VSContrl=0 and GenModel=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`SIG_PORt` : Float + Pull-out ratio (Tpullout/Trated) (-) [used only when VSContrl=0 + and GenModel=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TEC_Freq` : Float, Hz + Line frequency [50 or 60] (Hz) [used only when VSContrl=0 and + GenModel=2] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TEC_NPol` : Integer + Number of poles [even integer > 0] (-) [used only when VSContrl=0 + and GenModel=2] + + *Default* = 0 + + *Minimum* = 0 + +:code:`TEC_SRes` : Float, ohms + Stator resistance (ohms) [used only when VSContrl=0 and + GenModel=2] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TEC_RRes` : Float, ohms + Rotor resistance (ohms) [used only when VSContrl=0 and GenModel=2] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TEC_VLL` : Float, volts + Line-to-line RMS voltage (volts) [used only when VSContrl=0 and + GenModel=2] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TEC_SLR` : Float, ohms + Stator leakage reactance (ohms) [used only when VSContrl=0 and + GenModel=2] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TEC_RLR` : Float, ohms + Rotor leakage reactance (ohms) [used only when VSContrl=0 and + GenModel=2] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`TEC_MR` : Float, ohms + Magnetizing reactance (ohms) [used only when VSContrl=0 and + GenModel=2] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`HSSBrMode` : Integer + HSS brake model {0 = none, 1 = simple, 4 = user-defined from + Simulink/Labview, 5 = user-defined from Bladed-style DLL (not in + ROSCO, yet)} + + *Default* = 0 + +:code:`THSSBrDp` : Float, s + Time to initiate deployment of the HSS brake (s) + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`HSSBrDT` : Float, s + Time for HSS-brake to reach full deployment once initiated (sec) + [used only when HSSBrMode=1] + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`HSSBrTqF` : Float, N * m + Fully deployed HSS-brake torque (N-m) + + *Default* = 99999.0 + + *Minimum* = 0.0 + +:code:`YCMode` : Integer + Yaw control mode {0 - none, 3 - user-defined from routine + UserYawCont, 4 - user-defined from Simulink/Labview, 5 - user- + defined from Bladed-style DLL} (switch) + + *Default* = 0 + +:code:`TYCOn` : Float, s + Time to enable active yaw control (s) [unused when YCMode=0] + + *Default* = 99999.0 + +:code:`YawNeut` : Float, deg + Neutral yaw position--yaw spring force is zero at this yaw + (degrees) + + *Default* = 0.0 + +:code:`YawSpr` : Float, N * m / rad + Nacelle-yaw spring constant (N-m/rad) + + *Default* = 0.0 + +:code:`YawDamp` : Float, N * m / rad / s + Nacelle-yaw damping constant (N-m/(rad/s)) + + *Default* = 0.0 + +:code:`TYawManS` : Float, s + Time to start override yaw maneuver and end standard yaw control + (s) + + *Default* = 99999.0 + +:code:`YawManRat` : Float, deg / s + Yaw maneuver rate (in absolute value) (deg/s). It cannot be zero + + *Default* = 0.25 + + *Minimum* = 1e-06 + +:code:`NacYawF` : Float, deg + Final yaw angle for override yaw maneuvers (degrees) + + *Default* = 0.0 + +:code:`AfCmode` : Integer + Airfoil control mode {0- none, 1- cosine wave cycle, 4- user- + defined from Simulink/Labview, 5- user-defined from Bladed-style + DLL} + + *Default* = 0 + +:code:`AfC_Mean` : Float, deg + Mean level for sinusoidal cycling or steady value (-) [used only + with AfCmode==1] + + *Default* = 0.0 + +:code:`AfC_Amp` : Float, deg + Amplitude for for cosine cycling of flap signal (AfC = + AfC_Amp*cos(Azimuth+phase)+AfC_mean) (-) [used only with + AfCmode==1] + + *Default* = 0.0 + +:code:`AfC_Phase` : Float, deg + AfC_phase - Phase relative to the blade azimuth (0 is vertical) + for for cosine cycling of flap signal (deg) [used only with + AfCmode==1] + + *Default* = 0.0 + +:code:`CCmode` : Integer + Cable control mode {0- none, 4- user-defined from + Simulink/Labview, 5- user-defineAfC_phased from Bladed-style DLL} + + *Default* = 0 + +:code:`CompNTMD` : Boolean + Compute nacelle tuned mass damper {true/false} + + *Default* = False + +:code:`NTMDfile` : String + Name of the file for nacelle tuned mass damper (quoted string) + [unused when CompNTMD is false] + + *Default* = none + +:code:`CompTTMD` : Boolean + Compute tower tuned mass damper {true/false} + + *Default* = False + +:code:`TTMDfile` : String + Name of the file for tower tuned mass damper (quoted string) + [unused when CompTTMD is false] + + *Default* = none + +:code:`DLL_ProcName` : String + Name of procedure in DLL to be called (-) [case sensitive; used + only with DLL Interface] + + *Default* = DISCON + +:code:`DLL_DT` : String + Communication interval for dynamic library (s) (or 'default') + [used only with Bladed Interface] + + *Default* = default + +:code:`DLL_Ramp` : Boolean + Whether a linear ramp should be used between DLL_DT time steps + [introduces time shift when true] (flag) [used only with Bladed + Interface] + + *Default* = False + +:code:`BPCutoff` : Float, Hz + Cuttoff frequency for low-pass filter on blade pitch from DLL (Hz) + [used only with Bladed Interface] + + *Default* = 99999.0 + +:code:`NacYaw_North` : Float, deg + Reference yaw angle of the nacelle when the upwind end points due + North (deg) [used only with Bladed Interface] + + *Default* = 0.0 + +:code:`Ptch_Cntrl` : Integer + Record 28 Use individual pitch control {0 - collective pitch; 1 - + individual pitch control} (switch) [used only with Bladed + Interface] + + *Default* = 0 + +:code:`Ptch_SetPnt` : Float, deg + Record 5 Below-rated pitch angle set-point (deg) [used only with + Bladed Interface] + + *Default* = 0.0 + +:code:`Ptch_Min` : Float, deg + Record 6 - Minimum pitch angle (deg) [used only with Bladed + Interface] + + *Default* = 0.0 + +:code:`Ptch_Max` : Float, deg + Record 7 Maximum pitch angle (deg) [used only with Bladed + Interface] + + *Default* = 0.0 + +:code:`PtchRate_Min` : Float, deg / s + Record 8 Minimum pitch rate (most negative value allowed) (deg/s) + [used only with Bladed Interface] + + *Default* = 0.0 + +:code:`PtchRate_Max` : Float, deg / s + Record 9 Maximum pitch rate (deg/s) [used only with Bladed + Interface] + + *Default* = 0.0 + +:code:`Gain_OM` : Float, N * m / (rad / s)**2 + Record 16 Optimal mode gain (Nm/(rad/s)^2) [used only with Bladed + Interface] + + *Default* = 0.0 + +:code:`GenSpd_MinOM` : Float, rpm + Record 17 Minimum generator speed (rpm) [used only with Bladed + Interface] + + *Default* = 0.0 + +:code:`GenSpd_MaxOM` : Float, rpm + Record 18 Optimal mode maximum speed (rpm) [used only with Bladed + Interface] + + *Default* = 0.0 + +:code:`GenSpd_Dem` : Float, rpm + Record 19 Demanded generator speed above rated (rpm) [used only + with Bladed Interface] + + *Default* = 0.0 + +:code:`GenTrq_Dem` : Float, N * m + Record 22 Demanded generator torque above rated (Nm) [used only + with Bladed Interface] + + *Default* = 0.0 + +:code:`GenPwr_Dem` : Float, W + Record 13 Demanded power (W) [used only with Bladed Interface] + + *Default* = 0.0 + +:code:`DLL_NumTrq` : Integer + Record 26 No. of points in torque-speed look-up table {0 = none + and use the optimal mode parameters; nonzero = ignore the optimal + mode PARAMETERs by setting Record 16 to 0.0} (-) [used only with + Bladed Interface] + + *Default* = 0 + +:code:`SumPrint` : Boolean + Print summary data to '.sum' (flag) + + *Default* = False + +:code:`OutFile` : Integer + Switch to determine where output will be placed 1 in module output + file only; 2 in glue code output file only; 3 both (currently + unused) + + *Default* = 1 + +:code:`TabDelim` : Boolean + Use tab delimiters in text tabular output file? (flag) (currently + unused) + + *Default* = True + +:code:`OutFmt` : String + Format used for text tabular output (except time). Resulting + field should be 10 characters. (quoted string (currently unused) + + *Default* = ES10.3E2 + +:code:`TStart` : Float, s + Time to begin tabular output (s) (currently unused) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + + + +outlist +######################################## + +:code:`from_openfast` : Boolean + Whether we derive OpenFAST model from an existing model and ignore + WISDEM + + *Default* = False + +:code:`openfast_file` : String + Main (.fst) OpenFAST input file name. No directory. + + *Default* = unused + +:code:`openfast_dir` : String + OpenFAST input directory, containing .fst file. Absolute path or + relative to modeling input + + *Default* = unused + + + +xfoil +######################################## + +:code:`path` : String + File path to xfoil executable (e.g. /home/user/Xfoil/bin/xfoil) + + *Default* = + +:code:`run_parallel` : Boolean + Whether or not to run xfoil in parallel (requires mpi setup) + + *Default* = False + + + +Level2 +**************************************** + +Options for WEIS fidelity level 2 = linearized time domain (OpenFAST) +:code:`flag` : Boolean + Whether or not to run WEIS fidelity level 2 = linearized OpenFAST + + *Default* = False + + + +simulation +######################################## + +:code:`flag` : Boolean + Whether or not to run a level 2 time domain simulation + + *Default* = False + +:code:`TMax` : Float, s + Total run time (s) + + *Default* = 720.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + + + +linearization +######################################## + +:code:`TMax` : Float, s + Total run time (s) + + *Default* = 720.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`DT` : Float, s + Integration time step (s) + + *Default* = 0.025 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`wind_speeds` : Array of Floats + List of wind speeds at which to linearize (m/s) + + *Default* = [14.0, 16.0, 18.0] + + *Minimum* = 0.0 + + *Maximum* = 200.0 + +:code:`rated_offset` : Float, m/s + Amount to increase rated wind speed from cc-blade to openfast with + DOFs enabled. In general, the more DOFs, the greater this value. + + *Default* = 1 + + *Minimum* = 0.0 *Maximum* = 10.0 + + +:code:`DOFs` : Array of Strings + List of degrees-of-freedom to linearize about + + *Default* = ['GenDOF', 'TwFADOF1'] + +:code:`TrimTol` : Float + Tolerance for the rotational speed convergence [used only if + CalcSteady=True] (-) + + *Default* = 1e-05 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`TrimGain` : Float, rad/(rad/s) + Proportional gain for the rotational speed error (>0) [used only + if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for + torque) + + *Default* = 0.0001 + + *Minimum* = 0.0 *Maximum* = 1.0 + + +:code:`Twr_Kdmp` : Float, kg/s + Damping factor for the tower [used only if CalcSteady=True] + (N/(m/s)) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`Bld_Kdmp` : Float, kg/s + Damping factor for the blades [used only if CalcSteady=True] + (N/(m/s)) + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`NLinTimes` : Integer + Number of times to linearize (-) [>=1] [unused if Linearize=False] + + *Default* = 12 + + *Minimum* = 0 *Maximum* = 120 + + +:code:`LinTimes` : Array of Floats + List of times at which to linearize (s) [1 to NLinTimes] [used + only when Linearize=True and CalcSteady=False] + + *Default* = [30.0, 60.0] + + *Minimum* = 0.0 + + *Maximum* = 10000.0 + + + +DTQP +######################################## + +:code:`flag` : Boolean + Whether or not to run a DTQP optimization at level 2 + + *Default* = False + +:code:`nt` : Float + Number of timesteps in DTQP timeseries optimization + + *Default* = 1000 + +:code:`maxiters` : Float + Maximum number of DTQP optimization iterations + + *Default* = 150000 + +:code:`tolerance` : Float + Tolerance of DTQP optimization + + *Default* = 0.0001 + +:code:`function` : String from, ['osqp', 'ipopt'] + Solver used for DTQP optimization + + *Default* = osqp + + + +DLC_driver +**************************************** + + + +DLCs +######################################## + +:code:`DLC` : String from, ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6', '5.1', '6.1', '6.2', '6.3', '6.4', '6.5', '12.1', 'Custom'] + IEC design load case to run. The DLCs currently supported are 1.1, + 1.2, 1.3, 1.4, 1.5, 1.6, 5.1, 6.1, 6.3, and 6.4 + + *Default* = 1.1 + +:code:`wind_speed` : Array of Floats, m/s + Wind speeds for this DLC. If these are defined, ws_bin_size is + neglected. + + *Default* = [] + + *Minimum* = 0.0 + + *Maximum* = 200.0 + +:code:`ws_bin_size` : Float, m/s + Size of the wind speed bin between cut in and cout out wind + speeds. It usually can be set to 2 m/s. This entry is neglected if + the wind speeds are specified by the user. + + *Default* = 2 + + *Minimum* = 0.01 *Maximum* = 20.0 + + +:code:`n_seeds` : Integer + Number of turbulent wind seeds drawn from the numpy random integer + generator. This entry is neglected if the entry wind_seed is + defined. If DLC 1.4, number of waves seeds. + + *Default* = 1 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`n_azimuth` : Integer + Number of azimuth initial conditions to use (primarily during DLC + 5.1) + + *Default* = 1 + + *Minimum* = 1 *Maximum* = 100 + + +:code:`wind_seed` : Array of Integers + Array of turbulent wind seeds for TurbSim. If these are defined, + n_seeds is neglected. + + *Default* = [] + +:code:`wave_seeds` : Array of Integers + Wave random number generator seeds for HydroDyn + + *Default* = [] + +:code:`wind_heading` : Array of Floats, deg + Wind direction from north. This array must currently have either + length=1, i.e. one constant value, or the same length of the array + wind_speed. + + *Default* = [0.0] + + *Minimum* = -180.0 + + *Maximum* = 180.0 + +:code:`yaw_misalign` : Array of Floats, deg + Alignment of the nacelle with respect to north. This array must + currently have either length=1, i.e. one constant value, or the + same length of the array wind_speed. Default depends on DLC, + specified in dlc_generator. + + *Minimum* = -180.0 + + *Maximum* = 180.0 + +:code:`turbine_status` : String from, ['operating', 'parked-idling', 'parked-still'] + Status of the turbine, it can be either operating, parked-idling, + or parked-still. Each DLC come with its default turbine status + specified by the standards. + + *Default* = operating + +:code:`wave_period` : Array of Floats, s + Period between waves. If this array is populated by the user, then + the field metocean_conditions is neglected. If wave_period is not + defined, metocean_conditions will be used, either in the values + provided by the user or with its default values (the first option + is highly recommended). + + *Default* = [] + + *Minimum* = 0.0 + + *Maximum* = 1000.0 + +:code:`wave_height` : Array of Floats, m + Height of the waves. If this array is populated by the user, then + the field metocean_conditions is neglected. If wave_height is not + defined, metocean_conditions will be used, either in the values + provided by the user or with its default values (the first option + is highly recommended). + + *Default* = [] + + *Minimum* = 0.0 + + *Maximum* = 100.0 + +:code:`wave_heading` : Array of Floats, deg + Heading of the waves with respect to north. This array must + currently have either length=1, i.e. one constant value, or the + same length of the array wind_speed + + *Default* = [0.0] + + *Minimum* = -180.0 + + *Maximum* = 180.0 + +:code:`wave_gamma` : Array of Floats + Peak-shape parameter of incident wave spectrum. If 0, the default + from IEC61400-3 / HydroDyn is used. This array must currently have + either length=1, i.e. one constant value, or the same length of + the array wind_speed + + *Default* = [0.0] + + *Minimum* = 0.0 + + *Maximum* = 10.0 + +:code:`probabilities` : Array of Floats + Probability of occurrance for each case. This entry is relevant + only for DLC 1.2 and 6.4. This array must currently have either + length=1, i.e. one constant value, or the same length of the array + wind_speed. + + *Default* = [1.0] + + *Minimum* = 0.0 + + *Maximum* = 1.0 + +:code:`IEC_WindType` : String from, ['NTM', '1ETM', '2ETM', '3ETM', '1EWM1', '2EWM1', '3EWM1', '1EWM50', '2EWM50', '3EWM50', 'ECD', 'EDC', 'EOG'] + IEC turbulence type ('NTM'=normal, 'xETM'=extreme turbulence, + 'xEWM1'=extreme 1-year wind, 'xEWM50'=extreme 50-year wind, where + x=wind turbine class 1, 2, or 3), 'ECD'=extreme coherent gust with + direction change, 'EDC'=extreme direction change, 'EOG'=extreme + operating gust. Normally the user does not need to define this + entry. + + *Default* = NTM + +:code:`analysis_time` : Float, s + This is the length of the simulation where outputs will be + recorded. Its default is 600 seconds (10 minutes) for most + simulations, except for the coherent cases where a shorter time + window of 200 s is used. + + *Default* = 0.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`transient_time` : Float, s + This is the length of the simulation where outputs will be + discarded. Its default is 120 seconds (2 minutes) for all + simulations. The total simulation time is the sum of analysis_time + and transient_time + + *Default* = 120.0 + + *Minimum* = 0.0 *Maximum* = 10000.0 + + +:code:`shutdown_time` : Float, s + Time when shutdown occurs in DLC 5.1 + + *Default* = 9999 + + *Minimum* = 0.0 *Maximum* = 100000.0 + + +:code:`wind_file` : String + File path of custom wind file + + + +turbulent_wind +======================================== + +These are all inputs to TurbSim. These inputs usually do not need to be set unless you are trying to customize a DLC +:code:`flag` : Boolean + Flag switching between steady wind and turbulent wind grid from + TurbSim. + + *Default* = False + +:code:`Echo` : Boolean + Echo input data to .ech (flag) + + *Default* = False + +:code:`RandSeed1` : Integer + First random seed (-2147483648 to 2147483647) + + *Default* = 1 + +:code:`WrBHHTP` : Boolean + Output hub-height turbulence parameters in binary form? + (Generates RootName.bin) + + *Default* = False + +:code:`WrFHHTP` : Boolean + Output hub-height turbulence parameters in formatted form? + (Generates RootName.dat) + + *Default* = False + +:code:`WrADHH` : Boolean + Output hub-height time-series data in AeroDyn form? (Generates + RootName.hh) + + *Default* = False + +:code:`WrADFF` : Boolean + Output full-field time-series data in TurbSim/AeroDyn form? + (Generates RootName.bts) + + *Default* = True + +:code:`WrBLFF` : Boolean + Output full-field time-series data in BLADED/AeroDyn form? + (Generates RootName.wnd) + + *Default* = False + +:code:`WrADTWR` : Boolean + Output tower time-series data? (Generates RootName.twr) + + *Default* = False + +:code:`WrFMTFF` : Boolean + Output full-field time-series data in formatted (readable) form? + (Generates RootName.u, RootName.v, RootName.w) + + *Default* = False + +:code:`WrACT` : Boolean + Output coherent turbulence time steps in AeroDyn form? (Generates + RootName.cts) + + *Default* = False + +:code:`Clockwise` : Boolean + Clockwise rotation looking downwind? (used only for full-field + binary files - not necessary for AeroDyn) + + *Default* = False + +:code:`ScaleIEC` : Integer + Scale IEC turbulence models to exact target standard deviation? + [0=no additional scaling; 1=use hub scale uniformly; 2=use + individual scales] + + *Default* = 0 + +:code:`NumGrid_Z` : Integer + Vertical grid-point matrix dimension + + *Default* = 25 + + *Minimum* = 5 *Maximum* = 100 + + +:code:`NumGrid_Y` : Integer + Horizontal grid-point matrix dimension + + *Default* = 25 + + *Minimum* = 5 *Maximum* = 100 + + +:code:`TimeStep` : Float, s + Time step [seconds] + + *Default* = 0.05 + + *Minimum* = 0.0001 *Maximum* = 1.0 + + +:code:`UsableTime` : String + Usable length of output time series [seconds] (program will add + GridWidth/MeanHHWS seconds unless UsableTime is 'ALL') + + *Default* = ALL + +:code:`HubHt` : Float, m + Hub height [m] (should be > 0.5*GridHeight) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 500.0 + + +:code:`GridHeight` : Float, m + Grid height [m] + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 500.0 + + +:code:`GridWidth` : Float, m + Grid width [m] (should be >= 2*(RotorRadius+ShaftLength)) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 500.0 + + +:code:`VFlowAng` : Float, deg + Vertical mean flow (uptilt) angle [degrees] + + *Default* = 0.0 + + *Minimum* = -90.0 *Maximum* = 90.0 + + +:code:`HFlowAng` : Float, deg + Horizontal mean flow (skew) angle [degrees] + + *Default* = 0.0 + + *Minimum* = -90.0 *Maximum* = 90.0 + + +:code:`TurbModel` : String from, ['IECKAI', 'IECVKM', 'GP_LLJ', 'NWTCUP', 'SMOOTH', 'WF_UPW', 'WF_07D', 'WF_14D', 'TIDAL', 'API', 'USRINP', 'TIMESR', 'NONE'] + Turbulence model + + *Default* = IECKAI + +:code:`UserFile` : String + Name of the file that contains inputs for user-defined spectra or + time series inputs (used only for "USRINP" and "TIMESR" models) + + *Default* = unused + +:code:`IECstandard` : String from, ['1-ED3', '1-ED2'] + Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 + edition number (i.e. "1-Ed2") ) + + *Default* = 1-ED3 + +:code:`ETMc` : String + IEC Extreme Turbulence Model + + *Default* = default + +:code:`WindProfileType` : String from, ['LOG', 'PL', 'JET', 'H2L', 'API', 'USR', 'TS', 'IEC', 'LOG', 'default'] + Velocity profile type ('LOG';'PL'=power law;'JET';'H2L'=Log law + for TIDAL model;'API';'USR';'TS';'IEC'=PL on rotor disk, LOG + elsewhere; or 'default') + + *Default* = PL + +:code:`ProfileFile` : String + Name of the file that contains input profiles for + WindProfileType='USR' and/or TurbModel='USRVKM' [-] + + *Default* = unused + +:code:`RefHt` : Float, m + Height of the reference velocity (URef) [m] + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 100000.0 + + +:code:`URef` : Float, m/s + Mean (total) velocity at the reference height [m/s] (or 'default' + for JET velocity profile) [must be 1-hr mean for API model; + otherwise is the mean over AnalysisTime seconds] + + *Default* = -1 + +:code:`IECturbc` : Float, (-) + Turbulence intensity (fraction) for custom DLCs, if default (-1), + the class letter will be used + + *Default* = -1 + +:code:`ZJetMax` : String + Jet height [m] (used only for JET velocity profile, valid 70-490 + m) + + *Default* = default + +:code:`PLExp` : Float + Power law exponent [-] (or 'default'), if default (-1), the + environment option shear_exp will be used for all DLCs + + *Default* = -1 + +:code:`Z0` : String + Surface roughness length [m] (or 'default') + + *Default* = default + +:code:`Latitude` : String + Site latitude [degrees] (or 'default') + + *Default* = default + +:code:`RICH_NO` : Float + Gradient Richardson number [-] + + *Default* = 0.05 + +:code:`UStar` : String + Friction or shear velocity [m/s] (or 'default') + + *Default* = default + +:code:`ZI` : String + Mixing layer depth [m] (or 'default') + + *Default* = default + +:code:`PC_UW` : String + Hub mean uw Reynolds stress [m^2/s^2] (or 'default' or 'none') + + *Default* = default + +:code:`PC_UV` : String + Hub mean uv Reynolds stress [m^2/s^2] (or 'default' or 'none') + + *Default* = default + +:code:`PC_VW` : String + Hub mean vw Reynolds stress [m^2/s^2] (or 'default' or 'none') + + *Default* = default + +:code:`SCMod1` : String + u-component coherence model ('GENERAL', 'IEC', 'API', 'NONE', or + 'default') + + *Default* = default + +:code:`SCMod2` : String + v-component coherence model ('GENERAL', 'IEC', 'NONE', or + 'default') + + *Default* = default + +:code:`SCMod3` : String + w-component coherence model ('GENERAL', 'IEC', 'NONE', or + 'default') + + *Default* = default + +:code:`InCDec1` : String + u-component coherence parameters for general or IEC models [-, + m^-1] (e.g. '10.0 0.3e-3' in quotes) (or 'default') + + *Default* = default + +:code:`InCDec2` : String + v-component coherence parameters for general or IEC models [-, + m^-1] (e.g. '10.0 0.3e-3' in quotes) (or 'default') + + *Default* = default + +:code:`InCDec3` : String + w-component coherence parameters for general or IEC models [-, + m^-1] (e.g. '10.0 0.3e-3' in quotes) (or 'default') + + *Default* = default + +:code:`CohExp` : String + Coherence exponent for general model [-] (or 'default') + + *Default* = default + +:code:`CTEventPath` : String + Name of the path where event data files are located + + *Default* = unused + +:code:`CTEventFile` : String from, ['LES', 'DNS', 'RANDOM'] + Type of event files + + *Default* = RANDOM + +:code:`Randomize` : Boolean + Randomize the disturbance scale and locations? (true/false) + + *Default* = True + +:code:`DistScl` : Float + Disturbance scale [-] (ratio of event dataset height to rotor + disk). (Ignored when Randomize = true.) + + *Default* = 1.0 + + *Minimum* = 0 *Maximum* = 1.0 + + +:code:`CTLy` : Float + Fractional location of tower centerline from right [-] (looking + downwind) to left side of the dataset. (Ignored when Randomize = + true.) + + *Default* = 0.5 + + *Minimum* = 0 *Maximum* = 1.0 + + +:code:`CTLz` : Float + Fractional location of hub height from the bottom of the dataset. + [-] (Ignored when Randomize = true.) + + *Default* = 0.5 + + *Minimum* = 0 *Maximum* = 1.0 + + +:code:`CTStartTime` : Float, s + Minimum start time for coherent structures in RootName.cts + + *Default* = 30 + + *Minimum* = 0 *Maximum* = 1000.0 + + +:code:`fix_wind_seeds` : Boolean + Fix the seed of the random integer generator controlling the seed + of TurbSim. When set to False, the seeds change everytime the DLC + generator class is called. It is recommended to keep it to True + when the optimization is on, or different wind seeds will be + generated for every function call, complicating the smoothness of + the solution space. Even when set to True, the wind seeds are + different across wind speeds and DLCs. + + *Default* = True + +:code:`fix_wave_seeds` : Boolean + Fix the seed of the random integer generator controlling the wave + seed of HydroDyn. When set to False, the seeds change everytime + the DLC generator class is called. It is recommended to keep it to + True when the optimization is on, or different wave seeds will be + generated for every function call, complicating the smoothness of + the solution space. Even when set to True, the wave seeds are + different across wind speeds and DLCs. + + *Default* = True + + + +metocean_conditions +######################################## + +Here the metocean conditions can be specified in terms of wind speeds, significant wave height (Hs), and wave period (Tp) for normal sea state (NSS), fatigue calculations, and severe sea state (SSS). Currently WEIS neglects the joint probability density function crossing wind/wave directionality, wave peak shape parameter gamma +:code:`wind_speed` : Array of Floats, m/s + Array of wind speeds to tabulate Hs and Tp + + *Default* = [4.0, 6.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 22.0, 24.0] + + *Minimum* = 0.0 + + *Maximum* = 50.0 + +:code:`wave_height_NSS` : Array of Floats, m + Array of Hs for NSS conditional to wind speed + + *Default* = [1.1, 1.18, 1.32, 1.54, 1.84, 2.19, 2.6, 3.06, 3.62, 4.03, 4.52] + + *Minimum* = 0.0 + + *Maximum* = 100.0 + +:code:`wave_period_NSS` : Array of Floats, s + Array of Tp for NSS conditional to wind speed + + *Default* = [8.52, 8.31, 8.01, 7.65, 7.44, 7.46, 7.64, 8.05, 8.52, 8.99, 9.45] + + *Minimum* = 0.0 + + *Maximum* = 1000.0 + +:code:`wave_height_fatigue` : Array of Floats, m + Array of Hs for fatigue computations conditional to wind speed + + *Default* = [1.1, 1.18, 1.32, 1.54, 1.84, 2.19, 2.6, 3.06, 3.62, 4.03, 4.52] + + *Minimum* = 0.0 + + *Maximum* = 100.0 + +:code:`wave_period_fatigue` : Array of Floats, s + Array of Tp for fatigue computations conditional to wind speed + + *Default* = [8.52, 8.31, 8.01, 7.65, 7.44, 7.46, 7.64, 8.05, 8.52, 8.99, 9.45] + + *Minimum* = 0.0 + + *Maximum* = 1000.0 + +:code:`wave_height_SSS` : Array of Floats, m + Array of Hs for SSS conditional to wind speed + + *Default* = [1.1, 1.18, 1.32, 1.54, 1.84, 2.19, 2.6, 3.06, 3.62, 4.03, 4.52] + + *Minimum* = 0.0 + + *Maximum* = 100.0 + +:code:`wave_period_SSS` : Array of Floats, s + Array of Tp for SSS conditional to wind speed + + *Default* = [8.52, 8.31, 8.01, 7.65, 7.44, 7.46, 7.64, 8.05, 8.52, 8.99, 9.45] + + *Minimum* = 0.0 + + *Maximum* = 1000.0 + +:code:`wave_height50` : Float, m + Wave height with 50-year occurrence, used in DLC 6.1 + + *Default* = 15.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`wave_period50` : Float, s + Wave period with 50-year occurrence, used in DLC 6.1 + + *Default* = 15.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + +:code:`wave_height1` : Float, m + Wave height with 1-year occurrence, used in DLC 6.3, 7.1, and 8.2 + + *Default* = 15.0 + + *Minimum* = 0.0 *Maximum* = 100.0 + + +:code:`wave_period1` : Float, s + Wave period with 1-year occurrence, used in DLC 6.3, 7.1, and 8.2 + + *Default* = 15.0 + + *Minimum* = 0.0 *Maximum* = 1000.0 + + + + +ROSCO +**************************************** + +Options for WEIS fidelity level 3 = nonlinear time domain. Inherited from ROSCO/rosco/toolbox/inputs/toolbox_shema.yaml +:code:`LoggingLevel` : Float + 0- write no debug files, 1- write standard output .dbg-file, 2- + write standard output .dbg-file and complete avrSWAP-array + .dbg2-file + + *Default* = 1 + + *Minimum* = 0 *Maximum* = 3 + + +:code:`F_LPFType` : Float + 1- first-order low-pass filter, 2- second-order low-pass filter, + [rad/s] (currently filters generator speed and pitch control + signals) + + *Default* = 1 + + *Minimum* = 1 *Maximum* = 2 + + +:code:`F_NotchType` : Float + Notch on the measured generator speed and/or tower fore-aft motion + (for floating) {0- disable, 1- generator speed, 2- tower-top fore- + aft motion, 3- generator speed and tower-top fore-aft motion} + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 3 + + +:code:`IPC_ControlMode` : Float + Turn Individual Pitch Control (IPC) for fatigue load reductions + (pitch contribution) (0- off, 1- 1P reductions, 2- 1P+2P + reduction) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`VS_ControlMode` : Float + Generator torque control mode in above rated conditions (0- no + torque control, 1- k*omega^2 with PI transitions, 2- WSE TSR + Tracking, 3- Power-based TSR Tracking) + + *Default* = 2 + + *Minimum* = 0 *Maximum* = 3 + + +:code:`VS_ConstPower` : Float + Do constant power torque control, where above rated torque varies, + 0 for constant torque + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`PC_ControlMode` : Float + Blade pitch control mode (0- No pitch, fix to fine pitch, 1- + active PI blade pitch control) + + *Default* = 1 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`Y_ControlMode` : Float + Yaw control mode (0- no yaw control, 1- yaw rate control, 2- yaw- + by-IPC) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`SS_Mode` : Float + Setpoint Smoother mode (0- no setpoint smoothing, 1- introduce + setpoint smoothing) + + *Default* = 1 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`WE_Mode` : Float + Wind speed estimator mode (0- One-second low pass filtered hub + height wind speed, 1- Immersion and Invariance Estimator (Ortega + et al.) + + *Default* = 2 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`PS_Mode` : Float + Pitch saturation mode (0- no pitch saturation, 1- peak shaving, 2- + Cp-maximizing pitch saturation, 3- peak shaving and Cp-maximizing + pitch saturation) + + *Default* = 3 + + *Minimum* = 0 *Maximum* = 3 + + +:code:`SD_Mode` : Float + Shutdown mode (0- no shutdown procedure, 1- pitch to max pitch at + shutdown) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`TD_Mode` : Float + Tower damper mode (0- no tower damper, 1- feed back translational + nacelle accelleration to pitch angle + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`TRA_Mode` : Float + Tower resonance avoidance mode (0- no tower resonsnace avoidance, + 1- use torque control setpoints to avoid a specific frequency + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`Fl_Mode` : Float + Floating specific feedback mode (0- no nacelle velocity feedback, + 1 - nacelle velocity feedback, 2 - nacelle pitching acceleration + feedback) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`Flp_Mode` : Float + Flap control mode (0- no flap control, 1- steady state flap angle, + 2- Proportional flap control) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`PwC_Mode` : Float + Active Power Control Mode (0- no active power control 1- constant + active power control, 2- open loop power vs time, 3- open loop + power vs. wind speed) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`ZMQ_Mode` : Float + ZMQ Mode (0 - ZMQ Inteface, 1 - ZMQ for yaw control) + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`ZMQ_UpdatePeriod` : Float + Call ZeroMQ every [x] seconds, [s] + + *Default* = 2 + + *Minimum* = 0 + +:code:`PA_Mode` : Float + Pitch actuator mode {0 - not used, 1 - first order filter, 2 - + second order filter} + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`PF_Mode` : Float + Pitch fault mode {0 - not used, 1 - constant offset on one or more + blades} + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`OL_Mode` : Float + Open loop control mode {0- no open loop control, 1- open loop + control} + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`AWC_Mode` : Float + Active wake control mode {0 - not used, 1 - SNL method, 2 - NREL + method} + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`Ext_Mode` : Float + External control mode [0 - not used, 1 - call external dynamic + library] + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`CC_Mode` : Float + Cable control mode [0- unused, 1- User defined, 2- Open loop + control] + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`StC_Mode` : Float + Structural control mode [0- unused, 1- User defined, 2- Open loop + control] + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`U_pc` : Array of Floats + List of wind speeds to schedule pitch control zeta and omega + + *Default* = [12] + + *Minimum* = 0 + +:code:`interp_type` : String from, ['sigma', 'linear', 'quadratic', 'cubic'] + Type of interpolation between above rated tuning values (only used + for multiple pitch controller tuning values) + + *Default* = sigma + +:code:`zeta_vs` : Float + Torque controller desired damping ratio [-] + + *Default* = 1.0 + + *Minimum* = 0 + +:code:`omega_vs` : Float, rad/s + Torque controller desired natural frequency [rad/s] + + *Default* = 0.2 + + *Minimum* = 0 + +:code:`max_pitch` : Float, rad + Maximum pitch angle [rad], {default = 90 degrees} + + *Default* = 1.57 + +:code:`min_pitch` : Float, rad + Minimum pitch angle [rad], {default = 0 degrees} + + *Default* = 0 + +:code:`vs_minspd` : Float, rad/s + Minimum rotor speed [rad/s], {default = 0 rad/s} + + *Default* = 0 + +:code:`ss_vsgain` : Float + Torque controller setpoint smoother gain bias percentage [%, <= 1 + ], {default = 100%} + + *Default* = 1.0 + +:code:`ss_pcgain` : Float, rad + Pitch controller setpoint smoother gain bias percentage [%, <= 1 + ], {default = 0.1%} + + *Default* = 0.001 + +:code:`ps_percent` : Float, rad + Percent peak shaving [%, <= 1 ], {default = 80%} + + *Default* = 0.8 *Maximum* = 1 + + +:code:`sd_maxpit` : Float, rad + Maximum blade pitch angle to initiate shutdown [rad], {default = + 40 deg.} + + *Default* = 0.6981 + +:code:`flp_maxpit` : Float, rad + Maximum (and minimum) flap pitch angle [rad] + + *Default* = 0.1745 + +:code:`twr_freq` : Float, rad/s + Tower natural frequency, for floating only + + *Minimum* = 0 + +:code:`ptfm_freq` : Float, rad/s + Platform natural frequency, for floating only + + *Minimum* = 0 + +:code:`WS_GS_n` : Float + Number of wind speed breakpoints + + *Default* = 60 + + *Minimum* = 0 + +:code:`PC_GS_n` : Float + Number of pitch angle gain scheduling breakpoints + + *Default* = 30 + + *Minimum* = 0 + +:code:`tune_Fl` : Boolean + Whether to automatically tune Kp_float + + *Default* = True + +:code:`zeta_flp` : Float + Flap controller desired damping ratio [-] + + *Minimum* = 0 + +:code:`omega_flp` : Float, rad/s + Flap controller desired natural frequency [rad/s] + + *Minimum* = 0 + +:code:`flp_kp_norm` : Float + Flap controller normalization term for DC gain (kappa) + + *Minimum* = 0 + +:code:`flp_tau` : Float, s + Flap controller time constant for integral gain + + *Minimum* = 0 + +:code:`max_torque_factor` : Float + Maximum torque = rated torque * max_torque_factor + + *Default* = 1.1 + + *Minimum* = 0 + +:code:`IPC_Kp1p` : Float, s + Proportional gain for IPC, 1P [s] + + *Default* = 0.0 + + *Minimum* = 0 + +:code:`IPC_Kp2p` : Float + Proportional gain for IPC, 2P [-] + + *Default* = 0.0 + + *Minimum* = 0 + +:code:`IPC_Ki1p` : Float, s + Integral gain for IPC, 1P [s] + + *Default* = 0.0 + + *Minimum* = 0 + +:code:`IPC_Ki2p` : Float + integral gain for IPC, 2P [-] + + *Default* = 0.0 + + *Minimum* = 0 + +:code:`IPC_Vramp` : Array of Floats + wind speeds for IPC cut-in sigma function [m/s] + + *Default* = [0.0, 0.0] + + *Minimum* = 0.0 + +:code:`rgn2k_factor` : Float + Factor on VS_Rgn2K to increase/decrease optimal torque control + gain, default is 1. Sometimes environmental conditions or + differences in BEM solvers necessitate this change. + + *Default* = 1 + + *Minimum* = 0 + + + +filter_params +######################################## + +:code:`f_lpf_cornerfreq` : Float, rad/s + Corner frequency (-3dB point) in the first order low pass filter + of the generator speed [rad/s] + + *Minimum* = 0 + +:code:`f_lpf_damping` : Float, rad/s + Damping ratio in the first order low pass filter of the generator + speed [-] + + *Minimum* = 0 + +:code:`f_we_cornerfreq` : Float, rad/s + Corner frequency (-3dB point) in the first order low pass filter + for the wind speed estimate [rad/s] + + *Default* = 0.20944 + + *Minimum* = 0 + +:code:`f_fl_highpassfreq` : Float, rad/s + Natural frequency of first-order high-pass filter for nacelle + fore-aft motion [rad/s] + + *Default* = 0.01042 + + *Minimum* = 0 + +:code:`f_ss_cornerfreq` : Float, rad/s + First order low-pass filter cornering frequency for setpoint + smoother [rad/s] + + *Default* = 0.6283 + + *Minimum* = 0 + +:code:`f_yawerr` : Float, rad/s + Low pass filter corner frequency for yaw controller [rad/ + + *Default* = 0.17952 + + *Minimum* = 0 + +:code:`f_sd_cornerfreq` : Float, rad + Cutoff Frequency for first order low-pass filter for blade pitch + angle [rad/s], {default = 0.41888 ~ time constant of 15s} + + *Default* = 0.41888 + + + +open_loop +######################################## + +:code:`flag` : Boolean + Flag to use open loop control + + *Default* = False + +:code:`filename` : String + Filename of open loop input that ROSCO reads + + *Default* = unused + +:code:`Ind_Breakpoint` : Float + Index (column, 1-indexed) of breakpoint (time) in open loop index + + *Default* = 1 + + *Minimum* = 0 + +:code:`Ind_BldPitch` : Array of Floats + Indices (columns, 1-indexed) of pitch (1,2,3) inputs in open loop + input + + *Default* = [0, 0, 0] + + *Minimum* = 0 + +:code:`Ind_GenTq` : Float + Index (column, 1-indexed) of generator torque in open loop input + + *Default* = 0 + + *Minimum* = 0 + +:code:`Ind_YawRate` : Float + Index (column, 1-indexed) of nacelle yaw in open loop input + + *Default* = 0 + + *Minimum* = 0 + +:code:`Ind_Azimuth` : Float + The column in OL_Filename that contains the desired azimuth + position in rad (used if OL_Mode = 2) + + *Default* = 0 + +:code:`Ind_CableControl` : Array of Floats + The column in OL_Filename that contains the cable control inputs + in m + +:code:`Ind_StructControl` : Array of Floats + The column in OL_Filename that contains the structural control + inputs in various units + +:code:`PA_CornerFreq` : Float, rad/s + Pitch actuator natural frequency [rad/s] + + *Default* = 3.14 + + *Minimum* = 0 + +:code:`PA_Damping` : Float + Pitch actuator damping ratio [-] + + *Default* = 0.707 + + *Minimum* = 0 + + + +DISCON +######################################## + +These are pass-through parameters for the DISCON.IN file. Use with caution. Do not set defaults in schema. +:code:`LoggingLevel` : Float + (0- write no debug files, 1- write standard output .dbg-file, 2- + write standard output .dbg-file and complete avrSWAP-array + .dbg2-file) + +:code:`Echo` : Float + 0 - no Echo, 1 - Echo input data to .echo + + *Default* = 0 + +:code:`DT_Out` : Float + Time step to output .dbg* files, or 0 to match sampling period of + OpenFAST + + *Default* = 0 + +:code:`Ext_Interface` : Float + 0 - use standard bladed interface, 1 - Use the extened DLL + interface introduced in OpenFAST 3.5.0. + + *Default* = 1 + + *Minimum* = 0 *Maximum* = 1 + + +:code:`F_LPFType` : Float + 1- first-order low-pass filter, 2- second-order low-pass filter + (currently filters generator speed and pitch control signals + +:code:`VS_ControlMode` : Float + Generator torque control mode in above rated conditions (0- no + torque control, 1- k*omega^2 with PI transitions, 2- WSE TSR + Tracking, 3- Power-based TSR Tracking) + + *Minimum* = 0 *Maximum* = 3 + + +:code:`VS_ConstPower` : Float + Do constant power torque control, where above rated torque varies + + *Minimum* = 0 *Maximum* = 1 + + +:code:`F_NotchType` : Float + Notch on the measured generator speed and/or tower fore-aft motion + (for floating) (0- disable, 1- generator speed, 2- tower-top fore- + aft motion, 3- generator speed and tower-top fore-aft motion) + +:code:`IPC_ControlMode` : Float + Turn Individual Pitch Control (IPC) for fatigue load reductions + (pitch contribution) (0- off, 1- 1P reductions, 2- 1P+2P + reductions) + +:code:`PC_ControlMode` : Float + Blade pitch control mode (0- No pitch, fix to fine pitch, 1- + active PI blade pitch control) + +:code:`Y_ControlMode` : Float + Yaw control mode (0- no yaw control, 1- yaw rate control, 2- yaw- + by-IPC) + +:code:`SS_Mode` : Float + Setpoint Smoother mode (0- no setpoint smoothing, 1- introduce + setpoint smoothing) + +:code:`WE_Mode` : Float + Wind speed estimator mode (0- One-second low pass filtered hub + height wind speed, 1- Immersion and Invariance Estimator, 2- + Extended Kalman Filter) + +:code:`PS_Mode` : Float + Pitch saturation mode (0- no pitch saturation, 1- implement pitch + saturation) + +:code:`SD_Mode` : Float + Shutdown mode (0- no shutdown procedure, 1- pitch to max pitch at + shutdown) + +:code:`Fl_Mode` : Float + Floating specific feedback mode (0- no nacelle velocity feedback, + 1- feed back translational velocity, 2- feed back rotational + veloicty) + +:code:`Flp_Mode` : Float + Flap control mode (0- no flap control, 1- steady state flap angle, + 2- Proportional flap control) + +:code:`OL_Mode` : Float + Open loop control mode (0 - no open-loop control, 1 - direct open + loop control, 2 - rotor position control) + +:code:`F_LPFCornerFreq` : Float, rad/s + Corner frequency (-3dB point) in the low-pass filters, + +:code:`F_LPFDamping` : Float + Damping coefficient (used only when F_FilterType = 2 [-] + +:code:`F_NumNotchFilts` : Float + Number of notch filters placed on sensors + +:code:`F_GenSpdNotch_N` : Float + Number of notch filters on generator speed + +:code:`F_TwrTopNotch_N` : Float + Number of notch filters on tower top acceleration signal + +:code:`F_SSCornerFreq` : Float, rad/s. + Corner frequency (-3dB point) in the first order low pass filter + for the setpoint smoother, + +:code:`F_WECornerFreq` : Float, rad/s. + Corner frequency (-3dB point) in the first order low pass filter + for the wind speed estimate + +:code:`F_FlCornerFreq` : Array of Floats + Natural frequency and damping in the second order low pass filter + of the tower-top fore-aft motion for floating feedback control + +:code:`F_FlHighPassFreq` : Float, rad/s + Natural frequency of first-order high-pass filter for nacelle + fore-aft motion + +:code:`F_FlpCornerFreq` : Array of Floats + Corner frequency and damping in the second order low pass filter + of the blade root bending moment for flap control + +:code:`PC_GS_n` : Float + Amount of gain-scheduling table entries + +:code:`PC_GS_angles` : Array of Floats + Gain-schedule table- pitch angles + +:code:`PC_GS_KP` : Array of Floats + Gain-schedule table- pitch controller kp gains + +:code:`PC_GS_KI` : Array of Floats + Gain-schedule table- pitch controller ki gains + +:code:`PC_GS_KD` : Array of Floats + Gain-schedule table- pitch controller kd gains + +:code:`PC_GS_TF` : Array of Floats + Gain-schedule table- pitch controller tf gains (derivative filter) + +:code:`PC_MaxPit` : Float, rad + Maximum physical pitch limit, + +:code:`PC_MinPit` : Float, rad + Minimum physical pitch limit, + +:code:`PC_MaxRat` : Float, rad/s. + Maximum pitch rate (in absolute value) in pitch controller + +:code:`PC_MinRat` : Float, rad/s. + Minimum pitch rate (in absolute value) in pitch controller + +:code:`PC_RefSpd` : Float, rad/s. + Desired (reference) HSS speed for pitch controller + +:code:`PC_FinePit` : Float, rad + Record 5- Below-rated pitch angle set-point + +:code:`PC_Switch` : Float, rad + Angle above lowest minimum pitch angle for switch + +:code:`IPC_IntSat` : Float, rad + Integrator saturation (maximum signal amplitude contribution to + pitch from IPC) + +:code:`IPC_SatMode` : Integer + IPC Saturation method (0 - no saturation, 1 - saturate by + PC_MinPit, 2 - saturate by PS_BldPitchMin) + +:code:`IPC_KP` : Array of Floats + Proportional gain for the individual pitch controller- first + parameter for 1P reductions, second for 2P reductions, [-] + +:code:`IPC_KI` : Array of Floats + Integral gain for the individual pitch controller- first parameter + for 1P reductions, second for 2P reductions, [-] + +:code:`IPC_aziOffset` : Array of Floats + Phase offset added to the azimuth angle for the individual pitch + controller + +:code:`IPC_CornerFreqAct` : Float, rad/s + Corner frequency of the first-order actuators model, to induce a + phase lag in the IPC signal (0- Disable) + +:code:`VS_GenEff` : Float, percent + Generator efficiency mechanical power -> electrical power, should + match the efficiency defined in the generator properties + +:code:`VS_ArSatTq` : Float, Nm + Above rated generator torque PI control saturation + +:code:`VS_MaxRat` : Float, Nm/s + Maximum torque rate (in absolute value) in torque controller + +:code:`VS_MaxTq` : Float, Nm + Maximum generator torque in Region 3 (HSS side) + +:code:`VS_MinTq` : Float, Nm + Minimum generator torque (HSS side) + +:code:`VS_MinOMSpd` : Float, rad/s + Minimum generator speed + +:code:`VS_Rgn2K` : Float, Nm/(rad/s)^2 + Generator torque constant in Region 2 (HSS side). Only used in + VS_ControlMode = 1,3 + +:code:`VS_RtPwr` : Float, W + Wind turbine rated power + +:code:`VS_RtTq` : Float, Nm + Rated torque + +:code:`VS_RefSpd` : Float, rad/s + Rated generator speed + +:code:`VS_n` : Float + Number of generator PI torque controller gains + +:code:`VS_KP` : Float + Proportional gain for generator PI torque controller. (Only used + in the transitional 2.5 region if VS_ControlMode =/ 2) + +:code:`VS_KI` : Float, s + Integral gain for generator PI torque controller (Only used in + the transitional 2.5 region if VS_ControlMode =/ 2) + +:code:`VS_TSRopt` : Float, rad + Power-maximizing region 2 tip-speed-ratio. Only used in + VS_ControlMode = 2. + +:code:`VS_PwrFiltF` : Float, rad + Low pass filter on power used to determine generator speed set + point. Only used in VS_ControlMode = 3. + + *Default* = 0.314 + +:code:`SS_VSGain` : Float + Variable speed torque controller setpoint smoother gain + +:code:`SS_PCGain` : Float + Collective pitch controller setpoint smoother gain + +:code:`PRC_Mode` : Float + Power reference tracking mode, 0- use standard rotor speed set + points, 1- use PRC rotor speed setpoints + +:code:`PRC_WindSpeeds` : Array of Floats + Array of wind speeds used in rotor speed vs. wind speed lookup + table [m/s] + +:code:`PRC_GenSpeeds` : Array of Floats + Array of generator speeds corresponding to PRC_WindSpeeds [rad/s] + +:code:`PRC_LPF_Freq` : Float + Frequency of the low pass filter on the wind speed estimate used + to set PRC_GenSpeeds [rad/s] + + *Default* = 0.078539 + +:code:`PRC_n` : Float + Number of elements in PRC_WindSpeeds and PRC_GenSpeeds array + +:code:`TRA_ExclSpeed` : Float + Rotor speed for exclusion [LSS, rad/s] + + *Default* = 0.0 + + *Minimum* = 0 + +:code:`TRA_ExclBand` : Float + Size of the rotor frequency exclusion band [LSS, rad/s]. Torque + controller reference will be TRA_ExclSpeed +/- TRA_ExlBand/2 + + *Default* = 0.0 + + *Minimum* = 0 + +:code:`TRA_RateLimit` : Float + Rate limit of change in rotor speed reference [LSS, rad/s]. + Suggested to be VS_RefSpd/400. + + *Default* = 0.0 + + *Minimum* = 0 + +:code:`WE_BladeRadius` : Float, m + Blade length (distance from hub center to blade tip) + +:code:`WE_CP_n` : Float + Amount of parameters in the Cp array + +:code:`WE_CP` : Array of Floats + Parameters that define the parameterized CP(lambda) function + +:code:`WE_Gamma` : Float, m/rad + Adaption gain of the wind speed estimator algorithm + +:code:`WE_GearboxRatio` : Float + Gearbox ratio, >=1 + +:code:`WE_Jtot` : Float, kg m^2 + Total drivetrain inertia, including blades, hub and casted + generator inertia to LSS + +:code:`WE_RhoAir` : Float, kg m^-3 + Air density + +:code:`PerfFileName` : String + File containing rotor performance tables (Cp,Ct,Cq) (absolute path + or relative to this file) + +:code:`PerfTableSize` : Float + Size of rotor performance tables, first number refers to number of + blade pitch angles, second number referse to number of tip-speed + ratios + +:code:`WE_FOPoles_N` : Float + Number of first-order system poles used in EKF + +:code:`WE_FOPoles_v` : Array of Floats + Wind speeds corresponding to first-order system poles + +:code:`WE_FOPoles` : Array of Floats + First order system poles + +:code:`Y_ErrThresh` : Float, rad^2 s + Yaw error threshold. Turbine begins to yaw when it passes this + +:code:`Y_IPC_IntSat` : Float, rad + Integrator saturation (maximum signal amplitude contribution to + pitch from yaw-by-IPC) + +:code:`Y_IPC_n` : Float + Number of controller gains (yaw-by-IPC) + +:code:`Y_IPC_KP` : Float + Yaw-by-IPC proportional controller gain Kp + +:code:`Y_IPC_KI` : Float + Yaw-by-IPC integral controller gain Ki + +:code:`Y_IPC_omegaLP` : Float, rad/s. + Low-pass filter corner frequency for the Yaw-by-IPC controller to + filtering the yaw alignment error + +:code:`Y_IPC_zetaLP` : Float + Low-pass filter damping factor for the Yaw-by-IPC controller to + filtering the yaw alignment error. + +:code:`Y_MErrSet` : Float, rad + Yaw alignment error, set point + +:code:`Y_omegaLPFast` : Float, rad/s + Corner frequency fast low pass filter, 1.0 + +:code:`Y_omegaLPSlow` : Float, rad/s + Corner frequency slow low pass filter, 1/60 + +:code:`Y_Rate` : Float, rad/s + Yaw rate + +:code:`FA_KI` : Float, rad s/m + Integral gain for the fore-aft tower damper controller, -1 = off / + >0 = on + +:code:`FA_HPFCornerFreq` : Float, rad/s + Corner frequency (-3dB point) in the high-pass filter on the fore- + aft acceleration signal + +:code:`FA_IntSat` : Float, rad + Integrator saturation (maximum signal amplitude contribution to + pitch from FA damper) + +:code:`PS_BldPitchMin_N` : Float + Number of values in minimum blade pitch lookup table (should equal + number of values in PS_WindSpeeds and PS_BldPitchMin) + +:code:`PS_WindSpeeds` : Array of Floats + Wind speeds corresponding to minimum blade pitch angles + +:code:`PS_BldPitchMin` : Array of Floats + Minimum blade pitch angles + +:code:`SD_MaxPit` : Float, rad + Maximum blade pitch angle to initiate shutdown + +:code:`SD_CornerFreq` : Float, rad/s + Cutoff Frequency for first order low-pass filter for blade pitch + angle + +:code:`Fl_n` : Float, s + Number of Fl_Kp gains in gain scheduling, optional with default of + 1 + +:code:`Fl_Kp` : Array of Floats + Nacelle velocity proportional feedback gain + +:code:`Fl_U` : Array of Floats + Wind speeds for scheduling Fl_Kp, optional if Fl_Kp is single + value [m/s] + +:code:`Flp_Angle` : Float, rad + Initial or steady state flap angle + +:code:`Flp_Kp` : Float, s + Blade root bending moment proportional gain for flap control + +:code:`Flp_Ki` : Float + Flap displacement integral gain for flap control + +:code:`Flp_MaxPit` : Float, rad + Maximum (and minimum) flap pitch angle + +:code:`OL_Filename` : String + Input file with open loop timeseries (absolute path or relative to + this file) + +:code:`Ind_Breakpoint` : Float + The column in OL_Filename that contains the breakpoint (time if + OL_Mode > 0) + +:code:`Ind_BldPitch` : Float + The column in OL_Filename that contains the blade pitch input in + rad + +:code:`Ind_GenTq` : Float + The column in OL_Filename that contains the generator torque in Nm + +:code:`Ind_YawRate` : Float + The column in OL_Filename that contains the generator torque in Nm + +:code:`Ind_Azimuth` : Float + The column in OL_Filename that contains the desired azimuth + position in rad (used if OL_Mode = 2) + +:code:`RP_Gains` : Array of Floats + PID gains and Tf of derivative for rotor position control (used if + OL_Mode = 2) + + *Default* = [0, 0, 0, 0] + +:code:`Ind_CableControl` : Array of Floats + The column in OL_Filename that contains the cable control inputs + in m + +:code:`Ind_StructControl` : Array of Floats + The column in OL_Filename that contains the structural control + inputs in various units + +:code:`DLL_FileName` : String + Name/location of the dynamic library {.dll [Windows] or .so + [Linux]} in the Bladed-DLL format + + *Default* = unused + +:code:`DLL_InFile` : String + Name of input file sent to the DLL + + *Default* = unused + +:code:`DLL_ProcName` : String + Name of procedure in DLL to be called + + *Default* = DISCON + +:code:`PF_Offsets` : Array of Floats + Pitch angle offsets for each blade (array with length of 3) + + *Default* = [0, 0, 0] + +:code:`CC_Group_N` : Float + Number of cable control groups + + *Default* = 0 + +:code:`CC_GroupIndex` : Array of Floats + First index for cable control group, should correspond to deltaL + + *Default* = [0] + +:code:`CC_ActTau` : Float + Time constant for line actuator [s] + + *Default* = 20 + +:code:`StC_Group_N` : Float + Number of cable control groups + + *Default* = 0 + +:code:`StC_GroupIndex` : Array of Floats + First index for structural control group, options specified in + ServoDyn summary output + + *Default* = [0] + +:code:`AWC_Mode` : Float + Active wake control mode {0 - not used, 1 - complex number method, + 2 - Coleman transformation method} + + *Default* = 0 + + *Minimum* = 0 *Maximum* = 2 + + +:code:`AWC_NumModes` : Float, rad + Number of AWC modes + + *Default* = 1 + +:code:`AWC_n` : Array of Floats + AWC azimuthal number (only used in complex number method) + + *Default* = [1] + +:code:`AWC_harmonic` : Array of Integers + AWC Coleman transform harmonic (only used in Coleman transform + method) + + *Default* = [1] + +:code:`AWC_freq` : Array of Floats + AWC frequency [Hz] + + *Default* = [0.05] + +:code:`AWC_amp` : Array of Floats + AWC amplitude [deg] + + *Default* = [1.0] + +:code:`AWC_clockangle` : Array of Floats + AWC clock angle [deg] + + *Default* = [0] + +:code:`ZMQ_CommAddress` : String + Communication address for ZMQ server, (e.g. + "tcp://localhost:5555") + + *Default* = tcp://localhost:5555 + +:code:`ZMQ_UpdatePeriod` : Float + Update period at zmq interface to send measurements and wait for + setpoint [sec.] + + *Default* = 1.0 + +:code:`ZMQ_ID` : Float + Integer identifier of turbine + + *Default* = 0 + +:code:`tuning_yaml` : String + yaml file to tune the ROSCO controller, only used for control-only + optimizations using an OpenFAST model. Absolute path or relative + to modeling input. + + *Default* = none + + + +linmodel_tuning +######################################## + +Inputs used for tuning ROSCO using linear (level 2) models +:code:`type` : String from, ['none', 'robust', 'simulation'] + Type of level 2 based tuning - robust gain scheduling (robust) or + simulation based optimization (simulation) + + *Default* = none + +:code:`linfile_path` : String + Path to OpenFAST linearization (.lin) files, if they exist + + *Default* = none + +:code:`lintune_outpath` : String + Path for outputs from linear model based tuning + + *Default* = lintune_outfiles + +:code:`load_parallel` : Boolean + Load linearization files in parallel (True/False) + + *Default* = False + + + +OL2CL +**************************************** + +:code:`flag` : Boolean + Whether or not to run open loop to closed loop optimization + + *Default* = False + +:code:`trajectory_dir` : String + Directory where open loop control trajectories are located + + *Default* = unused + +:code:`save_error` : Boolean + Save error timeseries? + + *Default* = True + diff --git a/docs/optimization.rst b/docs/optimization.rst new file mode 100644 index 000000000..1bdfe24ec --- /dev/null +++ b/docs/optimization.rst @@ -0,0 +1,10 @@ +Optimization in WEIS +-------------------- + + +**Available Optimization Solvers** + + +**Explanation of outputs** + +**Some tips and best practices** \ No newline at end of file diff --git a/docs/weis_outputs.rst b/docs/weis_outputs.rst new file mode 100644 index 000000000..6c1cb3a45 --- /dev/null +++ b/docs/weis_outputs.rst @@ -0,0 +1,15 @@ +WEIS Outputs +------------ + + +**OpenFAST Outputs** + + +**WISDEM csv files** + +**openmdao sql logs** + +Future +------ + +**Summary stats, DELs** \ No newline at end of file diff --git a/examples/00_setup/get_wisdem_yamls.py b/examples/00_setup/get_wisdem_yamls.py new file mode 100644 index 000000000..327402584 --- /dev/null +++ b/examples/00_setup/get_wisdem_yamls.py @@ -0,0 +1,39 @@ +import os +import requests +''' +Run this script to update geometry yamls based on WISDEM yamls +''' + +def main(): + + wisdem_weis_map = { + # relative to examples/ + # WISDEM example input WEIS example + "09_floating/nrel5mw-spar_oc3.yaml": "03_NREL5MW_OC3_spar/nrel5mw-spar_oc3.yaml", + "09_floating/nrel5mw-semi_oc4.yaml": "04_NREL5MW_OC4_semi/nrel5mw-semi_oc4.yaml", + "09_floating/IEA-15-240-RWT_VolturnUS-S.yaml": "06_IEA-15-240-RWT/IEA-15-240-RWT_VolturnUS-S.yaml", + "02_reference_turbines/IEA-15-240-RWT.yaml": "06_IEA-15-240-RWT/IEA-15-240-RWT_Monopile.yaml", + "02_reference_turbines/IEA-3p4-130-RWT.yaml": "05_IEA-3.4-130-RWT/IEA-3p4-130-RWT.yaml", + "03_blade/BAR_USC.yaml": "08_OLAF/BAR_USC.yaml", + } + + example_dir = os.path.join(os.path.dirname(__file__),"..") + + for wisdem_ex, weis_ex in wisdem_weis_map.items(): + + raw_url = f"https://raw.githubusercontent.com/WISDEM/WISDEM/master/examples/{wisdem_ex}" + + local_path = os.path.join(example_dir,weis_ex) + + # Download the file + response = requests.get(raw_url) + if response.status_code == 200: + with open(local_path, 'wb') as f: + f.write(response.content) + print(f"Downloaded {raw_url} to {local_path}") + else: + print(f"Failed to download {raw_url}. Status code: {response.status_code}") + + +if __name__=="__main__": + main() \ No newline at end of file diff --git a/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-Monopile/DISCON-Monopile.IN b/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-Monopile/DISCON-Monopile.IN index e782964a3..0d57516e9 100644 --- a/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-Monopile/DISCON-Monopile.IN +++ b/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-Monopile/DISCON-Monopile.IN @@ -1,5 +1,5 @@ ! Controller parameter input file for the IEA-15-240-RWT-Monopile wind turbine -! - File written using ROSCO version 2.8.0 controller tuning logic on 01/05/24 +! - File written using ROSCO version 2.9.0 controller tuning logic on 01/26/24 !------- SIMULATION CONTROL ------------------------------------------------------------ 1 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3)} diff --git a/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-UMaineSemi/DISCON-UMaineSemi.IN b/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-UMaineSemi/DISCON-UMaineSemi.IN index 988b1c7c2..4c7964e1d 100644 --- a/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-UMaineSemi/DISCON-UMaineSemi.IN +++ b/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-UMaineSemi/DISCON-UMaineSemi.IN @@ -1,5 +1,5 @@ ! Controller parameter input file for the IEA-15-240-RWT-UMaineSemi wind turbine -! - File written using ROSCO version 2.8.0 controller tuning logic on 01/05/24 +! - File written using ROSCO version 2.9.0 controller tuning logic on 01/26/24 !------- SIMULATION CONTROL ------------------------------------------------------------ 1 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3)} diff --git a/examples/01_aeroelasticse/README.md b/examples/01_aeroelasticse/README.md new file mode 100644 index 000000000..23271a72b --- /dev/null +++ b/examples/01_aeroelasticse/README.md @@ -0,0 +1,5 @@ +These examples run OpenFAST cases using the `aeroelasticse` drivers. + +By setting up `case_input` dicts, `OpenFAST` parameters can be swept. + +For example, [we sweep the wind speed here](https://github.com/WISDEM/WEIS/blob/bdf7cea127d99a707d565178ef1edbf65b7f635a/examples/01_aeroelasticse/run_general.py#L52) and can change the initial conditions, like [blade pitch](https://github.com/WISDEM/WEIS/blob/bdf7cea127d99a707d565178ef1edbf65b7f635a/examples/01_aeroelasticse/run_general.py#L55) to vary with the wind speed, by assigning them to the same group. diff --git a/examples/02_control_opt/IEA15MW-tuning.yaml b/examples/02_control_opt/IEA15MW-tuning.yaml deleted file mode 100644 index e2dc94319..000000000 --- a/examples/02_control_opt/IEA15MW-tuning.yaml +++ /dev/null @@ -1,57 +0,0 @@ -# --------------------- ROSCO controller tuning input file ------------------- - # Written for use with ROSCO_Toolbox tuning procedures - # Turbine: IEA 15MW Reference Wind Turbine -# ------------------------------ OpenFAST PATH DEFINITIONS ------------------------------ -path_params: - FAST_InputFile: 'IEA-15-240-RWT-UMaineSemi.fst' # Name of *.fst file - FAST_directory: '../Test_Cases/IEA-15-240-RWT-UMaineSemi' # Main OpenFAST model directory, where the *.fst lives - # Optional (but suggested...) - rotor_performance_filename: '../Test_Cases/IEA-15-240-RWT-UMaineSemi/Cp_Ct_Cq.IEA15MW.txt' - -# -------------------------------- TURBINE PARAMETERS ----------------------------------- -turbine_params: - rotor_inertia: 310619488. # Rotor inertia [kg m^2], {Available in Elastodyn .sum file} - rated_rotor_speed: 0.7916813478 # Rated rotor speed [rad/s] - v_min: 3. # Cut-in wind speed [m/s] - v_rated: 10.74 # Rated wind speed [m/s] - v_max: 25.0 # Cut-out wind speed [m/s], -- Does not need to be exact (JUST ASSUME FOR NOW) - max_pitch_rate: 0.0349 # Maximum blade pitch rate [rad/s] - max_torque_rate: 4500000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} - rated_power: 15000000. # Rated Power [W] - bld_edgewise_freq: 4.0324 # Blade edgewise first natural frequency [rad/s] - bld_flapwise_freq: 3.4872 # Blade flapwise first natural frequency [rad/s] - TSR_operational: 9.0 - -#------------------------------- CONTROLLER PARAMETERS ---------------------------------- -controller_params: - # Controller flags - LoggingLevel: 0 # {0: write no debug files, 1: write standard output .dbg-file, 2: write standard output .dbg-file and complete avrSWAP-array .dbg2-file - F_LPFType: 2 # {1: first-order low-pass filter, 2: second-order low-pass filter}, [rad/s] (currently filters generator speed and pitch control signals) - F_NotchType: 0 # Notch on the measured generator speed {0: disable, 1: enable} - IPC_ControlMode: 0 # Turn Individual Pitch Control (IPC) for fatigue load reductions (pitch contribution) {0: off, 1: 1P reductions, 2: 1P+2P reductions} - VS_ControlMode: 2 # Generator torque control mode in above rated conditions {0: constant torque, 1: constant power, 2: TSR tracking PI control} - PC_ControlMode: 1 # Blade pitch control mode {0: No pitch, fix to fine pitch, 1: active PI blade pitch control} - Y_ControlMode: 0 # Yaw control mode {0: no yaw control, 1: yaw rate control, 2: yaw-by-IPC} - SS_Mode: 1 # Setpoint Smoother mode {0: no setpoint smoothing, 1: introduce setpoint smoothing} - WE_Mode: 2 # Wind speed estimator mode {0: One-second low pass filtered hub height wind speed, 1: Immersion and Invariance Estimator (Ortega et al.)} - PS_Mode: 3 # Pitch saturation mode {0: no pitch saturation, 1: peak shaving, 2: Cp-maximizing pitch saturation, 3: peak shaving and Cp-maximizing pitch saturation} - SD_Mode: 0 # Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} - Fl_Mode: 2 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} - Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} - PA_Mode: 2 # Pitch actuator mode {0 - not used, 1 - first order filter, 2 - second order filter} - # Controller parameters - # U_pc: [14] - zeta_pc: 1.0 # Pitch controller desired damping ratio [-] - omega_pc: 0.2 # Pitch controller desired natural frequency [rad/s] - zeta_vs: 0.85 # Torque controller desired damping ratio [-] - omega_vs: 0.12 # Torque controller desired natural frequency [rad/s] - twr_freq: 3.355 # for semi only! - ptfm_freq: 0.213 # for semi only! - # Optional - these can be defined, but do not need to be - min_pitch: 0.0 # Minimum pitch angle [rad], {default = 0 degrees} - vs_minspd: 0.523598775 # Minimum rotor speed [rad/s], {default = 0 rad/s} - ps_percent: 0.8 # Percent peak shaving [%, <= 1 ], {default = 80%} - PA_CornerFreq: 1.5708 # Pitch actuator natural frequency [rad/s] - PA_Damping: 0.707 # Pitch actuator natural frequency [rad/s] - rgn2k_factor: 0.85926 - diff --git a/examples/02_control_opt/README.md b/examples/02_control_opt/README.md deleted file mode 100644 index 2df1c767f..000000000 --- a/examples/02_control_opt/README.md +++ /dev/null @@ -1,7 +0,0 @@ -To run these examples, please make sure you are in your WEIS conda environment and run - -``` -python weis_driver.py -``` - -or the appropriate `weis_driver