← Back to team overview

ffc team mailing list archive

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

 



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

--
Anders

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAktnU24ACgkQTuwUCDsYZdERIgCcDUj9Yb+YyhP9ZCo1eyr8UbJ7
Rt0An1/1tQmWYIyh9Yht4SgAQMRAHZ1r
=tgJH
-----END PGP SIGNATURE-----



Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References