← Back to team overview

ffc team mailing list archive

Re: [Branch ~ffc-core/ffc/main] Rev 1369: Fixed Garth's optimised quadrature problem.

 

On Mon, Feb 01, 2010 at 11:22:29PM +0100, Kristian Oelgaard wrote:
>
>
> On 1 February 2010 23:19, Anders Logg <logg@xxxxxxxxx> wrote:
> >On Mon, Feb 01, 2010 at 11:04:44PM +0100, Kristian Oelgaard wrote:
> >>
> >>
> >>On 1 February 2010 22:57, Marie Rognes <meg@xxxxxxxxx> wrote:
> >>>Kristian Oelgaard wrote:
> >>>>
> >>>>
> >>>>On 1 February 2010 22:32, Marie Rognes <meg@xxxxxxxxx> wrote:
> >>>>>
> >>>>>Kristian Oelgaard wrote:
> >>>>>>
> >>>>>>
> >>>>>>On 1 February 2010 22:02, Marie Rognes <meg@xxxxxxxxx> wrote:
> >>>>>>>
> >>>>>>>Kristian Oelgaard wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>On 1 February 2010 21:37, Anders Logg <logg@xxxxxxxxx> 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. ;-)
>
> Good idea, but remember he has an extra hour compared to us so there might be a long list tomorrow.
>
> Kristian

That's what I'm afraid of. But it also means he has an extra hour to
fix those bugs. :-)

--
Anders

Attachment: signature.asc
Description: Digital signature


References