ldc.datastructures.SpectralSolverFields#

class ldc.datastructures.SpectralSolverFields(u: ndarray, v: ndarray, p: ndarray, u_prev: ndarray, v_prev: ndarray, u_stage: ndarray, v_stage: ndarray, p_stage: ndarray, R_u: ndarray, R_v: ndarray, R_p: ndarray, du_dx: ndarray, du_dy: ndarray, dv_dx: ndarray, dv_dy: ndarray, lap_u: ndarray, lap_v: ndarray, dp_dx: ndarray, dp_dy: ndarray, dp_dx_inner: ndarray, dp_dy_inner: ndarray)[source]#

Bases: object

Internal spectral solver arrays - current state and work buffers.

Following the PN-PN-2 method: - Velocities (u, v) live on full (Nx+1) × (Ny+1) grid - Pressure (p) lives ONLY on inner (Nx-1) × (Ny-1) grid

Methods

__init__

allocate

Allocate all arrays with proper sizes.

Attributes

R_p: ndarray#
R_u: ndarray#
R_v: ndarray#
classmethod allocate(n_nodes_full: int, n_nodes_inner: int)[source]#

Allocate all arrays with proper sizes.

Parameters:
n_nodes_fullint

Number of nodes on full (Nx+1) × (Ny+1) grid

n_nodes_innerint

Number of nodes on inner (Nx-1) × (Ny-1) grid

dp_dx: ndarray#
dp_dx_inner: ndarray#
dp_dy: ndarray#
dp_dy_inner: ndarray#
du_dx: ndarray#
du_dy: ndarray#
dv_dx: ndarray#
dv_dy: ndarray#
lap_u: ndarray#
lap_v: ndarray#
p: ndarray#
p_stage: ndarray#
u: ndarray#
u_prev: ndarray#
u_stage: ndarray#
v: ndarray#
v_prev: ndarray#
v_stage: ndarray#