Skip to content

Test integral variant for Regge/HHJ #6039

Test integral variant for Regge/HHJ

Test integral variant for Regge/HHJ #6039

GitHub Actions / Firedrake complex failed Oct 24, 2024 in 0s

8078 tests run, 6489 passed, 1583 skipped, 6 failed.

Annotations

Check failure on line 282 in tests/vertexonly/test_interpolation_from_parent.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_interpolation_from_parent.test_tensor_function_interpolation[shiftedmesh-mesh-100-coords-FunctionSpace(Regge2)]

AssertionError: assert False
 +  where False = <function allclose at 0x7f9dd61272b0>(array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]), array([[[ 1.28112370e-01-0.j,  1.16591930e-01-0.j],\n        [ 1.16591930e-01-0.j,  1.06107460e-01-0.j]],\n\n       [[ 1.00013901e-02-0.j,  4.62988588e-02-0.j],\n        [ 4.62988588e-02-0.j,  2.14328639e-01-0.j]],\n\n       [[ 3.31461468e-02-0.j,  5.08404361e-02-0.j],\n        [ 5.08404361e-02-0.j,  7.79804048e-02-0.j]],\n\n       [[ 6.27816587e-03-0.j,  1.91865200e-02-0.j],\n        [ 1.91865200e-02-0.j,  5.86353656e-02-0.j]],\n\n       [[ 2.13087119e-01-0.j, -4.76152739e-02+0.j],\n        [-4.76152739e-02+0.j,  1.06398469e-02+0.j]],\n\n       [[ 6.76448476e-03-0.j,  1.45889613e-02-0.j],\n        [ 1.45889613e-02-0.j,  3.14640065e-02-0.j]],\n\n       [[ 2.27120711e-01-0.j, -1.04824895e-01+0.j],\n        [-1.04824895e-01+0.j,  4.83806987e-02+0.j]],\n\n       [[ 4.30518717e-03+0.j, -1.70338262e-02+0.j],\n        [-1.70338262e-02+0.j,  6.73957309e-02-0.j]],\n\n       [[ 8.51567131e-03+0.j, -2.42277159e-02+0.j],\n        [-2.42277159e-02+0.j,  6.89296471e-02-0.j]],\n\n       [[ 5.24647599e-02-0.j, -2.21183142e-02+0.j],\n        [-2.21183142e-02+0.j,  9.32473200e-03+0.j]],\n\n       [[ 6.21136065e-03+0.j, -1.05306696e-02+0.j],\n        [-1.05306696e-02+0.j,  1.78535764e-02-0.j]],\n\n       [[ 9.88263557e-02+0.j, -1...e-01+0.j,  1.30802302e-01-0.j]],\n\n       [[ 2.04039612e-03-0.j, -3.93571046e-04+0.j],\n        [-3.93571046e-04+0.j,  7.59157337e-05+0.j]],\n\n       [[ 1.47411213e-01-0.j, -1.41610458e-01+0.j],\n        [-1.41610458e-01+0.j,  1.36037967e-01+0.j]],\n\n       [[ 2.98657995e-01+0.j, -1.70571807e-01+0.j],\n        [-1.70571807e-01+0.j,  9.74182567e-02-0.j]],\n\n       [[ 2.93843368e-01+0.j, -2.12126270e-01+0.j],\n        [-2.12126270e-01+0.j,  1.53134491e-01-0.j]],\n\n       [[ 1.14137763e-02-0.j, -2.53680729e-02+0.j],\n        [-2.53680729e-02+0.j,  5.63826646e-02+0.j]],\n\n       [[ 8.78779331e-02+0.j, -2.38080087e-02+0.j],\n        [-2.38080087e-02+0.j,  6.45009799e-03-0.j]],\n\n       [[ 1.71234764e-02+0.j,  2.97596329e-02+0.j],\n        [ 2.97596329e-02+0.j,  5.17205577e-02+0.j]],\n\n       [[ 1.87161402e-01+0.j, -4.82321801e-03+0.j],\n        [-4.82321801e-03+0.j,  1.24296098e-04-0.j]],\n\n       [[ 1.84868507e-02+0.j,  4.46684825e-02+0.j],\n        [ 4.46684825e-02+0.j,  1.07929325e-01+0.j]],\n\n       [[ 4.79679212e-02+0.j,  8.19259064e-02+0.j],\n        [ 8.19259064e-02+0.j,  1.39923807e-01+0.j]],\n\n       [[ 2.95606040e-01+0.j,  1.79052288e-01+0.j],\n        [ 1.79052288e-01+0.j,  1.08454218e-01+0.j]]]))
 +    where <function allclose at 0x7f9dd61272b0> = np.allclose
 +    and   array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]) = <built-in method reshape of numpy.ndarray object at 0x7f9d968ad0b0>((23, 2, 2))
 +      where <built-in method reshape of numpy.ndarray object at 0x7f9d968ad0b0> = array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]).reshape
 +        where array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]) = Dat(DataSet(Set((np.int64(23), np.int64(23), np.int64(23)), 'set_#x7f9d96beaa20'), (2, 2), 'None_nodes_dset'), None, dtype('complex128'), 'function_3268').data_ro
 +          where Dat(DataSet(Set((np.int64(23), np.int64(23), np.int64(23)), 'set_#x7f9d96beaa20'), (2, 2), 'None_nodes_dset'), None, dtype('complex128'), 'function_3268') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.VertexOnlyMeshTopology object at 0x7f9d96a52ab0>, TensorElement(FiniteElement('Discontinuous Lagrange', vertex, 0), shape=(2, 2), symmetry={}), name=None), Mesh(VectorElement(FiniteElement('Discontinuous Lagrange', Cell(vertex, 2), 0), dim=2), 3262)), 5884).dat
 +      and   (23, 2, 2) = array([[[ 1.28112370e-01-0.j,  1.16591930e-01-0.j],\n        [ 1.16591930e-01-0.j,  1.06107460e-01-0.j]],\n\n       [[ 1.00013901e-02-0.j,  4.62988588e-02-0.j],\n        [ 4.62988588e-02-0.j,  2.14328639e-01-0.j]],\n\n       [[ 3.31461468e-02-0.j,  5.08404361e-02-0.j],\n        [ 5.08404361e-02-0.j,  7.79804048e-02-0.j]],\n\n       [[ 6.27816587e-03-0.j,  1.91865200e-02-0.j],\n        [ 1.91865200e-02-0.j,  5.86353656e-02-0.j]],\n\n       [[ 2.13087119e-01-0.j, -4.76152739e-02+0.j],\n        [-4.76152739e-02+0.j,  1.06398469e-02+0.j]],\n\n       [[ 6.76448476e-03-0.j,  1.45889613e-02-0.j],\n        [ 1.45889613e-02-0.j,  3.14640065e-02-0.j]],\n\n       [[ 2.27120711e-01-0.j, -1.04824895e-01+0.j],\n        [-1.04824895e-01+0.j,  4.83806987e-02+0.j]],\n\n       [[ 4.30518717e-03+0.j, -1.70338262e-02+0.j],\n        [-1.70338262e-02+0.j,  6.73957309e-02-0.j]],\n\n       [[ 8.51567131e-03+0.j, -2.42277159e-02+0.j],\n        [-2.42277159e-02+0.j,  6.89296471e-02-0.j]],\n\n       [[ 5.24647599e-02-0.j, -2.21183142e-02+0.j],\n        [-2.21183142e-02+0.j,  9.32473200e-03+0.j]],\n\n       [[ 6.21136065e-03+0.j, -1.05306696e-02+0.j],\n        [-1.05306696e-02+0.j,  1.78535764e-02-0.j]],\n\n       [[ 9.88263557e-02+0.j, -1...e-01+0.j,  1.30802302e-01-0.j]],\n\n       [[ 2.04039612e-03-0.j, -3.93571046e-04+0.j],\n        [-3.93571046e-04+0.j,  7.59157337e-05+0.j]],\n\n       [[ 1.47411213e-01-0.j, -1.41610458e-01+0.j],\n        [-1.41610458e-01+0.j,  1.36037967e-01+0.j]],\n\n       [[ 2.98657995e-01+0.j, -1.70571807e-01+0.j],\n        [-1.70571807e-01+0.j,  9.74182567e-02-0.j]],\n\n       [[ 2.93843368e-01+0.j, -2.12126270e-01+0.j],\n        [-2.12126270e-01+0.j,  1.53134491e-01-0.j]],\n\n       [[ 1.14137763e-02-0.j, -2.53680729e-02+0.j],\n        [-2.53680729e-02+0.j,  5.63826646e-02+0.j]],\n\n       [[ 8.78779331e-02+0.j, -2.38080087e-02+0.j],\n        [-2.38080087e-02+0.j,  6.45009799e-03-0.j]],\n\n       [[ 1.71234764e-02+0.j,  2.97596329e-02+0.j],\n        [ 2.97596329e-02+0.j,  5.17205577e-02+0.j]],\n\n       [[ 1.87161402e-01+0.j, -4.82321801e-03+0.j],\n        [-4.82321801e-03+0.j,  1.24296098e-04-0.j]],\n\n       [[ 1.84868507e-02+0.j,  4.46684825e-02+0.j],\n        [ 4.46684825e-02+0.j,  1.07929325e-01+0.j]],\n\n       [[ 4.79679212e-02+0.j,  8.19259064e-02+0.j],\n        [ 8.19259064e-02+0.j,  1.39923807e-01+0.j]],\n\n       [[ 2.95606040e-01+0.j,  1.79052288e-01+0.j],\n        [ 1.79052288e-01+0.j,  1.08454218e-01+0.j]]]).shape
Raw output
parentmesh = Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 3256)
vertexcoords = array([[-0.35792788+0.j, -0.3257414 +0.j],
       [-0.10000695+0.j, -0.46295641+0.j],
       [-0.18206083+0.j, -0.2792....13596636+0.j,  0.32852599+0.j],
       [ 0.2190158 +0.j,  0.37406391+0.j],
       [ 0.54369664+0.j,  0.32932388+0.j]])
