Skip to content
Snippets Groups Projects
Forked from Nektar / Nektar
114 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG.md 78.08 KiB

Changelog

v5.7.0

Library

  • Modified MatrixFreeOp library switch initialisation to use BOOST_PP (!1794)
  • Fix memory-leak with LowEnergyBlock preconditioner for time-updated matrices (!1627)
  • Fix Fourier expansion integration weights are related test (!1803)
  • Separate MeshGraph input/output functions into a new class (!1778)
  • Added checkpoint file writing start time in the fieldconvert filter (!1789)
  • Fix fieldconvert filter incorrect boundary values (!1789)
  • Fix numerical precision issues with filters OutputStartTime (!1789)
  • Fix AdaptiveSFD for MPI (!1821)

IncNavierStokesSolver

  • Fix initial and boundary conditions in the moving reference frame (!1692)
  • Fix memory-leak for the Mixed_CG_Discontinuous projection when initializing the traceMep (!1806)
  • Add synthetic turbulence generation for the incompressible solver (!1664)

ShallowWaterSolver

  • Implement implicit time-discritization (!1784)

NekMesh

  • Added revolve module (!1825) FieldConvert
  • Add vortexinducedvelocity module to compute the vortex-induced velocity (!1824)

Miscellaneous

  • Use std::stod instead of boost::lexical_cast (!1819)

Documentation

  • Add initial documentation for the IncNavierStokesSolver (!1822)

v5.6.0

Library

  • Clean-up Set_Rhs_Magnitude function in NekLinSysIter (!1729)
  • Consistently use template parameters in VmathArray (!1748)
  • Fix issue with CMake and zlib versions >= 1.3.0 (!1744)
  • Add 1D demo and test of h-type convergence for a CG projection. (!1738)
  • Add 2D projection demo and tests following 1D added in MR !1738. (!1762)
  • Tidy up tolerance in NekLinSystIter and NekNonlinSysIter solvers (!1722)
  • Enable varcoeffs for Collections (!1701)
  • Fix misplaced " in Nektar++Config.cmake (!1742)
  • Further tidy-up in linear solver (!1761)
  • Use FwdTrans in UnsteadySystem when using Parareal (!1785)
  • Automate deployment of README.md to dockerhub (!1786)
  • Fix memory leak with Block preconditioner for time-updated matrices (!1737)
  • Support for implicit sliding meshes (!1787)
  • Fix compilation issue with OpenCASCADE 7.8.0 (!1799)
  • Fix MPI communicator for Parallel-in-Time (!1801)
  • Fix warnings issued by MSVC compiler in LibUtilities and StdRegions (!1740)
  • Fix Parareal convergence monitoring (!1802)
  • Avoid copying input/output to/from padded aligned arrays in MatrixFree operators(!1783)

CompressibleFlowSolver

  • Complete second Frechet derivative implementation (!1761)
  • Add conditional updating of elemental Mass and Laplacian matrices for LinearADR matrices (!1766)
  • Added routine to order expansion in an optimal manner for MatrixFree/Collection ops (!1770)
  • Fix PFASST I/O and pre-initialize coarse preconditioner for Parareal (!1749)
  • Remove collection offset arrays since no longer required (!1771)
  • Fix summary output (!1779)
  • Update Docker images to use bookworm (!1775)
  • Update clang-tidy and clang-format to v16 (!1777)
  • Add coverage metric capturing (!1776)

ShallowWaterSolver

  • Refractoring to reduce code duplication (!1782)

NekPy

  • Add binding to NekPy to check of geometry elements are valid (!1755)
  • Update NekPy to more modern packaging (!1747)
  • Add wrapper for selected SolverUtils classes, particularly Filter (!1379)
  • Add VTK support for OutputVtk module (!1379)
  • Add bindings for SolverUtils::EquationSystem and UnsteadySystem (!1752)
  • Return native Python types when getting session variables and parameters (!1380)

NekMesh

  • Fix optiKind flags in VarOpti for freenodes that are on more than a single curve / surface (!1597)
  • Fix VarOpti Surface Node Sliding on the CAD in 2D (!1569)
  • Add feature for r-adaption on user-defined CAD curves (!1349)
  • Add feature for r-adaption on user-defined CAD curves (!1349)
  • Add unit testing infrustructure and initial example (!1753)
  • Added a custom cmake cache file to load defaults for building only NekMesh without the solvers (!1641)
  • Extend peralign module to all types of meshes (!1702)

IncNavierStokesSolver

  • Matrix-Free LinearADR operator for VCSImplicit and others (!1627)
  • Make substepping normal velocity evaluation more efficient (!1795)

FieldConvert

  • Add range function as an option in Xml Input, align python usage and start depracation of -r option (!1791)

v5.5.0

