Thank you for the information. I appreciate your help, Prof. Martin. On Wed, Nov 20, 2024 at 7:12 AM Martin Schneider < [email protected]> wrote:
> Dear Henry, > > I didn't say that you can't use discrete fractures, I just wanted to > clarify what is actually done in the exercise you mentioned. > I also don't know what kind of mathematical model you want to use. > A former PhD student worked on *fractured poroelastic media*, where he > has used a *discrete fracture model.* > You can find his thesis at http://dx.doi.org/10.18419/opus-11040 > > If you, however, want to use an embedded fracture model you can have a > look at > > https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/tree/master/test/multidomain/embedded/2d3d/1p_1p?ref_type=heads > > However, as far as I know, this has not yet been combined with > geomechanics. > But maybe someone on the mailing list knows better. > > Best, > Martin > > On 20.11.24 12:39, Henry Arhin wrote: > > Dear Prof. Martin, > > Thank you for the reply. Yes, it was the tutorial you provided the link to > which I was referring to. I understand that no geomechanics computation can > be done on discrete fractures, so that is the reason why I thought embedded > fractures would help me with my problem. By embedded fractures, I am > referring to fractures contained in a rock matrix, which will impact flow > and strain tensor distribution during an injection episode. Since you > mentioned that the fractures in the exercises cannot be used for my > problem, could you please provide any link to any of the problems and > exercises in DuMux which was solved with this approach? > > Thank you so much. > > Sincerely, > Henry. > > On Wed, Nov 20, 2024 at 2:52 AM Martin Schneider < > [email protected]> wrote: > >> Dear Henry Arhin, >> >> are you talking about the dumux-course exercise about discrete fractures: >> >> https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-course/-/tree/master/exercises/exercise-fractures?ref_type=heads >> >> Because this is not what I would call an >> *embedded fracture model. *In the model of the exercise you need to >> resolve the fractures as facets of your grid. So when changing from 2d to >> 3d you also need to generate a new mesh that takes into account the >> fractures. >> This is not simply done by changing from a 2d to a 3d grid. >> >> As an *embedded fracture model, *I understand a model that does not >> resolve the fractures explicitly. >> So what exactly do you mean when talking about "embedded fractures"? >> >> Best, >> Martin >> >> >> On 20.11.24 03:40, Henry Arhin wrote: >> >> Dear DuMuX community, >> >> I am trying to set up a poroelastic problem with embedded fractures using >> the poroelastic codes as my base codes. A little description of my problem; >> my lab has developed strainmeters which have deployed in a field with >> series of natural and artificial fractures. The main case we want to make >> is that the strainmeters can detect heterogeneities in the field which are >> more pronounced during an injection and production episode in the field by >> looking at the strain tensor distribution. I want my initial model to >> introduce known permeabilities in the field and detect how the strain >> tensor behaves in those regions during injection. >> >> I want to start with a sound and simple model which I can build on >> consistently and I am seeking your advice and guidance on this problem. In >> the meantime, I have been thinking of using the embedded fractures that >> were used for the discrete fractures exercise to represent my problem >> domain. I am supposed to only change the grid type under properties from >> these codes and that will be it? If yes, how do I call the >> embedded fracture grid to replace this one? >> >> namespace Dumux::Properties { >> >> >> >> // Create new type tag >> >> namespace TTag { >> >> struct TestPoroElastic { using InheritsFrom = std::tuple<PoroElastic, >> BoxModel>; }; >> >> } // end namespace TTag >> >> >> >> // Set the grid type >> >> template<class TypeTag> >> >> struct Grid<TypeTag, TTag::TestPoroElastic> { using type = >> Dune::YaspGrid<2>; }; >> >> >> >> // Set the problem property >> >> template<class TypeTag> >> >> struct Problem<TypeTag, TTag::TestPoroElastic> { using type = >> Dumux::PoroElasticProblem<TypeTag>; }; >> >> >> >> // The fluid phase consists of one constant component >> >> template<class TypeTag> >> >> struct FluidSystem<TypeTag, TTag::TestPoroElastic> >> >> { >> >> using type = Dumux::FluidSystems::OnePLiquid< GetPropType<TypeTag, >> Properties::Scalar>, >> >> >> Dumux::Components::Constant<0, GetPropType<TypeTag, Properties::Scalar>> >; >> >> }; >> >> >> >> // The spatial parameters property >> >> template<class TypeTag> >> >> struct SpatialParams<TypeTag, TTag::TestPoroElastic> >> >> { >> >> using FS = GetPropType<TypeTag, Properties::FluidSystem>; >> >> using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; >> >> using Indices = typename GetPropType<TypeTag, >> Properties::ModelTraits>::Indices; >> >> using type = PoroElasticSpatialParams< GetPropType<TypeTag, >> Properties::Scalar>, >> >> GetPropType<TypeTag, >> Properties::GridGeometry>, >> >> FS, PV, Indices>; >> >> }; >> >> >> >> } // end namespace Dumux::Properties >> >> >> >> #endif >> >> >> I apologize for the long email; I am new to DuMuX and figuring out how to >> use it to solve my problems. >> >> Thank you so much for your help and advice. >> >> Sincererely, >> Henry Arhin. >> >> >> >> _______________________________________________ >> DuMux mailing >> [email protected]https://listserv.uni-stuttgart.de/mailman/listinfo/dumux >> >> >> >
_______________________________________________ DuMux mailing list [email protected] https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
