Giter VIP home page Giter VIP logo

turbinesfoam's Introduction

turbinesFoam

OpenFOAM v2306 OpenFOAM v2212 OpenFOAM v2106 DOI

turbinesFoam is a library for simulating wind and marine hydrokinetic turbines in OpenFOAM using the actuator line method.

Be sure to check out the development snapshot videos on YouTube.

Contributing

Pull requests are very welcome! See the issue tracker for more details.

Features

fvOptions classes for adding actuator lines and turbines constructed from actuator lines to any compatible solver or turbulence model, e.g., simpleFoam, pimpleFoam, interFoam, etc.

Installation

cd $WM_PROJECT_USER_DIR
git clone https://github.com/turbinesFoam/turbinesFoam.git
cd turbinesFoam
./Allwmake

Usage

There are tutorials located in turbinesFoam/tutorials.

Publications

Bachant, P., Goude, A., and Wosnik, M. (2016) Actuator line modeling of vertical-axis turbines. arXiv preprint 1605.01449.

How to cite

The latest release of turbinesFoam can be cited via DOI thanks to Zenodo: DOI

Acknowledgements

This work was funded through a National Science Foundation CAREER award, principal investigator Martin Wosnik (NSF CBET 1150797, Energy for Sustainability, original program manager Geoffrey A. Prentice, current program manager Gregory L. Rorrer).

OpenFOAM is free, open source software for computational fluid dynamics (CFD), developed primarily by CFD Direct, on behalf of the OpenFOAM Foundation.

Interpolation, Gaussian projection, and vector rotation functions adapted from NREL's SOWFA.

turbinesfoam's People

Contributors

andersgoude avatar daa-mec avatar petebachant avatar waffle-iron avatar wosnik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

turbinesfoam's Issues

End effects

There will need to be a measure of the distance from the end to each actuatorLineElement.

Refine dynamicStallModel::correct arguments

Should coefficient data be entered as an argument here? We should plan for a future Reynolds number correction model (#13). That model could act upon the static data before being sent to the dynamic model.

However, The coefficient data could be sent to the dynamic model upon construction, but it will still need to correct various constants for Reynolds number effects, e.g., S1, S2, and alpha1 for the LB model.

Need to have a turbine force field to write

Currently, each blade (actuatorLineSource) will write its own force field, but it would be good to see them all combined. This may require that actuatorLineSource has a method to access its force field rather than its force vector only.

Create turbineALSource base class

Both axial- and cross-flow turbines do essentially the same thing(rotate, addSup), except for their createBlades method and the existence of shafts, towers, struts, etc.

Include pitching moment

This should be included in airfoil tables and in the actuator line and actuator line element objects.

Inject turbulence from within turbine AL sources

Now that the actuator line can inject turbulence, the turbine AL models should also. We will need an addSup method that takes a scalar field equation argument, which also rotates and calculates performance for the turbulence generating actuator lines. This multiplies the amount of calculations by the number of source terms, but shouldn't be too bad resource-wise.

Create turbineArray class

This will also be read from fvOptions, creating a group of turbines. Will have its own performance metrics. Maybe should have a supercontroller to change turbine operating parameters to optimize array performance.

FUSED-wind integration

No idea what this would entail, but using an actuator line model would certainly be a relevant part of wind plant optimization.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.