← Back to team overview

dolfin team mailing list archive

Re: Projection onto finer meshes

 

On Tue, Jul 22, 2008 at 10:08:20PM +0200, Harish Narayanan wrote:
> Is it possible to project a known field onto a different 
> (heterogeneously refined) mesh? I am trying to implement an adaptive 
> mesh refinement scheme which, in a given iteration, requires values of 
> fields from previous iterations which live on coarser meshes.
> 
> I've been searching through this list's archives on my mail client, and 
> I stumbled upon two threads (from '06 and '07) that discuss the same 
> issue, but I am not sure if they resulted in a solution.
> 
> Harish

No, it has not been implemented yet but it's something we desperately
need. If we define the L2 projection Pu of u onto V by

  (Pu, v) = (u, v) for all v in V

then the problem is in evaluating the integral on the right-hand side:

  (u, v)

where now u and v are defined on different meshes.

My suggestion would be to evaluate this by quadrature at run-time,
using the generated UFC function

  evaluate_basis

and IntersectionDetector/GTS which is very fast at finding the overlap
between cells.

A new function project() could be added to take care of this. There is
already such a function in the Python interface (which handles
projections on the same mesh) so that needs to be considered at some
point.

-- 
Anders

Attachment: signature.asc
Description: Digital signature


Follow ups

References