HPC#
This module contains the High Performance Computing (HPC) functions. The module uses Numba to create a compiled version of the solve and plotter. The code is separated into different files, each containing a different set of functions.
The compiled function utilizes parallel processing to speed up the computation.
These functions are not to be called from the user directly, but are used by the other functions in the package.
Solver functions#
Notes
This module contains the HPC solve functions.
- andfn.hpc.hpc_solve.build_head_matrix(fractures_struc_array, element_struc_array, discharge_elements, discharge_int, head_matrix, z_int)[source]#
Builds the head matrix for the DFN and stores it.
- Parameters:
fractures_struc_array (np.ndarray[fracture_dtype]) – Array of fractures
element_struc_array (np.ndarray[element_dtype]) – Array of elements
discharge_elements (np.ndarray[element_dtype]) – The discharge elements
discharge_int (int) – The number of integration points
head_matrix (np.ndarray[dtype_head_matrix]) – The head matrix
z_int (np.ndarray[dtype_z_arrays]) – The z arrays for the discharge elements
- Returns:
matrix – The head matrix
- Return type:
np.ndarray
- andfn.hpc.hpc_solve.element_solver(num_elements, element_struc_array, fracture_struc_array, work_array, max_error, nit, cnt_error)[source]#
- andfn.hpc.hpc_solve.element_solver2(num_elements, element_struc_array, fracture_struc_array, work_array, max_error, nit, cnt_error, max_coef_ratio, max_coef, coef_increase)[source]#
Solves the elements and updates the coefficients in the work array. :param num_elements: The number of elements :type num_elements: int :param element_struc_array: Array of elements :type element_struc_array: np.ndarray[element_dtype] :param fracture_struc_array: Array of fractures :type fracture_struc_array: np.ndarray[fracture_dtype] :param work_array: The work array :type work_array: np.ndarray[dtype_work] :param max_error: The maximum error :type max_error: float :param nit: The number of iterations :type nit: int :param cnt_error: The number of errors :type cnt_error: int :param max_coef_ratio: The coefficient ratio :type max_coef_ratio: float :param max_coef: The maximum number of coefficients :type max_coef: int :param coef_increase: The coefficient increase :type coef_increase: int
- Returns:
cnt – The number of elements that were solved
- Return type:
int
- andfn.hpc.hpc_solve.get_bnd_error(num_elements, fracture_struc_array, element_struc_array, work_array, discharge_int, bnd_error, z_int, nit, max_error, constants)[source]#
Builds the head matrix for the DFN and stores it.
- Parameters:
num_elements (int) – The number of elements
fracture_struc_array (np.ndarray[fracture_dtype]) – Array of fractures
element_struc_array (np.ndarray[element_dtype]) – Array of elements
work_array (np.ndarray[dtype_work]) – The work array
discharge_int (int) – The number of integration points
bnd_error (np.ndarray[dtype_head_matrix]) – The error matrix for the boundary conditions
z_int (np.ndarray[dtype_z_arrays]) – The z arrays for the discharge elements
nit (int) – The number of iterations
max_error (float) – The maximum error
constants (np.ndarray[constants_dtype]) – The constants for the solver and dfn.
- Returns:
matrix – The head matrix
- Return type:
np.ndarray
- andfn.hpc.hpc_solve.get_discharge_elements(element_struc_array)[source]#
Get the discharge elements from the element array.
- Parameters:
element_struc_array (np.ndarray[element_dtype]) – The array of elements
- Returns:
discharge_elements – The array of discharge elements
- Return type:
np.ndarray[element_dtype]
- andfn.hpc.hpc_solve.get_error(element_struc_array)[source]#
Get the maximum error from the elements and the element that it is associated with.
- Parameters:
element_struc_array (np.ndarray[element_dtype]) – The array of elements
- Returns:
error (float) – The maximum error
id_ (int) – The id of the element with the maximum error
- andfn.hpc.hpc_solve.get_max_min_phi(element_struc_array, fracture_struc_array, ids, frac_id, z_int, discharge_int)[source]#
Get the maximum and minimum phi values from the elements.
- Parameters:
element_struc_array (np.ndarray[element_dtype]) – The array of elements
fracture_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
ids (np.ndarray) – The ids of the elements to check
frac_id (int) – The id of the fracture to check
z_int (np.ndarray[dtype_z_arrays]) – The z arrays for the discharge elements
discharge_int (int) – The number of integration points
- Returns:
max_phi (float) – The maximum phi value
min_phi (float) – The minimum phi value
- andfn.hpc.hpc_solve.post_matrix_solve(fractures_struc_array, element_struc_array, discharge_elements, discharges)[source]#
Solves the discharge matrix for the DFN and stores the discharges and constants in the elements and fractures.
- Parameters:
fractures_struc_array (np.ndarray[fracture_dtype]) – Array of fractures
element_struc_array (np.ndarray[element_dtype]) – Array of elements
discharge_elements (np.ndarray[element_dtype]) – The discharge elements
discharges (np.ndarray) – The discharges
- Returns:
fractures_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
element_struc_array (np.ndarray[element_dtype]) – The array of elements
- andfn.hpc.hpc_solve.pre_matrix_solve(fractures_struc_array, element_struc_array, discharge_elements, discharge_int, head_matrix, z_int)[source]#
Solves the discharge matrix for the DFN and stores the discharges and constants in the elements and fractures.
- Parameters:
fractures_struc_array (np.ndarray[fracture_dtype]) – Array of fractures
element_struc_array (np.ndarray[element_dtype]) – Array of elements
discharge_elements (np.ndarray[element_dtype]) – The discharge elements
discharge_int (int) – The number of integration points
head_matrix (np.ndarray[dtype_head_matrix]) – The head matrix
z_int (np.ndarray[dtype_z_arrays]) – The z arrays for the discharge elements
- Returns:
fractures_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
element_struc_array (np.ndarray[element_dtype]) – The array of elements
- andfn.hpc.hpc_solve.set_new_ncoef(self_, n, nint_mult=2)[source]#
Increase the number of coefficients in the asymptotic expansion.
- Parameters:
self (np.ndarray[element_dtype]) – The element to increase the number of coefficients.
n (int) – The new number of coefficients.
nint_mult (int) – The multiplier for the number of integration points.
- andfn.hpc.hpc_solve.solve(fracture_struc_array, element_struc_array, discharge_matrix, discharge_int, constants)[source]#
Solves the DFN.
- Parameters:
fracture_struc_array (np.ndarray[fracture_dtype]) – Array of fractures
element_struc_array (np.ndarray[element_dtype]) – Array of elements
discharge_matrix (np.ndarray) – The discharge matrix
discharge_int (int) – The number of integration points
constants (np.ndarray[constants_dtype]) – The constants for the solver and dfn.
- Returns:
element_struc_array – The array of elements
- Return type:
np.ndarray[element_dtype]
- andfn.hpc.hpc_solve.solve_discharge_matrix(fractures_struc_array, element_struc_array, discharge_elements, discharge_int, head_matrix, discharges, z_int, lu_matrix)[source]#
Solves the discharge matrix for the DFN and stores the discharges and constants in the elements and fractures.
- Parameters:
fractures_struc_array (np.ndarray[fracture_dtype]) – Array of fractures
element_struc_array (np.ndarray[element_dtype]) – Array of elements
discharge_elements (np.ndarray[element_dtype]) – The discharge elements
discharge_int (int) – The number of integration points
head_matrix (np.ndarray[dtype_head_matrix]) – The head matrix
discharges (np.ndarray) – The discharges to be solved
z_int (np.ndarray[dtype_z_arrays]) – The z arrays for the discharge elements
lu_matrix (scipy.sparse.linalg.splu) – The LU factorization of the discharge matrix
- Returns:
fractures_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
element_struc_array (np.ndarray[element_dtype]) – The array of elements
Fracture functions#
Notes
This module contains the HPC fracture functions.
- andfn.hpc.hpc_fracture.calc_flow_net(self_, n_points, margin, element_struc_array)[source]#
Calculates the flow net for the fracture.
- Parameters:
self (np.ndarray[fracture_dtype]) – The fracture element.
n_points (int) – Number of points in the flow net.
margin (float) – Margin for the flow net.
element_struc_array (np.ndarray[element_dtype]) – Array of elements.
- Returns:
flow_net – The flow net for the fracture.
- Return type:
np.ndarray[complex]
- andfn.hpc.hpc_fracture.calc_heads(self_, n_points, margin, element_struc_array)[source]#
Calculates the head net for the fracture.
- Parameters:
self (np.ndarray[fracture_dtype]) – The fracture element.
n_points (int) – Number of points in the flow net.
margin (float) – Margin for the flow net.
element_struc_array (np.ndarray[element_dtype]) – Array of elements.
- Returns:
heads – The head net for the fracture.
- Return type:
np.ndarray[complex]
- andfn.hpc.hpc_fracture.calc_omega(self_, z, element_struc_array, exclude=-1)[source]#
Calculates the omega for the fracture excluding element “exclude”.
- Parameters:
self (np.ndarray[fracture_dtype]) – The fracture element.
z (complex) – A point in the complex z plane.
element_struc_array (np.ndarray[element_dtype]) – Array of elements.
exclude (int) – Label of element to exclude from the omega calculation.
- Returns:
omega – The complex potential for the fracture.
- Return type:
complex
- andfn.hpc.hpc_fracture.calc_w(self_, z, element_struc_array, exclude=-1)[source]#
Calculates the omega for the fracture excluding element “exclude”.
- Parameters:
self (np.ndarray[fracture_dtype]) – The fracture element.
z (complex) – A point in the complex z plane.
element_struc_array (np.ndarray[element_dtype]) – Array of elements.
exclude (int) – Label of element to exclude from the omega calculation.
- Returns:
w – The complex potential for the fracture.
- Return type:
complex
- andfn.hpc.hpc_fracture.get_flow_nets(fracture_struc_array, n_points, margin, element_struc_array)[source]#
Get the flow nets for all fractures.
- Parameters:
fracture_struc_array (np.ndarray[fracture_dtype]) – The fracture structure array.
n_points (int) – Number of points in the flow net.
margin (float) – Margin for the flow net.
element_struc_array (np.ndarray[element_dtype]) – Array of elements.
- Returns:
flow_nets – List of flow nets for each fracture.
- Return type:
list[np.ndarray[complex]]
- andfn.hpc.hpc_fracture.get_heads(fracture_struc_array, n_points, margin, element_struc_array)[source]#
Get the heads for all fractures.
- Parameters:
fracture_struc_array (np.ndarray[fracture_dtype]) – The fracture structure array.
n_points (int) – Number of points in the flow net.
margin (float) – Margin for the flow net.
element_struc_array (np.ndarray[element_dtype]) – Array of elements.
- Returns:
heads – List of heads for each fracture.
- Return type:
list[np.ndarray[complex]]
- andfn.hpc.hpc_fracture.head_from_phi(self_, phi)[source]#
Calculates the head net for the fracture.
- Parameters:
self (np.ndarray[fracture_dtype]) – The fracture element.
phi (float) – The discharge potential for the fracture.
- Returns:
head – The head net for the fracture.
- Return type:
np.ndarray[complex]
Bounding circle functions#
- andfn.hpc.hpc_bounding_circle.calc_omega(self_, z)[source]#
Calculates the omega for the bounding circle.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
z (complex) – A point in the complex z plane.
- Returns:
omega – The complex potential for the bounding circle.
- Return type:
complex
- andfn.hpc.hpc_bounding_circle.calc_w(self_, z)[source]#
Calculates the omega for the bounding circle.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
z (complex) – A point in the complex z plane.
- Returns:
omega – The complex potential for the bounding circle.
- Return type:
complex
- andfn.hpc.hpc_bounding_circle.check_boundary_condition(self_, fracture_struc_array, element_struc_array, n=10)[source]#
Check if the bounding circle satisfies the boundary conditions.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
fracture_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
element_struc_array (np.ndarray[element_dtype]) – The array of elements
n (int) – The number of points to check the boundary condition
- Returns:
error – The error in the boundary condition
- Return type:
np.float64
- andfn.hpc.hpc_bounding_circle.get_chi(self_, z)[source]#
Maps the complex z plane to the complex chi plane for the bounding circle.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
z (complex)
- Returns:
chi – The mapped point in the chi plane.
- Return type:
complex
- andfn.hpc.hpc_bounding_circle.solve(self_, fracture_struc_array, element_struc_array, work_array)[source]#
Solves the bounding circle element.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
fracture_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
element_struc_array (np.ndarray[element_dtype]) – The array of elements
work_array (np.ndarray[dtype_work]) – The work array
- Return type:
Edits the self_ array and works_array in place.
- andfn.hpc.hpc_bounding_circle.z_array(self_, n)[source]#
Returns an array of points in the complex z plane.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
n (int) – The number of points to return.
- Returns:
z – The array of points in the complex z plane.
- Return type:
np.ndarray[complex]
Constant head line functions#
Notes
This module contains the HPC Constant head functions.
- andfn.hpc.hpc_const_head_line.calc_omega(self_, z)[source]#
Function that calculates the omega function for a given point z and fracture.
- Parameters:
self (np.ndarray[element_dtype]) – The intersection element
z (complex) – An array of points in the complex z-plane
- Returns:
omega – The resulting value for the omega function
- Return type:
complex
- andfn.hpc.hpc_const_head_line.calc_w(self_, z)[source]#
Calculate the complex discharge vector for the constant head line.
- Parameters:
self (np.ndarray[element_dtype]) – The constant head line element
z (np.ndarray) – The points to calculate the complex discharge vector at
- Returns:
The complex discharge vector
- Return type:
np.ndarray
- andfn.hpc.hpc_const_head_line.solve(self_, fracture_struc_array, element_struc_array, work_array)[source]#
Solves the constant head line element.
- Parameters:
self (np.ndarray element_dtype) – The constant head line element.
fracture_struc_array (np.ndarray) – The array of fractures.
element_struc_array (np.ndarray[element_dtype]) – The array of elements.
work_array (np.ndarray[work_dtype]) – The work array.
- Return type:
Edits the self_ array and works_array in place.
- andfn.hpc.hpc_const_head_line.z_array(self_, n)[source]#
Returns an array of n points along the constant head line.
- Parameters:
self (np.ndarray[element_dtype]) – The constant head line element
n (int) – The number of points to return.
- Returns:
z – An array of n points on the well.
- Return type:
np.ndarray[complex]
Intersection functions#
Notes
This module contains the HPC Intersection functions.
- andfn.hpc.hpc_intersection.calc_omega(self_, z, frac_is_id)[source]#
Function that calculates the omega function for a given point z and fracture.
- Parameters:
self (np.ndarray[element_dtype]) – The intersection element
z (complex) – An array of points in the complex z-plane
frac_is_id (np.int64) – The fracture that the point is in
- Returns:
omega – The resulting value for the omega function
- Return type:
complex
- andfn.hpc.hpc_intersection.calc_w(self_, z, frac_is_id)[source]#
Calculate the complex discharge vector for the intersection.
- Parameters:
self (np.ndarray[element_dtype]) – The intersection element
z (complex) – An array of points in the complex z-plane
frac_is_id (np.int64) – The fracture that the point is in
- Returns:
w – The complex discharge vector
- Return type:
np.ndarray
- andfn.hpc.hpc_intersection.solve(self_, fracture_struc_array, element_struc_array, work_array)[source]#
Solves the intersection element.
- Parameters:
self (np.ndarray element_dtype) – The intersection element.
fracture_struc_array (np.ndarray) – The array of fractures.
element_struc_array (np.ndarray[element_dtype]) – The array of elements.
work_array (np.ndarray[work_dtype]) – The work array.
- Return type:
Edits the self_ array and works_array in place.
Well functions#
Notes
This module contains the HPC well functions.
- andfn.hpc.hpc_well.calc_omega(self_, z)[source]#
Calculates the omega for the well. If z is inside the well, the omega is set to nan + nan*1j.
- Parameters:
self (np.ndarray[element_dtype]) – The well element.
z (complex) – A point in the complex z plane.
- Returns:
omega – The complex potential for the well.
- Return type:
complex
- andfn.hpc.hpc_well.calc_w(self_, z)[source]#
Calculates the omega for the well. If z is inside the well, the omega is set to nan + nan*1j.
- Parameters:
self (np.ndarray[element_dtype]) – The well element.
z (complex) – A point in the complex z plane.
- Returns:
omega – The complex potential for the well.
- Return type:
complex
Mathematical functions#
Notes
This module contains some general mathematical functions.
- andfn.hpc.hpc_math_functions.asym_expansion(chi, coef)[source]#
Function that calculates the asymptotic expansion starting from 0 for a given point chi and an array of coefficients.
- Parameters:
chi (complex) – A point in the complex chi-plane
coef (np.ndarray[np.complex128]) – An array of coefficients
- Returns:
res – The resulting value for the asymptotic expansion
- Return type:
complex
- andfn.hpc.hpc_math_functions.asym_expansion_d1(chi, coef)[source]#
Function that calculates the asymptotic expansion starting from 0 for a given point chi and an array of coefficients.
- Parameters:
chi (complex) – A point in the complex chi-plane
coef (np.ndarray) – An array of coefficients
- Returns:
res – The resulting value for the asymptotic expansion
- Return type:
complex
- andfn.hpc.hpc_math_functions.calc_error(coef, coef_ref)[source]#
Function that calculates the error between two sets of coefficients.
- Parameters:
coef (np.ndarray) – The coefficients to compare
coef_ref (np.ndarray) – The reference coefficients
- Returns:
error – The error
- Return type:
float
- andfn.hpc.hpc_math_functions.calc_thetas(n, type_, thetas)[source]#
Function that calculates the thetas for the unit circle.
- Parameters:
n (int) – The number of thetas to calculate
type (int) – The element type. 0 for bounding circle, 1 for constant head line, 3 for intersection.
thetas (np.ndarray) – The array to fill with the thetas
- Returns:
Fills the thetas array with the values of thetas
- Return type:
None
- andfn.hpc.hpc_math_functions.cauchy_integral_domega(n, m, dpsi_corr, frac0, element_id_, element_struc_array, radius, center, work_array, coef)[source]#
FUnction that calculates the Cauchy integral with the stream function for a given array of thetas.
- Parameters:
n (np.int64) – Number of integration points
m (np.int64) – Number of coefficients
dpsi_corr (np.ndarray[np.complex128]) – Correction for the stream function
frac0 (np.ndarray[fracture_dtype]) – The fracture
element_id (np.int64) – The element id
element_struc_array (np.ndarray[element_dtype]) – Array of elements
radius (np.float64) – The radius of the bounding circle
center (np.complex128) – The center of the bounding circle
work_array (np.ndarray[work_array_dtype]) – The work array
coef (np.ndarray[np.complex128]) – The coefficients that will be filled
- Returns:
coef – Array of coefficients
- Return type:
np.ndarray[np.complex128]
- andfn.hpc.hpc_math_functions.cauchy_integral_domega_line(n, m, dpsi_corr, frac0, element_id_, element_struc_array, endpoints0, work_array, coef)[source]#
FUnction that calculates the Cauchy integral with the stream function for a given array of thetas.
- Parameters:
n (int) – Number of integration points
m (int) – Number of coefficients
dpsi_corr (np.ndarray[np.complex128]) – Correction for the stream function
frac0 (np.ndarray) – The fracture
element_id (int) – The element id
element_struc_array (np.ndarray[element_dtype]) – Array of elements
endpoints0 (np.ndarray[np.complex128]) – The endpoints of the line
work_array (np.ndarray[work_array_dtype]) – The work array
coef (np.ndarray[np.complex128]) – The coefficients that will be filled
- Returns:
coef – Array of coefficients
- Return type:
np.ndarray
- andfn.hpc.hpc_math_functions.cauchy_integral_real(n, m, thetas, frac0, element_id_, element_struc_array, endpoints0, work_array, coef)[source]#
FUnction that calculates the Cauchy integral with the discharge potential for a given array of thetas.
- Parameters:
n (int) – Number of integration points
m (int) – Number of coefficients
thetas (np.ndarray) – Array with thetas along the unit circle
frac0 (np.ndarray) – The fracture
element_id (int) – The element id
element_struc_array (np.ndarray[element_dtype]) – Array of elements
endpoints0 (np.ndarray[np.complex128]) – The endpoints of the constant head line
work_array (np.ndarray[work_array_dtype]) – The work array
coef (np.ndarray[np.complex128]) – The coefficients that will be filled
- Returns:
coef – Array of coefficients
- Return type:
np.ndarray[np.complex128]
- andfn.hpc.hpc_math_functions.fill_exp_array(n, thetas, exp_array, sign)[source]#
Function that fills the exp_array with the values of exp(-1j * thetas). :param n: The number of thetas to calculate :type n: int :param thetas: The thetas :type thetas: np.ndarray :param exp_array: The array to fill with the values of exp(sign * 1j * thetas) :type exp_array: np.ndarray :param sign: The sign of the exponent. 1 for positive, -1 for negative. :type sign: int
- Returns:
Fills the exp_array with the values of exp(-1j * thetas)
- Return type:
None
- andfn.hpc.hpc_math_functions.find_branch_cuts(self_, z_pos, fracture_struc_array, element_struc_array, work_array)[source]#
Find the branch cuts for the fracture.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
z_pos (np.ndarray[np.complex128]) – The positions in the complex plane
fracture_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
element_struc_array (np.ndarray[element_dtype]) – The array of elements
work_array (np.ndarray[dtype_work]) – The work array
- Returns:
dpsi_corr – The correction to the potential due to the branch cuts
- Return type:
np.ndarray[np.float64]
- andfn.hpc.hpc_math_functions.get_dpsi_corr(self_, fracture_struc_array, element_struc_array, work_array)[source]#
Get the correction to the stream function due to the branch cuts.
- Parameters:
self (np.ndarray[element_dtype]) – The bounding circle element
fracture_struc_array (np.ndarray[fracture_dtype]) – The array of fractures
element_struc_array (np.ndarray[element_dtype]) – The array of elements
work_array (np.ndarray[dtype_work]) – The work array
- Returns:
Edits the self_ array in place.
- Return type:
None
- andfn.hpc.hpc_math_functions.taylor_series(chi, coef)[source]#
Function that calculates the Taylor series starting from 0 for a given point chi and an array of coefficients.
- Parameters:
chi (complex) – A point in the complex chi-plane
coef (np.ndarray) – An array of coefficients
- Returns:
res – The resulting value for the asymptotic expansion
- Return type:
complex
- andfn.hpc.hpc_math_functions.taylor_series_d1(chi, coef)[source]#
Function that calculates the Taylor series starting from 0 for a given point chi and an array of coefficients.
- Parameters:
chi (complex) – A point in the complex chi-plane
coef (np.ndarray) – An array of coefficients
- Returns:
res – The resulting value for the asymptotic expansion
- Return type:
complex
Geometry functions#
Notes
This module contains some geometrical functions.
- andfn.hpc.hpc_geometry_functions.map_chi_to_z_circle(chi, r, center=0.0)[source]#
Function that maps the unit circle in the complex chi-plane to a circle in the complex z-plane.
- Parameters:
chi (np.complex128) – A point in the complex chi-plane
r (float) – Radius of the circle
center (np.complex128) – Center point of the circle
- Returns:
z – The corresponding point in the complex z-plane
- Return type:
np.complex128
- andfn.hpc.hpc_geometry_functions.map_chi_to_z_line(chi, endpoints)[source]#
Function that maps the exterior of the unit circle in the complex chi-plane onto the exterior of a line in the complex z-plane.
- Parameters:
chi (complex) – A point in the complex chi-plane
endpoints (np.ndarray[np.complex128]) – Endpoints of the line in the complex z-plane
- Returns:
z – The corresponding point in the complex z-plane
- Return type:
complex
- andfn.hpc.hpc_geometry_functions.map_z_circle_to_chi(z, r, center=0.0)[source]#
Function that maps a circle in the complex z-plane onto a unit circle in the complex chi-plane.
- Parameters:
z (complex) – A point in the complex z-plane
r (float) – Radius of the circle
center (np.complex128) – Center point of the circle in the complex z-plane
- Returns:
chi – The corresponding point in the complex chi-plane
- Return type:
complex
- andfn.hpc.hpc_geometry_functions.map_z_line_to_chi(z, endpoints)[source]#
Function that maps the exterior of a line in the complex z-plane onto the exterior of the unit circle in the complex chi-plane.
- Parameters:
z (complex) – A complex point in the complex z-plane
endpoints (np.ndarray) – Endpoints of the line in the complex z-plane
- Returns:
chi – The corresponding point in the complex chi-plane
- Return type:
complex