High-order methods have the potential to overcome the current limitations of standard CFD solvers. For this reason, we have been developing and improving our spectral element code for more than 35 years now. It features state-of-the-art, scalable algorithms that are fast and efficient on platforms ranging from laptops to the worldβs fastest computers. Applications span a wide range of fields, including fluid flow, thermal convection, combustion and magnetohydrodynamics. Our user community includes 500+ scientists and engineers in academia, laboratories and industry.
Features
Incompressible and low Mach-number Navier-Stokes
Spectral element disrectization
High-order conformal curved quadrilateral/hexahedral meshes
Semi-implicit 2nd/3rd order adaptive timestepping
Conjugate fluid-solid heat transfer
Efficient preconditioners
Parallel I/O
Lagrangian phase model
Moving and deforming meshes
Overlapping overset grids
Basic meshing tools including 3rd-party converters
LES and RANS turbulence models
VisIt & Paraview support for data analysis and visualization
Homepage
Download
Recent Releases
23.026 Jan 2025 19:48
major bugfix:
What is new?. Lagrangian phase model (one-way coupling). Overset grids (neknek). Particle tracking. Single source udf+oudf. Device support BoomerAMG. Improved runtime statistics. 4th-kind Chebyshev smoothers. Configureable time averaging. Extrapolation initialGuess method. Scaleable JIT compilation. Real gas support for lowMach. More examples. Various. Good to know: udf Changes in include files do not trigger a rebuild automatically. udf Plugins kernels will be loaded automatically (call in `UDF_LoadKernels` no longer required). Breaking Changes: nrsconfig Ensure env-vars `CC`, `CXX` and `FC` point to the correct MPI compiler wrappers (see README.md for an example). udf Plugin header files need to be included explicitly. udf Rename `bc- wrk` = `bc- usrwrk`. udf Update to new API of lowMach plugin (see lowMach example). Time step was added to `nekRS::outfld(..., int step...)`. par Use `pMGSchedule` instead of `pMultigridCoarsening` (see help for more details). par Rename writeControl value `runTime` = `simulationTime`. par Remove multigrid qualifier `coarse`. par Remove SEMFEM solver specification from key `preconditioner`, use `semfemSolver` instead. par Replace `stressFormulation = true` by `equation = navierStokes+variableViscosity`. par Replace bcType `Value` by `codedValue`. par Replace `elasticity` by `pcg+block` for mesh solver. Use occa::memory mesh_t objects for vgeo, cubvgeo, ggeom, sgeom, LMM, invLMM (no longer mirrored on host). All `boundaryIDs` need to be assigned in `boundaryTypeMap` (use `none` for an internal boundary). ## Known / Restrictions. Code is not fully optimized on CPUs in general and Intel GPUs. 485. 729. 258. Thanks to our Contributors: @neil-lindquist, @kris-rowe, @pwang234, @nandu90, @yhaomin2007. We are grateful to all who added new features, filed or helped resolve them. asked and answered questions, and were part of inspiring discussions.
|