Additionally, we need to provide access to the coupling manager in the matrix problem, so that the flux assembly engine of the matrix domain has access to the state inside the fracture (which the fluxes depend on):
...
...
@@ -189,7 +188,7 @@ int getElementDomainMarker(const Element& element) const
The domain markers are also already added to the output (see `exercise_fractures.cc`, lines 188-197). To visualize them, open any of your previously produced results with _Paraview_ and take a look at them by selecting __domainMarker__.
The domain markers are also already added to the output (see `exercise_fractures.cc`, lines 195-199). To visualize them, open any of your previously produced results with _Paraview_ and take a look at them by selecting __domainMarker__.
Adjust the functions for permeability, porosity and material law parameters in the `fracturespatialparams.hh` file such that they are selected depending on the domain marker of the elements. You will see in the results that the pressure jump across the first vertical fracture is now lower than before, because there are highly permeable fractures crossing it, allowing for a pressure release into the other parts of the domain.
...
...
@@ -201,8 +200,8 @@ We can now also set the interior boundary condition depending on the domain mark
// we need to obtain the domain marker of the fracture element that is coupled to this face
// therefore we first get the fracture problem from the coupling manager. For this test, we
// know that the fracture domain id is 1 (see main file)