anisotropy module

This file is part of PyFrac.

Created by Haseeb Zia on 03.04.17. Copyright (c) ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE, Switzerland, Geo-Energy Laboratory, 2016-2019. All rights reserved. See the LICENSE.TXT file for more details.

anisotropy.TI_plain_strain_modulus(alpha, Cij)[source]

This function computes the plain strain elasticity modulus in transverse isotropic medium. The modulus is a function of the orientation of the fracture front with respect to the bedding plane. This functions is used for the tip inversion and for evaluation of the fracture volume for the case of TI elasticity.

Parameters
  • alpha (ndarray-float) –

  • Cij (ndarray-float) –

Returns

E’ (ndarray-float) – plain strain TI elastic modulus.

anisotropy.construct_polygon(elt_tip, l_tip, alpha_tip, mesh, zero_vertex_tip)[source]

This function construct a polygon from the given non-continous front. The polygon is constructed by joining the intersection of the perpendiculars drawn on the front with the front lines. The points closest to each other are joined and the intersection of the grid lines with these lines are taken as the vertices of the polygon.

anisotropy.find_angle(elt_ribbon, elt_tip, zr_vrtx_tip, a_tip, b_tip, c_tip, x_lft, y_lft, x_rgt, y_rgt, neig_lft, neig_rgt, mesh)[source]

This function calculates the angle inscribed by the perpendiculars on the given polygon. The polygon is provided in the form of equations of edges of the polygon (with the form ax+by+c=0) and the left and right points of the front line in the given tip elements.

anisotropy.find_zero_vertex(Elts, level_set, mesh)[source]

This function finds the zero-vertex (the vertex opposite to the propagation direction) from where the perpendicular is drawn on the front.

Parameters
  • Elts (ndarray) –

  • level_set (ndarray) -- the level set data (distance from front of the elements of the grid) –

  • mesh (ndarray) –

Returns

zero_vertex (ndarray) – the zero vertex list

anisotropy.get_toughness_from_cellCenter(alpha, sgnd_dist=None, elts=None, mat_prop=None, mesh=None)[source]

This function returns the toughness given the angle inscribed from the cell centers on the front. both the cases of heterogenous or anisotropic toughness are taken care off.

anisotropy.get_toughness_from_zeroVertex(elts, mesh, mat_prop, alpha, l, zero_vrtx)[source]

This function returns the toughness given the angle inscribed from the zero-vertex on the front. both the cases of heterogenous or anisotropic toughness are taken care off.

anisotropy.projection_from_ribbon(ribbon_elts, channel_elts, mesh, sgnd_dist)[source]

This function finds the projection of the ribbon cell centers on to the fracture front. It is returned as the angle inscribed by the perpendiculars drawn on the front from the ribbon cell centers

Parameters
  • ribbon_elts (ndarray-int) –

  • mesh (CartesianMesh object) –

  • mat_prop (MaterialProperties object) –

  • sgnd_dist (ndarray-float) –

Returns

alpha (ndarray-float) – the angle inscribed by the perpendiculars drawn on the front from

the ribbon cell centers.

anisotropy.projection_from_ribbon_LS_gradient(ribbon_elts, tip_elts, mesh, sgnd_dist)[source]

This function finds the projection of the ribbon cell centers on to the fracture front from the gradient of the level set. It is returned as the angle inscribed by the perpendiculars drawn on the front from the ribbon cell centers.

Parameters
  • ribbon_elts (ndarray-int) –

  • mesh (CartesianMesh object) –

  • mat_prop (MaterialProperties object) –

  • sgnd_dist (ndarray-float) –

Returns

alpha (ndarray-float) – the angle inscribed by the perpendiculars drawn on the front from

the ribbon cell centers.