← Back to team overview

ffc team mailing list archive

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

 


Anders Logg 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. ;-)
>

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     : ffc@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ffc
> More help   : https://help.launchpad.net/ListHelp





References