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_fractureConnectorsEdgesToEdges
andm_fractureConnectorEdgesToFaceElements
fromEdgeManager
toFaceElementSubRegion
. Done in PR https://github.com/GEOSX/GEOSX/pull/2011 - [x] Remove the computation of connections from
SurfaceElementRegion
andCellElementRegion
when computingCellElementStencilTPFA
inTwoPointFluxApproximation.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 anenum
telling 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
CellBlockManagerABC
andCellBlockABC
contract such that we have someFaceBlockABC
that matches our needs. Done in https://github.com/GEOSX/GEOSX/pull/2034- Let's be clear on the contract. Do we want
FaceBlockABC
to be 2d or 3d? Homogeneous or heterogeneous? Do we want one uniqueFaceElementSubRegion
perSurfaceElementRegion
? - Let's make a first dummy implementation of
FaceBlockABC
for now.
- Let's be clear on the contract. Do we want
- [x] Remove hardcoded name
"faceElementSubRegion"
. Let's provide the name of theFaceElementSubRegion
toSurfaceGenerator
. 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::addToFractureStencil
into 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 theEmbedded
verion. - [ ] Trigger the creation of the stencil alongside the
computeCellStencil( mesh )
inFluxApproximationBase::initializePostInitialConditionsPreSubGroups
. - [ ] Implement
FaceBlock
for 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