API Reference: PDE¶
The Python surface exposes PDE solvers at top level (from pysicrs import ...). See also
Algorithms: PDE Solvers.
import pysicrs
Quantum¶
schrodinger_split_step_1d¶
schrodinger_split_step_1d(psi0_real, psi0_imag, v, dx, dt, n_steps,
mass=1.0, hbar=1.0)
-> (real: list[float], imag: list[float])
Split-step Fourier time evolution of the 1D TDSE. psi0_real, psi0_imag, v are
equal-length arrays on the spatial grid.
schrodinger_eigen_1d¶
schrodinger_eigen_1d(v, dx, n_states, mass=1.0, hbar=1.0)
-> (energies: list[float], states: list[list[float]])
Imaginary-time propagation to bound-state energies/eigenstates.
dirac_split_step_1d¶
dirac_split_step_1d(psi0_real, psi0_imag, v, dx, dt, n_steps,
c_speed=1.0, mass=1.0, hbar=1.0)
-> (real: list[float], imag: list[float])
Split-step Fourier 1D Dirac equation with scalar potential.
Parabolic / hyperbolic / elliptic¶
heat_crank_nicolson_1d / heat_crank_nicolson_2d¶
heat_crank_nicolson_1d(u0, dx, dt, alpha, n_steps) -> list[float]
heat_crank_nicolson_2d(u0, nx, ny, dx, dy, dt, alpha, n_steps) -> list[list[float]]
A-stable Crank–Nicolson (1D) / ADI (2D).
wave_fdtd_1d / wave_fdtd_2d¶
wave_fdtd_1d(u0, v0, dx, dt, v, n_steps) -> list[float]
wave_fdtd_2d(u0, v0, nx, ny, dx, dy, dt, v, n_steps) -> list[list[float]]
Leapfrog FDTD. Respect the CFL ratio \(\frac{v\Delta t}{\Delta x} \le 1\).
poisson_fft_2d¶
poisson_fft_2d(f, nx, ny) -> list[list[float]]
Spectral (FFT) Poisson solve on a periodic \(nx\times ny\) grid.
Rust-only (not yet bound)¶
function |
purpose |
|---|---|
|
SOR Poisson solve |
|
3D Yee-grid FDTD |