boiling_flow.boiling_flow#
Functions#
Functions:
|
Generate a random phase screen from the Von Karman distribution. |
|
Apply a single time-step of the boiling flow algorithm. |
|
Generate a time-series of phase screens using the boiling flow algorithm. |
- boiling_flow.boiling_flow.boiling_flow_single_time_step(input_phase_screen, delta, L0, r0, v_x, v_y, alpha, gamma0=1.0)[source]#
Apply a single time-step of the boiling flow algorithm. Adapted from [2].
- Parameters:
input_phase_screen (ndarray) – numpy 2-D array of shape (N, N) containing the previous phase screen
delta (float) – grid sampling [m]
L0 (float) – outer scale [m]
r0 (float) – Fried coherence length [m]
v_x (float) – flow velocity component with respect to the x-axis [pixels per time-step]
v_y (float) – flow velocity component with respect to the y-axis [pixels per time-step]
alpha (float) – flow correlation parameter in the range [0, 1]
gamma0 (float, optional) – [Default=1.0] anisotropy parameter
- Returns:
output_phase_screen (ndarray) – numpy 2-D array of shape (N, N) containing the next phase screen
- boiling_flow.boiling_flow.generate_boiling_flow_data(num_time_steps, N, delta, L0, r0, v_x, v_y, alpha, gamma0=1.0, k=4, remove_ttp=True)[source]#
Generate a time-series of phase screens using the boiling flow algorithm.
- Parameters:
num_time_steps (int) – number of time steps to generate
N (int) – screen dimension
delta (float) – grid sampling [m]
L0 (float) – outer scale [m]
r0 (float) – Fried coherence length [m]
v_x (float) – flow velocity component with respect to the x-axis [pixels per time-step]
v_y (float) – flow velocity component with respect to the y-axis [pixels per time-step]
alpha (float) – flow correlation parameter in the range [0, 1]
gamma0 (float, optional) – [Default=1.0] anisotropy parameter
k (int, optional) – [Default=4] scale factor for over-sized phase screens
remove_ttp (bool, optional) – whether to remove tip, tilt, and piston (TTP) from the output phase screens
- Returns:
output_phase_screens (ndarray) – numpy 3-D array of shape (num_time_steps, N, N) containing time-series of phase screens
- boiling_flow.boiling_flow.generate_random_phase_screen(N, delta, L0, r0, gamma0=1.0)[source]#
Generate a random phase screen from the Von Karman distribution. Adapted from [1].
- Parameters:
N (int) – screen dimension
delta (float) – grid sampling [m]
L0 (float) – outer scale [m]
r0 (float) – Fried coherence length [m]
gamma0 (float, optional) – [Default=1.0] anisotropy parameter
- Returns:
phase_screen (ndarray) – numpy 2-D array of shape (N, N) containing the random phase screen
Disclaimer: Approved for public release; distribution is unlimited. Public Affairs release approval # AFRL-2025-5580.