fracture_initialization module¶
This file is part of PyFrac.
Created by Haseeb Zia on Wed Aug 09 16:22:33 2016. Copyright (c) ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE, Switzerland, Geo-Energy Laboratory, 2016-2020. All rights reserved. See the LICENSE.TXT file for more details.
-
fracture_initialization.
Distance_ellipse
(a, b, x0, y0)[source]¶ This function calculates the smallest distance of a point from the given ellipse.
- Parameters
- Returns
– the shortest distance of the point from the ellipse.
- Return type
D (float)
-
fracture_initialization.
Distance_square
(lx, ly, x, y)[source]¶ The shortest distance of a point from a square
-
class
fracture_initialization.
Geometry
(shape=None, radius=None, fracture_length=None, fracture_height=None, minor_axis=None, gamma=None, survey_cells=None, tip_distances=None, inner_cells=None, center=None)[source]¶ Bases:
object
This class defines the geometry of the fracture to be initialized.
- Parameters
shape (string) –
– string giving the geometrical shape of the fracture. Possible options are:
’radial’
’height contained’
’elliptical’
’level set’
radius (float) – – the radius of the radial fracture.
fracture_length (float) – – the half length of the fracture.
fracture_height (float) – – the height of the height contained fracture.
minor_axis (float) – – length of minor axis for elliptical fracture shape.
gamma (float) – – ratio of the length of the major axis to the minor axis. It should be more than one.
survey_cells (ndarray) – – the cells from which the distances to the fracture tip are provided.
tip_distances (ndarray) – – the minimum distances of the corresponding cells provided in the survey_cells to the tip of the fracture.
inner_cells (ndarray) – – the cells enclosed by the cells given in the survey_cells (inclusive). In other words, the cells inside the fracture.
center (ndarray) – – location of the center of the geometry.
-
class
fracture_initialization.
InitializationParameters
(geometry=None, regime='M', time=None, width=None, net_pressure=None, fracture_volume=None, tip_velocity=None, elasticity_matrix=None)[source]¶ Bases:
object
This class store the initialization parameters.
- Parameters
geometry (Geometry) – – Geometry class object describing the geometry of the fracture.
regime (str) –
– the propagation regime of the fracture. Possible options are the following:
’M’ – radial fracture in viscosity dominated regime.
’Mt’ – radial fracture in viscosity dominated regime with leak-off.
’K’ – radial fracture in toughness dominated regime.
’Kt’ – radial fracture in toughness dominated regime with leak-off.
’PKN’ – PKN fracture.
’E_K’ – elliptical fracture propagating in toughness dominated regime. The solution is equivalent to a particular anisotropic toughness case described in Zia and Lecampion, 2018.
’E_E’ – the elliptical solution with transverse isotropic material properties (see Moukhtari and Lecampion, 2019).
’MDR’ – viscosity dominated solution for turbulent flow. The friction factor is calculated using MDR asymptote (see Zia and Lecampion 2019).
time (float) – – the time since the start of injection.
width (ndarray) – – the initial width of the fracture. The size should be equal to the number of elements in the mesh.
net_pressure (float/ndarray) – – the initial net pressure of the fracture. It can be either uniform for the static fracture or an ndarray.
fracture_volume (float) – – total initial volume of the fracture.
tip_velocity (float/ndarray) – – the velocity of the tip. It can be a float for radial fractures propagating with steady velocity or an ndarray equal to the size of tip elements list giving velocity of the corresponding tip elements.
elasticity_matrix (ndarray) – – the BEM elasticity matrix. See Zia & Lecampion 2019.
-
fracture_initialization.
generate_footprint
(mesh, surv_cells, inner_region, dist_surv_cells, projMethod)[source]¶ This function takes the survey cells and their distances from the front and generate the footprint of a fracture using the fast marching method.
- Parameters
mesh (CartesianMesh) – – a CartesianMesh class object describing the grid.
surv_cells (ndarray) – – list of survey cells from which the distances from front are provided
inner_region (ndarray) – – list of cells enclosed by the survey cells
dist_surv_cells (ndarray) – – distances of the provided survey cells from the front
- Returns
EltChannel (ndarray-int) – list of cells in the channel region.
EltTip (ndarray-int) – list of cells in the Tip region.
EltCrack (ndarray-int) – list of cells in the crack region.
EltRibbon (ndarray-int) – list of cells in the Ribbon region.
ZeroVertex (ndarray-float) – Vertex from which the perpendicular is drawn on the front in a cell(can have value from 0 to 3, where 0 signify bottom left, 1 signifying bottom right, 2 signifying top right and 3 signifying top left vertex).
CellStatus (ndarray-int) – specifies which region each element currently belongs to (0 for Crack, 1 for channel, 2 for tip and 3 for ribbon).
l (ndarray-float) – length of perpendicular on the fracture front (see Pierce 2015, Computation Methods Appl. Mech).
alpha (ndarray-float) – angle prescribed by perpendicular on the fracture front (see Pierce 2015, Computation Methods Appl. Mech)
FillF (ndarray-float) – filling fraction of each tip cell.
sgndDist (ndarray-float) – signed minimun distance from fracture front of each cell in the domain.
-
fracture_initialization.
get_eliptical_survey_cells
(mesh, a, b, center=None)[source]¶ This function would provide the ribbon of cells on the inside of the perimeter of an ellipse with the given lengths of the major and minor axes. A list of all the cells inside the fracture is also provided.
- Parameters
- Returns
surv_cells (ndarray) – the list of cells on the inside of the perimeter of the given ellipse.
surv_dist (ndarray) – the list of corresponding distances of the surv_cells to the fracture tip.
inner_cells (ndarray) – the list of cells inside the given ellipse.
-
fracture_initialization.
get_radial_survey_cells
(mesh, r, center=None)[source]¶ This function would provide the ribbon of cells and their distances to the front on the inside of the perimeter of a circle with the given radius. A list of all the cells inside the fracture is also provided.
- Parameters
- Returns
surv_cells (ndarray) – the list of cells on the inside of the perimeter of the given circle.
surv_dist (ndarray) – the list of corresponding distances of the surv_cells to the fracture tip.
inner_cells (ndarray) – the list of cells inside the given circle.
-
fracture_initialization.
get_rectangular_survey_cells
(mesh, length, height, center=None)[source]¶ This function would provide the ribbon of cells on the inside of the perimeter of a rectangle with the given lengths and height. A list of all the cells inside the fracture is also provided.
- Parameters
- Returns
surv_cells (ndarray) – the list of cells on the inside of the perimeter of the given rectangle.
surv_dist (ndarray) – the list of corresponding distances of the surv_cells to the fracture tip.
inner_cells (ndarray) – the list of cells inside the given ellipse.
-
fracture_initialization.
get_survey_points
(geometry, mesh, source_coord=None)[source]¶ This function provided the survey cells, corresponding distances to the front and the enclosed cells for the given geometry.
-
fracture_initialization.
get_width_pressure
(mesh, EltCrack, EltTip, FillFrac, C, w=None, p=None, volume=None, symmetric=False, useBlockToeplizCompression=False, Eprime=None)[source]¶ This function calculates the width and pressure depending on the provided data. If only volume is provided, the width is calculated as a static fracture with the given footprint. Else, the pressure or width are calculated according to the given elasticity matrix.
- Parameters
mesh (CartesianMesh) – – a CartesianMesh class object describing the grid.
EltCrack (ndarray) – – list of cells in the crack region.
EltTip (ndarray) – – list of cells in the Tip region.
FillFrac (ndarray) – – filling fraction of each tip cell. Used for correction.
C (ndarray) – – The elasticity matrix.
w (ndarray) – – the provided width for each cell, can be None if not available.
p (ndarray) – – the provided pressure for each cell, can be None if not available.
volume (ndarray) – – the volume of the fracture, can be None if not available.
symmetric (bool) – – if True, the fracture will be considered strictly symmetric and only one quadrant will be simulated.
Eprime (float) – – the plain strain elastic modulus.
- Returns
w_calculated (ndarray) – the calculated width.
p_calculated (ndarray) – the calculated pressure.