Library

  • Fix Nektar++Config.cmake to use MPI_CXX (!1224)
  • Redesign of Parareal and PFASST driver (!1613)
  • Update default global system solver parameters for paralell-in-time (!1649)
  • Add member function in MPI communicator to check if time-parallel is enable (!1647)
  • Fixed FilterError for homogeneous expansions (!1640)
  • Fix ForcingAbsorption for homogeneous expansions (!1650)
  • Update AssemblyMap to reduce verbosity when using parallel-in-time (!1651)
  • Tidy-up of Collection library (!1622)
  • Tidy-up of I/O in BasicUtils (!1623)
  • Fix local implementation of CG with Null preconditioner (!1658)
  • Update to use C++17 nested namespaces (!1556, !1670)
  • Fix a minor bug in ProcessWallNormalData (!1663)
  • Fix Explist::v_GetNormals and GetElmtNormalLength (!1625)
  • Replace boost::random with std::random (!1673)
  • Add a new feature of Lagrangian points tracking in parallel (!1666)
  • Add Robin BC to xxt full solver (!1679)
  • Update Parareal file output and tidy-up Parareal/PFASST interpolation (!1678)
  • Move from boost::filesystem to std::filesystem (!1674)
  • Use [[deprecated]] attribute (!1682)
  • Fix QuadExp::v_ComputeTraceNormals(!1685)
  • Replace boost::thread with std::thread (!1687)
  • Replace boost::math::tgamma by std::tgamma(!1686)
  • Remove #include <boost/math/special_functions/fpclassify.hpp> header (!1686)
  • Replace boost::regex with std::regex (!1676)
  • Update SDC scheme for implicit PFASST (!1659)
  • Pre-allocate memory for GMRES (!1668)
  • Update hdf5 read to only read in selected elements to reduce memory overhead (!1351)
  • Remove arbitrary factor in GlobalLinSysIterative.cpp (!1694)
  • Some tidy-up in LinearAlgebra (!1699)
  • Some further tidy-up in LinearAlgebra (!1700)
  • Updated hdf5 to 1.12.3 (!1696)
  • Remove redundant tolerance limiter in GMRES (!1707)
  • Remove unused tolerance parameter in NekSys class and subclasses (1708)
  • Avoid repeatly operator assignment in NekNonlinSysNewton class (!1709)
  • Add an exact solution for GetLocCoords of straight-edge quad elements (!1704)
  • Add sliding mesh capability (!1605)
  • Remove MaxIterations parameter from AssemblyMap (!1710)
  • Consistently use relative tolerance for GMRES (!1706)
  • Fix use of absolute tolerance for iterative solvers (!1711)
  • Move solver info loading form NekSys (and its derived classes) to the callers (!1716)
  • Tidy physderiv and helmholtz in MatrixFreeOps (!1653)
  • Remove time estimation for Parareal and PFASST drivers (!1691)
  • Tidy and clarify implementation of Dirichlet boundary condition in GlobalLinSys (!1724)
  • Remove unused file NekLinAlgAlgorithms.hpp (!1728)

ADRSolver

  • Add support for spatially-constant, but variable direction, diffusion to ADRSolver. (!1669)
  • Inline Vmath library (!1667)
  • Refactor UnsteadyReactionDiffusion as a subclass of UnsteadyDiffusion (!1713)
  • Tidy-up ADRSolver (!1715)
  • Refactor UnsteadyAdvectionDiffusion as a subclass of UnsteadyAdvection (!1720)
  • Update UnsteadyReactionDiffusion solver for explicit time-stepping (!1731)
  • Refactor UnsteadyViscousBurgers as a subclass of UnsteadyInviscidBurgers solver (!1718)

CardiacEPSolver

  • Fix cell model history point filter output after base class change (!1342)
  • Add const qualifier to SetUniversalUniqueMap (!1644)
  • Add safety check for FinTime parameter for parallel-in-time (!1652)

IncNavierStokesSolver

  • Save BndElmtExpansion and avoid re-building (!1648)
  • Add Simo-advection and a switch for Simo-/Dong-advection to VCSImplicit (!1630)
  • Add a new feature of elasticaly mounted object using the moving reference frame (!1495)
  • Some tidy-up (!1693)
  • Fix memory leak in VCSImplicit due to matrix updating (!1688)
  • Rename Simo-/Dong-advection to Extrapolated/Updated respectively for VCSImplicit (!1717)
  • Update test for SuccessiveRHS parameter (!1727)
  • Fix segmentation error in IncNavierStokesSolver when AeroForces filter is used (!1726)
  • Added Examples in solvers/IncNavierStokesSolver/Examples, matching with the user-guide (!1723)
  • Extend support for IO timer levels to IncNavierStokesSolver (!1732)
  • Fixed issue with substepping when using mixed BCs (!1639)

CompressibleFlowSolver

  • Add three subsonic inflow boundary conditions: EnforceEntropyPresure, EnforceEntropyVelocity, and EnforceEntropyTotalEnthalpy (!1398)
  • Update implicit solver for implicit PFASST (!1659)
  • Some tidy-up in the compressible flow solver (!1698)
  • Fix ESDIRK scheme for compressible flow solver (!1690)
  • Some further tidy-up in compressible flow solver (!1700)

Documentation

  • Update instructions for VS2022 (!1714)
  • Update ADRSolver user guide (!1730)

ShallowWaterSolver

  • Reduce memory footprint of the Peregrine solver(!1680)
  • Fix Peregrine solver for Parareal output(!1689)

FieldConvert

  • Fix typo in user-guide and fix but for parallel-in-time FieldConvert (!1645)
  • Fixed FieldConvert -m addfld (!1500)
  • Add a new FieldConvert module to zero a plane in wavespace (!1632)
  • Fix tecplot output for line and plane points (!1497)

CI

  • Disable macOS Intel runner (!1655)
  • Upgrade Win10 runners (!1656)
  • Add clang-tidy support to CI for static analysis (!1556)
  • Remove some uncompiled files and add quality step to check (!1672)
  • Add clang-15 tester (!1671)
  • Update performance tests to use minimum execution time (!1733)
  • Fix missing dependencies for clang-tidy and uncompiled-files jobs (!1736)

