- Multi-session (uncoupled) support
- Support unaligned symmetry boundary condition
- Support (unaligned) traction boundary condition
- Better performance on AMD MI-GPUs
- FLOP counters
- Various bug fixes
- OpenCL support is now disabled by default
- [udf] Rename
udfBuildKernel
=>oudfBuildKernel
- [par] Separate details of coarse grid discretization from coarse grid solver
e.g.,
coarseSolver = SEMFEM+AmgX
is replaced bycoarseSolver = AmgX
andcoarseGridDiscretization = SEMFEM
- [par] Remove
preconditioner=semg
andpreconditioner=semg_amg
- [udf] Rename plug-in name
avg
=>tavg
- [udf] Rename
udf.converged
=>udf.timeStepConverged
- [nrsconfig] Rename env-var
AMGX_ENABLE
=>ENABLE_AMGX
@tcew, @kris-rowe, @aprilnovak
We are grateful to all who added new features, filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.
A special shout out to Tim Warburton at VT for tuning some critical kernels.
- Flexible GMRES
- Constant flow rate
- Time step controller for targetCFL
- Improved runtime statistics
- Support for ROCm version > v4.0
- AVM for scalars
- FEMSEM preconditioner
- Update file (nekrs.upd) for runtime modifications
- Validate key/value input in par
- Various bug fixes
- [par]
preconditioner = multigrid
was replaced bypreconditioner = multigrid+coarse
- [par] Only valid
key/value
pairs will be accepted - [par] Default smootherType is
ASM+Chebyshev+degree=2
(instead of degree=1) - [fld] Only first checkpoint will contain mesh coordinates
- GMRES is now the default linear solver for pressure (higher memory usage)
- [udf] Use std namespace qualifier e.g.
std::cout
instead ofcout
- [udf] Rename
UDF_LoadKernels(nrs_t *nrs)
=>UDF_LoadKernels(occa::properties& kernelInfo)
- [udf] Replace argument
nrs_t *nrs
byocca::properties& kernelInfo
inudfBuildKernel()
,(plugin)::buildKernel()
- [udf]
UDF_LoadKernels(occa::properties& kernelInfo)
is no longer optional - Code crashes (Segmentation fault: invalid permissions) if MPI installation is not GPU aware unless you specify
NEKRS_GPU_MPI=0
in$NEKRS_HOME/nekrs.conf
@RonRahaman, @aprilnovak, @yslan
We are grateful to all who added new features, filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.
- Update to latest parRSB version
- Fix restart issue if restart time is non-zero
- Fix io-frequency issue
- Fix JIT issue for lowMach
- Disable gs-timers to prevent performance regression
- ASM and RAS smoother + Chebyshev acceleration
- Improved gs performance
- Initial guess projection
- Runtime averages
- Stress formulation
- ALE formulation to support moving meshes
- Linear algebra helpers
- Various bug fixes
- common block SCRNS was replaced by pointer array NRSSCPTR (see ethier example)
- boundary device functions and bc struct members in oudf were renamed
- manually copying nek's IC in UDF_Setup() is no longer required
- nrs->Nlocal was replaced by mesh->Nlocal
- nrs->options was replaced by platform->options
- nrs->linAlg was replaced by platform->linAlg
- nek_copyFrom() was renamed to nek::copyToNek()
- nek_copyTo() was renamed to nek::copyFromNek()
- cds->fieldOffset was replaced by cds->fieldOffset[i]
- nrs->mesh was replaced by nrs->meshV
- cds->mesh was replaced by cds->mesh[i]
- nrs->meshT was replaced by cds->mesh[0]
- mesh->rank was replaced by platform->comm.mpiRank
- mesh->comm was replaced by platform->comm.mpiComm
- mesh->device was replaced by platform->device
@RonRahaman, @aprilnovak, @roystgnr, @yslan, @pwang234
We are grateful to all who added new features, filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.
A special thanks goes to the CAPS Lab at ETHZ who helped to develop the moving mesh support.
- Initial release
- n/a
@AliKarakus, @thilinarmtb, @noelchalmers and @tcew for helping
We are grateful to all who added new features, filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions.