Skip to content

Commit dab2c84

Browse files
author
code-mphi
committed
Version 4.0
**Major points:** * Removed the version numbers of the input file names (break compatibility with previous version). * Possibility to use finite pressure relaxation on UEq model for more than two phases. More information in: Schmidmayer _et al._ [https://doi.org/10.1002/fld.5142](https://doi.org/10.1002/fld.5142). * Possibility to initialize an unstructured simulation with the result of a previous simulation performed on a similar mesh and/or a different number of CPUs. This feature is particularly useful to fasten steady state convergence on a fine mesh using coarse mesh results. More information in: Cazé _et al._ (2023). Modelling and simulation of the cavitation phenomenon in space-engine turbopumps. [http://dx.doi.org/10.2139/ssrn.4479910](http://dx.doi.org/10.2139/ssrn.4479910). * PUEq phase-change model (handled through PTMu relaxation) does not require mass fraction threshold anymore to trigger mass transfer. Also more information in: Cazé _et al._ (2023). [http://dx.doi.org/10.2139/ssrn.4479910](http://dx.doi.org/10.2139/ssrn.4479910). * Add Moving Reference Frame coupling of a rotating region with a static one. Also more information in: Cazé _et al._ (2023). [http://dx.doi.org/10.2139/ssrn.4479910](http://dx.doi.org/10.2139/ssrn.4479910). * Renamed boundary condition names (break compatibility with previous version). * Immersed boundaries can be added in a Cartesian mesh domain (physicalEntity = -1). Similarly to: Trummler _et al._ [https://doi.org/10.1017/jfm.2020.432](https://doi.org/10.1017/jfm.2020.432). **Minor points:** * Option to record boundary quantities such as pressure forces and shear stress (useful for aerodynamic coefficient computation). * Possibility to display cells' reference length on XML output with unstructured mesh. * Add a tutorial on mesh mapping and low-Mach preconditionning options. * Add scripts related to droplet shock-induced cavitation. More information in: Biasiori-Poulanges & Schmidmayer (2023) [https://doi.org/10.1063/5.0127105](https://doi.org/10.1063/5.0127105) and Schmidmayer & Biasiori-Poulanges (2023) [https://doi.org/10.1063/5.0151404](https://doi.org/10.1063/5.0151404). * Improve variable name style for Gnuplot output. * Increase code coverage by nonreg. * Updated AMR refinement criteria to match the different modelling. * Always a little more source code translation from French to English. * A wall is now considered as a symmetry BC if viscosity is ignored. * Update of documentation. **Fixes:** * Fix the getTemperature() and copyPhase() methods for multiphase models. * Fix restart bug when using alphaNull on PUEq model. * Fix bug on simulation progress when using iteration control mode. * Fix a MPI data type that caused a crash during MPI_Allreduce on some compilers. * Minor fix for Euler-Korteweg model. * Correction on UEq BC for volume fraction flux, using sM instead of uStar to respect transport equation. * Update non-regression scripts to make them compatible with OS X. * Correction for phase change with a second-order method.
1 parent dd550d1 commit dab2c84

File tree

1,250 files changed

+19955
-8287
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,250 files changed

+19955
-8287
lines changed

Diff for: .gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ venv
3030
*.v12.suo
3131
*.ods
3232
error_*
33+
*.msh

Diff for: AUTHORS

+14-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
ECOGEN is under GPLv3 or later license. Here is the name and contact information of contributors of the project.
2-
3-
Contributors : S. Le Martelot, F. Petitpas, K. Schmidmayer, E. Daniel, B. Dorschner, J. Caze
1+
ECOGEN is under GPLv3 or later license. Here is the name and contact information of contributors of the project (from first to last to join).
42

53
F. Petitpas
64
-----------
@@ -13,8 +11,8 @@ Expert enginneer turbopumps at CNES, France.
1311

1412
K. Schmidmayer
1513
--------------
16-
Permanent researcher at Inria Sud Ouest, France.
17-
e-mail adress: kevin.schmidmayer@gmail.com
14+
Permanent researcher at Inria Center of the University of Bordeaux, France. Teaching at Université de Pau et des Pays de l'Adour.
15+
e-mail adress: kevin.schmidmayer@inria.fr
1816
Personal web page: https://kevinschmidmayer.github.io/
1917

2018
E. Daniel
@@ -29,5 +27,14 @@ Personal web page: https://benedikt-dorschner.com/
2927

3028
J. Caze
3129
-------
32-
Phd student at CNES / Aix Marseille Universite, France.
33-
Personal web page: https://joriscaze.github.io/website/
30+
Senior developer at SII group. Was PhD student and postdoc at CNES / Aix Marseille Universite, France.
31+
Personal web page: https://joriscaze.github.io/
32+
33+
F. Gadiri
34+
---------
35+
Was a Master student at Aix Marseille Universite, France.
36+
37+
S. Schropff
38+
-----------
39+
PhD student at Aix Marseille Universite, France.
40+
e-mail adress: [email protected]

Diff for: COPYRIGHT

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ Copyright © 2016-2017 Fabien Petitpas, Kevin Schmidmayer
55
Copyright © 2018 Fabien Petitpas, Kevin Schmidmayer, Eric Daniel
66
Copyright © 2019 Fabien Petitpas, Kevin Schmidmayer, Eric Daniel, Benedikt Dorschner
77
Copyright © 2020 Fabien Petitpas, Kevin Schmidmayer, Eric Daniel, Benedikt Dorschner, Joris Caze
8-
Copyright © 2021-2022 Fabien Petitpas, Kevin Schmidmayer, Eric Daniel, Joris Caze
8+
Copyright © 2021 Fabien Petitpas, Kevin Schmidmayer, Eric Daniel, Joris Caze, Fatima Gadiri
9+
Copyright © 2022 Fabien Petitpas, Kevin Schmidmayer, Eric Daniel, Joris Caze
10+
Copyright © 2023 Fabien Petitpas, Kevin Schmidmayer, Eric Daniel, Joris Caze, Solene Schropff

Diff for: ECOGEN.xml

+36-7
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,28 @@
1414
<!-- <testCase>libTests/referenceTestCases/euler/1D/shockTubes/HPRight/</testCase> -->
1515
<!-- <testCase>libTests/referenceTestCases/euler/1D/shockTubes/spherical/</testCase> -->
1616
<!-- <testCase>libTests/referenceTestCases/euler/2D/transports/rectangleDiagonal/</testCase> -->
17+
<!-- <testCase>libTests/referenceTestCases/euler/2D/transports/rectangleDiagonalUnstruct/</testCase> -->
18+
<!-- <testCase>libTests/referenceTestCases/euler/2D/transports/transport1dCartesian/</testCase> -->
1719
<!-- <testCase>libTests/referenceTestCases/euler/2D/HPCenter/</testCase> -->
1820
<!-- <testCase>libTests/referenceTestCases/euler/2D/HPUnstructured/</testCase> -->
21+
<!-- <testCase>libTests/referenceTestCases/euler/2D/HPUnstructuredMeshMappingRestart/</testCase> -->
1922
<!-- <testCase>libTests/referenceTestCases/euler/2D/nozzles/tankWithShock/</testCase> -->
20-
<!-- <testCase>libTests/referenceTestCases/euler/2D/nozzles/supersonicInjection/</testCase> --> <!-- Something is wrong with the results of this test case (certainly coming from injection boundary condition), maybe something missing in initialConditionsV4.xml -->
21-
<!-- <testCase>libTests/referenceTestCases/euler/2D/nozzles/subsonicInjection/</testCase> -->
23+
<!-- <testCase>libTests/referenceTestCases/euler/2D/nozzles/injectionTemp/</testCase> -->
24+
<!-- <testCase>libTests/referenceTestCases/euler/2D/nozzles/injectionStagState/</testCase> -->
2225
<!-- <testCase>libTests/referenceTestCases/euler/2D/nozzles/lowMachSmoothCrossSection/</testCase> -->
2326
<!-- <testCase>libTests/referenceTestCases/euler/2D/shockTubes/cylindrical/</testCase> -->
27+
<!-- <testCase>libTests/referenceTestCases/euler/2D/shockTubes/unstruct/</testCase> -->
28+
<!-- <testCase>libTests/referenceTestCases/euler/2D/shockTubes/cartesian/</testCase> -->
2429
<!-- <testCase>libTests/referenceTestCases/euler/2D/Blasius/BlasiusLaminar/</testCase> -->
2530
<!-- <testCase>libTests/referenceTestCases/euler/2D/Blasius/BlasiusTurbulent/</testCase> -->
2631
<!-- <testCase>libTests/referenceTestCases/euler/2D/Blasius/BlasiusLEIS/</testCase> -->
2732
<!-- <testCase>libTests/referenceTestCases/euler/2D/RayleighTaylor/</testCase> -->
33+
<!-- <testCase>libTests/referenceTestCases/euler/2D/disc/</testCase> -->
34+
<!-- <testCase>libTests/referenceTestCases/euler/2D/foil/</testCase> -->
35+
<!-- <testCase>libTests/referenceTestCases/euler/2D/immersedBoundaries/</testCase> -->
36+
<!-- <testCase>libTests/referenceTestCases/euler/2D/venturi/</testCase> -->
2837
<!-- <testCase>libTests/referenceTestCases/euler/3D/LPCenter/</testCase> -->
38+
<!-- <testCase>libTests/referenceTestCases/euler/3D/shockTubeCylinder/</testCase> -->
2939

3040
<!-- Pressure- and velocity-equilibrium-model reference test cases -->
3141
<!-- ------------------------------------------------------------- -->
@@ -34,22 +44,33 @@
3444
<!-- <testCase>libTests/referenceTestCases/PUEq/1D/shockTubes/interfaceWaterAirNASG/</testCase> -->
3545
<!-- <testCase>libTests/referenceTestCases/PUEq/1D/shockTubes/epoxySpinel/</testCase> -->
3646
<!-- <testCase>libTests/referenceTestCases/PUEq/1D/cavitation/</testCase> -->
47+
<!-- <testCase>libTests/referenceTestCases/PUEq/1D/heating/heatedVapourAir/</testCase> -->
3748
<!-- <testCase>libTests/referenceTestCases/PUEq/1D/sphericalCollapse/Pratio1427/</testCase> -->
49+
<!-- <testCase>libTests/referenceTestCases/PUEq/1D/sphericalCollapse/Pratio353/</testCase> -->
3850
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/transportWaterSquareInAir/</testCase> -->
51+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/shockTubeUnstruct/</testCase> -->
52+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/shockTubeUnstructRotated/</testCase> -->
3953
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/squareWaterExplosion/</testCase> -->
4054
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/shockBubble/heliumAir/</testCase> -->
4155
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/RichtmyerMeshkov/</testCase> -->
4256
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/RayleighTaylor/sameDynamicViscosity/</testCase> -->
4357
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/RayleighTaylor/sameKinematicViscosity/</testCase> -->
4458
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/sphericalCollapse/Pratio1427/</testCase> -->
59+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/sphericalCollapse/Pratio353/</testCase> -->
60+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/underwaterExplosion/</testCase> -->
61+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/discLimitSinglePhase/</testCase> -->
4562
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/nozzles/tank/</testCase> -->
46-
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/nozzles/injection/</testCase> --> <!-- Something is wrong with the results of this test case (certainly coming from injection boundary condition), maybe something missing in initialConditionsV4.xml -->
63+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/nozzles/injection/</testCase> --> <!-- Something is wrong with the results of this test case (certainly coming from injection boundary condition), maybe something missing in initialConditions.xml -->
4764
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/nozzles/lowMachSmoothCrossSection/</testCase> -->
65+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/nozzles/outletPressurePathological/</testCase> -->
4866
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/testUnstructured/</testCase> -->
4967
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/shockTubeFreeSurface/</testCase> --> <!-- Works but initial conditions (mesh) might not be the best ones -->
5068
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/foil/noCavitation/</testCase> -->
5169
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/foil/cavitation/</testCase> -->
52-
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/evap/evapShockTube/</testCase> -->
70+
<!-- <testCase>libTests/referenceTestCases/PUEq/2D/venturi/</testCase> -->
71+
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/phaseChange/evapExpansionTubeEquilibrium/</testCase> -->
72+
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/phaseChange/condensation/</testCase> -->
73+
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/phaseChange/evaporation/</testCase> -->
5374
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/surfaceTension/squareToCircle/</testCase> -->
5475
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/surfaceTension/squareToCircleSymmetry/</testCase> -->
5576
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/surfaceTension/waterCylinderInAir/</testCase> -->
@@ -58,6 +79,7 @@
5879
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/surfaceTension/dropletImpact/</testCase> -->
5980
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/surfaceTension/dropletImpact_restart/</testCase> -->
6081
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/gravity/</testCase> -->
82+
<!-- <testCase>libTests/referenceTestCases/PUEq/AddPhysicalEffects/heatConduction/simple/</testCase> -->
6183
<!-- <testCase>libTests/referenceTestCases/PUEq/3D/shockBubble/heliumAir/</testCase> -->
6284
<!-- <testCase>libTests/referenceTestCases/PUEq/3D/sphericalCollapse/Pratio1427/</testCase> -->
6385
<!-- <testCase>libTests/referenceTestCases/PUEq/3D/unstructured/</testCase> -->
@@ -66,11 +88,14 @@
6688
<!-- --------------------------------------------------------------------------- -->
6789
<!-- <testCase>libTests/referenceTestCases/PTUEq/transports/interfaceAirHelium/</testCase> -->
6890
<!-- <testCase>libTests/referenceTestCases/PTUEq/shockTubes/interfaceWaterAir/</testCase> -->
69-
<!-- <testCase>libTests/referenceTestCases/PTUEq/shockTubes/interfaceDodecane/</testCase> -->
91+
<!-- <testCase>libTests/referenceTestCases/PTUEq/shockTubes/interfaceDodecane/cartesian/</testCase> -->
92+
<!-- <testCase>libTests/referenceTestCases/PTUEq/shockTubes/interfaceDodecane/unstructured/</testCase> -->
93+
<!-- <testCase>libTests/referenceTestCases/PTUEq/heating/heatedVapourAir/</testCase> -->
7094

7195
<!-- Homogeneous-Euler reference test cases -->
7296
<!-- -------------------------------------- -->
73-
<!-- <testCase>libTests/referenceTestCases/eulerHomogeneous/shockTubes/</testCase> -->
97+
<!-- <testCase>libTests/referenceTestCases/eulerHomogeneous/shockTubes/cartesian/</testCase> -->
98+
<!-- <testCase>libTests/referenceTestCases/eulerHomogeneous/shockTubes/unstructured/</testCase> -->
7499

75100
<!-- Velocity-equilibrium-model reference test cases -->
76101
<!-- ----------------------------------------------- -->
@@ -80,14 +105,18 @@
80105
<!-- <testCase>libTests/referenceTestCases/UEq/1D/shockTubes/interfaceWaterAirNASG/</testCase> -->
81106
<!-- <testCase>libTests/referenceTestCases/UEq/1D/shockTubes/epoxySpinel/</testCase> -->
82107
<!-- <testCase>libTests/referenceTestCases/UEq/1D/shockTubes/mixtures/</testCase> -->
108+
<!-- <testCase>libTests/referenceTestCases/UEq/1D/shockTubes/HMXWaterAir/</testCase> -->
83109
<!-- <testCase>libTests/referenceTestCases/UEq/1D/mixture/waterAir/</testCase> -->
84110
<!-- <testCase>libTests/referenceTestCases/UEq/1D/shockOnInterface/sharpInterfaceWaterAir/</testCase> -->
85111
<!-- <testCase>libTests/referenceTestCases/UEq/1D/shockOnInterface/diffusedInterfaceWaterAir/</testCase> -->
86112
<!-- <testCase>libTests/referenceTestCases/UEq/1D/cavitation/</testCase> -->
87113
<!-- <testCase>libTests/referenceTestCases/UEq/1D/sphericalCollapse/Pratio1427/</testCase> -->
88114
<!-- <testCase>libTests/referenceTestCases/UEq/2D/nonSphericalCollapseNearWall/</testCase> -->
115+
<!-- <testCase>libTests/referenceTestCases/UEq/2D/RichtmyerMeshkov/</testCase> -->
89116
<!-- <testCase>libTests/referenceTestCases/UEq/2D/squareToCircleSymmetry/</testCase> -->
90-
117+
<!-- <testCase>libTests/referenceTestCases/UEq/2D/dropletShockInducedCavitation/Mach2_4/</testCase> -->
118+
<!-- <testCase>libTests/referenceTestCases/UEq/2D/dropletShockInducedCavitation/Mach2_4_pureWater/</testCase> -->
119+
91120
<!-- Velocity-equilibrium-model with total energy reference test cases -->
92121
<!-- ----------------------------------------------------------------- -->
93122
<!-- <testCase>libTests/referenceTestCases/UEqTotEnergy/1D/transports/interfaceWaterAir/</testCase> -->

Diff for: coverage_and_profile/README_coverage.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ Here is described how to compute a code coverage for ECOGEN.
1111
./scripts/run.sh ./nonreg/ECOGEN_nonReg_full.list
1212
This will generate .gcda files in the sources.
1313

14-
5. Install lcov if not already done and execute the following command to interprete the gcda files. Note that the "--capture" option may be "--coverage" on some systems.
15-
lcov --capture --directory . --output-file coverage/coverage.info
14+
5. Install lcov if not already done and execute the following command to interprete the gcda files. Note that the "--capture" option may be "--coverage" on some systems. You may also add the following options "--ignore-errors inconsistent,inconsistent,gcov,gcov --filter range".
15+
lcov --capture --directory . --output-file coverage_and_profile/coverage.info
1616

17-
6. Execute the following command to generate html files from the previous coverage files.
18-
genhtml coverage/coverage.info --output-directory coverage/html
17+
6. Execute the following command to generate html files from the previous coverage files. You may also add the following options "--ignore-errors inconsistent".
18+
genhtml coverage_and_profile/coverage.info --output-directory coverage_and_profile/html
1919

20-
7. Open coverage/html/index.html with your browser to have a look at the report.
20+
7. Open coverage_and_profile/html/index.html with your browser to have a look at the report.
2121

2222
Note that the .gcno and .gcda files are voluntarily not added in the .gitignore to remind you to delete them after the analysis (and obviously if you do not want to keep them).

Diff for: docs/doxygen_docs/doxygen.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = ECOGEN
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 1.0
41+
PROJECT_NUMBER = 4.0
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

Diff for: docs/sphinx_docs/Dockerfile

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# -- Dockerfile --
2+
# This Dockerfile provides a simple way to build documentation
3+
# without requiring to install all dependencies locally
4+
5+
# Pull Ubuntu latest version
6+
FROM ubuntu:20.04
7+
8+
# Minimal Python installation
9+
RUN apt-get update
10+
RUN apt-get upgrade -y
11+
RUN apt-get install -y python3 \
12+
python3-pip
13+
14+
# Install Sphinx
15+
RUN pip3 install sphinx sphinx_rtd_theme sphinx-numfig sphinxcontrib-bibtex
16+
17+
# # Install LaTeX (to build PDF version of the doc)
18+
ENV DEBIAN_FRONTEND=noninteractive
19+
RUN apt-get install -y texlive \
20+
texlive-latex-extra \
21+
latexmk
22+
23+
WORKDIR /home
24+
ENTRYPOINT ["make"]
25+
CMD ["html"]
26+
27+
# -- User guide --
28+
29+
# To build the container image using this Dockerfile
30+
# docker image build -t ecogen/sphinx-doc .
31+
32+
# To run the container
33+
# For HTML output
34+
# docker container run --mount type=bind,source=${PWD},target=/home ecogen/sphinx-doc
35+
# Or
36+
# docker container run --mount type=bind,source=${PWD},target=/home ecogen/sphinx-doc html
37+
# For PDF output
38+
# docker container run --mount type=bind,source=${PWD},target=/home ecogen/sphinx-doc pdf
39+
40+
# To troubleshoot any bug it is also possible to run the container interactively
41+
# docker container run --mount type=bind,source=${PWD},target=/home -it -w /home --entrypoint /bin/bash ecogen/sphinx-doc
42+
# make html

Diff for: docs/sphinx_docs/source/Biblio.bib

+10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
% Encoding: UTF-8
22
3+
@article{chiapolino2017sharpening,
4+
title={Sharpening diffuse interfaces with compressible fluids on unstructured meshes},
5+
author={Chiapolino, Alexandre and Saurel, Richard and Nkonga, Boniface},
6+
journal={Journal of Computational Physics},
7+
volume={340},
8+
pages={389--417},
9+
year={2017},
10+
publisher={Elsevier}
11+
}
12+
313
@article{schmidmayer2021UEq,
414
title={Modelling interactions between waves and diffused interfaces},
515
author={Schmidmayer, K. and Caz{\'e}, J. and Petitpas, F. and Daniel, E. and Favrie, N.},

0 commit comments

Comments
 (0)