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 list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
_______________________________________________
DuMux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to