Subject: [Ffc] FFC tests

From: Anders Logg <[email-masked]>
Date: Tue, 2 Feb 2010 00:06:35 +0100

The unit tests are taking a very long time. Would it be possible to
add some printing along the way so it doesn't look like it's stalling?

Some regression tests are still failing. Can these be ignored and
should we then update the references?

--
Anders

---

From: Anders Logg <[email-masked]>
Date: Tue, 2 Feb 2010 00:14:44 +0100

> should we then update the references?

I get this when I run the unit tests now:

======================================================================
FAIL: Test evaluate basis agains FIAT.FiniteElement.tabulate().
----------------------------------------------------------------------
Traceback (most recent call last):
  File
  "/home/logg/work/src/fenics/ffc/ffc-main/test/unit/evaluate_basis/test.py",
  line 20, in testAgainsFiat
    self.assertEqual(error, 0, "Errors while testing evaluate_basis
    against FIAT, see fiat_errors.log for details")
AssertionError: Errors while testing evaluate_basis against FIAT, see
fiat_errors.log for details

And things like this in error.log:

-------------------------------------------------------------------------------
<CG3 on a <interval of degree 1>>
  evaluate_basis()
  error: 3.9999999632e-09 (tol: 1e-14)
  evaluate_basis_derivatives(), order = 2
  error: 1.42108547152e-14 (tol: 1e-14)
  evaluate_basis_derivatives(), order = 3
  error: 7.1054273576e-14 (tol: 1e-14)
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
<CG4 on a <interval of degree 1>>
  evaluate_basis()
  error: 4.9760000842e-09 (tol: 1e-14)
  evaluate_basis_derivatives(), order = 1
  error: 4.00000121914e-09 (tol: 1e-14)
  evaluate_basis_derivatives(), order = 2
  error: 3.33344019054e-09 (tol: 1e-14)
  evaluate_basis_derivatives(), order = 3
  error: 1.13686837722e-12 (tol: 1e-14)
  evaluate_basis_derivatives(), order = 4
  error: 1.09139364213e-11 (tol: 1e-14)
-------------------------------------------------------------------------------

So the tolerance might need to be increased. Something like 1e-8
should be ok.

I also get this:

*** FFC: Sorry, finite element of type "Brezzi-Douglas-Fortin-Marini"
are not supported by FIAT.
*** FFC: To get more information about this error, rerun FFC with
--debug.

I didn't think BDFM was supported by the new FIAT.

--
Anders

---

From: Anders Logg <[email-masked]>
Date: Tue, 2 Feb 2010 00:15:24 +0100

> should we then update the references?

New releases of FIAT, UFC and UFL are out. I'll do FFC tomorrow or
when we have sorted out the tests.

--
Anders

---

From: Kristian Oelgaard <[email-masked]>
Date: Tue, 2 Feb 2010 09:43:33 +0100 (CET)

> add some printing along the way so it doesn't look like it's stalling?

I changed this, as did you, but I also added some additional info on which element is currently being tested out of how many.

> should we then update the references?

I just had a look at the values of BDM in the new and old FFC, they are the same on the reference element. I'll take one last look at the values in the regression to see what is going wrong. I think we're ready for a release, but you can work on DOLFIN until I have this one sorted out.

Kristian

> --
> Anders
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAktnXnsACgkQTuwUCDsYZdE3oACfce7Q5TNPSyNEgCvXnVdBKxLK
> YXMAnj9bozoigEM5+E0dGcmBXanUvS29
> =+HVp
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> Mailing list: https://launchpad.net/~ffc
> Post to     : [email-masked]
> Unsubscribe : https://launchpad.net/~ffc
> More help   : https://help.launchpad.net/ListHelp
>
>

---

From: Kristian Oelgaard <[email-masked]>
Date: Tue, 2 Feb 2010 09:46:13 +0100 (CET)

> I get this when I run the unit tests now:

Yes, I was working with two  tolerances one of 1e-12 and one 1e-8, I've changed both to 1e-8 so all values are now green.

> I didn't think BDFM was supported by the new FIAT.

They're not, I had it in there to test the testing environment, I've commented them out now so everything should be in working order.

Kristian

> iEYEARECAAYFAktnYGQACgkQTuwUCDsYZdH3/ACePekgfTy4g+VQYa4tjbc9UH7c
> 7L0An34lwWFQm6m0twtIEqBYxJL7mWtt
> =/lrp

---

From: Anders Logg <[email-masked]>
Date: Tue, 2 Feb 2010 09:55:33 +0100

> Yes, I was working with two  tolerances one of 1e-12 and one 1e-8, I've changed both to 1e-8 so all values are now green.

I didn't realize that until now when I saw the colors. I think that's
a pretty good idea to have 2 different tolerances so I changed it back now.

> They're not, I had it in there to test the testing environment, I've commented them out now so everything should be in working order.

ok. Seems to work fine now. Let's wait and see what the buildbots think.

--
Anders

---

From: Kristian Oelgaard <[email-masked]>
Date: Tue, 2 Feb 2010 10:20:00 +0100 (CET)

> should we then update the references?

How were these references generated? When I look at the code in references/MixedPoisson.h I see something which is definitely not code from ffc-0.7.1, and the code which is there definitely has a bug where only the first 2 reference derivatives are mapped. I think that we can just generate new references and conclude that everything is in working order now.

Kristian

---

From: Anders Logg <[email-masked]>
Date: Tue, 2 Feb 2010 10:31:33 +0100

> How were these references generated? When I look at the code in references/MixedPoisson.h I see something which is definitely not code from ffc-0.7.1, and the code which is there definitely has a b…

I think I regenerated it with the latest FFC at some point when we
concluded things were working, so you can just generate new references
if you think it looks ok.

--
Anders