This is a major release introducing several significant changes in terms of features and functionalities, user interaction, and code improvements.

Release Notes

Changelog

Major updates / features

  • Support for multiple (arbitrary number of) scalars.
  • Support for scalar statistics and averaging any registered field.
  • New matrix-free algebraic hp-multigrid preconditioner.
  • C API with bindings for Python and Julia.
  • Native global interpolation, supporting both CPU and GPU backends.
  • Support for Collective Communication libraries on accelerators (NCCL/RCCL), both for reductions and point to point communication during gather-scatter operations.
  • Support for injection of components. Currently supported: Source terms, Simulation components, LES models, and Wall Models.
  • Support for cyclic boundary conditions.
  • Simulation components:
    • Support for differential operators gradient, curl and divergence.
    • Full support for LES models on all backends.
  • Source terms:
    • Application of a centrifugal force
    • Support for application of a sponge source term based on a reference velocity field.

Minor changes / fixes

  • Registries, both scratch and global registry now supports vector and matrix types.
  • Gradient jump penalisation is put under the source term umbrella.
  • The elementwise_average approach to estimate the filter lengthscale in LES is changed from average length evenly shared by each GLL point to average GLL spacing.
  • Simulation components:
    • vorticity is removed and replaced by the more general curl operator.
  • Source terms:
    • user_pointwise is removed.
    • user_vector is replaced by the user source term.

Full Changelog: https://github.com/ExtremeFLOW/neko/compare/v0.9.1…v1.0.0

Breaking API changes

A couple of features of Neko have been overhauled. This mean previous user files will need updates to support Neko v1.0

  • The case file structure has been updated.
  • The interface of user files have been updated.
  • Global registry of fields neko_field_registry have been renamed neko_registry.

/ᐠ. 。.ᐟ\ᵐᵉᵒʷˎˊ˗