Skip to content

v0.11.0

Compare
Choose a tag to compare
@jedbrown jedbrown released this 24 Dec 18:57
· 1170 commits to main since this release
v0.11.0

Interface changes

  • Added CeedOperatorSetName for more readable CeedOperatorView output.
  • Added CeedBasisCreateProjection to facilitate interpolation between nodes for separate CeedBases.
  • Rename and move CeedCompositeOperatorGetNumSub and CeedCompositeOperatorGetSubList to public interface.

New features

  • Update /cpu/self/memcheck/* backends to help verify CeedQFunctionContext data sizes provided by user.
  • Improved support for $H(\text{div})$ bases.
  • Added CeedInt_FMT to support potential future use of larger interger sizes.
  • Added CEED_QFUNCTION_ATTR for setting compiler attributes/pragmas to CEED_QFUNCTION_HELPER and CEED_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 CeedElemRestriction on the host with GPU backends.
  • Fix CeedElemRestriction sizing for CeedOperatorAssemblePointBlockDiagonal.
  • Fix bugs in CPU implementation of CeedOperatorLinearAssemble when 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/shared and /gpu/cuda/gen as well as /gpu/hip/shared and /gpu/hip/gen backend to improve maintainablity and reduce duplicated code.
  • Enabled support for p > 8 for /gpu/*/shared backends.
  • Switch to clang-format over astyle for automatic formatting; Makefile command changed to make format from make style.
  • Improved test harness.