tfs = ('Regge', 2, <cyfunction FunctionSpace at 0x7f9dc894bac0>)

    def test_tensor_function_interpolation(parentmesh, vertexcoords, tfs):
        if parentmesh.name == "immersedsphere":
            vertexcoords = immersed_sphere_vertexcoords(parentmesh, vertexcoords)
        tfs_fam, tfs_deg, tfs_typ = tfs
        vm = VertexOnlyMesh(parentmesh, vertexcoords, missing_points_behaviour=None)
        vertexcoords = vm.coordinates.dat.data_ro
        if (
            parentmesh.coordinates.function_space().ufl_element().family()
            == "Discontinuous Lagrange"
        ):
            pytest.skip(f"Interpolating into f{tfs_fam} on a periodic mesh is not well-defined.")
        V = tfs_typ(parentmesh, tfs_fam, tfs_deg)
        W = TensorFunctionSpace(vm, "DG", 0)
        x = SpatialCoordinate(parentmesh)
        # use outer product to check Regge works
        expr = outer(x, x)
        assert W.shape == expr.ufl_shape
        v = Function(V).interpolate(expr)
        result = np.asarray([np.outer(vertexcoords[i], vertexcoords[i]) for i in range(len(vertexcoords))])
        if len(result) == 0:
            result = result.reshape(vertexcoords.shape + (parentmesh.geometric_dimension(),))
        w_v = assemble(interpolate(v, W))
>       assert np.allclose(w_v.dat.data_ro.reshape(result.shape), result)
E       AssertionError: assert False
E        +  where False = <function allclose at 0x7f9dd61272b0>(array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]), array([[[ 1.28112370e-01-0.j,  1.16591930e-01-0.j],\n        [ 1.16591930e-01-0.j,  1.06107460e-01-0.j]],\n\n       [[ 1.00013901e-02-0.j,  4.62988588e-02-0.j],\n        [ 4.62988588e-02-0.j,  2.14328639e-01-0.j]],\n\n       [[ 3.31461468e-02-0.j,  5.08404361e-02-0.j],\n        [ 5.08404361e-02-0.j,  7.79804048e-02-0.j]],\n\n       [[ 6.27816587e-03-0.j,  1.91865200e-02-0.j],\n        [ 1.91865200e-02-0.j,  5.86353656e-02-0.j]],\n\n       [[ 2.13087119e-01-0.j, -4.76152739e-02+0.j],\n        [-4.76152739e-02+0.j,  1.06398469e-02+0.j]],\n\n       [[ 6.76448476e-03-0.j,  1.45889613e-02-0.j],\n        [ 1.45889613e-02-0.j,  3.14640065e-02-0.j]],\n\n       [[ 2.27120711e-01-0.j, -1.04824895e-01+0.j],\n        [-1.04824895e-01+0.j,  4.83806987e-02+0.j]],\n\n       [[ 4.30518717e-03+0.j, -1.70338262e-02+0.j],\n        [-1.70338262e-02+0.j,  6.73957309e-02-0.j]],\n\n       [[ 8.51567131e-03+0.j, -2.42277159e-02+0.j],\n        [-2.42277159e-02+0.j,  6.89296471e-02-0.j]],\n\n       [[ 5.24647599e-02-0.j, -2.21183142e-02+0.j],\n        [-2.21183142e-02+0.j,  9.32473200e-03+0.j]],\n\n       [[ 6.21136065e-03+0.j, -1.05306696e-02+0.j],\n        [-1.05306696e-02+0.j,  1.78535764e-02-0.j]],\n\n       [[ 9.88263557e-02+0.j, -1...e-01+0.j,  1.30802302e-01-0.j]],\n\n       [[ 2.04039612e-03-0.j, -3.93571046e-04+0.j],\n        [-3.93571046e-04+0.j,  7.59157337e-05+0.j]],\n\n       [[ 1.47411213e-01-0.j, -1.41610458e-01+0.j],\n        [-1.41610458e-01+0.j,  1.36037967e-01+0.j]],\n\n       [[ 2.98657995e-01+0.j, -1.70571807e-01+0.j],\n        [-1.70571807e-01+0.j,  9.74182567e-02-0.j]],\n\n       [[ 2.93843368e-01+0.j, -2.12126270e-01+0.j],\n        [-2.12126270e-01+0.j,  1.53134491e-01-0.j]],\n\n       [[ 1.14137763e-02-0.j, -2.53680729e-02+0.j],\n        [-2.53680729e-02+0.j,  5.63826646e-02+0.j]],\n\n       [[ 8.78779331e-02+0.j, -2.38080087e-02+0.j],\n        [-2.38080087e-02+0.j,  6.45009799e-03-0.j]],\n\n       [[ 1.71234764e-02+0.j,  2.97596329e-02+0.j],\n        [ 2.97596329e-02+0.j,  5.17205577e-02+0.j]],\n\n       [[ 1.87161402e-01+0.j, -4.82321801e-03+0.j],\n        [-4.82321801e-03+0.j,  1.24296098e-04-0.j]],\n\n       [[ 1.84868507e-02+0.j,  4.46684825e-02+0.j],\n        [ 4.46684825e-02+0.j,  1.07929325e-01+0.j]],\n\n       [[ 4.79679212e-02+0.j,  8.19259064e-02+0.j],\n        [ 8.19259064e-02+0.j,  1.39923807e-01+0.j]],\n\n       [[ 2.95606040e-01+0.j,  1.79052288e-01+0.j],\n        [ 1.79052288e-01+0.j,  1.08454218e-01+0.j]]]))
E        +    where <function allclose at 0x7f9dd61272b0> = np.allclose
E        +    and   array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]) = <built-in method reshape of numpy.ndarray object at 0x7f9d968ad0b0>((23, 2, 2))
E        +      where <built-in method reshape of numpy.ndarray object at 0x7f9d968ad0b0> = array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]).reshape
E        +        where array([[[ 1.43674311e-01-5.75803892e-18j,\n          1.24372901e-01-3.09334946e-18j],\n        [ 1.24372901e-01-3.09334946e-18j,\n          1.06107460e-01+1.42886668e-19j]],\n\n       [[ 1.00013901e-02+8.09161872e-20j,\n          1.49278171e-02-2.75899387e-18j],\n        [ 1.49278171e-02-2.75899387e-18j,\n          1.51586555e-01-5.27523919e-18j]],\n\n       [[ 3.31461468e-02+1.28190266e-19j,\n          5.06537791e-02+4.50552716e-19j],\n        [ 5.06537791e-02+4.50552716e-19j,\n          7.79804048e-02-3.61111865e-33j]],\n\n       [[ 6.27816587e-03+3.62577855e-20j,\n          1.76284326e-02+3.39829104e-19j],\n        [ 1.76284326e-02+3.39829104e-19j,\n          5.86353656e-02-6.01853108e-34j]],\n\n       [[ 2.13087119e-01+1.91452984e-19j,\n         -4.93939794e-02+8.52344267e-18j],\n        [-4.93939794e-02+8.52344267e-18j,\n          1.06398469e-02-6.01853108e-34j]],\n\n       [[ 6.76448476e-03+1.22215946e-19j,\n          1.43758718e-02+4.29554664e-19j],\n        [ 1.43758718e-02+4.29554664e-19j,\n          3.14640065e-02-2.40741243e-33j]],\n\n       [[ 2.27120711e-01+1.30772302e-19j,\n         -1.27013888e-01+8.12009194e-18j],\n        [-1.27013888e-01+8.12009194e-18j,\n          4.83806987e-02+0.00000000e+00...   [[ 9.80934964e-03-7.93934480e-19j,\n         -2.61702863e-02-5.44361726e-19j],\n        [-2.61702863e-02-5.44361726e-19j,\n          5.63826646e-02+9.82629904e-20j]],\n\n       [[ 7.16363728e-02-2.00107500e-18j,\n         -3.19287889e-02-1.21589899e-18j],\n        [-3.19287889e-02-1.21589899e-18j,\n          6.45009799e-03+1.43574330e-19j]],\n\n       [[ 1.71234764e-02+1.07516490e-19j,\n          2.85390569e-02+6.29817015e-20j],\n        [ 2.85390569e-02+6.29817015e-20j,\n          5.17205577e-02+1.20370622e-33j]],\n\n       [[ 1.76037448e-01-6.54663493e-18j,\n         -1.03851951e-02-3.46211306e-18j],\n        [-1.03851951e-02-3.46211306e-18j,\n          1.24296098e-04+1.25863732e-19j]],\n\n       [[ 1.84868507e-02+1.04269169e-19j,\n          4.11319594e-02+3.66476789e-19j],\n        [ 4.11319594e-02+3.66476789e-19j,\n          1.07929325e-01-4.81482486e-33j]],\n\n       [[ 4.79679212e-02+1.37299416e-20j,\n          8.39663046e-02+8.04281359e-21j],\n        [ 8.39663046e-02+8.04281359e-21j,\n          1.39923807e-01+3.00926554e-34j]],\n\n       [[ 3.13298757e-01-7.72759155e-19j,\n          1.87898647e-01-4.08664847e-19j],\n        [ 1.87898647e-01-4.08664847e-19j,\n          1.08454218e-01+1.48568466e-20j]]]) = Dat(DataSet(Set((np.int64(23), np.int64(23), np.int64(23)), 'set_#x7f9d96beaa20'), (2, 2), 'None_nodes_dset'), None, dtype('complex128'), 'function_3268').data_ro
E        +          where Dat(DataSet(Set((np.int64(23), np.int64(23), np.int64(23)), 'set_#x7f9d96beaa20'), (2, 2), 'None_nodes_dset'), None, dtype('complex128'), 'function_3268') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.VertexOnlyMeshTopology object at 0x7f9d96a52ab0>, TensorElement(FiniteElement('Discontinuous Lagrange', vertex, 0), shape=(2, 2), symmetry={}), name=None), Mesh(VectorElement(FiniteElement('Discontinuous Lagrange', Cell(vertex, 2), 0), dim=2), 3262)), 5884).dat
E        +      and   (23, 2, 2) = array([[[ 1.28112370e-01-0.j,  1.16591930e-01-0.j],\n        [ 1.16591930e-01-0.j,  1.06107460e-01-0.j]],\n\n       [[ 1.00013901e-02-0.j,  4.62988588e-02-0.j],\n        [ 4.62988588e-02-0.j,  2.14328639e-01-0.j]],\n\n       [[ 3.31461468e-02-0.j,  5.08404361e-02-0.j],\n        [ 5.08404361e-02-0.j,  7.79804048e-02-0.j]],\n\n       [[ 6.27816587e-03-0.j,  1.91865200e-02-0.j],\n        [ 1.91865200e-02-0.j,  5.86353656e-02-0.j]],\n\n       [[ 2.13087119e-01-0.j, -4.76152739e-02+0.j],\n        [-4.76152739e-02+0.j,  1.06398469e-02+0.j]],\n\n       [[ 6.76448476e-03-0.j,  1.45889613e-02-0.j],\n        [ 1.45889613e-02-0.j,  3.14640065e-02-0.j]],\n\n       [[ 2.27120711e-01-0.j, -1.04824895e-01+0.j],\n        [-1.04824895e-01+0.j,  4.83806987e-02+0.j]],\n\n       [[ 4.30518717e-03+0.j, -1.70338262e-02+0.j],\n        [-1.70338262e-02+0.j,  6.73957309e-02-0.j]],\n\n       [[ 8.51567131e-03+0.j, -2.42277159e-02+0.j],\n        [-2.42277159e-02+0.j,  6.89296471e-02-0.j]],\n\n       [[ 5.24647599e-02-0.j, -2.21183142e-02+0.j],\n        [-2.21183142e-02+0.j,  9.32473200e-03+0.j]],\n\n       [[ 6.21136065e-03+0.j, -1.05306696e-02+0.j],\n        [-1.05306696e-02+0.j,  1.78535764e-02-0.j]],\n\n       [[ 9.88263557e-02+0.j, -1...e-01+0.j,  1.30802302e-01-0.j]],\n\n       [[ 2.04039612e-03-0.j, -3.93571046e-04+0.j],\n        [-3.93571046e-04+0.j,  7.59157337e-05+0.j]],\n\n       [[ 1.47411213e-01-0.j, -1.41610458e-01+0.j],\n        [-1.41610458e-01+0.j,  1.36037967e-01+0.j]],\n\n       [[ 2.98657995e-01+0.j, -1.70571807e-01+0.j],\n        [-1.70571807e-01+0.j,  9.74182567e-02-0.j]],\n\n       [[ 2.93843368e-01+0.j, -2.12126270e-01+0.j],\n        [-2.12126270e-01+0.j,  1.53134491e-01-0.j]],\n\n       [[ 1.14137763e-02-0.j, -2.53680729e-02+0.j],\n        [-2.53680729e-02+0.j,  5.63826646e-02+0.j]],\n\n       [[ 8.78779331e-02+0.j, -2.38080087e-02+0.j],\n        [-2.38080087e-02+0.j,  6.45009799e-03-0.j]],\n\n       [[ 1.71234764e-02+0.j,  2.97596329e-02+0.j],\n        [ 2.97596329e-02+0.j,  5.17205577e-02+0.j]],\n\n       [[ 1.87161402e-01+0.j, -4.82321801e-03+0.j],\n        [-4.82321801e-03+0.j,  1.24296098e-04-0.j]],\n\n       [[ 1.84868507e-02+0.j,  4.46684825e-02+0.j],\n        [ 4.46684825e-02+0.j,  1.07929325e-01+0.j]],\n\n       [[ 4.79679212e-02+0.j,  8.19259064e-02+0.j],\n        [ 8.19259064e-02+0.j,  1.39923807e-01+0.j]],\n\n       [[ 2.95606040e-01+0.j,  1.79052288e-01+0.j],\n        [ 1.79052288e-01+0.j,  1.08454218e-01+0.j]]]).shape

