Recommended approach for temperature modeling in fracture propagation with 2D DFN elements embedded in 3D rock #32215
Replies: 5 comments 9 replies
-
Beta Was this translation helpful? Give feedback.
-
|
Figure 2 results are unconverged right? |
Beta Was this translation helpful? Give feedback.
-
|
This is doable. We do it on a regular basis for geothermal programs. I don’t have the time to provide detail I’ve about approach right now. The crux of the thing is you’re sharing nodes between the fracture and the matrix so essentially have one temperature variable, and the fracture and matrix have to be in thermal equilibrium. This can cause some retardation and heat transport in the fracture because too much heat is lost to the matrix. If you want a separate temperature variable, you need to mesh the inside of each fracture as a 3-D volume not a 2-D plane and then come up with a transfer coefficient between the two. This is a non-trivial process. Another approach is a solve something like a lubrication equation inside the fracture we’ve done that too with limited success. |
Beta Was this translation helpful? Give feedback.
-
|
Are you doing this coupling in MOOSE using the multiapp system? Or do you manually run each simulation separately with postprocessing steps to create the discrete fractures from the DEM simulation. If it is the latter, maybe you can put in some graph algorithms to make sure your fractures are fully connected to one another and the well. But you'll still get the retarded heat transfer Rob mentions. I think the method outlined in this paper (https://inldigitallibrary.inl.gov/sites/sti/sti/Sort_88359.pdf) is how you would need to model this to the resolution you are wanting. I think this is the lubrication method Rob is referring to. Its a hard simulation to run. It looks like a high density of fractures, would it make more sense to homogenize them when you transfer them to the porous flow simulation. The porousflow simulation would no longer use discrete 2D fractures, instead the fractures would be represented by changing the permeability of a volume element. This should be a lower bound on what you are really trying to do. |
Beta Was this translation helpful? Give feedback.
-
|
Thank you all for the valuable comments and suggestions. With this formulation, heat transfer into the rock matrix can be expressed through the temperature difference between the rock and the injected cold water, while the inflow of cold water into the fracture can be represented via boundary conditions. In this setup, assigning fracture-like material properties to a subset of blocks representing the water domain did not cause convergence issues. I understand the modeling approaches suggested above. At this stage, I cannot yet assess their suitability for my case, but I will keep them in mind as references when further developing |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
-
I would like to ask a question. I have been working on fracture propagation analysis using 2D DFN elements embedded in a 3D rock matrix, following the procedure described below, but I have reached a dead end and am unsure how temperature boundaries and mesh handling should be treated.
My goal is to perform fracture propagation analysis associated with hydraulic fracturing around a wellbore. For this purpose, I am solving heat transfer (HT) using MOOSE and coupling it with an FDEM-based mechanical analysis. However, I am struggling with how to handle temperature analysis in the fracture region. My current workflow is to solve HT in MOOSE for one second, then perform the mechanical calculation with FDEM, identify regions where fractures occur, treat those regions as blocks consisting of lower-dimensional elements (TRI3 embedded in TET4), and then repeat the MOOSE calculation.
First, I tried using a single temperature variable and assigning material properties multiplied by the fracture aperture only in the fracture region. However, as fractures propagate, the solution no longer converges. In addition, heat transfer from fractures to the matrix can only be represented by adjusting the magnitude of thermal diffusion, rather than by an explicit heat exchange term.
I then switched to using two temperature variables. However, in the PorousFlow module, especially under MPI parallelization, it is not possible to assign a temperature variable Tf only to the fracture region, and the variable must instead be defined over the entire domain. Even when a NullKernel is applied on the matrix side, nonphysical temperature increases appear in both the fracture and matrix regions. A similar issue occurs when solving a variable only on DFN elements embedded in the matrix, where the nonphysical behavior appears in regions where the NullKernel is applied, although I have not been able to fully determine the cause.
What I want to represent is a situation in which water flows at low temperature inside fractures that are directly connected to a well, and the temperature rises quickly due to heat exchange. I tried limiting the temperature range using Bounds, but the boundary conditions could not be set properly. When using PorousFlowEnthalpySink, temperature changes occur in an unnatural way in regions without fractures. On the other hand, even when fixing the temperature using Dirichlet boundary conditions, I was not able to observe the temperature of the water being advected through the fracture when heat exchange and diffusion were turned off and only advection was considered.
On the other hand, with an approach in which only the fracture mesh is extracted and handled using a multi-app setup, the fractures appear as discrete meshes, which is likely to cause convergence problems. In some cases, the fracture consists of only a single TRI3 element. Fractures do not necessarily originate from the well location, so boundary conditions cannot be applied at the well. Even when using point injection, problems arise in that it is unclear which point should be selected and how much should be injected at that point, and such settings cannot be properly specified.
Given these issues, I would like to ask if there is any approach that could represent cold fluid flowing inside fractures.
Beta Was this translation helpful? Give feedback.
All reactions