kronbichler / adaflo

adaflo, an adaptive finite element solver for incompressible fluid flow and two-phase flow
Other
24 stars 14 forks source link

Level set: composition #14

Closed peterrum closed 3 years ago

peterrum commented 3 years ago

This PR restructures the level-set module so that reinitialization, advection, curvature_computation, and normal_vector_computation become operators on their own and the level_set operator uses them via composition.

FYI @mschreter The dependencies between the modules still need to be made more clear but this should allow us to use them from extern.

peterrum commented 3 years ago

@mschreter Please note that I have rebased and force pushed! Thx!

peterrum commented 3 years ago

@kronbichler This PR contains the hard work of two very intensive days by @mschreter and myself, trying to to use more modules of adaflo in MeltPoolDG. The work here is definitely no finished yet: 1) there are many TODOs, which is mainly related to the fact that we have not had the time to document everything to a level as we wanted and 2) we have only had time to integrate the advection operator till now, so that the interfaces, as proposed here, might still change. Nevertheless, I think it would be a good idea to merge so that I can open the follow-up PR for the simplex support and other follow-up PRs have a more human size. What do you think? I have run all tests locally: all are still passing.