← Back to team overview

dolfin team mailing list archive

Re: Compile time of forms and linear algebra operators

 

2008/6/28 Anders Logg <logg@xxxxxxxxx>:
> On Sat, Jun 28, 2008 at 08:55:44PM +0200, Johan Hake wrote:
>> Hello!
>>
>> I tried to compile an advection diffusion form using Streamline Upwind Petrow
>> Galerkin stabilazing method, similar to the one introduced in DOLFIN 0.6.4.
>> Using 3 dimensional and first degree Lagrange elements, FFC/g++ chokes when
>> the produced code is compiling. It wont finish compile... Is this a known
>> problem and a limitation of FFC/g++?
>
> Try compiling with the -r quadrature option. I guess this is not
> supported in the JIT compiler yet, but could easily be added. There
> should be an option
>
>  dolfin_set("form representation", "quadrature");
>
> in the same way as there is an option "optimize". See if you can
> figure it out and send a patch, or else file a bug report.
>
> Options are added in DefaultParameters.h in DOLFIN and the JIT
> compiler is in jit.py in FFC.
>
> Possible options for "form representation" are "tensor", "quadrature"
> and (unsupported at the moment) "symbolic" (for SyFi).
>
> The quadrature representation generates much less code than the tensor
> representation.

SFC also does quadrature (in fact most users (me) mainly use that),
and there are many possible compilation options. I don't think it's a good
idea to mix form compiler details into dolfin. We should talk about this
to find a solution that doesn't discriminate form compilers :-)

The same goes for mixing ffc_Function into dolfin.Function, which means
I have to write pydolfin code differently from the demos in many cases.
It's also not possible to inherit ffc_Function in a compiled C++
function anyway,
which is vital for efficient assembly.

--
Martin


Follow ups

References