diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7b81f3d..6a0f56d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,19 +14,19 @@ on: jobs: build-and-test: runs-on: ubuntu-latest - container: ghcr.io/fenics/dolfinx/dolfinx:v0.8.0 + container: ghcr.io/fenics/dolfinx/dolfinx:nightly steps: - name: Checkout uses: actions/checkout@v3 + - name: Install FEniCSx-Shells + run: | + python3 -m pip install --no-build-isolation --check-build-dependencies '.[ci]' + - name: ruff checks run: | ruff check . ruff format --check . - - - name: Install FEniCSx-Shells - run: | - python3 -m pip install --no-build-isolation --check-build-dependencies . - name: Build documentation run: | diff --git a/demo/demo_nonlinear-naghdi-clamped-semicylinder.py b/demo/demo_nonlinear-naghdi-clamped-semicylinder.py index 574dc53..9ccc1e1 100644 --- a/demo/demo_nonlinear-naghdi-clamped-semicylinder.py +++ b/demo/demo_nonlinear-naghdi-clamped-semicylinder.py @@ -545,10 +545,12 @@ def compute_cell_contributions(V, points): at that point""" # Determine what process owns a point and what cells it lies within mesh = V.mesh - _, _, owning_points, cells = dolfinx.cpp.geometry.determine_point_ownership( + point_ownership_data = dolfinx.cpp.geometry.determine_point_ownership( mesh._cpp_object, points, 1e-6 ) - owning_points = np.asarray(owning_points).reshape(-1, 3) + + owning_points = np.asarray(point_ownership_data.dest_points).reshape(-1, 3) + cells = point_ownership_data.dest_cells # Pull owning points back to reference cell mesh_nodes = mesh.geometry.x @@ -618,7 +620,7 @@ def F(self, x: PETSc.Vec, b: PETSc.Vec) -> None: dofs, basis_value * self.PS, addv=PETSc.InsertMode.ADD_VALUES ) - apply_lifting(b, [self._a], bcs=[self.bcs], x0=[x], scale=-1.0) + apply_lifting(b, [self._a], bcs=[self.bcs], x0=[x], alpha=-1.0) b.ghostUpdate(addv=PETSc.InsertMode.ADD, mode=PETSc.ScatterMode.REVERSE) set_bc(b, self.bcs, x, -1.0) diff --git a/doc/source/conf.py b/doc/source/conf.py index ffe1a0f..4b084bc 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -15,9 +15,9 @@ jupytext_process.process() project = "FEniCSx-Shells" -copyright = "2022, FEniCSx-Shells Authors" +copyright = "2022-2024, FEniCSx-Shells Authors" author = "FEniCSx-Shells Authors" -release = "0.5.0.dev0" +release = "0.10.0.dev0" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration @@ -55,5 +55,4 @@ # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -html_theme = "alabaster" html_static_path = ["_static"] diff --git a/launch-container.sh b/launch-container.sh index 300616f..f1329de 100755 --- a/launch-container.sh +++ b/launch-container.sh @@ -1,3 +1,3 @@ #!/bin/bash CONTAINER_ENGINE="docker" -${CONTAINER_ENGINE} run -ti -v $(pwd):/shared -w /shared dolfinx/dolfinx:v0.7.2 +${CONTAINER_ENGINE} run -ti -v $(pwd):/shared -w /shared dolfinx/dolfinx:v0.9.0 diff --git a/pyproject.toml b/pyproject.toml index 3110062..e80ef9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,17 +4,29 @@ build-backend = "setuptools.build_meta" [project] name = "fenicsx-shells" -version = "0.8.0.dev0" -description = "FEniCSx-Shells" +version = "0.10.0.dev0" +description = "A FEniCSx library for simulating thin structures" readme = "README.md" requires-python = ">=3.9.0" license = { file = "COPYING.LESSER" } authors = [ - { email = "jack.hale@uni.lu" }, - { name = "Jack S. Hale" }, + { name = "Jack S. Hale", email = "mail@jackhale.co.uk" }, + { name = "Tian Yang" } ] dependencies = [ - "fenics-dolfinx>=0.8.0.dev0,<0.9.0", + "fenics-dolfinx>=0.10.0.dev0,<0.11.0", +] + +[project.optional-dependencies] +doc = ["jupytext", "myst_parser", "sphinx_rtd_theme", "sphinx"] +demo = ["matplotlib"] +test = ["pytest"] +lint = ["ruff"] +ci = [ + "fenicsx-shells[doc]", + "fenicsx-shells[demo]", + "fenicsx-shells[test]", + "fenicsx-shells[lint]", ] [tool.ruff]