← Back to team overview

dolfin team mailing list archive

Re: [noreply@xxxxxxxxxxxxx: [Branch ~ffc-core/ffc/error-control] Rev 1534: Generate code for GoalFunctional. We can now automatically estimate]

 

On Friday September 17 2010 11:26:39 Anders Logg wrote:
> On Fri, Sep 17, 2010 at 05:09:35PM +0200, Marie Rognes wrote:
> > On 17. sep. 2010 17:01, Johan Hake wrote:
> > > On Friday September 17 2010 00:04:02 Anders Logg wrote:
> > >> Marie is making good progress on porting the automated adaptivity to
> > >> C++!
> > >> 
> > >> The experimental branch of FFC is now generating auxiliary code for
> > >> error estimation and adaptivity.
> > > 
> > > Cool!
> > > 
> > >>  (1) The ffc code generation is very, very ugly.
> > >>  (2) We are not yet computing facet residuals (Marie will fix, should
> > >>  be easy)
> > >>  (3) We are not  handling boundary conditions (Marie will fix, should
> > >>  be easy)
> > > 
> > > Is this in place for the Python interface?
> > 
> > Everything works for the Python interface (except refinement of mesh
> > functions). No changes have been made since 0.9.8 (afair).
> > 
> > I'm planning on changing the python interface (into using the cpp
> > interface and not being a separate module) when the cpp interface is as
> > good as the python interface is now.
> > 
> > >>  (4) We should start discussing TrialFunctions.
> > >>  (5) Anders should start thinking about how to update to new meshes,
> > >>  so that actual adaptivity can happen.
> > > 
> > > What are the problems you are facing here?
> > 
> > The issue is the following: take a form 'a' defined on a function space
> > 'V' defined on a mesh 'mesh'.
> > Refine 'mesh' -> 'new_mesh'. Task: move 'a' to 'new_a' (defined on
> > new_mesh).
> > 
> > The AdaptiveObjects design was intended for this some time ago -- but we
> > abandoned that (rather implicit and magical) approach. It would be good
> > however to add some explicit functionality of the form
> > 
> >     new_a = update(a, new_mesh)
> 
> Perhaps the appropriate interface would be
> 
>   a.update(new_mesh);
> 

Sounds reasonable?

What is updated in the form?

 1) FunctionSpaces
 2) Coefficients (Functions)

Then a user needs to manually update any solution Function, if it is not part 
of the form already, that is to say.

The same needs to be done for the linear form. 

A VariationalProblem keeps pointers to these guys, so cannot it be done 
withing the VariationlProblem, (or the AdaptiveVariationalProblem).

Johan

> ?
> 
> --
> Anders
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp



References