samuelburbulla / dune-mmesh

The Dune Grid Module for Moving Interfaces
Other
1 stars 0 forks source link

Statement of need #3

Closed krober10nd closed 2 years ago

krober10nd commented 2 years ago

The concept of thin-fluid interfaces is stated in the "Statement of Need" as a motivating factor for the development of DUNE-mesh. However, this does not directly link the need for mesh adaptation. Why should one rely on DUNE-mesh instead of writing their own functionality to perform mesh adaptation? What makes it difficult and what does your software offer that makes it worthwhile? Why is this a difficult thing to program? Besides this, are there other motivating applications besides thin-fluid interfaces that DUNE-mesh could be used for?

Further, in the statement of need, the description of the application is stated, which should perhaps be moved into the summary.

samuelburbulla commented 2 years ago

Why should one rely on DUNE-mesh instead of writing their own functionality to perform mesh adaptation? What makes it difficult and what does your software offer that makes it worthwhile? Why is this a difficult thing to program?

Of course, you could always implement your own code, but if you rely in MMesh you get the following features:

Besides this, are there other motivating applications besides thin-fluid interfaces that DUNE-mesh could be used for?

Our main focus at the moment is, as we mentioned shortly, the modelling of fractures as dimensionally reduced interfaces and their propagation while coupled with various flow problems.

However, we can imagine a lot of other (in particular mixed-dimensional) PDEs and problems with possibly moving interfaces that could rather easily be solved with our provided framework. Because of the great flexibility plugging in custom PDEs, we think that our project with its mixed-dimensional and adaptation features could provide a very useful tool to a lot of other people and we are not aware of such kind of software being available.

@krober10nd Do you think we have to make some of the above points more clear in either the Statement of Need or in the Summary?

krober10nd commented 2 years ago

Thank you for the detailed summary. I think it could beneficial to mention these points in the statement of need especially regarding the ability to solve mixed-dimensional problems right up front and then you could give the example about fluid interfaces. I realize mesh adaptation is non-trivial to implement and agree with the utility of this package, I'm just trying to help improve the short article.

samuelburbulla commented 2 years ago

Should I already start to improve the short article, or should I wait for the full feedback to not mess up things?

krober10nd commented 2 years ago

I think you could start to improve it, perhaps you could post the revised section here and we can work on it together.

samuelburbulla commented 2 years ago

@krober10nd I tried to address the suggestions and questions you raised and propose the following completely revised version of Summary and Statement of Need. According to the example paper of JOSS, I focus on the general purpose of the software in the summary section, and describe the features of the software only in the Statement of Need.

Summary

In many physical processes and technical applications comparably thin interfaces can have a large impact on the overall behavior of the system. For instance, interfaces occur as separating layer between fluid phases in multiphase flows and in several environmental, technical and biological systems, like climate models, fuel cells, cooling systems, subsurface flow and human cells. Some of these processes also include effects that happen along an interface or mutually influence the interface's position or topology. In general, physical processes can be modelled by systems of partial differential equations and well-known numerical tools like finite elements can be used to approximate solutions of these systems. However, such strongly interface-driven processes, where moving interfaces and potentially mixed-dimensional systems of partial differential equations arise, challenge any standard numerical approach. This requires advanced numerical tools with specific treatment of the interface and the simultaneous ability to implement complex physical effects.

Statement of Need

Dune-MMesh is an implementation of the Dune [@BBD+21] grid interface that is tailored for numerical applications with possibly moving physical interfaces. It is based on the paradigm that the interface is always fully conforming to the surrounding computational mesh. The module wraps two and three dimensional CGAL triangulations [@CGAL] and exports a predefined set of facets as a separate interface grid. Both bulk and interface grid follow the unified Dune grid interface in C++ and Python which gives access to high-level objects like intersections of grid entities, index and id sets and geometry transformations. Therefore, Dune-MMesh is perfectly suited for the numerical discretization of partial differential equations and is directly compatible with discretization modules relying on the Dune grid interface like dune-fem, DuMuX, dune-pdelab, and others.

In spatial dimension two, arbitrary movement of vertices is enhanced with a re-meshing algorithm that implements non-hierarchical adaptation procedures. Besides the pure adaptation of the triangulation, Dune-MMesh takes care about the necessary data structures to adapt discrete functions defined on the bulk grid or the interface. This adaptation approach complements existing grid implementations within the Dune framework that strictly rely on hierarchical adaptation.

Various examples based on the python bindings of the discretization module dune-fem [@DNK20] have been implemented that demonstrate the versatile applicability of Dune-MMesh. Because of the great flexibility plugging in custom PDEs in their weak from written in UFL, we think that Dune-MMesh provides a very useful tool for solving mixed-dimensional PDEs on moving interfaces that might arise from various fields of modelling.

krober10nd commented 2 years ago

Nice work. I took a stab at revising feel free to keep or leave it, just suggestions.

Summary

In several physical and environmental processes that concern multiphase flows, biological systems, and geophysical phenomena, important physical processes occur along thin physical interfaces. These processes include effects that may alter the interface's position or topology over time creating a moving interface, which complicates traditional modeling techniques. Moving interface problems thus require advanced numerical tools with specific treatment of the interface and the simultaneous ability to implement complex physical effects, which this work seeks to create solutions for.

Statement of Need

In this work, we present Dune-MMesh that is tailored for numerical applications with moving physical interfaces. Dune-MMesh is an implementation of the well-developed Dune [@BBD+21] grid interface and is well-suited for the numerical discretization of partial differential equations. The package wraps two and three dimensional CGAL triangulations [@CGAL] and high-level objects like intersections of grid entities, index and id sets and geometry transformations.

In two dimensions, the arbitrary movement of vertices is enhanced with a re-meshing algorithm that implements non-hierarchical adaptation procedures. Besides the adaptation of the triangulation, Dune-MMesh provides the necessary data structures to adapt discrete functions defined on the bulk grid or the interface. This adaptation approach complements existing grid implementations within the Dune framework that strictly rely on hierarchical adaptation. Various examples in Python have been implemented that demonstrate the versatile applicability of Dune-MMesh. Due to the ability to handle custom PDEs in their weak from written in Unified Form Language (UFL) and the mesh adaptation capabilities, we believe Dune-MMesh provides a useful tool for solving mixed-dimensional PDEs on moving interfaces that arise from various fields of modelling.

samuelburbulla commented 2 years ago

Thanks for your suggestions!

krober10nd commented 2 years ago

No problem @samuelburbulla, did you incorporate changes into the paper? I only see the README changed.

samuelburbulla commented 2 years ago

Yes, I updated it on the branch feature/paper.