-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LGR Egrid #4354
LGR Egrid #4354
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need more time to take a proper look at your PR. I left a few small comments for now. Thanks for your work!
…ment of the save method for the LGR EclipseGrid - EclipseGrid object and children are initialized from .EGRID file generated on standard simulator
EGrid.hpp seems to contain a bug where get<float>(COORD) cannot catpure the global COORD in EGRIDs, EclipseGrid has been enhaced with functions to output .EGRIDS for LGR - unfinished work - devising a mechanism to define HOSTCE
80c98cb
to
197ab9a
Compare
@bska I believe I have solved the merged conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The init_children_host_cells()
function is a little to complicated for my liking and I'd prefer that it be split up into simpler components to make the logic a little easier to follow. Other than that, I have just minor comments here.
jenkins build this please |
jenkins build this please |
…at register it was mistakenly removed
jenkins build this please |
jenkins build this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The size of this PR means that it's not really possible to do a full review of the details and its algorithms. I expect that there will be follow-up work to simplify this code. That said, it's starting to look good. With the possible exceptions of a vector that's still passed by value, a couple of parameters that are unused and an unused local variable, this is starting to look ready for merging to me.
I will merge the local branch I am working right now that divides the huge function into smaller parts. I tried to achieve here a smaller PR. |
…tions used in EclipseGrid::init_children_host_cells
…tions used in EclipseGrid::init_children_host_cells
I believe I have solved the merging and rebasing conflicts and everything is ready to be merged. |
jenkins build this please |
prior to OpenMP 3.0, unsigned loop variables is unsupported.
…ment of the save method for the LGR EclipseGrid - EclipseGrid object and children are initialized from .EGRID file generated on standard simulator
EGrid.hpp seems to contain a bug where get<float>(COORD) cannot catpure the global COORD in EGRIDs, EclipseGrid has been enhaced with functions to output .EGRIDS for LGR - unfinished work - devising a mechanism to define HOSTCE
…tions used in EclipseGrid::init_children_host_cells
I have redone the rebase, properly, this time. |
jenkins build this please |
LGR Egrid
This is an ongoing effort to create the visualization routines for LGR. This PR specifically tackles the extension of the EGRID output files
LgrOutputTest
- new tests routines to ensure the EGRID files are consistent with the standard simulator counterpart. The process of retrieving the refinement will take place in opm-grid, therefore we have added routines and tests to this test that simulate obtaining the COORD and ZCORN from the OUTPUT of the standard simulator. OPM initializesEclipseGrid
object with this and output the EGRID. After that some fields on the file are tested.EclipseGrid
inialization for LGR consists:save_all_lgr_labels
create_lgr_cells_tree
initializeLGRObjectIndices
propagateParentIndicesToLGRChildren
initializeLGRTreeIndices
parseGlobalReferenceToChildren
EclipseGrid::init_children_host_cells
- maps which refined cells(LGR refined cell) belong to host cells (coarse mesh cells refined). The current approach for solving this uses an algorithm that checks if a point is contained inside a given polyhedron. This is done by using the test point to divide the polyhedron into multiply tetrahedron. If the volume of the sum of these tetrahedron is equal to the volume of the original volume, the point is internal to the polyhedron. Note: Boundary boxes are used to avoid to a precheck and avoid unnecessary computation. Although this implementation is not optimal, it is robust, for general unstructured grids. Next PR will contain a faster algorithm, and this implementation will become a fallback method.