Skip to content

Commit

Permalink
Merge pull request #1346 from CEED/jeremy/pre-release
Browse files Browse the repository at this point in the history
Release - version 0.12.0
  • Loading branch information
jedbrown authored Nov 1, 2023
2 parents 038a894 + 4018a20 commit 60ef3fe
Show file tree
Hide file tree
Showing 18 changed files with 63 additions and 42 deletions.
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cff-version: 1.2.0
title: "libCEED: Efficient Extensible Discretization"
version: 0.11.0
date-released: 2022-12-23
version: 0.12.0
date-released: 2023-10-31
license: BSD-2-Clause
message: "Please cite the following works when using this software."
authors:
Expand Down
19 changes: 1 addition & 18 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ PROJECT_NAME = libCEED
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = v0.11.0
PROJECT_NUMBER = v0.12.0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down Expand Up @@ -1379,15 +1379,6 @@ HTML_COLORSTYLE_SAT = 100

HTML_COLORSTYLE_GAMMA = 80

# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
# page will contain the date and time when the page was generated. Setting this
# to YES can help to show when doxygen was last run and thus if the
# documentation is up to date.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_TIMESTAMP = YES

# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
# documentation will contain a main index with vertical navigation menus that
# are dynamically created via JavaScript. If disabled, the navigation index will
Expand Down Expand Up @@ -2049,14 +2040,6 @@ LATEX_HIDE_INDICES = NO

LATEX_BIB_STYLE = plain

# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
# page will contain the date and time when the page was generated. Setting this
# to NO can help when comparing the output of multiple runs.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.

LATEX_TIMESTAMP = NO

# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
# path from which the emoji images will be read. If a relative path is entered,
# it will be relative to the LATEX_OUTPUT directory. If left blank the
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ Rust users can include libCEED via `Cargo.toml`:

```toml
[dependencies]
libceed = "0.11.0"
libceed = "0.12.0"
```

See the [Cargo documentation](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-git-repositories) for details.
Expand Down
2 changes: 1 addition & 1 deletion ceed.pc.template
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ libdir=${prefix}/lib

Name: CEED
Description: Code for Efficient Extensible Discretization
Version: 0.11.0
Version: 0.12.0
Cflags: -I${includedir}
Libs: -L${libdir} -lceed
Libs.private: %libs_private%
26 changes: 25 additions & 1 deletion doc/sphinx/source/releasenotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@ On this page we provide a summary of the main API changes, new features and exam

### Interface changes

### New features

### Examples

(v0-12)=

## v0.12 (Oct 31, 2023)

### Interface changes

