Releases: CEED/libCEED
Releases · CEED/libCEED
v0.13.0-rc.2
Release candidate for v0.13.0
v0.13.0-rc.1
Release candidate for v0.13.0
v0.12.0
New features
- Added Sycl backends
/gpu/sycl/ref,/gpu/sycl/shared, and/gpu/sycl/gen. - Added support for application codes which manage multiple
Ceedobjects, parallelized across OpenMP threads. - Update
CeedOperatorLinearAssembleDiagonalto provide default implementation that supportsCeedOperatorwith multiple active bases. - Added
CeedOperatorLinearAssemblePointBlockDiagonalSymbolicto create COO mapping for mapping out of {c:func}CeedOperatorLinearAssemblePointBlockDiagonal. - Added
CeedBasisApplyAtPointsandCeedElemRestriction[Create, Apply]AtPointsfor evaluation of FE bases at arbitrary locations, such as material points. - Added support for non-tensor H(div) finite element spaces with
CeedBasisCreateHdivandCeedElemRestrictionCreateOriented - Added support for non-tensor H(curl) finite element spaces with
CeedBasisCreateHcurlandCeedElemRestrictionCreateCurlOriented - Update
/cpu/self/memcheck/*backends to help verifyCeedVectorarray access assumptions andCeedQFunctionuser output assumptions.
Interface changes
- Update
CeedOperatorContext*functions toCeedOperator*Context*functions for consistency. - Removed
CeedBasisSetNumQuadraturePointsas redundant and bug-prone interface. - Update
CEED_BASIS_COLLOCATEDtoCEED_BASIS_NONEfor clarity.
Examples
- Require PETSc version 3.20 or later.
- Add
DMSwarmexample demonstrating interpolation from background mesh to swarm points and projection from swarm points to background mesh.
Fluid Dynamics Example
- Updated restart and checkpointing interface.
- Add data-driven subgrid-stress model.
- Add differential filtering of solution.
- Add turbulence statistics collection over spanwise-symmetric geometries.
- Add Taylor-Green vortex initial condition.
- Add Riemann-based outflow boundary conditions.
- Added vortex shedding and flow past cylinder example, including calculations for lift, drag, and heat transfer.
- Add Internal Damping Layer (IDL) for helping turbulent simulation stability.
- Derive
CeedBasisfromPetscFE, and various other internal maintainability updates.
v0.11.0
Interface changes
- Added
CeedOperatorSetNamefor more readableCeedOperatorViewoutput. - Added
CeedBasisCreateProjectionto facilitate interpolation between nodes for separateCeedBases. - Rename and move
CeedCompositeOperatorGetNumSubandCeedCompositeOperatorGetSubListto public interface.
New features
- Update
/cpu/self/memcheck/*backends to help verifyCeedQFunctionContextdata sizes provided by user. - Improved support for
$H(\text{div})$ bases. - Added
CeedInt_FMTto support potential future use of larger interger sizes. - Added
CEED_QFUNCTION_ATTRfor setting compiler attributes/pragmas toCEED_QFUNCTION_HELPERandCEED_QFUNCTION. - OCCA backend updated to latest OCCA release; DPC++ and OMP OCCA modes enabled.
Due to a limitation of the OCCA parser, typedefs are required to use pointers to arrays in QFunctions with the OCCA backend.
This issue will be fixed in a future OCCA release.
Bugfix
- Fix bug in setting device id for GPU backends.
- Fix storing of indices for
CeedElemRestrictionon the host with GPU backends. - Fix
CeedElemRestrictionsizing forCeedOperatorAssemblePointBlockDiagonal. - Fix bugs in CPU implementation of
CeedOperatorLinearAssemblewhen there are different number of active input modes and active output modes.
Examples
Compressible Navier-Stokes mini-app
- Various performance enhancements, analytic matrix-free and assembled Jacobian, and PETSc solver configurations for GPUs.
- Refactored to improve code reuse and modularity.
- Support for primitive variables for more accurate boundary layers and all-speed flow.
- Added
$YZ\beta$ shock capturing scheme and Shock Tube example. - Added Channel example, with comparison to analytic solutions.
- Added Flat Plate with boundary layer mesh and compressible Blasius inflow condition based on Chebyshev collocation solution of the Blasius equations.
- Added strong and weak synthetic turbulence generation (STG) inflow boundary conditions.
- Added "freestream" boundary conditions based on HLLC Riemann solver.
- Automated stabilization coefficients for different basis degree.
PETSc Bake-off problems
- Support for convergence studies.
Maintainability
- Refactored
/gpu/cuda/sharedand/gpu/cuda/genas well as/gpu/hip/sharedand/gpu/hip/genbackend to improve maintainablity and reduce duplicated code. - Enabled support for
p > 8for/gpu/*/sharedbackends. - Switch to
clang-formatoverastylefor automatic formatting; Makefile command changed tomake formatfrommake style. - Improved test harness.