On 1 February 2010 23:19, Anders Logg <[email protected]> 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. KristianYes! 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. ;-)
Good idea, but remember he has an extra hour compared to us so there might be a long list tomorrow. Kristian
-- Anders -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAktnU24ACgkQTuwUCDsYZdERIgCcDUj9Yb+YyhP9ZCo1eyr8UbJ7 Rt0An1/1tQmWYIyh9Yht4SgAQMRAHZ1r =tgJH -----END PGP SIGNATURE-----
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~ffc Post to : [email protected] Unsubscribe : https://launchpad.net/~ffc More help : https://help.launchpad.net/ListHelp