tests/vertexonly/test_interpolation_from_parent.py:282: AssertionError

Check failure on line 534 in tests/regression/test_interpolate_cross_mesh.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_interpolate_cross_mesh.test_interpolate_cross_mesh[unitsquare_Regge_source]

assert False
 +  where False = <function allclose at 0x7fbc77d13370>([array([[0.32470945+6.96018591e-17j, 0.34433209+7.30015848e-17j],\n       [0.34433209+7.30015848e-17j, 0.36      +8.93945504e-17j]]), array([[0.01      +4.84718323e-18j, 0.09404452+2.17009235e-17j],\n       [0.09404452+2.17009235e-17j, 0.81      +1.99337700e-16j]]), array([[0.81      +2.00516594e-16j, 0.14692594+3.48837227e-17j],\n       [0.14692594+3.48837227e-17j, 0.01      +3.46218195e-18j]]), array([[0.81+1.99668455e-16j, 0.81+1.97542332e-16j],\n       [0.81+1.97542332e-16j, 0.81+1.98959748e-16j]]), array([[0.49240298+1.17834142e-16j, 0.44222054+1.05613601e-16j],\n       [0.44222054+1.05613601e-16j, 0.43349056+1.06721321e-16j]]), array([[-9.41425959e-49+6.16297582e-33j,  4.13576073e-02+1.10845403e-17j],\n       [ 4.13576073e-02+1.10845403e-17j,  4.68375339e-17+2.26786444e-18j]]), ...], array([[[0.3136    +0.j, 0.336     +0.j],\n        [0.336     +0.j, 0.36      +0.j]],\n\n       [[0.01      +0.j, 0.09      +0.j],\n        [0.09      +0.j, 0.81      +0.j]],\n\n       [[0.81      +0.j, 0.09      +0.j],\n        [0.09      +0.j, 0.01      +0.j]],\n\n       [[0.81      +0.j, 0.81      +0.j],\n        [0.81      +0.j, 0.81      +0.j]],\n\n       [[0.527076  +0.j, 0.4779984 +0.j],\n        [0.4779984 +0.j, 0.43349056+0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.        +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.11111111+0.j]],\n\n       [[0.25      +0.j, 0.        +0.j],\n        [0.        +0.j, 0.        +0.j]],\n\n       [[0.25      +0.j, 0.16666667+0.j],\n        [0.16666667+0.j, 0.11111111+0.j]],\n\n       [[1.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.        +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.44444444+0.j]],\n\n       [[1.        +0.j, 0.33333333+0.j],\n        [0.33333333+0.j, 0.11111111+0.j]],\n\n       [[0.25      +0.j, 0.33333333+0.j],\n        [0.33333333+0.j, 0.44444444+0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 1.        +0....   [[0.44444444+0.j, 0.26666667+0.j],\n        [0.26666667+0.j, 0.16      +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.36      +0.j]],\n\n       [[0.11111111+0.j, 0.2       +0.j],\n        [0.2       +0.j, 0.36      +0.j]],\n\n       [[1.        +0.j, 0.4       +0.j],\n        [0.4       +0.j, 0.16      +0.j]],\n\n       [[0.44444444+0.j, 0.4       +0.j],\n        [0.4       +0.j, 0.36      +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.64      +0.j]],\n\n       [[0.11111111+0.j, 0.26666667+0.j],\n        [0.26666667+0.j, 0.64      +0.j]],\n\n       [[1.        +0.j, 0.6       +0.j],\n        [0.6       +0.j, 0.36      +0.j]],\n\n       [[0.44444444+0.j, 0.53333333+0.j],\n        [0.53333333+0.j, 0.64      +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 1.        +0.j]],\n\n       [[0.11111111+0.j, 0.33333333+0.j],\n        [0.33333333+0.j, 1.        +0.j]],\n\n       [[1.        +0.j, 0.8       +0.j],\n        [0.8       +0.j, 0.64      +0.j]],\n\n       [[0.44444444+0.j, 0.66666667+0.j],\n        [0.66666667+0.j, 1.        +0.j]],\n\n       [[1.        +0.j, 1.        +0.j],\n        [1.        +0.j, 1.        +0.j]]]), atol=1e-08)
 +    where <function allclose at 0x7fbc77d13370> = np.allclose
Raw output
parameters = (Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 6507), Mesh(VectorElement(FiniteElement('Q', quadr...667+0.j, 1.        +0.j]],

       [[1.        +0.j, 1.        +0.j],
        [1.        +0.j, 1.        +0.j]]]), ...)

    def test_interpolate_cross_mesh(parameters):
        (
            m_src,
            m_dest,
            coords,
            expr_src,
            expr_dest,
            expected,
            V_src,
            V_dest,
            V_dest_2,
        ) = parameters
>       get_expected_values(
            m_src, m_dest, V_src, V_dest, coords, expected, expr_src, expr_dest
        )

tests/regression/test_interpolate_cross_mesh.py:299: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/regression/test_interpolate_cross_mesh.py:501: in get_expected_values
    interpolate_function(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

m_src = Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 6507)
m_dest = Mesh(VectorElement(FiniteElement('Q', quadrilateral, 1), dim=2), 6508)
V_src = WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc2518fe90>, FiniteElement('Regge', triangle, 2), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 6507))
V_dest = WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc2518df40>, TensorElement(FiniteElement('Q', qu...al, 4), shape=(2, 2), symmetry={}), name=None), Mesh(VectorElement(FiniteElement('Q', quadrilateral, 1), dim=2), 6508))
coords = array([[0.56      +0.j, 0.6       +0.j],
       [0.1       +0.j, 0.9       +0.j],
       [0.9       +0.j, 0.1       +0...   [1.        +0.j, 0.8       +0.j],
       [0.66666667+0.j, 1.        +0.j],
       [1.        +0.j, 1.        +0.j]])
expected = array([[[0.3136    +0.j, 0.336     +0.j],
        [0.336     +0.j, 0.36      +0.j]],

       [[0.01      +0.j, 0.09   ....66666667+0.j, 1.        +0.j]],

       [[1.        +0.j, 1.        +0.j],
        [1.        +0.j, 1.        +0.j]]])
expr_src = Outer(SpatialCoordinate(Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 6507)), SpatialCoordinate(Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 6507)))
expr_dest = Outer(SpatialCoordinate(Mesh(VectorElement(FiniteElement('Q', quadrilateral, 1), dim=2), 6508)), SpatialCoordinate(Mesh(VectorElement(FiniteElement('Q', quadrilateral, 1), dim=2), 6508)))
atol = 1e-08

    def interpolate_function(
        m_src, m_dest, V_src, V_dest, coords, expected, expr_src, expr_dest, atol
    ):
        f_src = Function(V_src).interpolate(expr_src)
        f_dest = assemble(interpolate(f_src, V_dest))
        assert extract_unique_domain(f_dest) is m_dest
        got = f_dest.at(coords)
