GEOS
GEOS copied to clipboard
Import fault and fractures from mesh input files
Here is the first version of the work plan to eventually import fractures from input files instead of using SurfaceGenerator.
- [x] Move the
m_recalculateFractureConnectorEdges,m_edgesToFractureConnectorsEdges,m_fractureConnectorsEdgesToEdgesandm_fractureConnectorEdgesToFaceElementsfromEdgeManagertoFaceElementSubRegion. Done in PR https://github.com/GEOSX/GEOSX/pull/2011 - [x] Remove the computation of connections from
SurfaceElementRegionandCellElementRegionwhen computingCellElementStencilTPFAinTwoPointFluxApproximation.cpp. Done in PR https://github.com/GEOSX/GEOSX/pull/2012 In order to get the real type of theElementRegionBase, we can- Add some
ElementRegionBase::getType()member function, returning anenumtelling the actual derived type - Add some kind of filter when iterating over the regions directly in
ElementRegionBase. -
dynamic_cast? - Other?
- Add some
- [x] Extend the
CellBlockManagerABCandCellBlockABCcontract such that we have someFaceBlockABCthat matches our needs. Done in https://github.com/GEOSX/GEOSX/pull/2034- Let's be clear on the contract. Do we want
FaceBlockABCto be 2d or 3d? Homogeneous or heterogeneous? Do we want one uniqueFaceElementSubRegionperSurfaceElementRegion? - Let's make a first dummy implementation of
FaceBlockABCfor now.
- Let's be clear on the contract. Do we want
- [x] Remove hardcoded name
"faceElementSubRegion". Let's provide the name of theFaceElementSubRegiontoSurfaceGenerator. If the subsurface does not already exist, let the solver create it. Otherwise, extend the already existing subsurface. Done in https://github.com/GEOSX/GEOSX/pull/2036 - [x] Remove hardcoded name
"embeddedSurfaceSubRegion"too. Done in https://github.com/GEOSX/GEOSX/pull/2036 - [ ] Split
TwoPointFluxApproximation::addToFractureStencilinto the appropriate number of member functions such that they can be reused in the file import process (which should not have to remove, since we're not in a dynamic fracture creation.). Get inspired by theEmbeddedverion. - [ ] Trigger the creation of the stencil alongside the
computeCellStencil( mesh )inFluxApproximationBase::initializePostInitialConditionsPreSubGroups. - [ ] Implement
FaceBlockfor real.
It's still not clear which file format we want to be using. Let's start with something simple for GEOSX and test on real use cases what's the best approach.
@CusiniM