NekMesh

  • Replace deprecated boost::filesystem functions (!1654)
  • Remove deprecated AddTraceIntegral interface from ExpList.h (!1646)

Packaging

  • Remove unnecessary Boost dependencies after C++17 migration (!1734)

Miscellaneous

  • Add a particle tracker utilitiy using equation system infrastructure (!1310)
  • Remove deprecated fs::copy_directory function call (!1662)
  • Added a sample python script for wallnormaldata module (!1663)
  • Replace boost::lexical_cast with std::to_string for integer variable (!1677)
  • Use [[maybe_unused]] attribute in solvers (!1683)
  • Use [[maybe_unused]] attribute in library (!1684)
  • Fix sse2 SIMD bug (!1559)
  • Improved the Incompressible NS section of User-guide (!1719)

v5.4.0

Library

  • Add unit tests for Polylib (!1533)

  • Add the absolution tolerance for the iterative linear system solver (!1549)

  • Redesign of Parareal driver (!1509)

  • Add PFASST driver (!1501)

  • Add local p-refinement functionality (!1508)

  • Tidy-up SDC schemes (!1550)

  • Add min/max and fmin/fmax function to the interpretor registry (!1552)

  • Fix a _m128d to _m128i conversion bug in sse2.hpp (!1551)

  • Register TimeIntegrationMethod to SessionReader (!1539)

  • Remove unecessary for loop in NekLinSysIterGMRES (!1554)

  • Generalize the use of size_t in TimeIntegration (!1555)

  • Fix convergence error in Fixed-point Jacobi algorithm (!1561)

  • Tidy-up NekLinSys (!1562)

  • Tidy-up TimeIntegration (!1505)

  • Fix Adams-Bashforth time integration scheme (!1558)

  • Remove unused Kernel directory (!1560)

  • Remove unused files in BasicUtils (!1564)

  • Fix convergence error in Fixed-point Jacobi algorithm (!1561)

  • Update parallel-in-time code base in fieldconvert (!1565)

  • Tidy-up Basis and Points classes (!1568)

  • Remove unused function GetKey in NekFactory (!1567)

  • Add new functionality and code improvements for the local p-refinement (!1571)

  • Fix v_Exscan compilation bug (!1566)

  • Tidy-up of comm class (!1572)

  • Tidy-up Nektar tolerances (!1570)

  • Tidy-up UnsteadySystem (!1579)

  • Fix StaticCond approach + GMRES when restarting (!1583)

  • Tidy-up NekManager (!1587)

  • Slightly reduce memory allocation in GMRES (!1586)

  • Tidy-up Advection class (!1580)

  • Tidy-up diffusion class and subclasses (!1581)

  • Tidy-up NekNonlinSys and fix some issues (!1563)

  • Avoid pre-allocating memory in GMRES (!1591)

  • Added a local space version of GMRES and ConjugateGradient (!1575)

  • Added a jacobi preconditioner building on diagonal impelemtation (!1575)

  • Add a priori convergence and null-input check to GMRES (!1590)

  • Some tidy-up in StdRegions (!1595)

  • Tidy-up/removed unused Lapack function definition (!1573)

  • Some Tidy-up in MatrixFreeOps (!1599)

  • Accelerate interpolation for regular and straight-edge elements (!1283)

  • Fix an indexing error in MatrixFreeOps (!1602)

  • Update Session File for Parallel-in-Time (!1516)

  • Partially fix hdf5 partition for Parareal (!1611)

  • Update Collection for Parareal-in-Time (!1607)

  • New version of CreateCollection using basisKey (!1603)

  • Remove unused Domain.cpp and Domain.h file (!1609)

  • Remove useless ReadExpressions and SubstituteExpressions function in sessionReader (!1608)

  • Corrected workspace size in triangle BwdTrans (!1610)

  • Reactivate Reactivate Movement_fixed_3D_stacked_cylinders_curved_hdf5_par test except on ARM MacOS (!1536)

  • Updated the PETSc version to v3.19.3 for THIRDPARTY_USE_PETSC, enabled local PETSc version usage (!1618)

  • Rename communicator in LinearAlgebra (!1612)

  • Add IProductWRTDerivBase operator for 3DH1D problems (!1483)

  • Full support of mixed-order elements in DG (!1606)

  • Refactoring collections for allowing variable output size inside the collections' operators, introduced PhysInterp1DScaled in Collections (!1620)

  • Use default keyword for destructor in Driver (!1624)

  • Add additional test for SDC time-integration(!1621)

  • Fix to compiler flags for MSVC (!1604)

  • Correct bug in scotch initialisation for substructuring (!1634)

  • Add ability to build up Movement objects programmatically (!1600)

  • Write out movement data to XML files (!1600)

CompressibleFlowSolver

  • Fix AUSM3 Riemann solver and add tests to the CI (!1537)
  • Set initial condition check points files to zero (0) (!1535)
  • Prevent file overwrite with restart for the Compressible flow solver (!1540)
  • Register Projection and GJPStabilisation in SessionReader (!1542)
  • Redesign of AUSM Riemann solver class (!1577)
  • Redesign of the compressible flow solver. Removal of RinglebFlow and IsentropicVortex subclasses (!1584)
  • Redesign of PreconCfs class (!1578)
  • Fix virtual functions in ContField class (!1616)
  • Tidy-up Compressible flow solver print status (!1615)
  • Update of for parallel-in-time (!1589)
  • Fix some memory bugs for implicit compressible flow solver with LDGNS (!1617)

