← Back to team overview

dolfin team mailing list archive

Re: discrete function initialization

 

On Tue, Jan 15, 2008 at 03:29:27PM -0500, Jake Ostien wrote:
> Firstly, I am trying to update my code to the latest version of DOLFIN 
> (pulled today).  I am getting an assertion error while trying to 
> initialize a discrete vector (which obviously worked previously, say the 
> 0.7.1 release). 
> 
> Here is the general flavor of what I am doing
> 
> <In the constructor of a NonlinearProblem class>
> 
> BilinearForm a;
> LinearForm L(f, g, h);
> 
> Vector vec;
> Function func;
> 
> func.init(mesh, vec, *L, 3);

The last argument seems suspicious. You have a form with only three
arguments and you ask for the forth function space associated with the
form. If you want a Function corresponding to the h function, try with
a 2 instead.

Also, prefer to use the constructor directly instead of init:

Function func(mesh, vec, L, 2);

-- 
Anders


> Here is the error that I am getting, (including Debug output that I 
> didn't purposely turn on).
> 
> Debug: Updating set of dof maps... [at DofMapSet.cpp:55 in update()]
> Debug: Initializing dof map... [at DofMap.cpp:106 in init()]
> Ordering mesh entities...
> Debug: Dof map initialized [at DofMap.cpp:137 in init()]
> Debug: Finished updating set of dof maps [at DofMapSet.cpp:96 in update()]
> terminate called after throwing an instance of 'std::runtime_error'
>   what():  *** Assertion (i < dof_map_set.size()) [at DofMapSet.cpp:106 
> in operator[]()]
> 
> 
> I realize there is lots going on towards parallelization and other 
> things.  Before I start digging (since it did work before), is init 
> known to be broken?  Is this a bug?  Does it appear that I am doing 
> something wrong?
> 
> 
> Thanks,
> Jake
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev


Follow ups

References