mesh-adaptation / goalie

Goal-oriented error estimation and mesh adaptation for finite element problems solved using Firedrake
Other
1 stars 1 forks source link

Introduce `on_the_fly` method for `MeshSeq` #88

Open jwallwork23 opened 8 months ago

jwallwork23 commented 8 months ago

MeshSeq has a fixed_point_iteration method, which solves over the whole time period before adapting each mesh. Alternatively, we could introduce an on_the_fly method, which repeatedly solves and adapts the first subinterval until convergence before moving onto the next. An advantage is that each subsequent interval would start with our best approximation of the current state. A disadvantage is that we wouldn't be able to use space-time normalisation, so the target complexities for each subinterval would have to be prescribed beforehand.

ddundo commented 5 months ago

@jwallwork23 do you mind if I take this? It's relevant for me atm and I have an untidy working solution up on the new branch. I plan to tidy it up next week sometimes :)

jwallwork23 commented 5 months ago

That'd be great, thanks @ddundo.

ddundo commented 4 months ago

@jwallwork23 would you maybe prefer me to add a general method that would follow the original paper, which allows setting the number of inner and outer adaptation loops? Then 0 inner loops corresponds to the current fpi method and 0 outer loops corresponds to the on the fly method as described here.

jwallwork23 commented 4 months ago

@jwallwork23 would you maybe prefer me to add a general method that would follow the original paper, which allows setting the number of inner and outer adaptation loops? Then 0 inner loops corresponds to the current fpi method and 0 outer loops corresponds to the on the fly method as described here.

Sorry, what's "the original paper"? I think if on-the-fly is implemented as a single forward sweep then we should be able to later add an option to use this in the first iteration, for example.

ddundo commented 4 months ago

Sorry, I was referring to Figure 3 in https://www.sciencedirect.com/science/article/abs/pii/S002199910600369X

So it's a generalisation of both methods

jwallwork23 commented 4 months ago

Oh cool, either I haven't read this paper or I read it long enough ago that I forgot.

If you're willing to implement this then that would be great, although I would recommend that the "on-the-fly part" is implemented in a separate method than the "generalised part" (which would call it), if that makes sense?

ddundo commented 4 months ago

That makes sense, yup! I'll do that then :)