openfast

A multi-physics, multi-fidelity tool for simulating the coupled dynamic response of wind turbines and wind farms.
https://github.com/openfast/openfast

Category: Renewable Energy
Sub Category: Wind Energy

Keywords

aeroelasticity wind wind-energy wind-farm wind-power wind-turbine

Keywords from Contributors

ecp exascale-computing cfd wind-turbines exawind les low-mach wind-turbine-simulation openfast amrex

Last synced: about 8 hours ago
JSON representation

Repository metadata

Main repository for the NREL-supported OpenFAST whole-turbine and FAST.Farm wind farm simulation codes.

README.rst

          OpenFAST
========

|actions| |nbsp| |rtfd|

.. |actions| image:: https://github.com/openfast/openfast/actions/workflows/automated-dev-tests.yml/badge.svg?branch=dev
   :target: https://github.com/OpenFAST/openfast/actions/workflows/automated-dev-tests.yml?query=workflow%3A%22Development+Pipeline%22
   :alt: Build Status
.. |rtfd| image:: https://readthedocs.org/projects/openfast/badge/?version=dev
   :target: https://openfast.readthedocs.io/en/dev
   :alt: Documentation Status
.. |nbsp| unicode:: 0xA0
   :trim:

OpenFAST is a wind turbine simulation tool which builds on FAST v8. FAST.Farm
extends the capability of OpenFAST to simulate multi-turbine wind farms. They were
created with the goal of being community models developed and used by research
laboratories, academia, and industry. They are managed by a dedicated team at the
National Renewable Energy Lab. Our objective is to ensure that OpenFAST and FAST.Farm
are sustainable software that are well tested and well documented. If you'd like
to contribute, see the `Developer Documentation `_
and any open GitHub issues with the
`Help Wanted `_
tag.

**OpenFAST is under active development**.

FAST v8 - OpenFAST
------------------
The transition from FAST v8 to OpenFAST represents the effort to better
support an open-source developer community around FAST-based aero-hydro-servo-
elastic engineering models of wind-turbines and wind-plants. OpenFAST is the
next generation of FAST analysis tools. More information is available in the
`transition notes `_.

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

With OpenFAST, you can run large numbers of nonlinear time-domain simulations
in approximately real time to enable standards-based loads analysis for predicting
wind system ultimate and fatigue loads. You can also linearize the underlying
nonlinear model about an operating point to understand the system response
and enable the calculation of natural frequencies, damping, and mode shapes;
the design of controllers, and analysis of aero-elastic instabilities.

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

FAST.Farm extends the capabilities of OpenFAST to provide physics-based
engineering simulation of multi-turbine land-based, fixed-bottom offshore,
and floating offshore wind farms. With FAST.Farm, you can simulate each wind
turbine in the farm with an OpenFAST model and capture the relevant
physics for prediction of wind farm power performance and structural loads,
including wind farm-wide ambient wind, super controller, and wake advection,
meandering, and merging. FAST.Farm maintains computational efficiency
through parallelization to enable loads analysis for predicting the ultimate
and fatigue loads of each wind turbine in the farm.


Documentation
-------------
The full documentation is available at http://openfast.readthedocs.io/.

This documentation is stored and maintained alongside the source code.
It is compiled into HTML with Sphinx and is tied to a particular version
of OpenFAST. `Readthedocs `_ hosts the following
versions of the documentation:

* ``latest`` - The latest commit on the ``main`` branch
* ``stable`` - Corresponds to the last tagged release
* ``dev`` - The latest commit on the ``dev`` branch

These can be toggled with the ``v: latest`` button in the lower left corner of
the docs site.

Obtaining OpenFAST and FAST.Farm
--------------------------------
OpenFAST and FAST.Farm are hosted entirely on GitHub so you are in the
`right place `_!
The repository is structured with two branches following the
"git-flow" convention:

* ``main``
* ``dev``

The ``main`` branch is stable, well tested, and represents the most up to
date released versions of OpenFAST and FAST.Farm. The latest commit on ``main``
contains a tag with version info and brief release notes. The tag history can be
obtained with the ``git tag`` command and viewed in more detail on
`GitHub Releases `_. For general
use, the ``main`` branch is highly recommended.

The ``dev`` branch is generally stable and tested, but not static. It contains
new features, bug fixes, and documentation updates that have not been compiled
into a production release. Before proceeding with new development, it is
recommended to explore the ``dev`` branch. This branch is updated regularly
through pull requests, so be sure to ``git fetch`` often and check
`outstanding pull requests `_.

For those not familiar with git and GitHub, there are many resources:

* https://guides.github.com
* https://try.github.io
* https://help.github.com/categories/bootcamp/
* https://desktop.github.com/
* http://nvie.com/posts/a-successful-git-branching-model/

