On Tue, Jan 15, 2008 at 10:08:10PM -0500, Jake Ostien wrote: > Anders Logg wrote: >> 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. >> > DiscreteFunction::init computes num_arguments = form.rank() + > form.num_coefficients() as a check. I read that as providing basically an > offset (by the form rank) of the argument number. This previously worked > for me, and I never argued with a success, even though the convention you > imply is more intuitive. > > But now in the operator[], dof_map_set.size() only seems to be as large as > the form rank. So taking my actual code (not an example) I have in my > constructor > > < some stuff > > > a = new DGSGPaBilinearForm(tan, n, h, alpha, k, mu, lambda, plastic_flag); > > < some other stuff > > > plastic_flag.init(mesh, pflag_vec, *a, 9) > > which made sense if you take a rank two form (0,1) plus the arguments > (2,3,4,5,6,7,8,9). After the update in the DofMapSet::operator[] method > dof_map_set.size() is 2 and i is 9, so obviously the assertion fails. Now, > curiously, when I go back and check the version I was using, I see > different behavior, such that the operator[] is never called during > construction. I'm confused about this, so I'll look some more, but I'm > open to suggestions from anyone who knows the system better than me.
Does it work now? -- Anders _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
