Coder Social home page Coder Social logo

jrood-nrel / amr-wind Goto Github PK

View Code? Open in Web Editor NEW

This project forked from exawind/amr-wind

1.0 0.0 0.0 212.72 MB

AMReX-based structured wind solver

Home Page: https://exawind.github.io/amr-wind

License: Other

C++ 96.16% C 0.07% CMake 2.32% Python 1.43% Makefile 0.03%

amr-wind's Introduction

AMR-Wind

Website | User manual | API docs | Nightly test dashboard

Powered by AMReX Build Status

AMR-Wind is a massively parallel, block-structured adaptive-mesh, incompressible flow solver for wind turbine and wind farm simulations. The codebase is a wind-focused fork of incflo. The solver is built on top of the AMReX library. AMReX library provides the mesh data structures, mesh adaptivity, as well as the linear solvers used for solving the governing equations. AMR-Wind is actively developed and maintained by a dedicated multi-institutional team from Lawrence Berkeley National Laboratory, National Renewable Energy Laboratory, and Sandia National Laboratories.

The primary applications for AMR-Wind are: performing large-eddy simulations (LES) of atmospheric boundary layer (ABL) flows, simulating wind farm turbine-wake interactions using actuator disk or actuator line models for turbines, and as a background solver when coupled with a near-body solver (e.g., Nalu-Wind) with overset methodology to perform blade-resolved simulations of multiple wind turbines within a wind farm. For offshore applications, the ability to model the air-sea interaction effects and its impact on the ABL characteristics is another focus for the code development effort. As with other codes in the Exawind ecosystem, AMR-wind shares the following objectives:

  • an open, well-documented implementation of the state-of-the-art computational models for modeling wind farm flow physics at various fidelities that are backed by a comprehensive verification and validation (V&V) process;

  • be capable of performing the highest-fidelity simulations of flowfields within wind farms; and

  • be able to leverage the high-performance leadership class computating facilities available at DOE national laboratories.

Documentation

Documentation is organized into a user manual and a developer-focused API documentation. You can either browse the docs online by following the links, or you can generate them locally after downloading the code. Please follow the instructions in user manual to build documentation locally.

Compilation and usage

AMR-Wind is built upon the AMReX library. A snapshot of the AMReX library is distributed along with the AMR-Wind source code as a git-submodule. In addition to the AMReX library, you will require a modern C++ compiler that supports the C++17 standard. Users wishing to execute the code on high-performance computing (HPC) systems will also need MPI libraries installed on their system. The code can also be compiled using MPI+X, where X can be OpenMP for CPU shared memory parallelism, CUDA to target NVIDIA GPUs, HIP for AMD GPUs, or DPC++ for Intel GPUs.

Contributing, reporting bugs, and requesting help

To report issues or bugs please create a new issue on GitHub.

We welcome contributions from the community in form of bug fixes, feature enhancements, documentation updates, etc. All contributions are processed through pull-requests on GitHub. Please refer to the coding guidelines as a reference for the best practices currently used to develop AMR-Wind.

Versioning and tags

AMR-Wind uses a type of semantic versioning to help users navigate different versions of the code, which are labeled with GitHub tags. These tagged versions are not exhaustive, and they adhere to the following convention. Given a version number MAJOR.MINOR.PATCH:

  1. MAJOR version for changes to input file compatibility for key aspects of the solver, when a key model is changed to significantly affect results of simulations, when a major new capability is added
  2. MINOR version for when a significant feature is added (in a backward compatible manner), accumulation of smaller features, or changes to input file compatibility for less central aspects of the solver (e.g., post-processing, forcing terms)
  3. PATCH version for backward compatible bug fixes

License

AMR-Wind is licensed under BSD 3-clause license. Please see the LICENSE included in the source code repository for more details.

amr-wind's People

Contributors

sayerhs avatar asalmgren avatar jrood-nrel avatar michaeljbrazell avatar weiqunzhang avatar mbkuhn avatar marchdf avatar gdeskos avatar mic84 avatar tonyinme avatar gantech avatar psakievich avatar moprak-nrel avatar ashesh2512 avatar lawrenceccheung avatar diederikb avatar ndevelder avatar ewquon avatar maxpkatz avatar sbidadi9 avatar jbbel avatar paulmullowney avatar rybchuk avatar mchurchf avatar dependabot[bot] avatar neilmatula avatar yuya737 avatar stephan-rohr avatar misi9170 avatar itopcuoglu avatar

Stargazers

zhenrong-wang avatar

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.