Skip to content

Commit

Permalink
Merge pull request #72 from minrk/xdmf-tests-complex
Browse files Browse the repository at this point in the history
fixes for xdmf complex tests
  • Loading branch information
finsberg authored Nov 20, 2024
2 parents 34d6e0f + ddc47c5 commit 706c719
Showing 1 changed file with 19 additions and 14 deletions.
33 changes: 19 additions & 14 deletions tests/test_xdmf.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import numpy as np
import scifem
import pytest
from petsc4py import PETSc
from unittest.mock import patch

try:
Expand All @@ -16,6 +17,10 @@
hash5py = False


stype = PETSc.ScalarType
rtype = PETSc.RealType


@pytest.mark.parametrize("use_ctx_manager", [True, False])
@pytest.mark.parametrize(
"backend",
Expand All @@ -38,9 +43,9 @@ def test_XDMFFile_2D(cell_type, degree, value_shape, backend, use_ctx_manager, t
scheme="default", degree=degree, cell=mesh.ufl_cell().cellname(), value_shape=value_shape
)
V = dolfinx.fem.functionspace(mesh, el)
u = dolfinx.fem.Function(V)
v = dolfinx.fem.Function(V)
t = dolfinx.fem.Constant(mesh, 0.0)
u = dolfinx.fem.Function(V, dtype=stype)
v = dolfinx.fem.Function(V, dtype=stype)
t = dolfinx.fem.Constant(mesh, stype(0.0))

X = ufl.SpatialCoordinate(mesh)
if value_shape == ():
Expand All @@ -58,22 +63,22 @@ def test_XDMFFile_2D(cell_type, degree, value_shape, backend, use_ctx_manager, t
with scifem.xdmf.XDMFFile(folder / "data.xdmf", [u, v], backend=backend) as xdmf:
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))

t.value = 0.3
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))
else:
xdmf = scifem.xdmf.XDMFFile(folder / "data.xdmf", [u, v], backend=backend)
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))

t.value = 0.3
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))

xdmf.close()

Expand Down Expand Up @@ -103,9 +108,9 @@ def test_XDMFFile_3D(cell_type, degree, value_shape, backend, use_ctx_manager, t
scheme="default", degree=degree, cell=mesh.ufl_cell().cellname(), value_shape=value_shape
)
V = dolfinx.fem.functionspace(mesh, el)
u = dolfinx.fem.Function(V)
v = dolfinx.fem.Function(V)
t = dolfinx.fem.Constant(mesh, 0.0)
u = dolfinx.fem.Function(V, dtype=stype)
v = dolfinx.fem.Function(V, dtype=stype)
t = dolfinx.fem.Constant(mesh, stype(0.0))

X = ufl.SpatialCoordinate(mesh)
if value_shape == ():
Expand All @@ -123,22 +128,22 @@ def test_XDMFFile_3D(cell_type, degree, value_shape, backend, use_ctx_manager, t
with scifem.xdmf.XDMFFile(folder / "data.xdmf", [u, v], backend=backend) as xdmf:
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))

t.value = 0.3
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))
else:
xdmf = scifem.xdmf.XDMFFile(folder / "data.xdmf", [u, v], backend=backend)
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))

t.value = 0.3
u.interpolate(dolfinx.fem.Expression(u_expr, V.element.interpolation_points()))
v.interpolate(dolfinx.fem.Expression(v_expr, V.element.interpolation_points()))
xdmf.write(t.value)
xdmf.write(rtype(t.value))

xdmf.close()

Expand Down

0 comments on commit 706c719

Please sign in to comment.