Compilation, Usage, and Development
-----------------------------------
Details for compiling
`compiling `_,
`using `_, and
`developing `_
OpenFAST and FAST.Farm on Unix-based and Windows machines are available at
`readthedocs `_.

Help
----
Please use `GitHub Issues `_ to:

* ask usage questions
* report bugs
* request code enhancements

Users and developers may also be interested in the NREL National Wind
Technology Center (NWTC) `phpBB Forum `_,
which is still maintained and has a long history of FAST-related questions
and answers.

Acknowledgments
---------------

OpenFAST and FAST.Farm are maintained and developed by researchers and software
engineers at the `National Renewable Energy Laboratory `_
(NREL), with support from the US Department of Energy's Wind Energy Technology
Office. NREL gratefully acknowledges development contributions from the following
organizations:

* Envision Energy USA, Ltd
* Brigham Young University
* The University of Massachusetts
* `Intel® Parallel Computing Center (IPCC) `_

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 10,366
Total Committers: 96
Avg Commits per committer: 107.979
Development Distribution Score (DDS): 0.707

Commits in past year: 675
Committers in past year: 20
Avg Commits per committer in past year: 33.75
Development Distribution Score (DDS) in past year: 0.607

Name Email Commits
Bonnie Jonkman b****n@n****v 3033
andrew-platt a****t@n****v 1628
Qi Wang q****2@n****v 1124
Rafael M Mudafort r****f@g****m 1033
Emmanuel Branlard e****d@n****v 714
Greg Hayman g****n@n****v 341
Lu Wang L****g@n****v 279
Derek Slaughter d****r@g****m 261
Mike Sprague m****e@n****v 204
John Michalakes j****s@n****v 174
Greg Hayman h****y@g****m 142
Hannah Ross h****s@n****v 139
cortadocodes c****s@p****m 123
Mayank Chetan m****n@g****m 98
RyanDavies19 r****9@g****m 88
Greg Hayman g****n@n****v 82
Matt Hall 5****l 78
Jason Jonkman j****n@n****v 74
Ganesh Vijayakumar g****r@n****v 73
Marshall Buhl m****l@n****v 57
reos-rcrozier 9****r 46
Russell9798 1****8 42
unknown n****n@n****v 34
Bortolotti p****i@g****m 30
Marco Masciola m****a@n****v 29
Roger Bergua r****a@n****v 28
el e****o 27
unknown n****1@n****v 24
Shreyas Ananthan s****s@u****u 24
Emmanuel Branlard e****.@g****m 23
and 66 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 1,460
Total pull requests: 984
Average time to close issues: 3 months
Average time to close pull requests: 28 days
Total issue authors: 537
Total pull request authors: 68
Average comments per issue: 4.74
Average comments per pull request: 1.63
Merged pull request: 872
Bot issues: 0
Bot pull requests: 6

Past year issues: 315
Past year pull requests: 245
Past year average time to close issues: 17 days
Past year average time to close pull requests: 7 days
Past year issue authors: 136
Past year pull request authors: 21
Past year average comments per issue: 3.55
Past year average comments per pull request: 0.92
Past year merged pull request: 201
Past year bot issues: 0
Past year bot pull requests: 6

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/openfast/openfast

Top Issue Authors

  • jjonkman (50)
  • andrew-platt (48)
  • ebranlard (32)
  • ZL6462 (31)
  • tchatte3 (23)
  • rafmudaf (23)
  • shipors (22)
  • May0048 (19)
  • sffgd (18)
  • RBergua (18)
  • YangLeiTH (16)
  • robytian (16)
  • HANloading (15)
  • bjonkman (15)
  • ietqlw (13)

Top Pull Request Authors

  • andrew-platt (283)
  • rafmudaf (138)
  • bjonkman (116)
  • ebranlard (81)
  • deslaughter (71)
  • luwang00 (44)
  • RyanDavies19 (20)
  • hkross (17)
  • mayankchetan (16)
  • gantech (15)
  • ghost (14)
  • sayerhs (11)
  • ashesh2512 (10)
  • HaymanConsulting (10)
  • jjonkman (9)

Top Issue Labels

  • Type: Question (420)
  • Type: Bug (359)
  • Type: Enhancement (203)
  • FAST.Farm (131)
  • Type: Usage question (118)
  • Module: AeroDyn (114)
  • Module: HydroDyn (100)
  • Module: ElastoDyn (78)
  • Module: BeamDyn (62)
  • Module: ServoDyn (58)
  • Type: Documentation (53)
  • Type: Build issue (47)
  • Sytem: MATLAB/Simulink (47)
  • Module: InflowWind (42)
  • Module: MoorDyn (42)
  • Module: TurbSim (42)
  • Type: Testing (42)
  • Module: SubDyn (37)
  • Type: Compiling Question (36)
  • System: Visual Studio (26)
  • System: CMake (26)
  • Module: OLAF (23)
  • System: Windows (22)
  • System: Unix (19)
  • Feature: Linearization (16)
  • Help wanted (14)
  • Module: MAP++ (13)
  • Module: Lidar (9)
  • Compiler: Intel (9)
  • System: MinGW/CygWin (8)