>       assert np.allclose(got, expected, atol=atol)
E       assert False
E        +  where False = <function allclose at 0x7fbc77d13370>([array([[0.32470945+6.96018591e-17j, 0.34433209+7.30015848e-17j],\n       [0.34433209+7.30015848e-17j, 0.36      +8.93945504e-17j]]), array([[0.01      +4.84718323e-18j, 0.09404452+2.17009235e-17j],\n       [0.09404452+2.17009235e-17j, 0.81      +1.99337700e-16j]]), array([[0.81      +2.00516594e-16j, 0.14692594+3.48837227e-17j],\n       [0.14692594+3.48837227e-17j, 0.01      +3.46218195e-18j]]), array([[0.81+1.99668455e-16j, 0.81+1.97542332e-16j],\n       [0.81+1.97542332e-16j, 0.81+1.98959748e-16j]]), array([[0.49240298+1.17834142e-16j, 0.44222054+1.05613601e-16j],\n       [0.44222054+1.05613601e-16j, 0.43349056+1.06721321e-16j]]), array([[-9.41425959e-49+6.16297582e-33j,  4.13576073e-02+1.10845403e-17j],\n       [ 4.13576073e-02+1.10845403e-17j,  4.68375339e-17+2.26786444e-18j]]), ...], array([[[0.3136    +0.j, 0.336     +0.j],\n        [0.336     +0.j, 0.36      +0.j]],\n\n       [[0.01      +0.j, 0.09      +0.j],\n        [0.09      +0.j, 0.81      +0.j]],\n\n       [[0.81      +0.j, 0.09      +0.j],\n        [0.09      +0.j, 0.01      +0.j]],\n\n       [[0.81      +0.j, 0.81      +0.j],\n        [0.81      +0.j, 0.81      +0.j]],\n\n       [[0.527076  +0.j, 0.4779984 +0.j],\n        [0.4779984 +0.j, 0.43349056+0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.        +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.11111111+0.j]],\n\n       [[0.25      +0.j, 0.        +0.j],\n        [0.        +0.j, 0.        +0.j]],\n\n       [[0.25      +0.j, 0.16666667+0.j],\n        [0.16666667+0.j, 0.11111111+0.j]],\n\n       [[1.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.        +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.44444444+0.j]],\n\n       [[1.        +0.j, 0.33333333+0.j],\n        [0.33333333+0.j, 0.11111111+0.j]],\n\n       [[0.25      +0.j, 0.33333333+0.j],\n        [0.33333333+0.j, 0.44444444+0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 1.        +0....   [[0.44444444+0.j, 0.26666667+0.j],\n        [0.26666667+0.j, 0.16      +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.36      +0.j]],\n\n       [[0.11111111+0.j, 0.2       +0.j],\n        [0.2       +0.j, 0.36      +0.j]],\n\n       [[1.        +0.j, 0.4       +0.j],\n        [0.4       +0.j, 0.16      +0.j]],\n\n       [[0.44444444+0.j, 0.4       +0.j],\n        [0.4       +0.j, 0.36      +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 0.64      +0.j]],\n\n       [[0.11111111+0.j, 0.26666667+0.j],\n        [0.26666667+0.j, 0.64      +0.j]],\n\n       [[1.        +0.j, 0.6       +0.j],\n        [0.6       +0.j, 0.36      +0.j]],\n\n       [[0.44444444+0.j, 0.53333333+0.j],\n        [0.53333333+0.j, 0.64      +0.j]],\n\n       [[0.        +0.j, 0.        +0.j],\n        [0.        +0.j, 1.        +0.j]],\n\n       [[0.11111111+0.j, 0.33333333+0.j],\n        [0.33333333+0.j, 1.        +0.j]],\n\n       [[1.        +0.j, 0.8       +0.j],\n        [0.8       +0.j, 0.64      +0.j]],\n\n       [[0.44444444+0.j, 0.66666667+0.j],\n        [0.66666667+0.j, 1.        +0.j]],\n\n       [[1.        +0.j, 1.        +0.j],\n        [1.        +0.j, 1.        +0.j]]]), atol=1e-08)
E        +    where <function allclose at 0x7fbc77d13370> = np.allclose

tests/regression/test_interpolate_cross_mesh.py:534: AssertionError

Check failure on line 1 in tests/vertexonly/test_interpolation_from_parent.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_interpolation_from_parent.test_tensor_function_interpolation_parallel[shiftedmesh-mesh-100-coords-FunctionSpace(Regge2)]

subprocess.CalledProcessError: Command '['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHILD_PROCESS', '1', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/vertexonly/test_interpolation_from_parent.py::test_tensor_function_interpolation_parallel[shiftedmesh-mesh-100-coords-FunctionSpace(Regge2)]', ':', '-n', '2', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/vertexonly/test_interpolation_from_parent.py::test_tensor_function_interpolation_parallel[shiftedmesh-mesh-100-coords-FunctionSpace(Regge2)]', '--tb=no', '--no-summary', '--no-header', '--disable-warnings', '--show-capture=no']' returned non-zero exit status 1.
Raw output
args = ()
kwargs = {'parentmesh': Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 972), 'tfs': ('Regge', 2, <cyfunctio...1.38874478],
       [ 0.97910159,  0.48091762],
       [-0.04517074,  0.00871296],
       [-0.38394168,  0.36883325]])}

    def parallel_callback(*args, **kwargs):
>       subprocess.run(cmd, check=True)

../firedrake_venv/src/pytest-mpi/pytest_mpi.py:233: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

input = None, capture_output = False, timeout = None, check = True
popenargs = (['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHILD_PROCESS', '1', ...],)
kwargs = {}
process = <Popen: returncode: 1 args: ['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHI...>
stdout = None, stderr = None, retcode = 1

    def run(*popenargs,
            input=None, capture_output=False, timeout=None, check=False, **kwargs):
        """Run command with arguments and return a CompletedProcess instance.
    
        The returned instance will have attributes args, returncode, stdout and
        stderr. By default, stdout and stderr are not captured, and those attributes
        will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,
        or pass capture_output=True to capture both.
    
        If check is True and the exit code was non-zero, it raises a
        CalledProcessError. The CalledProcessError object will have the return code
        in the returncode attribute, and output & stderr attributes if those streams
        were captured.
    
        If timeout is given, and the process takes too long, a TimeoutExpired
        exception will be raised.
    
        There is an optional argument "input", allowing you to
        pass bytes or a string to the subprocess's stdin.  If you use this argument
        you may not also use the Popen constructor's "stdin" argument, as
        it will be used internally.
    
        By default, all communication is in bytes, and therefore any "input" should
        be bytes, and the stdout and stderr will be bytes. If in text mode, any
        "input" should be a string, and stdout and stderr will be strings decoded
        according to locale encoding, or by "encoding" if set. Text mode is
        triggered by setting any of text, encoding, errors or universal_newlines.
    
        The other arguments are the same as for the Popen constructor.
        """
        if input is not None:
            if kwargs.get('stdin') is not None:
                raise ValueError('stdin and input arguments may not both be used.')
            kwargs['stdin'] = PIPE
    
        if capture_output:
            if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
                raise ValueError('stdout and stderr arguments may not be used '
                                 'with capture_output.')
            kwargs['stdout'] = PIPE
            kwargs['stderr'] = PIPE
    
        with Popen(*popenargs, **kwargs) as process:
            try:
                stdout, stderr = process.communicate(input, timeout=timeout)
            except TimeoutExpired as exc:
                process.kill()
                if _mswindows:
                    # Windows accumulates the output in a single blocking
                    # read() call run on child threads, with the timeout
                    # being done in a join() on those threads.  communicate()
                    # _after_ kill() is required to collect that and add it
                    # to the exception.
                    exc.stdout, exc.stderr = process.communicate()
                else:
                    # POSIX _communicate already populated the output so
                    # far into the TimeoutExpired exception.
                    process.wait()
                raise
            except:  # Including KeyboardInterrupt, communicate handled that.
                process.kill()
                # We don't call process.wait() as .__exit__ does that for us.
                raise
            retcode = process.poll()
            if check and retcode:
>               raise CalledProcessError(retcode, process.args,
                                         output=stdout, stderr=stderr)
E               subprocess.CalledProcessError: Command '['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHILD_PROCESS', '1', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/vertexonly/test_interpolation_from_parent.py::test_tensor_function_interpolation_parallel[shiftedmesh-mesh-100-coords-FunctionSpace(Regge2)]', ':', '-n', '2', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/vertexonly/test_interpolation_from_parent.py::test_tensor_function_interpolation_parallel[shiftedmesh-mesh-100-coords-FunctionSpace(Regge2)]', '--tb=no', '--no-summary', '--no-header', '--disable-warnings', '--show-capture=no']' returned non-zero exit status 1.

/usr/lib/python3.12/subprocess.py:571: CalledProcessError

Check failure on line 1 in tests/regression/test_interpolate_cross_mesh.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_interpolate_cross_mesh.test_interpolate_cross_mesh_parallel[unitsquare_Regge_source]

subprocess.CalledProcessError: Command '['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHILD_PROCESS', '1', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/regression/test_interpolate_cross_mesh.py::test_interpolate_cross_mesh_parallel[unitsquare_Regge_source]', ':', '-n', '2', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/regression/test_interpolate_cross_mesh.py::test_interpolate_cross_mesh_parallel[unitsquare_Regge_source]', '--tb=no', '--no-summary', '--no-header', '--disable-warnings', '--show-capture=no']' returned non-zero exit status 1.
Raw output
args = ()
kwargs = {'parameters': (Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 8269), Mesh(VectorElement(FiniteEle...67+0.j, 1.        +0.j]],

       [[1.        +0.j, 1.        +0.j],
        [1.        +0.j, 1.        +0.j]]]), ...)}

    def parallel_callback(*args, **kwargs):
>       subprocess.run(cmd, check=True)

../firedrake_venv/src/pytest-mpi/pytest_mpi.py:233: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

input = None, capture_output = False, timeout = None, check = True
popenargs = (['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHILD_PROCESS', '1', ...],)
kwargs = {}
process = <Popen: returncode: 1 args: ['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHI...>
stdout = None, stderr = None, retcode = 1

    def run(*popenargs,
            input=None, capture_output=False, timeout=None, check=False, **kwargs):
        """Run command with arguments and return a CompletedProcess instance.
    
        The returned instance will have attributes args, returncode, stdout and
        stderr. By default, stdout and stderr are not captured, and those attributes
        will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,
        or pass capture_output=True to capture both.
    
        If check is True and the exit code was non-zero, it raises a
        CalledProcessError. The CalledProcessError object will have the return code
        in the returncode attribute, and output & stderr attributes if those streams
        were captured.
    
        If timeout is given, and the process takes too long, a TimeoutExpired
        exception will be raised.
    
        There is an optional argument "input", allowing you to
        pass bytes or a string to the subprocess's stdin.  If you use this argument
        you may not also use the Popen constructor's "stdin" argument, as
        it will be used internally.
    
        By default, all communication is in bytes, and therefore any "input" should
        be bytes, and the stdout and stderr will be bytes. If in text mode, any
        "input" should be a string, and stdout and stderr will be strings decoded
        according to locale encoding, or by "encoding" if set. Text mode is
        triggered by setting any of text, encoding, errors or universal_newlines.
    
        The other arguments are the same as for the Popen constructor.
        """
        if input is not None:
            if kwargs.get('stdin') is not None:
                raise ValueError('stdin and input arguments may not both be used.')
            kwargs['stdin'] = PIPE
    
        if capture_output:
            if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
                raise ValueError('stdout and stderr arguments may not be used '
                                 'with capture_output.')
            kwargs['stdout'] = PIPE
            kwargs['stderr'] = PIPE
    
        with Popen(*popenargs, **kwargs) as process:
            try:
                stdout, stderr = process.communicate(input, timeout=timeout)
            except TimeoutExpired as exc:
                process.kill()
                if _mswindows:
                    # Windows accumulates the output in a single blocking
                    # read() call run on child threads, with the timeout
                    # being done in a join() on those threads.  communicate()
                    # _after_ kill() is required to collect that and add it
                    # to the exception.
                    exc.stdout, exc.stderr = process.communicate()
                else:
                    # POSIX _communicate already populated the output so
                    # far into the TimeoutExpired exception.
                    process.wait()
                raise
            except:  # Including KeyboardInterrupt, communicate handled that.
                process.kill()
                # We don't call process.wait() as .__exit__ does that for us.
                raise
            retcode = process.poll()
            if check and retcode:
>               raise CalledProcessError(retcode, process.args,
                                         output=stdout, stderr=stderr)
E               subprocess.CalledProcessError: Command '['mpiexec', '-n', '1', '-genv', '_PYTEST_MPI_CHILD_PROCESS', '1', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/regression/test_interpolate_cross_mesh.py::test_interpolate_cross_mesh_parallel[unitsquare_Regge_source]', ':', '-n', '2', '/__w/firedrake/firedrake_venv/bin/python', '-m', 'pytest', '--runxfail', '-s', '-q', '/__w/firedrake/firedrake/tests/regression/test_interpolate_cross_mesh.py::test_interpolate_cross_mesh_parallel[unitsquare_Regge_source]', '--tb=no', '--no-summary', '--no-header', '--disable-warnings', '--show-capture=no']' returned non-zero exit status 1.

