-
Notifications
You must be signed in to change notification settings - Fork 82
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Documenting features and roadmap (#1215)
--------- Co-authored-by: Michael Kuhn <[email protected]>
- Loading branch information
Showing
24 changed files
with
309 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
.. _capabilities: | ||
|
||
Capabilities and Roadmap | ||
======================== | ||
|
||
This section documents a non-exhaustive list of current AMR-Wind | ||
capabilities and roadmap for future capabilities. | ||
|
||
.. tip:: | ||
|
||
If your project relies on a capability that is not yet present in | ||
AMR-Wind, please create an issue on the code project page. | ||
|
||
|
||
.. note:: | ||
|
||
This reflects the capabilities for AMR-Wind version 2.1.0 and above. | ||
|
||
|
||
Capabilities | ||
------------ | ||
|
||
.. tip:: | ||
|
||
The capabilities are linked to the relevant input file references | ||
(keyword `inp`) and documentation (keyword `doc`). Searching for | ||
those keywords in the `test/test_files` directory will give | ||
concrete examples of the feature usage. | ||
|
||
|
||
Methods and models | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
* Numerical methods | ||
|
||
* Advection: second order, piecewise parabolic, piecewise linear, WENO, Bell-Dawson-Shubin [:ref:`doc <discretization>`, :ref:`inp <inputs_incflo_advection>`] | ||
|
||
* Diffusion: second order, explicit, Crank-Nicolson, and implicit [:ref:`doc <discretization>`, :ref:`inp <inputs_incflo_diffusion>`] | ||
|
||
* Mesh refinement: static refinement for specified regions [:ref:`inp <inputs_static_refinement>`], adaptive mesh refinement [:ref:`inp <inputs_amr>`] (e.g., field based, curvature, q-criterion, vorticity [:ref:`inp <inputs_tagging>`]) | ||
|
||
* Mesh mapping for non-uniform cartesian grids [:ref:`doc <mapping>`, :ref:`inp <inputs_geometry>`] | ||
|
||
* Equations systems | ||
|
||
* Incompressible and low Mach formulations of Navier-Stokes :ref:`[doc] <governing_equations>` | ||
|
||
* Temperature | ||
|
||
* Level set | ||
|
||
* Subgrid scale kinetic energy :ref:`[doc] <turbulence>` | ||
|
||
* Specific dissipation rate :ref:`[doc] <turbulence>` | ||
|
||
* Passive scalar | ||
|
||
* Source terms for these PDEs [:ref:`doc <source_terms>`, :ref:`inp <inputs_momentum_sources>`] | ||
|
||
* Turbulence modeling | ||
|
||
* Large Eddy Simulation: constant Smagorinsky, AMD, one equation :math:`k_{sgs}`, Kosovic [:ref:`doc <turbulence>`, :ref:`inp <inputs_turbulence>`] | ||
|
||
* Wall models: log-law, constant stress, Schumann [:ref:`doc <wall_models>`, :ref:`inp <inputs_abl>`] | ||
|
||
* Reynolds-Average Navier-Stokes: :math:`k`-:math:`\omega` SST (and IDDES variant) [:ref:`doc <turbulence>`, :ref:`inp <inputs_turbulence>`] | ||
|
||
* Transport models | ||
|
||
* Constant transport coefficients [:ref:`inp <inputs_transport>`] | ||
|
||
* Two phase transport (separate coefficients for each material) [:ref:`inp <inputs_transport>`] | ||
|
||
Flow physics | ||
~~~~~~~~~~~~ | ||
|
||
* Wind energy physics | ||
|
||
* Atmospheric boundary layer (ABL): various stability states (stable, unstable, neutral), precursor simulations with inflow boundary planes for wind farm simulations, anelastic formulation, mesoscale forcing, geostrophic forcing, Coriolis forcing, Monin-Obukhov similarity theory, gravity forcing, gravity wave damping [:ref:`inp <inputs_abl>`] | ||
|
||
* Actuator turbine representations: Joukowsky disks, uniform disks, actuator line [:ref:`inp <inputs_actuator>`] | ||
|
||
* Coupling with OpenFAST | ||
|
||
* Coupling with Nalu-Wind for blade resolved simulations | ||
|
||
* Multiphase flows [:ref:`doc <multiphase>`] | ||
|
||
* Prescribed flow cases for verification of volume-of-fluid transport: Zalesak disk, vortex patch | ||
|
||
* Prescribed flow cases for verification of momentum equation coupled to volume-of-fluid transport: Zalesak disk scalar vel, vortex patch scalar vel | ||
|
||
* Validation and demonstration cases: sloshing tank, dam break, breaking waves, falling or inertial droplet | ||
|
||
* Methods to initialize volume-of-fluid field from an initial levelset field | ||
|
||
* Monitors conservation of mass and momentum | ||
|
||
* Ocean wave forcing (for multiphase flows) [:ref:`inp <inputs_ocean_waves>`] | ||
|
||
* Wave types: linear (monochromatic), Stokes (2nd- to 5th-order), irregular (input by modes files from HOS-Ocean) | ||
|
||
* Relaxation zones force wave profile to generate waves at lower x boundary or force toward quiescent flat interface at upper x boundary. Wave profile can also be enforced (instead of numerical beach) at upper x boundary for periodic simulations. | ||
|
||
* Boundary conditions | ||
|
||
* Periodic, outflow, inflow, walls, user-defined inflows [:ref:`inp <inputs_boundary_conditions>`] | ||
|
||
* Wall models (e.g., wall functions, stress) [:ref:`doc <wall_models>`, :ref:`inp <inputs_abl>`] | ||
|
||
* Inflow planes from precursor simulations [:ref:`doc <amrwind-abl-bndry-io>`, :ref:`inp <inputs_abl>`] | ||
|
||
* Mesoscale forcing [:ref:`doc <mesoscale_forcing>`, :ref:`inp <inputs_meso_forcing>`] | ||
|
||
* Synthetic turbulence [:ref:`inp <inputs_synthetic_turbulence>`] | ||
|
||
* Geometry | ||
|
||
* Immersed boundary | ||
|
||
* Coupling with Nalu-Wind for body-conforming meshes with overset methodology | ||
|
||
* Miscellaneous cases | ||
|
||
* Verification and validation cases: method of manufactured solutions, convecting Taylor-Vortex, Rayleigh-Taylor, passive scalar, Burggraf flow, channel flow, Ekman spiral, vortex dipole, vortex ring | ||
|
||
* Postprocessing | ||
|
||
* Visualization with VisIt, Paraview, yt | ||
|
||
* Sampling of fields with planes, point probes, lines, volumes, lidar, and radar [:ref:`doc <post_processing>`, :ref:`inp <inputs_sampling>`] | ||
|
||
* Sampling of fields at probes that follow free surface of liquid-gas flows [:ref:`inp <inputs_sampling_freesurface_sampler>`] | ||
|
||
* Scalar outputs such as kinetic energy, enstrophy, total wave energy, and norms [:ref:`doc <post_processing>`, :ref:`inp <inputs_sampling>`] | ||
|
||
* Turbulence averaging quantities such as Reynolds stresses [:ref:`inp <inputs_averaging>`] | ||
|
||
* Field plane averaging and second and third order moments | ||
|
||
* Derived fields and field operators such as vorticity, q-criterion, strain-rates, gradients, divergence, laplacian | ||
|
||
* in-situ post-processing with Ascent | ||
|
||
High performance computing | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
* Highly parallelized and performance portable | ||
|
||
* Shared memory parallelism with OpenMP threading | ||
|
||
* Distributed memory parallelism with MPI | ||
|
||
* Supports all major compilers (e.g., GCC, Intel, LLVM) | ||
|
||
* Runs on all major GPU vendors (NVIDIA, AMD, Intel) | ||
|
||
* Supported build systems: cmake, spack | ||
|
||
* Supported linear solvers | ||
|
||
* native AMReX solvers such as MLMG [:ref:`inp <inputs_mlmg>`] | ||
|
||
* hypre | ||
|
||
|
||
Roadmap | ||
------- | ||
|
||
The roadmap is an evolving, living document and does not purport to | ||
track every future capability. It is not a promise of future | ||
capabilities. The main use case is to inform users of | ||
potential upcoming new capabilities. | ||
|
||
Current development | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
* Inflow-outflow BCs to enable coupling amr-wind to ERF mesoscale modeling software | ||
|
||
* Temporal and spatial varying MMC forcing | ||
|
||
* Complex terrain | ||
|
||
* Improved wall conditions, e.g., non-uniform roughness, temperature and heat fluxes | ||
|
||
* Complex terrain though immersed boundary methods |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.