As a part of testing PETSc in OPM I want to port selected pieces of the codebase to use PETSc instead of dune. An obvious choice is the benchmark (and by extension IncompFlowSolverHybrid), as it already tests the correctness of the computation.
Since I have to rip parts of this open anyways, I figured I could attempt some refactoring. I'm trying to determine which (private) members are needed as actual members and narrow down object lifetimes and make things more transactional. There will probably follow more questions like this, but here goes the first one. In the enumeration of the grid, https://github.com/OPM/opm-porsol/blob/master/opm/porsol/mimetic/IncompFlowSolverHybrid.hpp#L956 is there some known algorithm or procedure I can use as reference? Right now the construction of various data structures are very intertwined, which makes the logic unnecessary hard to follow and not very parallelisable etc. And a more specific question: https://github.com/OPM/opm-porsol/blob/master/opm/porsol/mimetic/IncompFlowSolverHybrid.hpp#L900 Why is this necessary? Why is it important to record which cell a particular face was observed from first? Isn't it also possible that this particular cell gets visited through the cellgrid? Sincerely, Jørgen
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Opm mailing list [email protected] http://www.opm-project.org/mailman/listinfo/opm
