AMR-Wind is a large-eddy simulation code intended for simulations of individual wind turbines as well as wind farms. The official documentation is here and the official codebase is here. As of June 2023, the code has been used to do big wind simulations with 541 turbines in a 100 km x 100 km domain, and it has been used for blade-resolved simulations of small clusters of turbines.
AMR-Wind was designed to run on both CPUs and GPUs. In practice, I think people mostly run on CPUs today. But, as our supercomputer systems shift to get their compute power from GPUs, I anticipate that AMR-Wind users will shift more heavily to GPUs.
AMR-Wind is built with the block-structured adaptive mesh refinement framework AMReX. AMReX was developed with significant help from the U.S. Department of Energy's Exascale Computing Project (ECP). AMReX serves as the basis for many other codes, with applications ranging from combustion to atsrophysics. I'll note here that, while you can in theory run AMR-Wind with a grid that is dynamically refined, in practice AMR-Wind is usually run with a static grid. The backbone of the flow solver within AMR-Wind was adapted from incflo ("incompressible flow"), and this inheritance is obvious among some of the source file names and input arguments.
AMR-Wind is a component of the broader ExaWind project. Some other relevant codebases include:
- Nalu-Wind - an unstructured flow solver for wind turbines and wind farms. It is possible to run blade-resolved CFD, where AMR-Wind is used further from the turbine, and Nalu-Wind is used near the turbine.
- Tioga - a code that acts as the interface between structured and unstructured grids.
- OpenFAST - a CPU-based code to do detailed modeling of turbine dynamics
- OpenTurbine - a new GPU-compatible code to do detailed modeling of turbine dynamics (under heavy development, as of FY23)
- amrwind-frontend - A tool to help set up, visualize, and post-process AMR-Wind simulations. It has a GUI interface as well as a Python interface.
In addition to the official docs, here are some other resources that might be helpful.
- Lawrence Cheung's full-scale simulation with AMR-Wind as part of the AWAKEN project (the precursor simulation without turbines, the turbine simulation)
- Some extra guidance on AMR-Wind simulations from Lawrence Cheung
- Regis Thedin's windtools, for post-processing output of AMR-Wind
- AMReX documentation on how to post-process plotfiles (aka data found in
plt#####/
)