← Back to team overview

dolfin team mailing list archive

Re: Python Form

 

On Friday July 1 2011 04:31:20 Marie E. Rognes wrote:
> On 07/01/11 07:50, Johan Hake wrote:
> > On Thursday June 30 2011 16:55:46 Marie E. Rognes wrote:
> >> On 07/01/11 01:05, Johan Hake wrote:
> >>> On Jun 30, 2011, at 12:41, "Marie E. Rognes"<meg@xxxxxxxxx>   wrote:
> >>>> On 06/05/11 21:47, Marie E. Rognes wrote:
> >>>>> On 06/01/2011 05:45 PM, Johan Hake wrote:
> >>>>>> On Wednesday June 1 2011 05:31:35 Anders Logg wrote:
> >>>>>>> On Wed, Jun 01, 2011 at 01:29:20PM +0200, Marie E. Rognes wrote:
> >>>>>>>> I'm for some strange reason loooking at dolfin.fem.Form and
> >>>>>>>> 
> >>>>>>>> dolfin.fem.assemble:
> >>>>>>>>       The form can be either an FFC form or a precompiled UFC
> >>>>>>>>       form. If a precompiled or 'pure' FFC form is given, then
> >>>>>>>>       coefficients and function_spaces have to be provided too.
> >>>>>>>>       The coefficient functions
> >>>>>>>> 
> >>>>>>>> Where and in what cases is the above used?
> >>>>>>> 
> >>>>>>> I think this is something Martin and possibly Kent have requested
> >>>>>>> before. It's not used anywhere I know.
> >>>>>> 
> >>>>>> They were added so one could use dolfin to assemble a "pure"
> >>>>>> ufc::form. This is a nice feature for people who come with their own
> >>>>>> form compiler, which is not fully integrated with all the PyDOLFIN
> >>>>>> magic we have.
> >>>>>> 
> >>>>>> The statement:
> >>>>>>     "dolfin can assemble any ufc complaint code"
> >>>>>> 
> >>>>>> becomes a little more true with that possibility.
> >>>>> 
> >>>>> Ok, thanks :-)
> >>>> 
> >>>> Late follow-up: so is the logic in dolfin.fem.form regarding given
> >>>> function_spaces and coefficients versus those in form_data mainly
> >>>> designed around this?
> >>> 
> >>> Not sure I understand your question...
> >> 
> >> Sorry, I was unacceptably unclear.
> >> 
> >> What I meant to ask was this: if assemble did not handle both a "FFC
> >> form" and a "precompiled form"(*), but rather just a "FFC form" would it
> >> be sufficient to have a dolfin.fem.Form class that only had  form,
> >> form_compiler_parameters and common_cell as input to __init__?
> >> 
> >> (*) Side note: I'm using the terminology of the docstring of
> >> dolfin.fem.assembling here, but I find it a bit confusing, because it
> >> refers to a "precompiled or pure FFC form" as the same thing -- should
> >> it be "precompiled or pure UFC form"?
> > 
> > Yes, I guess you are right. But that is just wrong anyway. A dolfin.Form
> > can be created from a pure ufc form if it is provided with FunctionSpace
> > and Coefficient. One cannot just pass a pure ufc form to assemble.
> > 
> > The docstrings need to be updated, and we probably need a unit test for
> > this too. In the meantime I think we can remove using pure ufc forms and
> > ad it back if someone needs it ;)
> > 
> > Recently we have stripped dolfin of nice but unused functionality, and
> > this would be in line with that I guess.
> 
> It makes sense to have the dual functionality, but I think the Form
> class would benefit from an update. Something for the summer.

Ok, Martin also had some offline major oppinon about keeping it ;) But I think 
we need to update the documentation, and add some tests.

Johan

> --
> Marie


Follow ups

References