IncNavierStokesSolver

  • Add an option to mask variables for the linear stability problem (!1280)

ShallowWaterSolver

  • Fix NonlinearPeregrine solver due to a change of API (!1637)

FieldConvert

  • Add option to use .csv files in pointdatatofld module (!1545)
  • Add a new module to output power spectral in a given area (!1271)
  • Add a new module to do field averaging (!1271)

IncNavierStokesSolver

  • Register SolverType in SessionReader (!1541)
  • Prevent file overwrite with restart for the IsentropicVortex solver (!1543)
  • Fix GJP stabilisation for curved 3D elements (!1593)
  • Enable SVV and GJP stabilisation for unresolved scales in VCSImplicit (!1592)
  • Fix tolerance in KovaFlow_m10_VCSImplicit_SVV (!1619)

Miscellaneous

  • Fix compilation against TetGen 1.6 (!1547)
  • Tidy-up Parareal initial condition output (!1534)
  • Remove double entry in documentation and slightly tidy-up code (!1530)
  • Fixed deadlock problem for the LowEnergyBlock preconditioner which appeared for specific combinations of meshes and boundary conditions (!1553)
  • Add a check to avoid unnecessary copy in DoOdoProjecton function (!1582)
  • Update user guide and developer guide (!1598)
  • Some various tidy-up (!1585)
  • Added support for performance tests (!1614)
  • Integrated performance tests into the CI system and enabled a test (!1629)
  • Added additional performance tests and updated test documentation (!1631)
  • Fix VmathTimer compilation error (!1635)
  • Fix SIMD compilation error (!1636)
  • Update ShallowWaterSolver performance test (!1643)

NekMesh

  • Changed CMake to set NEKTAR_USE_THREAD_SAFETY to ON when MeshGen is set to ON (!1546)
  • Fix VarOpti Tolerances (!1569)
  • Fixed a bug where MeshElement/Tetrahedron did not assign edge IDs in the constructor (!1596)
  • Reduce VarOpti memory usage by removing the storage for GetFunctional in NodeOpti (!1633)

Documentation

  • Fix missing Tikz external package requires for bookworm (!1638)

CI

  • Add testing and packaging for Debian bookworm (!1638)
  • Added a NekMesh docker image and added the image to the CI (!1641) NekPy
  • Add bindings for Movement-related classes (!1600)
  • Add bindings for various helpful methods in the SpatialDomains library (!1600)

v5.3.0

