From 42f370fd50995303f3336893849ce84ba39a4149 Mon Sep 17 00:00:00 2001 From: "Jack S. Hale" Date: Tue, 26 Mar 2024 15:47:22 +0100 Subject: [PATCH] More fixes for dev. --- demo/demo_reissner-mindlin-clamped-tdnns.py | 12 +++++++----- demo/demo_reissner-mindlin-clamped.py | 13 +++++++------ demo/demo_reissner-mindlin-simply-supported.py | 13 +++++++------ 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/demo/demo_reissner-mindlin-clamped-tdnns.py b/demo/demo_reissner-mindlin-clamped-tdnns.py index 1962894..eff842c 100644 --- a/demo/demo_reissner-mindlin-clamped-tdnns.py +++ b/demo/demo_reissner-mindlin-clamped-tdnns.py @@ -39,12 +39,13 @@ # + import numpy as np +from basix.ufl import element, mixed_element import dolfinx import ufl -from dolfinx.fem import Function, FunctionSpace, dirichletbc +from dolfinx.fem import Function, functionspace, dirichletbc from dolfinx.fem.petsc import LinearProblem from dolfinx.mesh import CellType, create_unit_square -from ufl import (FacetNormal, FiniteElement, Identity, Measure, MixedElement, +from ufl import (FacetNormal, Identity, Measure, grad, inner, split, sym, tr) from mpi4py import MPI @@ -74,9 +75,10 @@ # + k = 3 -U_el = MixedElement([FiniteElement("N2curl", ufl.triangle, k), FiniteElement("Lagrange", ufl.triangle, k + 1), - FiniteElement("HHJ", ufl.triangle, k)]) -U = FunctionSpace(mesh, U_el) +cell = mesh.basix_cell() +U_el = mixed_element([element("N2curl", cell, k), element("Lagrange", cell, k + 1), + element("HHJ", cell, k)]) +U = functionspace(mesh, U_el) u = ufl.TrialFunction(U) u_t = ufl.TestFunction(U) diff --git a/demo/demo_reissner-mindlin-clamped.py b/demo/demo_reissner-mindlin-clamped.py index 0bd4d4a..87f25d6 100644 --- a/demo/demo_reissner-mindlin-clamped.py +++ b/demo/demo_reissner-mindlin-clamped.py @@ -29,14 +29,14 @@ import numpy as np +from basix.ufl import element, mixed_element import dolfinx import ufl -from dolfinx.fem import Function, FunctionSpace, dirichletbc +from dolfinx.fem import Function, functionspace, dirichletbc from dolfinx.fem.petsc import LinearProblem from dolfinx.io.utils import XDMFFile from dolfinx.mesh import CellType, create_unit_square -from ufl import (FiniteElement, MixedElement, VectorElement, dx, grad, inner, - split, sym, tr) +from ufl import (dx, grad, inner, split, sym, tr) from mpi4py import MPI @@ -64,9 +64,10 @@ # The final element definition is # + -U_el = MixedElement([VectorElement("Lagrange", ufl.triangle, 2), FiniteElement("Lagrange", ufl.triangle, 1), - FiniteElement("N1curl", ufl.triangle, 1), FiniteElement("N1curl", ufl.triangle, 1)]) -U = FunctionSpace(mesh, U_el) +cell = mesh.basix_cell() +U_el = mixed_element([element("Lagrange", cell, 2, shape=(2,)), element("Lagrange", cell, 1), + element("N1curl", cell, 1), element("N1curl", cell, 1)]) +U = functionspace(mesh, U_el) u_ = Function(U) u = ufl.TrialFunction(U) diff --git a/demo/demo_reissner-mindlin-simply-supported.py b/demo/demo_reissner-mindlin-simply-supported.py index b671baf..6ebaaca 100644 --- a/demo/demo_reissner-mindlin-simply-supported.py +++ b/demo/demo_reissner-mindlin-simply-supported.py @@ -29,13 +29,13 @@ import numpy as np +from basix.ufl import element, mixed_element import dolfinx import ufl -from dolfinx.fem import Function, FunctionSpace, dirichletbc +from dolfinx.fem import Function, functionspace, dirichletbc from dolfinx.fem.petsc import LinearProblem from dolfinx.mesh import CellType, create_unit_square -from ufl import (FiniteElement, MixedElement, VectorElement, dx, grad, inner, - split, sym, tr) +from ufl import (dx, grad, inner, split, sym, tr) from mpi4py import MPI @@ -63,9 +63,10 @@ # The final element definition is # + -U_el = MixedElement([VectorElement("Lagrange", ufl.quadrilateral, 1), FiniteElement("Lagrange", ufl.quadrilateral, 1), - FiniteElement("RTCE", ufl.quadrilateral, 1), FiniteElement("RTCE", ufl.quadrilateral, 1)]) -U = FunctionSpace(mesh, U_el) +cell = mesh.basix_cell() +U_el = mixed_element([element("Lagrange", cell, 1, shape=(2,), element("Lagrange", cell, 1), + element("RTCE", cell, 1), element("RTCE", cell, 1)]) +U = functionspace(mesh, U_el) u_ = Function(U) u = ufl.TrialFunction(U)