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

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Opm mailing list
[email protected]
http://www.opm-project.org/mailman/listinfo/opm

Reply via email to