ApproxFun.jl Spectral method for 2D Helmholtz equation on unbounded domains


I would like to solve the following homogeneous Helmholtz problem with a spectral method on an 2D unbounded domain:
(i \alpha - \Delta) \hat{\omega} = 0, \;\alpha > 0 with a Dirichlet boundary condition for the velocity \hat{u} on a surface S_b.

For 2D incompressible flows, we have the following relation between the velocity \hat{u} and the vorticity \hat{\omega}:
We define the streamfunction \hat{\psi} by the Poisson equation \Delta \hat{\psi} = -\hat{\omega},
then we obtain the velocity field by \hat{u} = \nabla \times( \hat{\psi} \boldsymbol{e}_z)

The boundary conditions for the velocity field \hat{u} is \hat{u}(\boldsymbol{x}) = \hat{u}_b(\boldsymbol{x}) for \boldsymbol{x} \in S_b and ||\hat{u}|| \to 0 \text{ as } x \to \infty.

\hat{\omega}, \hat{\psi} are complex-valued scalar functions, while \hat{u} is a complex-valued vector function.

Is it something that can be done with ApproxFun.jl?

I don’t follow the entirety of the problem, but if you want to represent the solution in terms of orthogonal polynomials you can do that yes. You’ll have to come up with a way to impose the required behavior. A typical method is collocation. Are you aware of John Boyds book


Thank you for pointing to this reference.

1 Like