- Update `CeedOperatorContext*` functions to `CeedOperator*Context*` functions for consistency.
For example, `CeedOperatorContextGetFieldLabel` was renamed to `CeedOperatorGetContextFieldLabel`.
- Removed `CeedBasisSetNumQuadraturePoints` as redundant and bug-prone interface.
Expand All @@ -17,7 +27,7 @@ For example, `CeedOperatorContextGetFieldLabel` was renamed to `CeedOperatorGetC
- Added {c:func}`CeedOperatorGetFieldByName` to access a specific `CeedOperatorField` by its name.
- Update `/cpu/self/memcheck/*` backends to help verify `CeedVector` array access assumptions and `CeedQFunction` user output assumptions.
- Update {c:func}`CeedOperatorLinearAssembleDiagonal` to provide default implementation that supports `CeedOperator` with multiple active bases.
- Added Sycl backends `/gpu/sycl/ref` and `/gpu/sycl/shared`.
- Added Sycl backends `/gpu/sycl/ref`, `/gpu/sycl/shared`, and `/gpu/sycl/gen`.
- Added {c:func}`CeedBasisApplyAtPoints` for evaluation of values and derivatives at arbitrary points inside elements.
- Added support for non-tensor $H(\text{curl})$ finite element spaces with {c:func}`CeedBasisCreateHcurl`.
- Added {c:func}`CeedElemRestrictionCreateCurlOriented`, similar to {c:func}`CeedElemRestrictionCreateOriented`, for element restrictions requiring more general element transformations such as those for high-order $H(\text{curl})$ spaces on tetrahedra (see [https://dl.acm.org/doi/pdf/10.1145/3524456](https://dl.acm.org/doi/pdf/10.1145/3524456)).
Expand All @@ -26,10 +36,24 @@ For example, `CeedOperatorContextGetFieldLabel` was renamed to `CeedOperatorGetC

### Examples

- Add `DMSwarm` example demonstrating interpolation from background mesh to swarm points and projection from swarm points to background mesh.

#### {ref}`example-petsc-bps`

- Requires PETSc version 3.19 or later.

#### {ref}`example-petsc-navier-stokes`

- 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 `CeedBasis` from `PetscFE`, and various other internal maintainability updates.

(v0-11)=

## v0.11 (Dec 24, 2022)
Expand Down
4 changes: 2 additions & 2 deletions examples/fluids/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -841,13 +841,13 @@ string, then the algorithmic approach will be performed.
This problem is really just an initial condition, the [Taylor-Green Vortex](https://en.wikipedia.org/wiki/Taylor%E2%80%93Green_vortex):

$$
\begin{align*}
\begin{aligned}
u &= V_0 \sin(\hat x) \cos(\hat y) \sin(\hat z) \\
v &= -V_0 \cos(\hat x) \sin(\hat y) \sin(\hat z) \\
w &= 0 \\
p &= p_0 + \frac{\rho_0 V_0^2}{16} \left ( \cos(2 \hat x) + \cos(2 \hat y)\right) \left( \cos(2 \hat z) + 2 \right) \\
\rho &= \frac{p}{R T_0} \\
\end{align*}
\end{aligned}
$$

where $\hat x = 2 \pi x / L$ for $L$ the length of the domain in that specific direction.
Expand Down
4 changes: 2 additions & 2 deletions examples/fluids/navierstokes.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
#include "qfunctions/newtonian_types.h"
#include "qfunctions/stabilization_types.h"

#if PETSC_VERSION_LT(3, 19, 0)
#error "PETSc v3.19 or later is required"
#if PETSC_VERSION_LT(3, 20, 0)
#error "PETSc v3.20 or later is required"
#endif

#define PetscCeedChk(ceed, ierr) \
Expand Down
1 change: 1 addition & 0 deletions examples/petsc/dmswarm.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ const char help[] = "libCEED example using PETSc with DMSwarm\n";
#include <petsc/private/petscfeimpl.h> /* For interpolation */

#include "include/petscutils.h"
#include "include/petscversion.h"

const char DMSwarmPICField_u[] = "u";

Expand Down
4 changes: 2 additions & 2 deletions examples/petsc/include/petscversion.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#ifndef libceed_petsc_examples_version_h
#define libceed_petsc_examples_version_h

#if PETSC_VERSION_LT(3, 19, 0)
#error "PETSc v3.19 or later is required"
#if PETSC_VERSION_LT(3, 20, 0)
#error "PETSc v3.20 or later is required"
#endif

#endif
4 changes: 2 additions & 2 deletions examples/solids/elasticity.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
#include "include/utils.h"
#include "problems/problems.h"

#if PETSC_VERSION_LT(3, 19, 0)
#error "PETSc v3.19 or later is required"
#if PETSC_VERSION_LT(3, 20, 0)
#error "PETSc v3.20 or later is required"
#endif

#endif // libceed_solids_examples_setup_h
4 changes: 2 additions & 2 deletions include/ceed/ceed.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,9 @@ CEED_EXTERN int CeedResetErrorMessage(Ceed, const char **err_msg);
/// libCEED library version numbering
/// @ingroup Ceed
#define CEED_VERSION_MAJOR 0
#define CEED_VERSION_MINOR 11
#define CEED_VERSION_MINOR 12
#define CEED_VERSION_PATCH 0
#define CEED_VERSION_RELEASE false
#define CEED_VERSION_RELEASE true

