{"id":26005375,"url":"https://github.com/precice/openfast-adapter","last_synced_at":"2025-03-05T20:53:46.088Z","repository":{"id":219291896,"uuid":"747633891","full_name":"precice/openfast-adapter","owner":"precice","description":"Couples the wind energy engineering tool OpenFAST to CFD solvers via the coupling library preCICE","archived":false,"fork":false,"pushed_at":"2025-02-10T09:50:24.000Z","size":4412,"stargazers_count":8,"open_issues_count":5,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-02-10T10:39:02.519Z","etag":null,"topics":["cfd","coupling","multiphysics","openfast","windenergy"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/precice.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://precice.org/community-support-precice"}},"created_at":"2024-01-24T10:33:30.000Z","updated_at":"2025-02-10T09:50:27.000Z","dependencies_parsed_at":"2024-05-15T14:11:42.191Z","dependency_job_id":"e97151b4-5dad-4b23-bc94-b1b4837dd521","html_url":"https://github.com/precice/openfast-adapter","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":0.07692307692307687,"last_synced_commit":"5fbd4813a03d25a96c824235cd6f8ae43e505474"},"previous_names":["precice/openfast-adapter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precice%2Fopenfast-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precice%2Fopenfast-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precice%2Fopenfast-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precice%2Fopenfast-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/precice","download_url":"https://codeload.github.com/precice/openfast-adapter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242103940,"owners_count":20072368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cfd","coupling","multiphysics","openfast","windenergy"],"created_at":"2025-03-05T20:53:45.268Z","updated_at":"2025-03-05T20:53:46.069Z","avatar_url":"https://github.com/precice.png","language":"C++","funding_links":["https://precice.org/community-support-precice"],"categories":[],"sub_categories":[],"readme":"# preCICE-Openfast Adapter\n\n[![DOI badge](https://zenodo.org/badge/DOI/10.5281/zenodo.14809780.svg)](https://doi.org/10.5281/zenodo.14809780)\n\n⚠️ The state of the adapter is experimental.\n\n[OpenFAST](https://openfast.readthedocs.io/en/dev/index.html) is a multi-physics engineering tool for the aero-servo-elastic simulation of wind turbines. It includes modules for the modeling of aerodynamic, structural, and electrical behaviour of on- and offshore wind turbines.\n\nThis project aims to couple OpenFAST with CFD simulation tools with the coupling library [preCICE](https://precice.org/). Therefore, a preCICE-OpenFAST Adapter is being developed. The Adapter calls OpenFAST via the C++ API to drive the turbine simulation. Additionally, it calls the preCICE library to communicate and coordinate with CFD solvers like OpenFOAM.\n\nAs a first test case, the Adapter should be able to perform the coupled simulation of a single NREL5MW onshore turbine. OpenFAST calculates the forces and internal state of the turbine, while OpenFOAM is used as CFD solver to compute the inflow (see image).\n\n![img](images/openfast-coupling-scheme.png)\nSource: [OpenFAST documentation](https://ganesh-openfast.readthedocs.io/en/latest/_images/actuatorLine_illustrationViz.pdf), visited on 07.11.2023\n\n## Dependencies\n\n- [OpenFAST v3.5.0](https://openfast.readthedocs.io/en/main/source/install/index.html), with the C++ API enabled\n  - Building from source: `cmake -DBUILD_OPENFAST_CPP_API=ON .. \u0026\u0026 make`\n  - Getting from Spack: `spack install openfast+cxx` (but build with an MPI compiler, see [issue](https://github.com/precice/openfast-adapter/issues/2))\n- [preCICE v3.0.0](https://precice.org/installation-overview.html) or later v3.x.\n\n\u003e [!NOTE]  \n\u003e If you are using a different version of OpenFAST and want to run the provided cases, make sure to check if the OpenFAST input files are [suitable](https://openfast.readthedocs.io/en/main/source/user/api_change.html) for your version\n\n## Run a simulation\n\n- Install the adapter\n- Select a [simulation case](https://github.com/LeonardWilleke/openfast-adapter/tree/main/cases)\n- Compile the necessary scripts\n- Run the coupled simulation\n\nInstructions on how to compile the files and run the simulation are given in each case.\n\n## Installation\n\nClone the repository and switch to the source directory:\n\n```bash\ngit clone https://github.com/precice/openfast-adapter.git\ncd openfast-adapter/src\n```\n\nWe use **cmake** for the compilation by invoking a make script:\n\n```bash\nbash Allmake\n```\n\nThe adapter is built locally in the `bin` folder. To make it accessible on the whole system, you need to export the installation path after compilation.\n\nOpen the `.bashrc` file\n\n```bash\ncd ~\nnano .bashrc\n```\n\nand add the following line:\n\n```bash\nexport PATH={path_to_repository}/openfast-adapter/bin:$PATH\n```\n\nNow run\n\n```bash\nsource .basrhc\n```\n\nand restart your terminal.\n\nYou're good to go! If you want to re-compile the adapter, make sure to clean the old installation first by running `src/Allclean`.\n\n## References\n\nA more detailed description of the concept behind the adapter can be found in this [report](https://doi.org/10.5281/zenodo.14809779). Please consider citing the report if you are using the adapter.\n\n## License and attribution\n\nParts of the code in `src/openfast-adapter` were reused from a [OpenFAST C++ API example](https://github.com/OpenFAST/openfast/tree/v3.5.0/glue-codes/openfast-cpp/src/FAST_Prog.cpp), which is licensed under the [Apache 2 license](https://github.com/precice/openfast-adapter/tree/main/thirdparty).\n\n## Development contribution\n\nThe initial version of this adapter was developed by [Leonard Willeke](https://github.com/LeonardWilleke) during his research stay at Delft University of Technology in the group for [Wind Energy](https://www.tudelft.nl/en/ae/organisation/departments/flow-physics-and-technology/wind-energy) in collaboration with Evert Wiegant.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprecice%2Fopenfast-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprecice%2Fopenfast-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprecice%2Fopenfast-adapter/lists"}