1
$\begingroup$

I am studying 2D quantum scattering models for my Bachelor's thesis. Somewhat like these:

enter image description here

,with Dirichlet ($\psi \mid_\Gamma = 0$) boundary conditions on the "walls" of the waveguide and the resonator. The waveguide is infinite in both directions, and admits the scattering solutions, corresponding to the continuous spectrum of the Hamiltonian.

I want to find scattering solutions, corresponding to some fixed energy $E$, corresponding to the continuous spectrum, that is, to solve the Helmholtz equation in the waveguide and the resonator. However, models of such type don't admit solutions in analytic form in general, that's why I am studying approximations of this model, for which analytic solutions exist. Of course, I'd have to verify my approximations somehow, that is, to compare my approximations to the "real" solutions.

I thought of solving numerically, however, all the numerical methods for solving boundary value problems I heard of deal with bounded domains, and in my case I've got infinite waveguide. I can't even choose some large value $L$ and consider the problem in the domain, $-L \le x \le L$, since I can't impose any reasonable boundary conditions when $x = -L$ or $x = L$, the wavefunction does not have to go to zero at the asymptotic region for scattering states.

What is more, the eigenspace for the energy $E$ is not one-dimensional in general (composed of linear combinations of solutions with "wave incident from the left" and "wave incident from the right", just like in 1D rectangular barrier scattering), so I'd like to get not just any solution, but with no "wave incident from the right" component.

So, my questions are:

  1. Is there a way to numerically solve differential equations (Helmholtz equation in particular) in an infinite domain?
  2. If 1 is the case, there a way to get not just some arbitrary solution for the energy $E$, but some particular ("wave incident from the left")?
  3. Are there any solvers available?
$\endgroup$
1
  • $\begingroup$ (1) you probably need to use a solver in the Fourier domain instead of real space, so you can get the $\vec{k}$-spectrum of the outgoing waves $\endgroup$
    – webb
    May 19, 2014 at 18:32

3 Answers 3

3
$\begingroup$

(1) you probably need to use a solver in the Fourier domain instead of real space, so you can get the $\vec{k}$-spectrum of the outgoing waves. Do an actual partial wave expansion of the scattering, things like that.

(2) Yes, if you frame your matrix elements correctly and compute a scattering matrix

(3) Real-space solution of indefinite Helmholtz is an open problem and any solver that's worth its salt will likely be commercial. I would assume Comsol or something along those lines.

I would recommend writing your own using a matrix element formulation and computing the $S$-matrix elements numerically. Because your problem is reasonably well-constrained, you could write a pretty solid one-off program for this using tools in Python in a relatively short amount of time. Generic solvers carry a lot of baggage with them that you probably don't need. Just be careful of small denominators and the like.

$\endgroup$
1
$\begingroup$

A way to approach this problem (numerically) is to use wave packets as your initial condition. Wave packets are nice for this kind of things because they are localized in space (so you don't need an infinite wave-guide) and they are localized in velocity (so you can specify "from the left").

$\endgroup$
0
$\begingroup$

I would suggest you to consider periodic boundary conditions. This way you can impose conditions that reproduce infinite domains but in a finite grid.

And a good method to retrieve the behaviour of the modes participating in the dynamics could be better studied if from the beginning you study the problem using a pseudo spectral method.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.