/usr/lib/python3.12/subprocess.py:571: CalledProcessError

Check failure on line 58 in tests/regression/test_interpolate_vs_project.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_interpolate_vs_project.test_interpolate_vs_project[square-FunctionSpace(Regge1)]

AssertionError: assert False
 +  where False = <function allclose at 0x7fbc77d13370>(array([0.16666667+0.j, 0.16666667+0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.33333333+0.j, 0.33333333+0.j,\n       0.35355339+0.j, 0.20412415+0.j, 0.35355339+0.j, 0.20412415+0.j,\n       0.16666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 1.06066017+0.j, 0.20412415+0.j, 0.16666667+0.j,\n       0.66666667+0.j, 0.        +0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.        +0.j, 0.        +0.j, 0.        +0.j, 0.83333333+0.j,\n       0.33333333+0.j, 1.06066017+0.j, 0.20412415+0.j, 0.5       +0.j,\n       0.28867513+0.j, 0.        +0.j, 0.83333333+0.j, 0.33333333+0.j,\n       0.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.66666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 0.        +0.j, 0.83333333+0.j, 0.83333333+0.j,\n       1.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j]), array([ 1.67752016e-01+0.j,  1.67752017e-01+0.j,  4.34139936e-03+0.j,\n        3.55764540e-01+0.j,  2.08059306e-01+0.j,  2.60483878e-02+0.j,\n       -1.44431658e-02+0.j,  3.51342246e-01+0.j,  2.05506089e-01+0.j,\n       -2.01663799e-02+0.j,  3.32743962e-01+0.j,  3.15291240e-01+0.j,\n        3.52745428e-01+0.j,  2.05433671e-01+0.j,  3.98563338e-01+0.j,\n        2.28335034e-01+0.j,  1.77772838e-01+0.j,  6.65557825e-01+0.j,\n        7.77964870e-03+0.j,  1.11847071e-02+0.j, -1.96274994e-02+0.j,\n        1.06747413e+00+0.j,  2.05342092e-01+0.j,  1.66434174e-01+0.j,\n        6.66612260e-01+0.j, -3.95712710e-04+0.j,  1.06071258e+00+0.j,\n        2.04021134e-01+0.j,  4.98351674e-04+0.j, -8.23692783e-05+0.j,\n        2.56390623e-03+0.j,  8.33545034e-01+0.j,  3.34117401e-01+0.j,\n        1.06305001e+00+0.j,  2.01871348e-01+0.j,  4.93186044e-01+0.j,\n        2.89893082e-01+0.j,  1.54057892e-04+0.j,  8.33371977e-01+0.j,\n        3.33371805e-01+0.j,  4.99947592e-01+0.j,  2.88572124e-01+0.j,\n        1.06069796e+00+0.j,  2.04186949e-01+0.j,  6.67328444e-01+0.j,\n        6.66755900e-01+0.j,  9.29823912e-04+0.j, -1.07287349e-03+0.j,\n       -1.25808343e-04+0.j, -2.52878707e-04+0.j,  8.33270113e-01+0.j,\n        8.33270113e-01+0.j,  1.49996148e+00+0.j,  2.88916374e-01+0.j,\n        1.06068741e+00+0.j,  2.04263275e-01+0.j]), atol=1e-06)
 +    where <function allclose at 0x7fbc77d13370> = np.allclose
 +    and   array([0.16666667+0.j, 0.16666667+0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.33333333+0.j, 0.33333333+0.j,\n       0.35355339+0.j, 0.20412415+0.j, 0.35355339+0.j, 0.20412415+0.j,\n       0.16666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 1.06066017+0.j, 0.20412415+0.j, 0.16666667+0.j,\n       0.66666667+0.j, 0.        +0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.        +0.j, 0.        +0.j, 0.        +0.j, 0.83333333+0.j,\n       0.33333333+0.j, 1.06066017+0.j, 0.20412415+0.j, 0.5       +0.j,\n       0.28867513+0.j, 0.        +0.j, 0.83333333+0.j, 0.33333333+0.j,\n       0.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.66666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 0.        +0.j, 0.83333333+0.j, 0.83333333+0.j,\n       1.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j]) = Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8336').data
 +      where Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8336') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc2453f3b0>, FiniteElement('Regge', triangle, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 8293)), 14029).dat
 +    and   array([ 1.67752016e-01+0.j,  1.67752017e-01+0.j,  4.34139936e-03+0.j,\n        3.55764540e-01+0.j,  2.08059306e-01+0.j,  2.60483878e-02+0.j,\n       -1.44431658e-02+0.j,  3.51342246e-01+0.j,  2.05506089e-01+0.j,\n       -2.01663799e-02+0.j,  3.32743962e-01+0.j,  3.15291240e-01+0.j,\n        3.52745428e-01+0.j,  2.05433671e-01+0.j,  3.98563338e-01+0.j,\n        2.28335034e-01+0.j,  1.77772838e-01+0.j,  6.65557825e-01+0.j,\n        7.77964870e-03+0.j,  1.11847071e-02+0.j, -1.96274994e-02+0.j,\n        1.06747413e+00+0.j,  2.05342092e-01+0.j,  1.66434174e-01+0.j,\n        6.66612260e-01+0.j, -3.95712710e-04+0.j,  1.06071258e+00+0.j,\n        2.04021134e-01+0.j,  4.98351674e-04+0.j, -8.23692783e-05+0.j,\n        2.56390623e-03+0.j,  8.33545034e-01+0.j,  3.34117401e-01+0.j,\n        1.06305001e+00+0.j,  2.01871348e-01+0.j,  4.93186044e-01+0.j,\n        2.89893082e-01+0.j,  1.54057892e-04+0.j,  8.33371977e-01+0.j,\n        3.33371805e-01+0.j,  4.99947592e-01+0.j,  2.88572124e-01+0.j,\n        1.06069796e+00+0.j,  2.04186949e-01+0.j,  6.67328444e-01+0.j,\n        6.66755900e-01+0.j,  9.29823912e-04+0.j, -1.07287349e-03+0.j,\n       -1.25808343e-04+0.j, -2.52878707e-04+0.j,  8.33270113e-01+0.j,\n        8.33270113e-01+0.j,  1.49996148e+00+0.j,  2.88916374e-01+0.j,\n        1.06068741e+00+0.j,  2.04263275e-01+0.j]) = Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8337').data
 +      where Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8337') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc2453f3b0>, FiniteElement('Regge', triangle, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 8293)), 14031).dat
Raw output
V = WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc2453f3b0>, FiniteElement('Regge', triangle, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 8293))

    def test_interpolate_vs_project(V):
        mesh = V.mesh()
        dim = mesh.geometric_dimension()
        if dim == 2:
            x, y = SpatialCoordinate(mesh)
        elif dim == 3:
            x, y, z = SpatialCoordinate(mesh)
    
        shape = V.ufl_element().value_shape
        if dim == 2:
            if len(shape) == 0:
                expression = x + y
            elif len(shape) == 1:
                expression = as_vector([x, y])
            elif len(shape) == 2:
                expression = as_tensor(([x, y], [x, y]))
        elif dim == 3:
            if len(shape) == 0:
                expression = x + y + z
            elif len(shape) == 1:
                expression = as_vector([x, y, z])
            elif len(shape) == 2:
                expression = as_tensor(([x, y, z], [x, y, z], [x, y, z]))
    
        f = assemble(interpolate(expression, V))
        expect = project(expression, V)