Library

  • Fixed avx512 back-end for SimdLib (!1333)
  • Remove unnecessary IterPerExp methods (!1366)
  • Added float to scalar and avx2 back-end, disable avx512, sse2, sve (!1255)
  • Updated the library to use m_phys and m_coeff as function arguments (!1412)
  • Added float and restored SVE back-end for SimdLib (!1373)
  • Fix VmathSIMD by adding optional mapping with # of lanes (!1388)
  • Added float and restore avx512 back-end for SimdLib (!1387)
  • Fix namespace pollution which causes boost 1.74+ errors (!1389)
  • Fix missing copy assignment operator warnings in clang 13+ (!1391)
  • Added checkpoint file writing start time in the checkpoint filter (!1401)
  • Fix boost 1.77 compatibility errors (!1420)
  • Replaced depricated "sprintf" with "std::to_string" (!1406)
  • Add compatiblity patch to solve conflict between flex 2.6.3 and scotch 6.0.4 (!1410)
  • Add Parareal Driver module (!1317)
  • Maintenance for C++-17 compatibility: removed std::unaray_function base class due to removal from the std (!1419)
  • Fixed the comment of function Vvtvvtp in VmathArray (!1408)
  • Add a FieldConvert utility to compute the divergence of the velocity (!1413)
  • Added new filter to calculate variables integral on composite mesh (!1409)
  • Overload PhysEvaluate to give first derivatives using barycentric interpolation (!1323)
  • Non-conformal interface support (!1323)
  • Fix a I/O issue related to the IO_InfoSteps parameter (!1422)
  • Fix a I/O issue related to the IO_CheckSteps parameter (!1423)
  • Fix boost 1.77 compatibility errors (!1402)
  • Replaced depricated "sprintf" with "std::to_string" (!1406)
  • Add compatiblity patch to solve conflict between flex 2.6.3 and scotch 6.0.4 (!1410)
  • Templating FieldUtils::Interpolator class (!1420)
  • Fix virtual function overrides in StdRegions and LocalRegions classes (!1435)
  • Disable -Werror by default (!1443)
  • Add missing override keyword to virtual functions in FieldUtils (!1452)
  • Add override keyword to virtual functions in GlobalMapping and MultiRegions (!1450)
  • Add fmod and modulus operator to interpreter (!1089)
  • Add command line option and environment variable to disable backup field files (!1154)
  • Add override keyword to virtual functions in SpatialDomains (!1448)
  • Add missing override keyword to virtual functions in Collections (!1453)
  • Update tutorial submodule (!1511)
  • Add missing override keyword to virtual functions in SolverUtils (!1451)
  • Add missing override keyword to virtual functions in LibUtilities (!1459)
  • Enable ARM macOS runner, fixes for SCOTCH allocation and PETSc detection on macOS (!1462)
  • Add FieldConvert module and filter to project velocity into body-fitted coordinate system (!1467)
  • Add Curl operator to ExpList (!1475)
  • Changed LinearAdvectionDiffusionReactionSolve arguments to be equivalent to HelmSolve (!1475)
  • Added detection for advection matrices in GlobalLinSysIterative with silent switch from CG to GMRES (!1475)
  • Added non-symmetric laplacian matrices via varcoeffs (!1475)
  • Added matrix-free operator for LinearAdvection (!1475)
  • Fix uninitialized coordinates in the Bodyforcing (!1472)
  • Fix body-fitted velocity filter and also record the max/min for density,pressure, and temperature field (!1490)
  • Fix typos in Vmath and VDmath (!1480)
  • Fix minor typo and removed unused functions in LibUtilities/TimeIntegration (!1476)
  • Fix RK5 time integration scheme (!1482)
  • Fix fld file import for SingleMode expansion (!1487)
  • Fix ESDIRK time integration scheme (!1484)
  • Fix IMXGear time-integration scheme for consistent second-order accuracy (!1489)
  • Fix ESDIRK time integration scheme (!1484)
  • Fix TimeIntegrationDemo.cpp and add ESDIRK tst files to the CI (!1485)
  • Add DIRKOrder1, BDFImplicitOrder3, BDFImplicitOrder4, RungeKutta1, and RungeKutta3 schemes to the register (!1485)
  • Use DIRK (instead of IMEXdirk) schemes for the start-up phase of high-order BDF and AM schemes (!1485).
  • Fix IMEXdirk_1_2_2 and IMEXdirk_2_3_3 time-integration schemes (!1499)
  • Add extrapolation time-integration scheme (!1488)
  • Fix CNAB/MCNAB time-integration schemes (!1493)
  • Slightly tidy-up time integration algorithms (!1496)
  • Reduced memory usage in the FilterHistoryPoint (!1458)
  • Remove redundant functor typedef (!1498)
  • Add missing m_ prefix to member variables in FFTW (!1504)
  • Make some virtual functions protected (!1506)
  • Remove trailing CONDITIONS tag in xml files (!1510)
  • Disable problematic Movement_fixed_3D_stacked_cylinders_curved_hdf5_par test (!1507)
  • Fix I/O issue related to Hdf5 that was unable to open file and fixed similar issue in other IO classes in BasicUtils (!1512)
  • Remove unused function SetUpXmlDoc (!1513)
  • Add new interpolation function to FieldUtils (!1514)
  • Generalize the use of the space communicator (!1518)
  • Add parallel-in-time feature to FieldConvert (!1520)
  • Add Spectral Deferred Correction (SDC) time integration schemes (!1481)
  • Redesign of Spectral Deferred Correction (SDC) algorithm (!1523)
  • Modify SessionReader to read restart/exact solution files parallel-in-time (!1521)
  • Fix Polylib_test.cpp (!1524)
  • Update to Parareal file output (!1517)
  • Add convergence criteria to Parareal driver (!1457)
  • Add time metadata to tecplot output (!1525)
  • Fix segmentation fault when no time integration method specified for unsteady problem (!1526)
  • Set adjacent elements for m_bndcondExpansions for both CG and DG (!1491)
  • Fix inconsisten treatment of 1D and 2D/3D expansions in DisContField::v_GetBoundaryToElmtMap (!1491)
  • Tidy-up parallel-in-time processing in FieldConvert (!1529)

Python

  • Add wrappers for Interpreter and Equation classes (!1329)

CompressibleFlowSolver

  • Added Laplacian (NonSmooth) AV to the explicit Navier Stokes solver (!1372)
  • Added Physical AV to the implicit Navier Stokes solver (!1372)
  • Fixed Segmentation Fault when using C0 Smoother with Shock Capturing (!1394)
  • The Incomplete IP method was made the default method for the IP method (!1377).
  • Add additional parameters for the Isentropic Vortex equation system (!1323)
  • Improve performance of the perconditioner and diffusion operator (!1393)
  • Re-add the SFD test with an updated restart file (!1399)
  • Improve performance of the block diagonal operator of the preconditioner (!1404)
  • ExtractSurface2DCSF utility is updated to use the boost program option (!1407)
  • Fix a Wuninitialized-const-reference warning (!1449)
  • New implementation of the Stagnation Inflow Boundary Condition (!1478)
  • Remove m_root in PreconCfs to avoid possible future conflict with parallel-in-time driver (!1515)
  • Update to Parareal file output (!1517)

CardiacEPSolver

  • Fix a shadowed loop counter variable in the benchmark filter (!1436)
  • Update functions in derived classes to be consistent with the base class and add override keyword to virtual functions (!1439)
  • Add dummy projection to CardiacEPSolver (!1527)

IncNavierStokesSolver

  • Replaced depricated "sprintf" with "std::to_string" (!1406)
  • Extended Reynolds Stresses filter to passive scalars (!1430)
  • Added Implicit Solver (!1475)
  • Fixed Taylor-Hood expansion for VCSWeakPressure (!1444)
  • Fix filename in LinearisedAdvection (!1479)
  • Added scalar advection terms to AdjointSolver (!1466)
  • Remove member variables as funtion parameters in LinearisedAdvection solver (!1522)

VortexWaveInteractionSolver

  • Replaced depricated "sprintf" with "std::to_string" (!1406)

