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