landlab.components.flexure.funcs¶
- get_flexure_parameter(eet, youngs, n_dim, gamma_mantle=33000.0)[source]¶
Calculate the flexure parameter based on some physical constants.
- Parameters:
- Returns:
The flexure parameter.
- Return type:
Examples
>>> from landlab.components.flexure import get_flexure_parameter
>>> eet = 65000.0 >>> youngs = 7e10 >>> alpha = get_flexure_parameter(eet, youngs, 1) >>> print("%.3f" % round(alpha, 3)) 119965.926
>>> alpha = get_flexure_parameter(eet, youngs, 2) >>> print("%.2f" % alpha) 84828.72
- subside_point_load(load, loc, coords, params=None, out=None)[source]¶
Calculate deflection at points due a point load.
Calculate deflections on a grid, defined by the points in the coords tuple, due to a point load of magnitude load applied at loc.
x and y are the x and y coordinates of each node of the solution grid (in meters). The scalars eet and youngs define the crustal properties.
- Parameters:
load (float) – Magnitude of the point load.
loc (float or tuple) – Location of the load as either a scalar or as (x, y)
coords (ndarray) – Array of points to calculate deflections at
params (dict-like) – Physical parameters used for deflection calculation. Valid keys are - eet: Effective elastic thickness - youngs: Young’s modulus
out (ndarray, optional) – Array to put deflections into.
- Returns:
out – Array of deflections.
- Return type:
ndarray
Examples
>>> from landlab.components.flexure import subside_point_load
>>> params = dict(eet=65000.0, youngs=7e10) >>> load = 1e9
Define a unifrom rectilinear grid.
>>> x = np.arange(0, 10000, 100.0) >>> y = np.arange(0, 5000, 100.0) >>> (x, y) = np.meshgrid(x, y) >>> x.shape = (x.size,) >>> y.shape = (y.size,)
Calculate deflections due to a load applied at position (5000., 2500.).
>>> x = np.arange(0, 10000, 1000.0) >>> y = np.arange(0, 5000, 1000.0) >>> (x, y) = np.meshgrid(x, y) >>> x.shape = (x.size,) >>> y.shape = (y.size,) >>> dz = subside_point_load(load, (5000.0, 2500.0), (x, y), params=params) >>> print("%.5g" % round(dz.sum(), 9)) 2.6267e-05 >>> print(round(dz.min(), 9)) 5.24e-07 >>> print(round(dz.max(), 9)) 5.26e-07
>>> dz = subside_point_load( ... (1e9, 1e9), ((5000.0, 5000.0), (2500.0, 2500.0)), (x, y), params=params ... ) >>> print(round(dz.min(), 9) / 2.0) 5.235e-07 >>> print(round(dz.max(), 9) / 2.0) 5.265e-07