Subject: Re: [Fiat] fiat

From: Robert Kirby <[email-masked]>
Date: Sat, 26 Mar 2011 17:30:17 -0500

I know that ffc requires the dmats function, and I don't want to break it.

However, dmats is one of the most opaque and poorly understood aspects of
FIAT for new folks reading
the code.

With automatic differentiation, I think I can make the whole code cleaner
by getting rid of dmats internally and providing a method that will compute
it on demand.

The tabulate method will then just use AD to tabulate the jet of the basis
functions and do a mat-vec of
coefficients.

Any comments?  I ask since I'm going to try to put constrained spaces back
in (feature request for BDFM elements by David Ham)
and might like to clean things up a bit.

Rob

On Mon, Mar 21, 2011 at 2:31 PM, Robert Kirby <[email-masked]>wrote:

> OK.  I'll try to work on this.
>
>
>
> On Mon, Mar 21, 2011 at 1:55 PM, Anders Logg <[email-masked]> wrote:
>
>> On Mon, Mar 21, 2011 at 01:41:39PM -0500, Robert Kirby wrote:
>> > Anders, am I correct in thinking that ffc is currently based on the main
>> fiat
>> > branch lp:fiat?
>>
>> Yes, and it is identical to the 0.9.9 release I made a few weeks ago,
>> except for a very small fix (adding a missing date to the ChangeLog).
>>
>> > David Ham is asking for BDFM, and that will involve putting constrained
>> element
>> > spaces back in.
>> > I want to make sure I do it in the right spot.
>>
>> It will be good to get BDFM back into FIAT.
>>
>> --
>> Anders
>>
>
>

---

From: Anders Logg <[email-masked]>
Date: Mon, 4 Apr 2011 13:15:20 +0200

On Sat, Mar 26, 2011 at 05:30:17PM -0500, Robert Kirby wrote:
> However, dmats is one of the most opaque and poorly understood aspects of FIAT
> for new folks reading
> the code.
>
> by getting rid of dmats internally and providing a method that will compute it
> on demand.
>
> Any comments?  I ask since I'm going to try to put constrained spaces back in
> (feature request for BDFM elements by David Ham)

If you need to remove dmats, we would appreciate some detailed
instructions for how to make things work without it: how to generate
code for evaluate_basis and evaluate_basis_derivatives based on some
other data we can get out of FIAT.

--
Anders

> Rob
>
>
> On Mon, Mar 21, 2011 at 2:31 PM, Robert Kirby <[email-masked]> wrote:
>
>         > Anders, am I correct in thinking that ffc is currently based on the
>         main fiat
>         > branch lp:fiat?
>
>         > David Ham is asking for BDFM, and that will involve putting
>         constrained element
>         > spaces back in.

> _______________________________________________
> Mailing list: https://launchpad.net/~fiat
> Post to     : [email-masked]
> Unsubscribe : https://launchpad.net/~fiat
> More help   : https://help.launchpad.net/ListHelp

---

From: Robert Kirby <[email-masked]>
Date: Tue, 5 Apr 2011 12:40:47 -0500

Per my email, I was going to just provide a method to compute it, but
refrain internally.

It's really a big memory suck and contributes to code-bloat in FFC-generated
code, plus for higher
derivatives is less accurate than AD.