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 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