DummySolver

  • Fix CWIPI test to use DirectFull for projection of received data (!1502)

NekMesh

  • Replace VTK pointers with VTK smart-pointers to avoid memory leaking, when exporting in .vtu format (!1386)
  • Preserve CAD face labels and save in to session file as a "NAME=" tag on the composites (!1396)
  • Fix a header include which caused compilation errors on OCC versions newer than v7.4 (!1395)
  • Add option to refine curves in the same manner as the line refinement functionality (!1298)
  • Add refined curves and refined lines now prompt the octree to subdivide until the desired refined delta is reached (!1298)
  • Fix a segmentation fault with WriteOctree due to missing 'order' parameter (!1418)
  • Multi domain input/output for Nekpp and HDF5 file formats (!1323)
  • Fix CADSurfOCE curvature bug where negative curvature values could be returned causing incorrect mesh spacing (!1442)
  • Fix ProjectCAD bug with findAndProject where the projection was missing and variable was passed without reference (!1442)
  • Fix 3d_bl_wing test case for STEP files where the wrong surfaces were selected for the BL (!1442)
  • Fix error when setting BL progression to 1.0 due a division by 0 (!1455)
  • Changed the BOOLPARAMETERS tag in InputMCF to allow disabling the high order surface optimisation with "DisableSurfaceOptimiser" (surface optimisation is still enabled by default) (!1455)
  • Fix 3d_bl_wing test case for STEP files - updated to use an improved CAD definition for the NACA aerofoil (!1486)

FieldConvert

  • Add vars and dirs options in the gradient module to specify fields and partial derivative directions (!1415)
  • Fix range option so that it also works with hdf5 (!1414)
  • Fix halfmodetofourier module with triangles (!1492)
  • Fix the output field names of WSS module of FieldConvert, revert !1352 (!1528)

Miscellaneous

  • Updated gitignore to be friendly with CLion IDE (!1405)
  • Correct header section of .cpp, .hpp, and .h files (!1426)
  • Linux format .cpp, .hpp, and .h files (!1432)
  • Fix wsign compare warning (!1437)
  • Fix some Woverloaded-virtual warning (!1439)
  • Add missing override keyword to virtual functions in solvers (!1440)
  • Fix some Wunused-variable (!1438)
  • Fix unused parameter warnings in virtual functions (!1441)
  • Fix a Wreorder warning (!1445)
  • Fix some Wimplicit-fallthrough warnings (!1446)
  • Switch to using pkg-config for finding PETSc (!1454)
  • Use Nektar::LibUtilities::Timer for better accuracy (!1468)
  • Make some virtual functions protected (!1469)
  • Extend clang-format checks to solvers, utilities, tests and templates (!1434)
  • Fix documentation for exponential scheme (!1519)

CI

  • Enable packaging for Fedora 35, removed Fedora 33/34 from package builds. (!1424)
  • Add header checking for *.cpp, *.hpp and *.h files to the CI (!1431)
  • Enable packaging for Fedora 36. (!1429)
  • Fix XML files indentation (!1428)
  • Update solvers CMakeList.txt to fix some warnings detection issue (!1447)
  • Remove -fpermissive from NektarCommon.cmake (!1460)
  • Remove old distribution versions, added Fedora 35/36 testing to CI (!1461)
  • Kill orphan Tester-g processes on Windows and remove source tree after build (!1471)
  • Fixed path issue and warning in the nektar-workbook image (!1470)

v5.2.0

Library

  • Add Arm SVE backend to SIMD library (!1282)
  • Added support for manifold MatrixFree operators (2D in 3D space) (!1304)
  • Put in place automatic selection of explicit operations using an opt file (!1304)
  • Fixed the moving reference frame rotation (Solver Utils) (!1305)
  • Revised FilterAeroForces to accout for the moving reference frame (!1305)
  • Add MaxMinFields filter to record the max/min at each quadrature point and output the max/min fields. (!1256)
  • Simplify the logic in the MPI pairwise trace exchange (!1307)
  • Fix imaginary mode in HalfModeToFourier module (!1247)
  • Added a dummy output module OutputStdOut for NekMesh utilities that don't require an output file (!1318)
  • Fix compiler errors on ARCHER2 using PrgEnv-cray (!1315)
  • Fix cmake SIMD enable/disable options based on architecture (!1320)
  • Restrucutred the communicators to reduce direct dependence on session file communicator (!1337)
  • Fixed SIMD mask test (!1324)
  • Fix memory leak in Timer.cpp (!1330)
  • Fix cmake CWIPI option to remove Fortran check (!1331)
  • Fix excessive verbose output in GetBndElmtExpansions method (!1341)
  • Timer class was updated with safety checks to avoid wrong measurements (!1347)
  • Fix to adjust for warnings/errors from Monterey updated compiler (!1355)
  • Update nektar and nektar-env packages to Debian Bullseye (!1356)
  • Reformat code with clang-format (!1359)
  • Remove unnecessary IterPerExp methods (!1366)
  • Fix erronous call to FwdTrans from MR 1366 (!1374)
  • Fixed avx512 back-end for SimdLib (!1333)
  • Added float to scalar and avx2 back-end, disable avx512, sse2, sve (!1255)
  • Change MPI initialisation to allow MPI_Init call outside Nektar++ (!1376)
  • Fixed incorrect summary output for diffusion/reaction terms (!1383)

