Subject: [FEniCS-dev] Dimension of function space too large for application to linear system

From: Chong Luo <[email-masked]>
Date: Fri, 27 Feb 2009 22:38:04 -0800 (PST)

I have been trying to migrate my program from dolfin 0.8 to dolfin 0.9, and I got the following error:

terminate called after throwing an instance of 'std::runtime_error'
  what():  *** Error: Dimension of function space (34704920) too large for application to linear system (4934 rows).
[chong-desktop:06784] *** Process received signal ***

The code causing the problem is the following:
    // User defined assemble of residual vector 
    void F(GenericVector& b, const GenericVector& x)
    {
      assemble(b, *L);
      bcDsp->apply(b, x);     // <- this is the part that cause the runtime_error
      bcOrt->apply(b, x);
    }
And it's part of  "class MyNonlinearProblem : public NonlinearProblem, public Parametrized".

As for bcDsp, it was created by the following code:
      SubSpace un(*V, 0, 0);
      SubSpace u12(un, 0);
      bcDsp = new DirichletBC(u12, uD, sub_domains, 5);

I checked the dimension of the FunctionSpace of bcDsp, and dim(u12) = 2178, which is finite, unlike what's shown in the runtime error message (34704920).

Could you help me indentify what might be causing the problem?

Thank you!

---

From: Anders Logg <[email-masked]>
Date: Sat, 28 Feb 2009 21:50:30 +0100

On Fri, Feb 27, 2009 at 10:38:04PM -0800, Chong Luo wrote:
>   what():  *** Error: Dimension of function space (34704920) too large for
> application to linear system (4934 rows).

Are you sure you have 4 levels of nested sub spaces?

You are saying here that u12 is the first subspace of un which in turn
is the first subspace of the first subspace of V.

Further questions should be posted to dolfin-dev.

-- 
Anders

> I checked the dimension of the FunctionSpace of bcDsp, and dim(u12) = 2178,
> which is finite, unlike what's shown in the runtime error message (34704920).
>