FV3 Bundle
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | solve_helmholz (x, b, c, nx, ny, deltax, deltay) |
Solve a Helmholz equation. More... | |
subroutine solve_helmholz | ( | real(kind=kind_real), dimension(nx,ny), intent(out) | x, |
real(kind=kind_real), dimension(nx,ny), intent(in) | b, | ||
real(kind=kind_real), intent(in) | c, | ||
integer, intent(in) | nx, | ||
integer, intent(in) | ny, | ||
real(kind=kind_real), intent(in) | deltax, | ||
real(kind=kind_real), intent(in) | deltay | ||
) |
Solve a Helmholz equation.
This routine solves the Helmholz equation: \( \nabla^2 \psi + c \psi = b \), where \( c \) is a constant, and where \( \nabla^2 \) is the two-dimensional, 5-point finite-difference Laplacian.
The solution method is to apply an FFT in the zonal direction. This reduces the problem to a set of un-coupled tri-diagonal systems that are solved with the standard back-substitution algorithm.
[in] | nx | Zonal grid dimension |
[in] | ny | Meridional grid dimension |
[out] | x | Solution |
[in] | b | Right hand side |
[in] | c | Coefficient in the linear operator |
[in] | deltax | Zonal grid spacing (non-dimensional) |
[in] | deltay | Meridional grid spacing (non-dimensional) |
Definition at line 21 of file solve_helmholz.f90.