2008/12/3 Anders Logg <[EMAIL PROTECTED]>: > On Wed, Dec 03, 2008 at 06:55:22PM +0100, Anders Logg wrote: >> On Wed, Dec 03, 2008 at 06:04:16PM +0100, Anders Logg wrote: >> > On Wed, Dec 03, 2008 at 05:29:14PM +0100, Martin Sandve Alnæs wrote: >> > > 2008/12/3 Anders Logg <[EMAIL PROTECTED]>: >> > > > On Wed, Dec 03, 2008 at 03:18:35PM +0100, [EMAIL PROTECTED] wrote: >> > > >> The Buildbot has detected a new failure of linux_64. >> > > >> Full details are available at: >> > > >> http://fenics.org:8010/dolfin/linux_64/builds/1082 >> > > >> >> > > >> Buildbot URL: http://fenics.org:8010/dolfin/ >> > > >> >> > > >> Buildslave for this Build: x64-linux >> > > >> >> > > >> Build Reason: >> > > >> Build Source Stamp: HEAD >> > > >> Blamelist: Anders Logg >> > > >> >> > > >> BUILD FAILED: failed test >> > > >> >> > > >> sincerely, >> > > >> -The Buildbot >> > > >> >> > > >> _______________________________________________ >> > > >> DOLFIN-dev mailing list >> > > >> [email protected] >> > > >> http://www.fenics.org/mailman/listinfo/dolfin-dev >> > > > >> > > > Should be fixed now. I removed the extra test added to >> > > > Coefficient::attach. >> > > > >> > > > Don't know yet why the extra test breaks (probably in the call to >> > > > Function::in). >> >> It broke on the call to create_function_space(). See comment added to >> Coefficient::attach. > > Sorry, I was too fast. I made a fix that worked only for some tests > but not for all. > > I've now realized that the current (old) implementation is correct, at > least if we want to insist that one should be able to define a > Constant without a FunctionSpace. > > The logic is now as follows: > > If a Function is attached to a Form, and that Function does not have a > FunctionSpace (so it is likely a Constant), then an appropriate > FunctionSpace will be created and attached to the Function. > > Note the following: > > 1. A FunctionSpace will only be attached if there is no previous > FunctionSpace attached, so if you use your Function in two different > Forms, the FunctionSpace will not be touched the second time. > > 2. It will probably not be touched the first time either since you > have probably initialized your Function with a FunctionSpace. > > 3. Assembler will check that the FunctionSpace is correct for each > coefficient, by calling Form::check(), so if something is wrong you > will know. > > -- > Anders
Same as before then. The problem will only occur if you use a single Constant instance as a coefficient in multiple function spaces. I still think it's inconsistent and nonintuitive, but I guess it is rare enough to ignore as long as you get proper error message... -- Martin _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
