← Back to team overview

ffc team mailing list archive

Re: Fwd: Issue with optimized quadrature representation

 

On Thu, Feb 28, 2013 at 11:13:57PM +0000, Garth N. Wells wrote:
> On 28 February 2013 22:53, Anders Logg <logg@xxxxxxxxx> wrote:
> > ok, good.
> >
> > Things are building mostly fine now except for some DOLFIN unit tests
> > related to new interfaces for finite_element::evaluate_foo.
> >
> > We need to discuss at some point the role of dolfin::FiniteElement
> > and dolfin::DofMap. I'd like to get rid of the duplication of the
> > finite_element, dof_map and cell classes across DOLFIN and UFC.
> >
>
> I don't think that is realistic in the case of DofMap.

Yes, the DofMap is the hardest case but for FiniteElement, it's
essentially a one-to-one wrapper.

One possibility would be to make them subclasses of the ufc classes
and then add whatever we need on top instead of duplicating every
single function.

-- 
Anders


> > On Thu, Feb 28, 2013 at 11:43:44PM +0100, Martin Sandve Alnæs wrote:
> >> It's safe. I won't do siginficant ffc-side work now.
> >>
> >> Martin
> >>
> >>
> >> On 28 February 2013 23:12, Anders Logg <logg@xxxxxxxxx> wrote:
> >>
> >> > I assume it's safe to continue working in the
> >> > ffc-uflacs-ufc-geometry-merged
> >> > branch. Or should I fork it to a safer branch?
> >> >
> >> >
> >> >
> >> > On Thu, Feb 28, 2013 at 02:21:24PM +0100, Martin Sandve Alnæs wrote:
> >> > > Actually it is populated elsewhere (think it's in symbolics.py) in a
> >> > helper
> >> > > function using a different name for it, but the bug was in
> >> > > quadraturetransformerbase.py where I had done some refactoring. It was
> >> > only
> >> > > triggered when using -e, which is probably because the demos don't cover
> >> > > enough non-trivial situations.
> >> > >
> >> > > Martin
> >> > >
> >> > >
> >> > > On 28 February 2013 14:09, Anders Logg <logg@xxxxxxxxx> wrote:
> >> > >
> >> > > > On Thu, Feb 28, 2013 at 02:00:27PM +0100, Martin Sandve Alnæs wrote:
> >> > > > > Found, fixed, and pushed to ffc-uflacs-ufc-geometry-merged/.
> >> > > >
> >> > > > Great, thanks.
> >> > > >
> >> > > > I spent a few hours last night trying to track down the bug but it was
> >> > > > very difficult. In particular I couldn't figure out where the data
> >> > > > ir["geo_consts"] is created.
> >> > > >
> >> > > > If I try a grep for it, I get this:
> >> > > >
> >> > > > $ rgrep geo_consts ffc/ | grep ir
> >> > > > ffc/quadrature/quadratureoptimization.py:   geo_consts =
> >> > ir["geo_consts"]
> >> > > > ffc/quadrature/quadraturerepresentation.py: ir["geo_consts"] = {}
> >> > > > ffc/quadrature/quadraturegenerator.py:      geo_consts =
> >> > ir["geo_consts"]
> >> > > >
> >> > > > So it looks like it never gets set, but it definitely does, since it
> >> > > > will be populated with the wrong data inside
> >> > > > quadraturegenerator.py... (but now corrected).
> >> > > >
> >> > > > > I had to add -e to building of AdaptivePoisson.ufl in the ffc
> >> > > > > regression test to make the bug visible there, which is why I didn't
> >> > > > > catch it earlier. Although it had nothing to do with error control.
> >> > > > > It would be good to add some demo files to ffc that cover more
> >> > > > > corner cases, there's a lot of very similar forms there from a
> >> > > > > testing perspective.
> >> > > >
> >> > > > Agree.
> >> > > >
> >> > > > > Now the only demos failing to build in dolfin are:
> >> > > > >
> >> > > > > pde/biharmonic
> >> > > > > undocumented/dg-poisson
> >> > > > > undocumented/stokes-stabilized
> >> > > > > /undocumented/dg-poisson
> >> > > > >
> >> > > > > With errors like this:
> >> > > > >
> >> > > >
> >> > /home/martinal/dev/fenics/dolfin/work/demo/pde/biharmonic/cpp/Biharmonic.h:2770:40:
> >> > > > > error: ‘x_0’ was not declared in this scope
> >> > > > >
> >> > > >
> >> > /home/martinal/dev/fenics/dolfin/work/demo/pde/biharmonic/cpp/Biharmonic.h:2771:39:
> >> > > > > error: ‘J_0_11’ was not declared in this scope
> >> > > > >
> >> > > >
> >> > /home/martinal/dev/fenics/dolfin/work/demo/undocumented/stokes-stabilized/cpp/Stokes.h:5258:38:
> >> > > > > error: ‘x’ was not declared in this scope
> >> > > > >
> >> > > >
> >> > /home/martinal/dev/fenics/dolfin/work/demo/undocumented/stokes-stabilized/cpp/Stokes.h:5259:37:
> >> > > > > error: ‘J_11’ was not declared in this scope
> >> > > > >
> >> > > > > which looks like a few more geometry snippets fixes.
> >> > > >
> >> > > > Those are easy fixes. Will fix later today.
> >> > > >
> >> > > >
> >> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~ffc
> > Post to     : ffc@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~ffc
> > More help   : https://help.launchpad.net/ListHelp


References