Tpetra wrappers are buggy
Issue #880
new
The following example crashes on its last line (using the testing containers at https://quay.io/repository/fenicsproject_dev/dolfin)
from dolfin import *
parameters.linear_algebra_backend = "Tpetra"
mesh = UnitSquareMesh(10, 10)
V = FunctionSpace(mesh, "P", 1)
u, v = TrialFunction(V), TestFunction(V)
a = u*v*dx
L = v*dx
A, b = assemble_system(a, L)
u = Function(V)
x = u.vector()
b - A*x
The error message is
StandardError: /tmp/trilinos-12.10.1-Source/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:2926:
Throw number = 1
Throw test that evaluated to true: (lclNumRows != A.getLocalLength ())
Tpetra::MultiVector<double,int,int,Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace>>::update: this->getLocalLength() = 66 != A.getLocalLength() = 59.
ret.axpy(-1.0, other)
StandardError: /tmp/trilinos-12.10.1-Source/packages/tpetra/core/src/Tpetra_MultiVector_def.hpp:2926:
Throw number = 1
Throw test that evaluated to true: (lclNumRows != A.getLocalLength ())
Tpetra::MultiVector<double,int,int,Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace>>::update: this->getLocalLength() = 66 != A.getLocalLength() = 62.