Feature request: sedFOAM submodule
Functionality to add/problem to solve
http://servforge.legi.grenoble-inp.fr/pub/soft-sedfoam/
https://github.com/sedfoam/sedfoam
Following the short discussion in their repo: https://github.com/SedFoam/sedfoam/issues/15 the maintainer of sedFOAM showed keen interest on OpenFOAM's submodule functionality.
sedFOAM is represented as a code suite for two-phase flow sediment flow applications.
Target audience
Wave/free surface involved applications, e.g. masts erected in sea bed, tidal turbines, or in general, underwater structures close to sea bed (might misunderstand).
Proposal
If the maintenance cost of adding and shipping a new submodule is very low for OpenFOAM, sedFOAM submodule would be a win-win.
What does success look like, and how can we measure that?
The suite is based on a set of publications, and has its own user group (it seems). Also, reasonably well maintained by a group of people, compatible with recent OF versions.
Funding
NA
Activity
- Kutalmış Berçin added feature request label
added feature request label
- Kutalmış Berçin changed the description
changed the description
Hello I think it's a very good idea. I am a developer of sedfoam. Are there guidelines to correctly make a pull request and to be included in the official release?
- Developer
You could start with looking at section "Code Development"
https://develop.openfoam.com/Development/openfoam/wikis/home
@andy any further comments?
Thank you for your reply.
I had already read the section "Code Development" (a long time ago).
For the "codingStyle" part, we are using foamStyleCheck from petebachant: https://github.com/petebachant/foamStyleCheck and we have CI with travis.
I created a specific branch in sedfoam (https://github.com/SedFoam/sedfoam/tree/module_openfoam.com) and I prepared a "feature-submodule-sedfoam" branch for openfoam.com/develop as shown here: https://develop.openfoam.com/Development/openfoam/wikis/page-code-development
But I have no right to push the branch : remote: You are not allowed to push code to this project.
Did I miss something in the process?
- Author Maintainer
Dear @CyrilleBonamy ,
Is there any chance to obtain a certain level of funding (via academic/public funding bodies) to ensure the implementation/maintenance?
Kind regards,
Hello @kuti
Unfortunately I think there is no chance to recover money to ensure the implementation/maintenance... :-( The only thing I can offer is a bit of my time for the openfoam project (I can possibly contribute on something other than sedfoam).
I can also reassure you about the sustainability of the sedfoam project. The project is now several years old, and many of us are working on it.
Concerning myself, I have a permanent position (research engineer) at CNRS and you can therefore consider that I will not leave the project in the short and medium term.
Best regards
- Author Maintainer
Thank you very much.
We will discuss it internally, and I will let you know as soon as possible.
Kind regards,
- Kutalmış Berçin assigned to @kuti
assigned to @kuti
- Author Maintainer
Hi @CyrilleBonamy ,
Is there any chance for you and your teammates to locally refactor your code suite to be inline with OpenFOAM, so that it can work as a module in principle? Is it possible to allocate time for this from your side?
Hi @kuti ,
As already mentioned, I (and my teammates) can spend some time cleaning up the code. However, we need to know what exactly you are waiting for. Can you tell me what to do?
For module integration, I created a branch in the sedfoam github repository. The modifications are very slight. For example, I make sure that binaries are installed in the root spaces (and not in the $FOAM_USER_APP BIN and LIB directories).
- Kutalmış Berçin made the issue confidential
made the issue confidential
- Author Maintainer
Hi @CyrilleBonamy,
My apologies for the slow progress of our side in this regard, but the ball is rolling. We have been still assessing what are pros and cons in terms of the code maintenance, yet hampered by the recent release activities.
With the above question, I had just wanted to know if you could refactor
sedFoam
in terms of style when it would be required in the future, so that it can align withOpenFOAM
- easing the module activities. Seems my question is not timely. For the moment, I don't think there is need for anything you do.I hope it would not be burden for you, but is it possible for you to provide some remarks for the below?
- Which non-standard applications does
sedFoam
consist?- Solvers
- Function objects etc.
- What insights can these methods provide in theory (how would it change in how we think things), and in practice (how would it change in how we do things)?
- Are
sedFoam
applications parallel? - Is there any example that
sedFoam
was applied onto industry-related engineering problems? - What are the limitations of
sedFoam
; what remains unresolved? - Roughly, how long do you or your colleagues plan to maintain
sedFoam
? - Can
sedFoam
provide a flexible code bed for sediment transport applications, so that another sediment-transport methodology can be implemented, if need be?
Many thanks for your time.
Kind regards, Kutalmis
- Which non-standard applications does
- Author Maintainer
Hi @CyrilleBonamy, just wanted to let you know in the meantime: if you would have research proposals involving OpenFOAM/OpenCFD, we are interested.
- Author Maintainer
Dear @CyrilleBonamy, could you please tell us if there is any updates from your side? Thanks.
- Kutalmış Berçin made the issue visible to everyone
made the issue visible to everyone
- Author Maintainer
Hi @CyrilleBonamy, I had made the issue confidential. But, I have just realised after a year that the guest participants could not see the confidential issues unless they open the ticket by themselves. I'm sorry for this!
I hope you are still interested about the submodule! :D
Hi @kuti
Of course we are still interested about the sedfoam submodule. :-)
Concerning the style and cleaning of the code I think it allways needs some effort. We planned to do some of the work in the coming weeks.
About the questions :
- SedFoam is an Eulerian two-phase model for a wide range of sediment transport processes. By solving the mass and momentum equations for the water phase and fluid phase with closure on turbulence, particle stress, and interphase momentum coupling, SedFoam resolves the full dynamics of sediment transport throughout the entire water column and down to the immobile porous sediment bed without the need to artificially separate transport into near-bed load and suspended load layers. Compared with the conventional single-phase sediment transport model, SedFoam does not require empirical closures on reference concentration, bedload transport rate, and Exner equation for updating the bathymetry evolution.
- sedFoam is a solver supplied with tutorials : https://github.com/SedFoam/sedfoam
- A short introduction and the description of the tutorials can be found here: https://sedfoam.github.io
- A full description of the sedFoam can be found in GMD paper : https://doi.org/10.5194/gmd-10-4367-2017
- sedFoam is parallel
- sedFoam has been used for Three-dimensional scour simulations (cf. paper in Advances in Water Resources : https://doi.org/10.1016/j.advwatres.2020.103544). The French company, Artelia, plans to use the software in its activities but the cost of calculation is prohibitive for 3D calculations on real scale cases.
- About the limitations, from an industrial point of view, it is surely the computational cost. A model resolving a mixture can improve the model. And there is a lot of possible improvement (update of the kinetic theory, implementation of the finite size model in the official sedfoam release : http://dx.doi.org/10.1017%2Fjfm.2021.4, integrate the dilatancy effects...). We work on all that.
- Cyrille Bonamy (me), Julien Chauchat, Tian-Jian Hsu and other people involved in the project do not plan to stop the maintenance of the software. We are three people with a permanent position, and so there is no problem for the next few years.
- For the last question, I am not completely sure if I understand the question. Our model is two-phase model and hence single phase methodology for sediment transport, such as pickup function etc, cannot be implemented. However, within the two-phase framework, We think we can be flexible for including different turbulence closures (with impact from sediment phase), particle stress (rheology).
Edited by Cyrille Bonamy@kuti, have you any news?
We have just finished cleaning the code. It is not perfect but not too bad. We will finish updating the gitub.io/sedfoam webpage in the coming days (so that it perfectly matches with this new version of sedfoam).
- Author Maintainer
Hi @CyrilleBonamy ,
Thanks for the excellent news.
Can I come back to you on 16 Jul 21 with a final answer, if possible? (has set my reminder.)