The C++ object-oriented programming approach in fluid and gas mechanics numerical problems.
Functional programming is the conventional approach for the numerical solutions in the problems of continuum mechanics. Nevertheless, in the case of complex problems, it becomes really difficult to design, develop and maintain the source code using functional programming.
This project attempts to understand how deep such numerical models can be based on paradigms of object-oriented programming and whether this can troubleshoot the abovementioned difficulties.
The following reservoir engineering problem is solved:
- two-phase compressible fluids (methane and water)
- a two-dimensional arial grid system
- there is a production well in the center of the reservoir
- the volume of the boundary grid blocks is artificially increased using pore volume multipliers when modelling the aquifer
git clone https://github.com/AleksZhuravljov/oopmech
cd oopmech/aquifer
cmake CMakeList.txt
make
cd InOut
../aquifer data.txt
The things you need to install the software and how to install them
brew install eigen
brew install cmake
brew install gnuplot
This project is licensed under the Academic Free License - see the LICENSE file for details
- Sergei Iskakov for practical advice on writing C++ code
- Zakhar Lanetc for model validation using Eclipse