|
9 | 9 |
|
10 | 10 |
|
11 | 11 | class Blob: |
12 | | - """Define a single blob.""" |
| 12 | + """ |
| 13 | + Class representing a single blob. It stores all blob parameters and discretizes the blob on a grid through |
| 14 | + the function `discretize_blob`. The contribution of a single blob to a grid defined by `x`, `y` and `t` is given by: |
| 15 | +
|
| 16 | + .. math:: |
| 17 | + a e^{-(t-t_k)/\tau_\shortparallel}\varphi\left( \frac{x-v(t-t_k)}{\ell_x}, \frac{(y-y_k)-w(t-t_k)}{\ell_y} \right) |
| 18 | +
|
| 19 | + Where: |
| 20 | + - :math:`a` is the blob amplitude, `amplitude`. |
| 21 | + - :math:`\ell_x` is the blob width in the propagation direction, `width_prop`. |
| 22 | + - :math:`\ell_y` is the blob width in the perpendicular direction, `width_perp`. |
| 23 | + - :math:`v` is the horizontal blob velocity. |
| 24 | + - :math:`w` is the vertical blob velocity. |
| 25 | + - :math:`t_k` is the blob arriving time at the position x=0, `t_init`. |
| 26 | + - :math:`\tau_\shortparallel` is the drainage time, `t_drain`. |
| 27 | + - :math:`\varphi` is the blob pulse shape, `blob_shape`. |
| 28 | +
|
| 29 | + Additionally, a tilt angle can be provided through `theta`. |
| 30 | + """ |
13 | 31 |
|
14 | 32 | def __init__( |
15 | 33 | self, |
@@ -124,6 +142,11 @@ def discretize_blob( |
124 | 142 | one_dimensional : bool, optional |
125 | 143 | Flag indicating a one-dimensional blob (default: False). |
126 | 144 |
|
| 145 | + Notes |
| 146 | + ----- |
| 147 | + The periodicity in the y direction is implemented by first substracting the number of full domain Ly |
| 148 | + propagations made by the blob and by summing mirror blobs at vertical positions +-Ly. |
| 149 | +
|
127 | 150 | Returns |
128 | 151 | ------- |
129 | 152 | discretized_blob : NDArray |
|
0 commit comments