/// Compile-time check that the the current library version is at least as recent as the specified version.
/// This macro is typically used in
Expand Down
6 changes: 3 additions & 3 deletions interface/ceed-basis.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ static int CeedChebyshevPolynomialsAtPoint(CeedScalar x, CeedInt n, CeedScalar *
/**
@brief Compute values of the derivative of Chebyshev polynomials at a point
@param[in] x Coordinate to evaluate derivative of Chebyshev polynomials at
@param[in] n Number of Chebyshev polynomials to evaluate, n >= 2
@param[out] chebyshev_x Array of Chebyshev polynomial derivative values
@param[in] x Coordinate to evaluate derivative of Chebyshev polynomials at
@param[in] n Number of Chebyshev polynomials to evaluate, n >= 2
@param[out] chebyshev_dx Array of Chebyshev polynomial derivative values
@return An error code: 0 - success, otherwise - failure
Expand Down
1 change: 1 addition & 0 deletions interface/ceed-elemrestriction.c
Original file line number Diff line number Diff line change
Expand Up @@ -1128,6 +1128,7 @@ int CeedElemRestrictionApply(CeedElemRestriction rstr, CeedTransposeMode t_mode,
@brief Restrict an L-vector of points to a single element or apply its transpose
@param[in] rstr CeedElemRestriction
@param[in] elem Element number in range 0..@a num_elem
@param[in] t_mode Apply restriction or transpose
@param[in] u Input vector (of size @a l_size when t_mode=@ref CEED_NOTRANSPOSE)
@param[out] ru Output vector (of shape [@a num_elem * @a elem_size] when t_mode=@ref CEED_NOTRANSPOSE).
Expand Down
8 changes: 7 additions & 1 deletion rust/libceed-sys/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ authors = [
]
build = "build.rs"
name = "libceed-sys"
version = "0.11.0"
version = "0.12.0"
links = "libceed-sys"
edition = "2018"
license = "BSD-2-Clause"
Expand Down Expand Up @@ -35,3 +35,9 @@ pkg-config = "0.3.19"

[dev-dependencies]
version-sync = "0.9.2"

[package.metadata.release]
pre-release-replacements = [
{ file = "README.md", search = "libceed-sys = \"[0-9.]*\"", replace = "libceed-sys = \"{{version}}\"" },
{ file = "build.rs", search = "atleast_version\\(\"[0-9.]*\"\\)", replace = "atleast_version(\"{{version}}\")" },
]
2 changes: 1 addition & 1 deletion rust/libceed-sys/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ While our focus is on high-order finite elements, the approach is mostly algebra
To use low level libCEED bindings in a Rust package, the following `Cargo.toml` can be used.
```toml
[dependencies]
libceed-sys = "0.11.0"
libceed-sys = "0.12.0"
```

For a development version of the libCEED Rust bindings, use the following `Cargo.toml`.
Expand Down
2 changes: 1 addition & 1 deletion rust/libceed-sys/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ fn main() {
};
pkg_config::Config::new()
.statik(statik)
.atleast_version("0.11")
.atleast_version("0.12.0")
.probe(&ceed_pc)
.unwrap();

Expand Down
10 changes: 8 additions & 2 deletions rust/libceed/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ authors = [
"Jeremy L Thompson <[email protected]>",
]
name = "libceed"
version = "0.11.0"
version = "0.12.0"
edition = "2018"
rust-version = "1.56"
license = "BSD-2-Clause"
Expand All @@ -18,11 +18,17 @@ keywords = ["libceed", "exascale", "high-order"]
categories = ["science"]

[dependencies]
libceed-sys = { version = "0.11", path = "../libceed-sys" }
libceed-sys = { version = "0.12", path = "../libceed-sys" }
katexit = { version = "0.1.1", optional = true }

[dev-dependencies]
version-sync = "0.9.2"

[package.metadata.docs.rs]
features = ["katexit"]

[package.metadata.release]
pre-release-replacements = [
{ file = "README.md", search = "libceed = \"[0-9.]*\"", replace = "libceed = \"{{version}}\"" },
{ file = "../../README.md", search = "libceed = \"[0-9.]*\"", replace = "libceed = \"{{version}}\"" },
]
2 changes: 1 addition & 1 deletion rust/libceed/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ See the [libCEED user manual](https://libceed.org) for details on [interface con
To call libCEED from a Rust package, the following `Cargo.toml` can be used.
```toml
[dependencies]
libceed = "0.11.0"
libceed = "0.12.0"
```

For a development version of the libCEED Rust bindings, use the following `Cargo.toml`.
Expand Down

0 comments on commit 60ef3fe

Please sign in to comment.