FieldConvert

  • Add calculation of CFL number for the incompressilbe flow (!1332)
  • Added conditional to select the eNearestNeighbour method for 3D interpolation (!1335)
  • Fixed the output field names of WSS module of FieldConvert (!1352)
  • Add VTU output using VTK library (high-order & multi-block options) (!1343)

IncNavierStokesSolver

  • Added Boundary conditions for moving reference frame (!1305)
  • Added the virtual functions overwriting the FluidInterface for moving reference frame (!1305)
  • Add Gradient Jump Penalty (GJP) Stabilisation into the solver (!1290)
  • Equation types are registered to the session reader (!1344)
  • Added Block-Preconditioner for Full Matrix solve (!1350)
  • Update to Parareal file output (!1517)

ADRSolver:

  • Add Gradient Jump Penalty (GJP) Stabilisation into the Unsteady Advection and Unsteady Advection Diffusion solvers (!1290)

PulseWaveSolver

  • Parallelised solver (!1337)

NekMesh

  • Allow for one or more blank lines between sections in Tecplot ascii (.dat) files (!1322)
  • Small bug-fix for Python API for unused configuration options (!1348)
  • Fix bug in ProcessVarOpti/ElUtil for segfault on non-tri or tet meshes (!1381)

CompressibleFlowSolver

  • Added physical AV, dilatation sensor, Ducros's and smoothing (!1180)
  • Added timers around important functions using the Timer class. Timers are available by specifying IO_Timer_Level > -1 (!1347)
  • Fixed bug in the calculation of the discontinuity penalty factor for the DiffusionIP implementation (!1368)

Documentation

  • Fix images not being displayed in HTML documentation and tutorials (!1370)

CI

  • Remove unused build options (!1360)
  • Enable NEKTAR_USE_VTK across full builds and in docker image (!1358)
  • Add XML linting and checking in CI pipeline (!1433)

Packaging

  • Fix various issues with debian unstable and centos8 packaging (!1362)
  • Fix missing texlive package dependency for centos packaging (!1382)

v5.1.1

Library

  • Fix a boost headers incompatibility with boost-1.77 (!1297)
  • Add RungeKutta4 as an alternate name for ClassicalRungeKutta4 for time integration method (!1294)

Python

  • Fix initialisation warning when using HDF5 (!1299)
  • Fix issue with implementation of Diffusion IP (!1303)
  • Split Helmholtz MatrixFree operator to improve compile times (!1292)
  • Fix Boost deprecated header warnings (!1302)
  • Add command lines to set starting time and starting checkpoint number of a time-dependent simulation (!1309)
  • Fix an index referencing error in the Collections PhysDeriv method for Hex (!1314)

Python

  • Updates to workbook, fix bugs in StdExpansion and SessionReader with MPI communication being recreated. (!1296)

BuildSystem

  • Updated third party Lapack version 3.7.1 (!1312)

CompressibleFlowSolver

  • Fix non-dimensional Sutherland law (!1253)

v5.1.0

Library

  • Restructure library to use local coefficient storage down to the GlobalLinSys level. Removed GlobalCoeffs functionality (!963, !1145)
  • Corrected the use of communicator in AssemblyMapDG and AssemblyCommDG which was not using GetRowComm() (!1144)
  • Add interior penalty method to DG framework (!1101)
  • Add an error filter for the time-evolution of the L2 and Linf errors (!1147)
  • Fix successiveRHS method (!1176)
  • Add cachedId in GetExpIndex and use in Fieldconvert (!1167)
  • Fix bug in PreconditionerLowEnergy (!1161)
  • Fix intel c compiler error in AeroFilters (!1198)
  • Fix compilation errors when CWIPI interface enabled (!1207)
  • Fix distance in ContainsPoint and GetLocCoords (!1200)
  • Fix compiler warning of maybe-uninitialized elType in InputStar (!1217)
  • Extend vectoisation to include all elements and initialise collections on first call (!1162)
  • Add vectorisation of most element on basix operations (!1158)
  • Add constant coefficients to matrix-free Helmholtz operator (!1284)
  • Limit MPI methods based on core count (!1208)
  • Split out IProduct.cpp and IProductWRTDerivBase.cpp in order to avoid long time compilations (!1228)
  • Refactored time integration code using factory pattern (!1034, !1103)
  • Fix WriteStream with empty Array/vector (!1233)
  • Add interpolation at arbitrary point in 3DH1 (!1233) level. Removed GlobalCoeffs functionality (!963, !1159)
  • Add interior penalty method to DG framework (!1101)
  • Add an error filter for the time-evolution of the L2 and Linf errors (!1147)
  • Enable global systems to be generated when using different values of variable coefficients (!1159)

FieldConvert

  • Refactored time integration code using factory pattern (!1034)
  • Fix to preprocessor logic for boost with Visual Studio >= 2015 (!1115)
  • Fix type consistency and real comparison in SharedArray.hpp, replaced num_elements with size() (!1127, !1137, !1141)
  • Use base MPI functions instead of the GS library in the trace exchange for parallel DG simulations (!1112)
  • Replace PhysIntegral with Integral (!1246)
  • Change the way periodic boundary conditions in parallel is setup to reduce excessive memory usage (!1235) (!1289)
  • Add exponential and fractional-in-time integration schemes (!1106, !1111, !1210)
  • Add nonlinear and linear system solvers (!1196)
  • Add ESDIRK3 and ESDIRK4 time integration schemes (!1196)
  • Add a filter to calculate mean value of solution fields (!1211)
  • Fix the time dependent absorption forcing (!1254)
  • Enable very high order (>100) quadrature use (!1262)
  • Add rotation and improve performance of MovingReferenceFrame forcing (!1185)
  • Fix BODYFORCE defined by a file (!1215, !1264)
  • Add multi-level partitioning strategy for HDF5 geometry (!1209)
  • Fix the URL of ccmio library (!1288)

