← Back to team overview

ffc team mailing list archive

Re: Status update

 

On Mon, Jan 25, 2010 at 07:14:20PM +0100, Kristian Oelgaard wrote:

> 2010/1/25 Anders Logg <logg@xxxxxxxxx>:
> >It's starting to look better. The following 8 tests are currently failing:
> >
> >Generating code
> >---------------
> >
> >1. ElementRestriction.ufl failed
> >
> >*** FFC: Sorry, finite element of type "ElementRestriction" are not
> >supported by FIAT.
> >
> >I assume Kristian knows what to do.
>
> Yes, but I'll fix evaluate_basis and get correct results for
> quadrature code first.

ok.

> >2. QuadratureElement.ufl failed
> >
> >*** FFC: Sorry, finite element of type "Quadrature" are not
> >supported by FIAT.
> >
> >I assume Kristian knows what to do.
>
> Yes, we should manually check for family == "Quadrature" then return a FFC.QuadratureElement and make sure it has the same member functions as the FIAT.FiniteElement that we currently expects around the code.

ok.

> >3. TensorWeightedPoisson.ufl failed
> >
> >*** FFC: Can only handle rank 0 or rank 1 tensors.
> >
> >This is a bug in the selection of representation. The tensor
> >representation should realize earlier that it can't handle tensors
> >so quadrature should be selected.
>
> I assume Anders knows what to do. :)

Yes! I'm working on it now.

> >Building test programs
> >----------------------
> >
> >4. Constant failed
> >
> >Constant.h:1044: error: unused variable ‘x’
> >
> >Bug in evaluate_basis or removed_unused?
>
> I'm looking into this now. It is related to how intelligent remove_unused is.
> I think the easiest solution is to create a set of used variables when generating the code and the have remove_unused operate on the jacobian snippets, which will be the fastest way of doing things anyway.
> A fix will be on it's way tomorrow.

Yes, that's the best way. That is how I do it in the tensor code
generator.

> >5. FacetIntegrals failed
> >
> >Same problem in evaluate_basis
> >
> >6. MixedMixedElement failed
> >
> >Same problem in evaluate_basis
> >
> >7. VectorLaplaceGradCurl failed
> >
> >VectorLaplaceGradCurl.h:3650: error: ‘K_00’ was not declared in this
> >scope
> >
> >Another problem in evaluate_basis
>
> I'll take a look, should be a format thing from changing from Jinv_ -> K

ok.

> >Validating generated programs
> >-----------------------------
> >
> >8. P5tet.bin failed
> >
> >Segmentation fault when calling evaluate_basis_derivatives
>
> I don't know what to make of this, but I'll take a look once the
> other issues has been sorted out.

I tried to see what goes wrong and it was very strange. The variable
num_derivatives gets the value 1 and then it changes to some
completely strange value (like 2312391239123). Looks like a memory
allocation problem. It shouldn't be ruled out that the problem is how
the function is called from within ufctest.h (some array not allocated
properly).

> When running the regression tests, I guess that if the generated code is equal to the reference code there is no need to proceed compiling and running the test program. This will save us some time when running the test suite.

Yes, this will be added.

--
Anders

Attachment: signature.asc
Description: Digital signature


Follow ups

References