← Back to team overview

ffc team mailing list archive

Re: Status update

 

2010/1/25 Anders Logg <logg@xxxxxxxxx>:
> 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.

Actually, it turns out that if I remove the line in remove_unused (not
just comment it, I guess this is for debugging?) it works fine.

I have all demos (not Restriction and Quadrature) compiling, including
gcc, but apparently I have no internet on my computer at the moment so
I can't push the fixes. I'll keep working on getting the numbers
correct for the tabulate_tensor() function for quadrature code w.r.t.
the old references.

Kristian

>> >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
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAktd5kgACgkQTuwUCDsYZdHNFwCffDN0qOR1ydfwCgNCt46685I6
> N/MAn1Rq8t4lDNSv12NwdZUYekjgw9b9
> =ADQt
> -----END PGP SIGNATURE-----
>
>



Follow ups

References