A new abstract type LevelSetEvolution, this has interfaces for evolve! (replacing advect!), reinit, and get_dof_Δ. The last of which is a convenience function that we use in Optimisers for the stopping criteria.
AdvectionStencil -> HamiltonJacobiEvolution <: LevelSetEvolution. The idea of this is that other ODE solvers can be implemented in future by implemented, for example, HamiltonJacobiEvolutionRK4. We may be able to leverage Gridap ODE features later down the line as well.
Stencil now has an additional interface check_order. This should check the order of the supplied FE space and return an error if it is not sufficient to give correct results in parallel.
The above has been split into distinct files inside src/LevelSetEvolution.
The rest of source and scripts have been updated to reflect above changes.
The most important changes in this refactor are:
LevelSetEvolution
, this has interfaces for evolve! (replacingadvect!
),reinit
, andget_dof_Δ
. The last of which is a convenience function that we use in Optimisers for the stopping criteria.AdvectionStencil
->HamiltonJacobiEvolution <: LevelSetEvolution
. The idea of this is that other ODE solvers can be implemented in future by implemented, for example,HamiltonJacobiEvolutionRK4
. We may be able to leverage Gridap ODE features later down the line as well.Stencil
now has an additional interfacecheck_order
. This should check the order of the supplied FE space and return an error if it is not sufficient to give correct results in parallel.src/LevelSetEvolution
.Are you happy with this @JordiManyer ?