>       assert np.allclose(f.dat.data, expect.dat.data, atol=1e-06)
E       AssertionError: assert False
E        +  where False = <function allclose at 0x7fbc77d13370>(array([0.16666667+0.j, 0.16666667+0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.33333333+0.j, 0.33333333+0.j,\n       0.35355339+0.j, 0.20412415+0.j, 0.35355339+0.j, 0.20412415+0.j,\n       0.16666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 1.06066017+0.j, 0.20412415+0.j, 0.16666667+0.j,\n       0.66666667+0.j, 0.        +0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.        +0.j, 0.        +0.j, 0.        +0.j, 0.83333333+0.j,\n       0.33333333+0.j, 1.06066017+0.j, 0.20412415+0.j, 0.5       +0.j,\n       0.28867513+0.j, 0.        +0.j, 0.83333333+0.j, 0.33333333+0.j,\n       0.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.66666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 0.        +0.j, 0.83333333+0.j, 0.83333333+0.j,\n       1.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j]), array([ 1.67752016e-01+0.j,  1.67752017e-01+0.j,  4.34139936e-03+0.j,\n        3.55764540e-01+0.j,  2.08059306e-01+0.j,  2.60483878e-02+0.j,\n       -1.44431658e-02+0.j,  3.51342246e-01+0.j,  2.05506089e-01+0.j,\n       -2.01663799e-02+0.j,  3.32743962e-01+0.j,  3.15291240e-01+0.j,\n        3.52745428e-01+0.j,  2.05433671e-01+0.j,  3.98563338e-01+0.j,\n        2.28335034e-01+0.j,  1.77772838e-01+0.j,  6.65557825e-01+0.j,\n        7.77964870e-03+0.j,  1.11847071e-02+0.j, -1.96274994e-02+0.j,\n        1.06747413e+00+0.j,  2.05342092e-01+0.j,  1.66434174e-01+0.j,\n        6.66612260e-01+0.j, -3.95712710e-04+0.j,  1.06071258e+00+0.j,\n        2.04021134e-01+0.j,  4.98351674e-04+0.j, -8.23692783e-05+0.j,\n        2.56390623e-03+0.j,  8.33545034e-01+0.j,  3.34117401e-01+0.j,\n        1.06305001e+00+0.j,  2.01871348e-01+0.j,  4.93186044e-01+0.j,\n        2.89893082e-01+0.j,  1.54057892e-04+0.j,  8.33371977e-01+0.j,\n        3.33371805e-01+0.j,  4.99947592e-01+0.j,  2.88572124e-01+0.j,\n        1.06069796e+00+0.j,  2.04186949e-01+0.j,  6.67328444e-01+0.j,\n        6.66755900e-01+0.j,  9.29823912e-04+0.j, -1.07287349e-03+0.j,\n       -1.25808343e-04+0.j, -2.52878707e-04+0.j,  8.33270113e-01+0.j,\n        8.33270113e-01+0.j,  1.49996148e+00+0.j,  2.88916374e-01+0.j,\n        1.06068741e+00+0.j,  2.04263275e-01+0.j]), atol=1e-06)
E        +    where <function allclose at 0x7fbc77d13370> = np.allclose
E        +    and   array([0.16666667+0.j, 0.16666667+0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.        +0.j, 0.35355339+0.j,\n       0.20412415+0.j, 0.        +0.j, 0.33333333+0.j, 0.33333333+0.j,\n       0.35355339+0.j, 0.20412415+0.j, 0.35355339+0.j, 0.20412415+0.j,\n       0.16666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 1.06066017+0.j, 0.20412415+0.j, 0.16666667+0.j,\n       0.66666667+0.j, 0.        +0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.        +0.j, 0.        +0.j, 0.        +0.j, 0.83333333+0.j,\n       0.33333333+0.j, 1.06066017+0.j, 0.20412415+0.j, 0.5       +0.j,\n       0.28867513+0.j, 0.        +0.j, 0.83333333+0.j, 0.33333333+0.j,\n       0.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j,\n       0.66666667+0.j, 0.66666667+0.j, 0.        +0.j, 0.        +0.j,\n       0.        +0.j, 0.        +0.j, 0.83333333+0.j, 0.83333333+0.j,\n       1.5       +0.j, 0.28867513+0.j, 1.06066017+0.j, 0.20412415+0.j]) = Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8336').data
E        +      where Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8336') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc2453f3b0>, FiniteElement('Regge', triangle, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 8293)), 14029).dat
E        +    and   array([ 1.67752016e-01+0.j,  1.67752017e-01+0.j,  4.34139936e-03+0.j,\n        3.55764540e-01+0.j,  2.08059306e-01+0.j,  2.60483878e-02+0.j,\n       -1.44431658e-02+0.j,  3.51342246e-01+0.j,  2.05506089e-01+0.j,\n       -2.01663799e-02+0.j,  3.32743962e-01+0.j,  3.15291240e-01+0.j,\n        3.52745428e-01+0.j,  2.05433671e-01+0.j,  3.98563338e-01+0.j,\n        2.28335034e-01+0.j,  1.77772838e-01+0.j,  6.65557825e-01+0.j,\n        7.77964870e-03+0.j,  1.11847071e-02+0.j, -1.96274994e-02+0.j,\n        1.06747413e+00+0.j,  2.05342092e-01+0.j,  1.66434174e-01+0.j,\n        6.66612260e-01+0.j, -3.95712710e-04+0.j,  1.06071258e+00+0.j,\n        2.04021134e-01+0.j,  4.98351674e-04+0.j, -8.23692783e-05+0.j,\n        2.56390623e-03+0.j,  8.33545034e-01+0.j,  3.34117401e-01+0.j,\n        1.06305001e+00+0.j,  2.01871348e-01+0.j,  4.93186044e-01+0.j,\n        2.89893082e-01+0.j,  1.54057892e-04+0.j,  8.33371977e-01+0.j,\n        3.33371805e-01+0.j,  4.99947592e-01+0.j,  2.88572124e-01+0.j,\n        1.06069796e+00+0.j,  2.04186949e-01+0.j,  6.67328444e-01+0.j,\n        6.66755900e-01+0.j,  9.29823912e-04+0.j, -1.07287349e-03+0.j,\n       -1.25808343e-04+0.j, -2.52878707e-04+0.j,  8.33270113e-01+0.j,\n        8.33270113e-01+0.j,  1.49996148e+00+0.j,  2.88916374e-01+0.j,\n        1.06068741e+00+0.j,  2.04263275e-01+0.j]) = Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8337').data
E        +      where Dat(DataSet(Set((np.int64(56), np.int64(56), np.int64(56)), 'set_#x7fbc2464e7e0'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8337') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc2453f3b0>, FiniteElement('Regge', triangle, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 8293)), 14031).dat

tests/regression/test_interpolate_vs_project.py:58: AssertionError

Check failure on line 58 in tests/regression/test_interpolate_vs_project.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_interpolate_vs_project.test_interpolate_vs_project[cube-FunctionSpace(Regge1)]

AssertionError: assert False
 +  where False = <function allclose at 0x7fbc77d13370>(array([ 3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  3.33333333+0.j,\n        5.5       +0.j,  0.16666667+0.j,  0.83333333+0.j,  5.        +0.j,\n        1.66666667+0.j,  1.44337567+0.j,  0.28867513+0.j,  3.46410162+0.j,\n        4.24264069+0.j,  0.81649658+0.j,  1.5       +0.j, -0.28867513+0.j,\n        1.06066017+0.j,  0.20412415+0.j,  7.4246212 +0.j,  1.83711731+0.j,\n        0.5       +0.j,  0.28867513+0.j,  4.        +0.j,  1.15470054+0.j,\n        3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  5.        +0.j,\n        0.83333333+0.j,  1.66666667+0.j,  0.28867513+0.j,  1.44337567+0.j,\n        3.46410162+0.j,  1.06066017+0.j,  0.20412415+0.j,  1.5       +0.j,\n       -0.28867513+0.j,  4.        +0.j, -1.15470054+0.j,  5.5       +0.j,\n        2.33333333+0.j,  0.66666667+0.j,  0.83333333+0.j,  2.        +0.j,\n        0.16666667+0.j,  3.46410162+0.j,  0.57735027+0.j,  1.15470054+0.j,\n        2.82842712+0.j,  0.81649658+0.j,  1.06066017+0.j, -0.20412415+0.j,\n        0.5       +0.j,  0.28867513+0.j,  2.        +0.j,  0.16666667+0.j,\n        0.83333333+0.j,  0.28867513+0.j,  4.04145188+0.j,  6.92820323+0.j,\n        3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,  0.16666667+0.j...       4.        +0.j,  1.66666667+0.j,  0.33333333+0.j,  3.5       +0.j,\n        5.30330086+0.j, -1.83711731+0.j,  2.        +0.j,  0.83333333+0.j,\n        0.16666667+0.j,  1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,\n        0.35355339+0.j, -0.20412415+0.j,  1.66666667+0.j,  0.33333333+0.j,\n        3.5       +0.j,  2.        +0.j,  0.83333333+0.j,  0.16666667+0.j,\n        1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,  0.35355339+0.j,\n       -0.20412415+0.j,  4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,\n        0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,  4.        +0.j,\n        1.15470054+0.j,  0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,\n        4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,  4.        +0.j,\n        1.15470054+0.j,  3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  1.5       +0.j,  0.28867513+0.j,\n        1.41421356+0.j, -0.81649658+0.j,  0.5       +0.j, -0.28867513+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  0.5       +0.j, -0.28867513+0.j]), array([ 3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  3.46782652+0.j,\n        5.77440476+0.j,  0.18713935+0.j,  0.88680504+0.j,  5.31936332+0.j,\n        1.85744485+0.j,  1.41416709+0.j,  0.25946654+0.j,  3.34726724+0.j,\n        4.48869293+0.j,  0.50453799+0.j,  1.43858189+0.j, -0.24152551+0.j,\n        1.17622132+0.j,  0.11587108+0.j,  8.34545762+0.j,  1.4162593 +0.j,\n        0.43928549+0.j,  0.336231  +0.j,  4.08380429+0.j,  1.15632545+0.j,\n        3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  5.31936333+0.j,\n        0.88680504+0.j,  1.85744486+0.j,  0.25946653+0.j,  1.41416709+0.j,\n        3.34726724+0.j,  1.17622132+0.j,  0.11587107+0.j,  1.43858189+0.j,\n       -0.24152552+0.j,  4.08380429+0.j, -1.15632546+0.j,  5.31938635+0.j,\n        2.43400809+0.j,  0.68042695+0.j,  0.79155607+0.j,  1.89142585+0.j,\n        0.15524404+0.j,  2.96243402+0.j,  0.46879328+0.j,  1.03466801+0.j,\n        3.09662316+0.j,  0.4958687 +0.j,  1.35357074+0.j, -0.31535984+0.j,\n        0.36310608+0.j,  0.22059957+0.j,  1.79674107+0.j,  0.12474411+0.j,\n        0.88337549+0.j,  0.15895804+0.j,  2.56929955+0.j,  4.49344088+0.j,\n        3.86866315+0.j,  0.67548334+0.j,  0.91686289+0.j,  0.17577899+0.j...       3.99331102+0.j,  1.64832237+0.j,  0.28062424+0.j,  3.70645802+0.j,\n        5.16352959+0.j, -2.41179053+0.j,  1.80330713+0.j,  0.75497906+0.j,\n        0.13183775+0.j,  0.98857867+0.j,  3.67454032+0.j,  0.61483971+0.j,\n        0.41669874+0.j, -0.26501953+0.j,  1.64832236+0.j,  0.28062423+0.j,\n        3.706458  +0.j,  1.80330714+0.j,  0.75497905+0.j,  0.13183776+0.j,\n        0.98857867+0.j,  3.6745403 +0.j,  0.61483971+0.j,  0.41669876+0.j,\n       -0.26501952+0.j,  4.17288651+0.j,  0.19991104+0.j,  2.34125801+0.j,\n        0.31652345+0.j,  0.62058386+0.j,  2.16684412+0.j,  2.72026236+0.j,\n        1.09980084+0.j,  0.31652346+0.j,  0.62058387+0.j,  2.16684415+0.j,\n        4.17288656+0.j,  0.19991104+0.j,  2.34125804+0.j,  2.72026246+0.j,\n        1.09980085+0.j,  3.34766794+0.j,  0.54552516+0.j,  0.89160837+0.j,\n        2.71838179+0.j,  1.25694571+0.j,  0.10224517+0.j,  0.17981149+0.j,\n        1.13321999+0.j,  0.38368428+0.j,  1.34894718+0.j,  0.37245404+0.j,\n        1.33261983+0.j, -0.89319085+0.j,  0.3251749 +0.j, -0.19117131+0.j,\n        2.71838184+0.j,  1.25694572+0.j,  0.10224519+0.j,  0.1798115 +0.j,\n        1.13322002+0.j,  0.38368428+0.j,  0.32517492+0.j, -0.19117132+0.j]), atol=1e-06)
 +    where <function allclose at 0x7fbc77d13370> = np.allclose
 +    and   array([ 3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  3.33333333+0.j,\n        5.5       +0.j,  0.16666667+0.j,  0.83333333+0.j,  5.        +0.j,\n        1.66666667+0.j,  1.44337567+0.j,  0.28867513+0.j,  3.46410162+0.j,\n        4.24264069+0.j,  0.81649658+0.j,  1.5       +0.j, -0.28867513+0.j,\n        1.06066017+0.j,  0.20412415+0.j,  7.4246212 +0.j,  1.83711731+0.j,\n        0.5       +0.j,  0.28867513+0.j,  4.        +0.j,  1.15470054+0.j,\n        3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  5.        +0.j,\n        0.83333333+0.j,  1.66666667+0.j,  0.28867513+0.j,  1.44337567+0.j,\n        3.46410162+0.j,  1.06066017+0.j,  0.20412415+0.j,  1.5       +0.j,\n       -0.28867513+0.j,  4.        +0.j, -1.15470054+0.j,  5.5       +0.j,\n        2.33333333+0.j,  0.66666667+0.j,  0.83333333+0.j,  2.        +0.j,\n        0.16666667+0.j,  3.46410162+0.j,  0.57735027+0.j,  1.15470054+0.j,\n        2.82842712+0.j,  0.81649658+0.j,  1.06066017+0.j, -0.20412415+0.j,\n        0.5       +0.j,  0.28867513+0.j,  2.        +0.j,  0.16666667+0.j,\n        0.83333333+0.j,  0.28867513+0.j,  4.04145188+0.j,  6.92820323+0.j,\n        3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,  0.16666667+0.j...       4.        +0.j,  1.66666667+0.j,  0.33333333+0.j,  3.5       +0.j,\n        5.30330086+0.j, -1.83711731+0.j,  2.        +0.j,  0.83333333+0.j,\n        0.16666667+0.j,  1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,\n        0.35355339+0.j, -0.20412415+0.j,  1.66666667+0.j,  0.33333333+0.j,\n        3.5       +0.j,  2.        +0.j,  0.83333333+0.j,  0.16666667+0.j,\n        1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,  0.35355339+0.j,\n       -0.20412415+0.j,  4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,\n        0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,  4.        +0.j,\n        1.15470054+0.j,  0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,\n        4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,  4.        +0.j,\n        1.15470054+0.j,  3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  1.5       +0.j,  0.28867513+0.j,\n        1.41421356+0.j, -0.81649658+0.j,  0.5       +0.j, -0.28867513+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  0.5       +0.j, -0.28867513+0.j]) = Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8382').data
 +      where Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8382') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc241e26c0>, FiniteElement('Regge', tetrahedron, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3), 8339)), 14160).dat
 +    and   array([ 3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  3.46782652+0.j,\n        5.77440476+0.j,  0.18713935+0.j,  0.88680504+0.j,  5.31936332+0.j,\n        1.85744485+0.j,  1.41416709+0.j,  0.25946654+0.j,  3.34726724+0.j,\n        4.48869293+0.j,  0.50453799+0.j,  1.43858189+0.j, -0.24152551+0.j,\n        1.17622132+0.j,  0.11587108+0.j,  8.34545762+0.j,  1.4162593 +0.j,\n        0.43928549+0.j,  0.336231  +0.j,  4.08380429+0.j,  1.15632545+0.j,\n        3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  5.31936333+0.j,\n        0.88680504+0.j,  1.85744486+0.j,  0.25946653+0.j,  1.41416709+0.j,\n        3.34726724+0.j,  1.17622132+0.j,  0.11587107+0.j,  1.43858189+0.j,\n       -0.24152552+0.j,  4.08380429+0.j, -1.15632546+0.j,  5.31938635+0.j,\n        2.43400809+0.j,  0.68042695+0.j,  0.79155607+0.j,  1.89142585+0.j,\n        0.15524404+0.j,  2.96243402+0.j,  0.46879328+0.j,  1.03466801+0.j,\n        3.09662316+0.j,  0.4958687 +0.j,  1.35357074+0.j, -0.31535984+0.j,\n        0.36310608+0.j,  0.22059957+0.j,  1.79674107+0.j,  0.12474411+0.j,\n        0.88337549+0.j,  0.15895804+0.j,  2.56929955+0.j,  4.49344088+0.j,\n        3.86866315+0.j,  0.67548334+0.j,  0.91686289+0.j,  0.17577899+0.j...       3.99331102+0.j,  1.64832237+0.j,  0.28062424+0.j,  3.70645802+0.j,\n        5.16352959+0.j, -2.41179053+0.j,  1.80330713+0.j,  0.75497906+0.j,\n        0.13183775+0.j,  0.98857867+0.j,  3.67454032+0.j,  0.61483971+0.j,\n        0.41669874+0.j, -0.26501953+0.j,  1.64832236+0.j,  0.28062423+0.j,\n        3.706458  +0.j,  1.80330714+0.j,  0.75497905+0.j,  0.13183776+0.j,\n        0.98857867+0.j,  3.6745403 +0.j,  0.61483971+0.j,  0.41669876+0.j,\n       -0.26501952+0.j,  4.17288651+0.j,  0.19991104+0.j,  2.34125801+0.j,\n        0.31652345+0.j,  0.62058386+0.j,  2.16684412+0.j,  2.72026236+0.j,\n        1.09980084+0.j,  0.31652346+0.j,  0.62058387+0.j,  2.16684415+0.j,\n        4.17288656+0.j,  0.19991104+0.j,  2.34125804+0.j,  2.72026246+0.j,\n        1.09980085+0.j,  3.34766794+0.j,  0.54552516+0.j,  0.89160837+0.j,\n        2.71838179+0.j,  1.25694571+0.j,  0.10224517+0.j,  0.17981149+0.j,\n        1.13321999+0.j,  0.38368428+0.j,  1.34894718+0.j,  0.37245404+0.j,\n        1.33261983+0.j, -0.89319085+0.j,  0.3251749 +0.j, -0.19117131+0.j,\n        2.71838184+0.j,  1.25694572+0.j,  0.10224519+0.j,  0.1798115 +0.j,\n        1.13322002+0.j,  0.38368428+0.j,  0.32517492+0.j, -0.19117132+0.j]) = Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8383').data
 +      where Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8383') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc241e26c0>, FiniteElement('Regge', tetrahedron, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3), 8339)), 14162).dat
Raw output
V = WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc241e26c0>, FiniteElement('Regge', tetrahedron, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3), 8339))

    def test_interpolate_vs_project(V):
        mesh = V.mesh()
        dim = mesh.geometric_dimension()
        if dim == 2:
            x, y = SpatialCoordinate(mesh)
        elif dim == 3:
            x, y, z = SpatialCoordinate(mesh)
    
        shape = V.ufl_element().value_shape
        if dim == 2:
            if len(shape) == 0:
                expression = x + y
            elif len(shape) == 1:
                expression = as_vector([x, y])
            elif len(shape) == 2:
                expression = as_tensor(([x, y], [x, y]))
        elif dim == 3:
            if len(shape) == 0:
                expression = x + y + z
            elif len(shape) == 1:
                expression = as_vector([x, y, z])
            elif len(shape) == 2:
                expression = as_tensor(([x, y, z], [x, y, z], [x, y, z]))
    
        f = assemble(interpolate(expression, V))
        expect = project(expression, V)
>       assert np.allclose(f.dat.data, expect.dat.data, atol=1e-06)
E       AssertionError: assert False
E        +  where False = <function allclose at 0x7fbc77d13370>(array([ 3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  3.33333333+0.j,\n        5.5       +0.j,  0.16666667+0.j,  0.83333333+0.j,  5.        +0.j,\n        1.66666667+0.j,  1.44337567+0.j,  0.28867513+0.j,  3.46410162+0.j,\n        4.24264069+0.j,  0.81649658+0.j,  1.5       +0.j, -0.28867513+0.j,\n        1.06066017+0.j,  0.20412415+0.j,  7.4246212 +0.j,  1.83711731+0.j,\n        0.5       +0.j,  0.28867513+0.j,  4.        +0.j,  1.15470054+0.j,\n        3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  5.        +0.j,\n        0.83333333+0.j,  1.66666667+0.j,  0.28867513+0.j,  1.44337567+0.j,\n        3.46410162+0.j,  1.06066017+0.j,  0.20412415+0.j,  1.5       +0.j,\n       -0.28867513+0.j,  4.        +0.j, -1.15470054+0.j,  5.5       +0.j,\n        2.33333333+0.j,  0.66666667+0.j,  0.83333333+0.j,  2.        +0.j,\n        0.16666667+0.j,  3.46410162+0.j,  0.57735027+0.j,  1.15470054+0.j,\n        2.82842712+0.j,  0.81649658+0.j,  1.06066017+0.j, -0.20412415+0.j,\n        0.5       +0.j,  0.28867513+0.j,  2.        +0.j,  0.16666667+0.j,\n        0.83333333+0.j,  0.28867513+0.j,  4.04145188+0.j,  6.92820323+0.j,\n        3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,  0.16666667+0.j...       4.        +0.j,  1.66666667+0.j,  0.33333333+0.j,  3.5       +0.j,\n        5.30330086+0.j, -1.83711731+0.j,  2.        +0.j,  0.83333333+0.j,\n        0.16666667+0.j,  1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,\n        0.35355339+0.j, -0.20412415+0.j,  1.66666667+0.j,  0.33333333+0.j,\n        3.5       +0.j,  2.        +0.j,  0.83333333+0.j,  0.16666667+0.j,\n        1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,  0.35355339+0.j,\n       -0.20412415+0.j,  4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,\n        0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,  4.        +0.j,\n        1.15470054+0.j,  0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,\n        4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,  4.        +0.j,\n        1.15470054+0.j,  3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  1.5       +0.j,  0.28867513+0.j,\n        1.41421356+0.j, -0.81649658+0.j,  0.5       +0.j, -0.28867513+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  0.5       +0.j, -0.28867513+0.j]), array([ 3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  3.46782652+0.j,\n        5.77440476+0.j,  0.18713935+0.j,  0.88680504+0.j,  5.31936332+0.j,\n        1.85744485+0.j,  1.41416709+0.j,  0.25946654+0.j,  3.34726724+0.j,\n        4.48869293+0.j,  0.50453799+0.j,  1.43858189+0.j, -0.24152551+0.j,\n        1.17622132+0.j,  0.11587108+0.j,  8.34545762+0.j,  1.4162593 +0.j,\n        0.43928549+0.j,  0.336231  +0.j,  4.08380429+0.j,  1.15632545+0.j,\n        3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  5.31936333+0.j,\n        0.88680504+0.j,  1.85744486+0.j,  0.25946653+0.j,  1.41416709+0.j,\n        3.34726724+0.j,  1.17622132+0.j,  0.11587107+0.j,  1.43858189+0.j,\n       -0.24152552+0.j,  4.08380429+0.j, -1.15632546+0.j,  5.31938635+0.j,\n        2.43400809+0.j,  0.68042695+0.j,  0.79155607+0.j,  1.89142585+0.j,\n        0.15524404+0.j,  2.96243402+0.j,  0.46879328+0.j,  1.03466801+0.j,\n        3.09662316+0.j,  0.4958687 +0.j,  1.35357074+0.j, -0.31535984+0.j,\n        0.36310608+0.j,  0.22059957+0.j,  1.79674107+0.j,  0.12474411+0.j,\n        0.88337549+0.j,  0.15895804+0.j,  2.56929955+0.j,  4.49344088+0.j,\n        3.86866315+0.j,  0.67548334+0.j,  0.91686289+0.j,  0.17577899+0.j...       3.99331102+0.j,  1.64832237+0.j,  0.28062424+0.j,  3.70645802+0.j,\n        5.16352959+0.j, -2.41179053+0.j,  1.80330713+0.j,  0.75497906+0.j,\n        0.13183775+0.j,  0.98857867+0.j,  3.67454032+0.j,  0.61483971+0.j,\n        0.41669874+0.j, -0.26501953+0.j,  1.64832236+0.j,  0.28062423+0.j,\n        3.706458  +0.j,  1.80330714+0.j,  0.75497905+0.j,  0.13183776+0.j,\n        0.98857867+0.j,  3.6745403 +0.j,  0.61483971+0.j,  0.41669876+0.j,\n       -0.26501952+0.j,  4.17288651+0.j,  0.19991104+0.j,  2.34125801+0.j,\n        0.31652345+0.j,  0.62058386+0.j,  2.16684412+0.j,  2.72026236+0.j,\n        1.09980084+0.j,  0.31652346+0.j,  0.62058387+0.j,  2.16684415+0.j,\n        4.17288656+0.j,  0.19991104+0.j,  2.34125804+0.j,  2.72026246+0.j,\n        1.09980085+0.j,  3.34766794+0.j,  0.54552516+0.j,  0.89160837+0.j,\n        2.71838179+0.j,  1.25694571+0.j,  0.10224517+0.j,  0.17981149+0.j,\n        1.13321999+0.j,  0.38368428+0.j,  1.34894718+0.j,  0.37245404+0.j,\n        1.33261983+0.j, -0.89319085+0.j,  0.3251749 +0.j, -0.19117131+0.j,\n        2.71838184+0.j,  1.25694572+0.j,  0.10224519+0.j,  0.1798115 +0.j,\n        1.13322002+0.j,  0.38368428+0.j,  0.32517492+0.j, -0.19117132+0.j]), atol=1e-06)
E        +    where <function allclose at 0x7fbc77d13370> = np.allclose
E        +    and   array([ 3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  3.33333333+0.j,\n        5.5       +0.j,  0.16666667+0.j,  0.83333333+0.j,  5.        +0.j,\n        1.66666667+0.j,  1.44337567+0.j,  0.28867513+0.j,  3.46410162+0.j,\n        4.24264069+0.j,  0.81649658+0.j,  1.5       +0.j, -0.28867513+0.j,\n        1.06066017+0.j,  0.20412415+0.j,  7.4246212 +0.j,  1.83711731+0.j,\n        0.5       +0.j,  0.28867513+0.j,  4.        +0.j,  1.15470054+0.j,\n        3.        +0.j,  0.83333333+0.j,  0.66666667+0.j,  5.        +0.j,\n        0.83333333+0.j,  1.66666667+0.j,  0.28867513+0.j,  1.44337567+0.j,\n        3.46410162+0.j,  1.06066017+0.j,  0.20412415+0.j,  1.5       +0.j,\n       -0.28867513+0.j,  4.        +0.j, -1.15470054+0.j,  5.5       +0.j,\n        2.33333333+0.j,  0.66666667+0.j,  0.83333333+0.j,  2.        +0.j,\n        0.16666667+0.j,  3.46410162+0.j,  0.57735027+0.j,  1.15470054+0.j,\n        2.82842712+0.j,  0.81649658+0.j,  1.06066017+0.j, -0.20412415+0.j,\n        0.5       +0.j,  0.28867513+0.j,  2.        +0.j,  0.16666667+0.j,\n        0.83333333+0.j,  0.28867513+0.j,  4.04145188+0.j,  6.92820323+0.j,\n        3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,  0.16666667+0.j...       4.        +0.j,  1.66666667+0.j,  0.33333333+0.j,  3.5       +0.j,\n        5.30330086+0.j, -1.83711731+0.j,  2.        +0.j,  0.83333333+0.j,\n        0.16666667+0.j,  1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,\n        0.35355339+0.j, -0.20412415+0.j,  1.66666667+0.j,  0.33333333+0.j,\n        3.5       +0.j,  2.        +0.j,  0.83333333+0.j,  0.16666667+0.j,\n        1.15470054+0.j,  3.46410162+0.j,  0.57735027+0.j,  0.35355339+0.j,\n       -0.20412415+0.j,  4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,\n        0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,  4.        +0.j,\n        1.15470054+0.j,  0.33333333+0.j,  0.66666667+0.j,  2.        +0.j,\n        4.        +0.j,  0.16666667+0.j,  2.33333333+0.j,  4.        +0.j,\n        1.15470054+0.j,  3.5       +0.j,  0.66666667+0.j,  0.83333333+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  1.5       +0.j,  0.28867513+0.j,\n        1.41421356+0.j, -0.81649658+0.j,  0.5       +0.j, -0.28867513+0.j,\n        3.46410162+0.j,  1.44337567+0.j,  0.28867513+0.j,  0.16666667+0.j,\n        1.        +0.j,  0.33333333+0.j,  0.5       +0.j, -0.28867513+0.j]) = Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8382').data
E        +      where Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8382') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc241e26c0>, FiniteElement('Regge', tetrahedron, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3), 8339)), 14160).dat
E        +    and   array([ 3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  3.46782652+0.j,\n        5.77440476+0.j,  0.18713935+0.j,  0.88680504+0.j,  5.31936332+0.j,\n        1.85744485+0.j,  1.41416709+0.j,  0.25946654+0.j,  3.34726724+0.j,\n        4.48869293+0.j,  0.50453799+0.j,  1.43858189+0.j, -0.24152551+0.j,\n        1.17622132+0.j,  0.11587108+0.j,  8.34545762+0.j,  1.4162593 +0.j,\n        0.43928549+0.j,  0.336231  +0.j,  4.08380429+0.j,  1.15632545+0.j,\n        3.05085842+0.j,  0.86107353+0.j,  0.68690482+0.j,  5.31936333+0.j,\n        0.88680504+0.j,  1.85744486+0.j,  0.25946653+0.j,  1.41416709+0.j,\n        3.34726724+0.j,  1.17622132+0.j,  0.11587107+0.j,  1.43858189+0.j,\n       -0.24152552+0.j,  4.08380429+0.j, -1.15632546+0.j,  5.31938635+0.j,\n        2.43400809+0.j,  0.68042695+0.j,  0.79155607+0.j,  1.89142585+0.j,\n        0.15524404+0.j,  2.96243402+0.j,  0.46879328+0.j,  1.03466801+0.j,\n        3.09662316+0.j,  0.4958687 +0.j,  1.35357074+0.j, -0.31535984+0.j,\n        0.36310608+0.j,  0.22059957+0.j,  1.79674107+0.j,  0.12474411+0.j,\n        0.88337549+0.j,  0.15895804+0.j,  2.56929955+0.j,  4.49344088+0.j,\n        3.86866315+0.j,  0.67548334+0.j,  0.91686289+0.j,  0.17577899+0.j...       3.99331102+0.j,  1.64832237+0.j,  0.28062424+0.j,  3.70645802+0.j,\n        5.16352959+0.j, -2.41179053+0.j,  1.80330713+0.j,  0.75497906+0.j,\n        0.13183775+0.j,  0.98857867+0.j,  3.67454032+0.j,  0.61483971+0.j,\n        0.41669874+0.j, -0.26501953+0.j,  1.64832236+0.j,  0.28062423+0.j,\n        3.706458  +0.j,  1.80330714+0.j,  0.75497905+0.j,  0.13183776+0.j,\n        0.98857867+0.j,  3.6745403 +0.j,  0.61483971+0.j,  0.41669876+0.j,\n       -0.26501952+0.j,  4.17288651+0.j,  0.19991104+0.j,  2.34125801+0.j,\n        0.31652345+0.j,  0.62058386+0.j,  2.16684412+0.j,  2.72026236+0.j,\n        1.09980084+0.j,  0.31652346+0.j,  0.62058387+0.j,  2.16684415+0.j,\n        4.17288656+0.j,  0.19991104+0.j,  2.34125804+0.j,  2.72026246+0.j,\n        1.09980085+0.j,  3.34766794+0.j,  0.54552516+0.j,  0.89160837+0.j,\n        2.71838179+0.j,  1.25694571+0.j,  0.10224517+0.j,  0.17981149+0.j,\n        1.13321999+0.j,  0.38368428+0.j,  1.34894718+0.j,  0.37245404+0.j,\n        1.33261983+0.j, -0.89319085+0.j,  0.3251749 +0.j, -0.19117131+0.j,\n        2.71838184+0.j,  1.25694572+0.j,  0.10224519+0.j,  0.1798115 +0.j,\n        1.13322002+0.j,  0.38368428+0.j,  0.32517492+0.j, -0.19117132+0.j]) = Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8383').data
E        +      where Dat(DataSet(Set((np.int64(556), np.int64(556), np.int64(556)), 'set_#x7fbc23714290'), (1,), 'None_nodes_dset'), None, dtype('complex128'), 'function_8383') = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7fbc241e26c0>, FiniteElement('Regge', tetrahedron, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', tetrahedron, 1), dim=3), 8339)), 14162).dat

tests/regression/test_interpolate_vs_project.py:58: AssertionError