Open jwallwork23 opened 8 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 :)
That'd be great, thanks @ddundo.
@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 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.
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
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?
That makes sense, yup! I'll do that then :)
MeshSeq
has afixed_point_iteration
method, which solves over the whole time period before adapting each mesh. Alternatively, we could introduce anon_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.