Hi Richard, Thanks for your interest in OPM!
The amount of code that goes into building Flow is quite large, and reading it all is not really a feasible project. That said, it should not be too hard to find the parts that interest you the most. The most central class for Flow is the BlackoilModelBase class, on which all Flow variants is based (the solvent and polymer versions have their own model classes that inherit from this one). You'll find it in the opm-simulators module. To see how it works, start with the nonlinearIteration() method, which is the main entry point, and follow the function calls. One of the best ways to do this is to compile a debug version of flow (pass "Debug" as CMAKE_BUILD_TYPE to cmake) and run it in a debugger. You'll find the equations are being set up by the assemble() method, and in particular the assembleMassBalanceEq() method it calls. I hope this gets you started. If there are other aspects that are more interesting to you, please tell us. For example you can find the deck input in opm-parser, fluid properties in opm-material etc. Good luck! Atgeirr Flø Rasmussen 7. jul. 2016 kl. 03.45 skrev Ye Li <[email protected]<mailto:[email protected]>>: Hi, all: Thanks for creating OPM, such a meaningful project. I have several years experience with reservoir simulation. I want to read the code of OPM to learn the "black box" behind the reservoir simulation. However, I am stuck and do not know where I should start. I went through several modules, like ope-common-master, opm-core-master, opt-grid-master, and etc.. If I want to learn the code of OPM FLOW, for example, where should I start and how to follow? Thanks for your time, and I do appreciate. Sincerely, Richard Li Geological Modeling & Simulation Department of Geology & Geophysics 1000 E. University Avenue Dept 3006 University of Wyoming Laramie, WY 82071 USA [email protected]<mailto:[email protected]> GE315 Ph: 307-766-9895 _______________________________________________ Opm mailing list [email protected]<mailto:[email protected]> http://opm-project.org/cgi-bin/mailman/listinfo/opm
_______________________________________________ Opm mailing list [email protected] http://opm-project.org/cgi-bin/mailman/listinfo/opm
