← Back to team overview

dolfin team mailing list archive

Re: [Bug 732543] Re: No error when attempting to solve using wrong dimensions

 

On Tue, Mar 22, 2011 at 08:46:16PM -0000, Garth Wells wrote:
> Because we don't require users to provide a vector of the correct
> length, e.g. an uninitialised vector can be passed in.
>
> We could require that it be correctly sized, which could make things
> simpler in parallel because in parallel the size is only half the story.
> The other half if the story is how a vector is partitioned across
> processes.

What about requiring that it is either of length zero or of correct
size. Would that break anything?

--
Anders

-- 
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.
https://bugs.launchpad.net/bugs/732543

Title:
  No error when attempting to solve using wrong dimensions

Status in DOLFIN:
  New

Bug description:
  Calling solve with a vector of non-matching dimensions does not
  produce an error. Something mysterious happens instead. Reproduce with
  below code.

  from dolfin import *

  mesh = UnitSquare(2, 2)

  V = FunctionSpace(mesh, "CG", 1)
  Q = FunctionSpace(mesh, "CG", 1)
  W = V * Q

  y = TrialFunction(W)
  w = TestFunction(W)

  a = inner(y, w)*dx
  L = w[0]*dx

  A = assemble(a)
  b = assemble(L)
  y = Function(W)

  info(A)
  info(b)
  u = Function(V)
  info(u.vector())
  solve(A, u.vector(), b)
  info(u.vector())



References