FieldConvert:

  • Add phifile module to compute shape functions for the SPM solver (!1065)
  • Fix mean and innerProduct modules in 3DH1D cases (!1157)
  • Add Python interface (!1081)
  • Fix wss module with nparts option and reading of parallel xml files when the root partition is missing(!1197)
  • Fix a segment error in the gradient module when the number of fields is smaller than space dimension(!1216)
  • Add output of wall normal data from a single point (!1237)
  • Add QCriterion for 2D flow (!1243)
  • Fix to interppointsdatatofld to allow for mpi processing of large files (!1191)
  • Fix the logic of C0Projection:helmsmoothing (!1220)
  • Fix extract module for boundaries with periodic boundary conditions (!1277)

IncNavierStokesSolver:

  • Add MaxMinFields filter to record the max/min at each quadrature point and output the max/min fields. (!1256)
  • Fix imaginary mode in HalfModeToFourier module (!1247)

CardiacEPSolver

  • Added additional parameter sets to Fenton-Karma model (!1119)
  • Fix electrogram calculation in 1D/2D domains (!1285)

IncNavierStokesSolver

  • Add Smoothed Profile Method (SPM) for the formulation of immersed boundaries (!1065)
  • Add new filter AeroForcesSPM to compute aerodynamic forces in immersed boundaries (!1065)
  • Add mask function and more baseflow parameters for the linear stability problem (!1201)
  • Fix dudt in high-order pressure boundary condition (!1190)
  • Add flow rate forcing with a scalar (!1026)

CompressibleFlowSolver

  • Added the selective frequency damping support for the implicit solver (!!1267)
  • Added vectorisation of the Interior Penalty method (!!223)
  • Added a simplified implicit solver with naive preconditioner (!!1196)
  • Add BRJ preconditioner to the implicit solver (!!1212)
  • Fix implicit solver for Euler system (!!1252)
  • Updated WallAdiabatic/WallViscous BC to accept time-dependent perturbations on the ghost state (!1248)

PulseWaveSolver

  • Added viscoelasticity (!1138)
  • Added empirical and power laws (!1138)
  • Code tidying (!1138)

Documentation:

  • Updated Windows source build instructions in user guide (!1152)

Tester

  • Added test metric to check if warnings appear in output and error stream (!1225)

NekMesh

  • Improved boundary layer splitting and output to CADfix (!938)
  • Improve .geo reader and support 3D geometries with voids (!1031)
  • Added r-adaptation code (!1109)
  • Added Python bindings, change NekMeshUtils to NekMesh (!1149)
  • Added pyramid element for the Star-CCM mesh (!1229)
  • Added option to use absolute tolerance in peralign (!1225)

BuildSystem

  • Toggle build type (!1135)
  • Updated minimum required CMake version to 3.5.1 (!1152)
  • Updated third party Boost version 1.71 (!1152)
  • Updated third party OCE version to 0.18.3 (!1234)

v5.0.3

CompressibleFlowSolver

  • Fix repeated output of u,v,w for Euler system

FieldConvert

  • Fix the Filters output files numbering (!1251, !1261)
  • Fix the Filters output files numbering (!1251)
  • Fix 2D surfDistance calculation (!1263)

NekMesh

  • Fix VTK Output for 3D meshes and support XML format (!1258)

Documentation

  • Fix documentation to note restrictions on use of coupled solver (!1268) Library
  • Add robustness to the read expansions (!1239)

v5.0.2

Library

  • Fix bug in StdHexExp FillMode (!1192)

Documentation

  • Updated Documentation to include HDF5 Mesh Output (!1230)
  • Removed Ubuntu Trusty (14.04) from CI and added Focal (20.04) (!1238)

CI

  • Add Debian Bullseye to CI system (!1181)

BuildSystem

  • Updated third party zlib version to 1.2.9 to resolve OCE source build issue (!1227)
  • Adding SolverUtils as a core library that is built by default (!1240)

v5.0.1

Library

  • Fix incorrect coordinate dimension used in history point filter (!1118)
  • Fix compile errors with GCC 9.x (!1108)
  • Correct the Energy/Enstropy integral for the 3DH1 flow (!1132)
  • Added IsRealEqual method to compare real numbers with relative tolerance. Started using it in SharedArray and in NekMesh to fix peralign-extrude tool chain (!1134)
  • Fix performance of GetExp(coord) by using octree lookup (!1165)
  • Fix Collection unit tests (!1160)
  • Fix periodic boundary conditions with HDF5 input file (!1163)
  • Fix DESTDIR issues for MacPorts (!1179)
  • Fix Bodyforcing and history point filter bounds issue (!1184)

IncNavierStokesSolver

  • Change the baseflow time in the Adjoint advection (!1133)

FieldConvert

  • Fix OutputTecplot skipping final plane in 3DH1D (!1016)
  • Fix Interppoints in 3DH1D (!1140)