Anders Logg wrote: > On Mon, Feb 01, 2010 at 11:04:44PM +0100, Kristian Oelgaard wrote: >> >> On 1 February 2010 22:57, Marie Rognes <[email protected]> wrote: >>> Kristian Oelgaard wrote: >>>> >>>> On 1 February 2010 22:32, Marie Rognes <[email protected]> wrote: >>>>> Kristian Oelgaard wrote: >>>>>> >>>>>> On 1 February 2010 22:02, Marie Rognes <[email protected]> wrote: >>>>>>> Kristian Oelgaard wrote: >>>>>>>> >>>>>>>> On 1 February 2010 21:37, Anders Logg <[email protected]> wrote: >>>>>>>>> Impressive! :-) >>>>>>>> It sure is, many things could be handled in a much simpler way if it >>>>>>>> wasn't for memory and runtime considerations of the optimisations. If >>>>>>>> I >>>>>>>> get >>>>>>>> around to implementing the other optimisation strategy, we could make >>>>>>>> life >>>>>>>> simpler in these classes and only let the symbolics stuff work on >>>>>>>> moderately >>>>>>>> complex forms. >>>>>>>> >>>>>>> Sorry if I messed something up. I just thought it was better to have >>>>>>> something working (but suboptimal) than something broken (and optimal >>>>>>> ;) >>>>>>> ) >>>>>> Agree, the code looks OK. >>>>>> >>>>>>>>> Is it release time or are we waiting for Kristian to do some magic >>>>>>>>> with evaluate_derivatives for Hdiv/curl? >>>>>>>> Actually, I'm waiting for Marie to fix this one too :) >>>>>>> I'm taking a look, but it is not likely to happen within the next >>>>>>> couple >>>>>>> of >>>>>>> hours. >>>>>>> >>>>>>> I'm lost in the vectors: What is 'derivatives' and 'values' supposed to >>>>>>> be >>>>>>> holding? (Math, please ;) >>>>>> 'values' is the argument to evaluate_basis_derivatives that will hold >>>>>> the >>>>>> return values (derivatives on the physical cell) from the function. It >>>>>> is >>>>>> the users responsibility to make sure it has the correct size. >>>>>> 'derivatives' is the derivatives on the reference element, which is >>>>>> computed like it is done inside FIAT (multiplication of coefficients, >>>>>> dmats >>>>>> and basis values of the expansion). >>>>>> >>>>> Ok. And the values are ordered so that first all derivatives for value >>>>> dimension 0, then all derivatives for value dimension 1, etc.? >>>> Yes. There is a comment at the top of evaluatebasisderivatives.py, but it >>>> might be a good idea to put in the generated code too? >>>> >>>>> Currently only the first two (out of four?) 'derivatives' are mapped for >>>>> BDM >>>>> _1on triangle? >>>>> >>>>> derivatives[0] = (1.0/detJ)*((J_00*tmp_ref0 + J_01*tmp_ref1)); >>>>> derivatives[1] = (1.0/detJ)*((J_10*tmp_ref0 + J_11*tmp_ref1)); >>>> I pushed a fix for this a while back, I was hoping that was the error, but >>>> I still get wrong results. >>> >>> Sorry, my bad -- something strange happened. >>> >>> And I guess you have checked the indices a couple of hundred times? >>> >>> How about the famous UFC/FIAT reference element difference? >> I think I found it, I was mapping values from FIAT incorrectly. Stupid, >> stupid me. >> I'll just clean things up then Anders can make a release. >> >> Kristian > > Yes! Yes! Yes! :-) > > I'll start with FIAT, UFC, UFL and FFC. Then recompile all forms in > DOLFIN and wait until tomorrow with the release of DOLFIN. > > We need to hurry up before Garth finds a new bug. He seems determined > to delay the release. ;-) >
You're lucky that I've been busy at the college this evening. Gown + laptop would be frowned upon. Garth > -- > Anders > > > ------------------------------------------------------------------------ > > _______________________________________________ > Mailing list: https://launchpad.net/~ffc > Post to : [email protected] > Unsubscribe : https://launchpad.net/~ffc > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~ffc Post to : [email protected] Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp

