Skip to content

jhux2/nalu-wind

 
 

Repository files navigation

Nalu-Wind

Website | Documentation | Nightly test dashboard

Nalu-Wind is a generalized, unstructured, massively parallel, incompressible flow solver for wind turbine and wind farm simulations. The codebase is a wind-focused fork of NaluCFD; NaluCFD is developed and maintained by Sandia National Laboratories. Nalu-Wind is being actively developed and maintained by a dedicated, multi-institutional team from National Renewable Energy Laboratory, Sandia National Laboratories, and Univ. of Texas Austin.

Nalu-Wind is developed as an open-source code with 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.

We hope that this community developed model will be used by research laboratories, academia, and industry to develop the next-generation of wind farm technologies. We welcome the wind energy community to use Nalu-Wind in their research. When disseminating technical work that includes Nalu-Wind simulations please reference the following citation:

Sprague, M. A., Ananthan, S., Vijayakumar, G., Robinson, M., "ExaWind: A multifidelity 
modeling and simulation environment for wind energy", NAWEA/WindTech 2019 Conference, 
Amherst, MA, 2019.

Documentation

Documentation is available online at https://nalu-wind.readthedocs.io/ and is split into the following sections:

  • Theory manual: This section provides a detailed overview of the supported equation sets, the discretization and time-integration schemes, turbulence models available, etc.

  • Verification manual: This section documents the results from verification studies of the spatial and temporal schemes available in Nalu-Wind.

  • User manual: The user manual contains detailed instructions on building the code, along with the required third-party libraries (TPLs) and usage.

All documentation is maintained alongside the source code within the git repository and automatically deployed to ReadTheDocs website upon new commits.

Compilation and usage

Nalu-Wind is primarily built upon the packages provided by the Trilinos project, which in turn depends on several third-party libraries (MPI, HDF5, NetCDF, parallel NetCDF), and YAML-CPP. In addition, it has the following optional dependencies: hypre, TIOGA, and OpenFAST. Detailed build instructions are available in the user manual. We recommend using Spack package manager to install Nalu-Wind on your system.

Testing and quality assurance

Nalu-Wind comes with a comprehensive unit test and regression test suite that exercise almost all major components of the code. The master branch is compiled and run through a regression test suite with different compilers (GCC, LLVM/Clang, and Intel) on Linux and MacOS operating systems, against both the master and develop branches of Trilinos. Tests are performed both using flat MPI and hybrid MPI-GPU hardware configurations. The results of the nightly testing are publicly available on CDash dashboard.

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 follow our contributing guidelines when submitting pull-requests.

License

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

Acknowledgements

Nalu-Wind is currently being developed with funding from Department of Energy's (DOE) Office of Science Exascale Computing Project (ECP) and Energy Efficiency and Renewable Energy (EERE) Wind Energy Technology Office (WETO). Please see authors file for a list of contributors to Nalu-Wind.

Releases

No releases published

Packages

No packages published

Languages

  • C 68.9%
  • C++ 27.0%
  • Fortran 2.5%
  • CMake 1.2%
  • Shell 0.3%
  • Python 0.1%