Top Pull Request Labels

  • Module: AeroDyn (153)
  • Type: Bug (143)
  • Type: Enhancement (129)
  • Module: HydroDyn (88)
  • Type: Testing (86)
  • Type: Documentation (72)
  • System: CMake (59)
  • Module: InflowWind (56)
  • FAST.Farm (54)
  • Module: MoorDyn (51)
  • Module: NWTC Lib (46)
  • Module: BeamDyn (45)
  • Type: Build issue (45)
  • Module: OpenFAST Lib (37)
  • C++ API (35)
  • System: Visual Studio (33)
  • Module: SubDyn (31)
  • Module: ElastoDyn (30)
  • Module: ServoDyn (29)
  • Feature: Linearization (28)
  • FAST Registry (23)
  • Sytem: MATLAB/Simulink (23)
  • Compiler: Intel (23)
  • Module: MAP++ (21)
  • Module: SeaState (19)
  • Feature: MHK (17)
  • Type: IO Readers/Writers (14)
  • Module: TurbSim (13)
  • Status: Review (13)
  • Module: AWAE (12)

Package metadata

proxy.golang.org: github.com/openfast/openfast

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/openfast/openfast#section-documentation
  • Licenses: apache-2.0
  • Latest release: v4.0.4+incompatible (published 2 days ago)
  • Last Synced: 2025-04-29T16:33:59.727Z (1 day ago)
  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 1.622%
    • Average: 4.057%
    • Dependent packages count: 6.492%
proxy.golang.org: github.com/OpenFAST/openfast

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/OpenFAST/openfast#section-documentation
  • Licenses:
  • Latest release: v4.0.4+incompatible (published 2 days ago)
  • Last Synced: 2025-04-29T16:34:07.304Z (1 day ago)
  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%
conda-forge.org: openfast

NREL-supported OpenFAST whole-turbine simulation code

  • Homepage: https://github.com/openfast/openfast
  • Licenses: Apache-2.0
  • Latest release: 3.3.0 (published over 2 years ago)
  • Last Synced: 2025-04-02T02:57:05.291Z (29 days ago)
  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Forks count: 7.926%
    • Stargazers count: 17.29%
    • Average: 27.604%
    • Dependent repos count: 34.025%
    • Dependent packages count: 51.175%
pypi.org: openfast_io

Readers and writers for OpenFAST files.

  • Homepage:
  • Documentation: https://openfast_io.readthedocs.io/
  • Licenses: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
  • Latest release: 4.0.4 (published 2 days ago)
  • Last Synced: 2025-04-29T16:33:13.557Z (1 day ago)
  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,940 Last month
  • Rankings:
    • Dependent packages count: 9.845%
    • Average: 32.631%
    • Dependent repos count: 55.418%
  • Maintainers (1)

Dependencies

.github/workflows/automated-dev-tests.yml actions
  • ./.github/actions/tests-module-aerodyn * composite
  • ./.github/actions/tests-module-beamdyn * composite
  • ./.github/actions/tests-module-hydrodyn * composite
  • ./.github/actions/tests-module-inflowwind * composite
  • ./.github/actions/tests-module-moordyn * composite
  • ./.github/actions/tests-module-nwtclibrary * composite
  • ./.github/actions/tests-module-subdyn * composite
  • ./.github/actions/tests-module-version * composite
  • actions/cache v3.0.4 composite
  • actions/checkout main composite
  • actions/setup-python v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/conda-deploy.yml actions
  • actions/checkout main composite
docs/requirements.txt pypi
  • Pygments >=2.2
  • Sphinx >=1.8.5
  • breathe >=4.4
  • docutils ==0.16
  • pyparsing >=2.1
  • requests *
  • sphinx_rtd_theme >=0.3
  • sphinxcontrib-bibtex >=2.0.0
  • sphinxcontrib-doxylink >=1.3
  • sphinxcontrib-mermaid >=0.6
.github/actions/tests-gluecode-openfast/action.yml actions
.github/actions/tests-module-aerodyn/action.yml actions
.github/actions/tests-module-beamdyn/action.yml actions
.github/actions/tests-module-hydrodyn/action.yml actions
.github/actions/tests-module-inflowwind/action.yml actions
.github/actions/tests-module-moordyn/action.yml actions
.github/actions/tests-module-nwtclibrary/action.yml actions
.github/actions/tests-module-subdyn/action.yml actions
.github/actions/tests-module-version/action.yml actions
share/docker/openfast_dev/Dockerfile docker
  • rafmudaf/openfast-ubuntu v2.3.0 build
share/docker/openfast_ubuntu/Dockerfile docker
  • ubuntu bionic build

Score: 19.642595245116986