I have a coupled PDE problem(Poisson-Schrondinger system), i.e.

first I need to solve an eigenvalue problem (Schrodinger problem discretized by Galerkin method)

$$Ax=\lambda x, ~~~A=A(u)$$

the output $x$ is then used to compute some source term(charge) of a poisson equation(discretized on the same grid)

$$ Ku=b, ~~~b=b(x)$$

The problems is: I would like to solve this problem in a neumann sense, which means I don't want to enforce x to be 0 at the boundary for the eigenvalue problem although it might be quite small. So I prefer Neumann B.C. for both PDE, then it seems to me that even if the matrix is singular $Ax=\lambda x$ works fine while $Ku=b$ cannot.

My solution is to set Neumann B.C. for $Ax=\lambda x$ and Dirichlet B.C. for the poisson problem. the result looks fine, and my questions are:

  1. Ku=b won't work when K is singular because the solution is undetermined to a constant, am I right?

  2. Why does the eigenvalue problem still works when the A matrix is singular? does it automatically throw away the null space?( I solve the eigenvalue problem by using matlab eigs)

  3. the combination of Neumann and Dirichlet B.C. in this coupled problem still leads to the physical problem posed in a Neumann sense, right? (since x solved from $Ax=\lambda x$ satisfy Neumann and b=b(x) implicitly built this Neumann condition into a poisson problem)

  1. Yes
  2. You should see that there is at least one zero (to machine precision) eigenvalue of that system. The eigenvalue problem can be solved because it is prepared to find the zero eigenvalues.
  3. The problem with $A$ and $x$ is different from the problem with $K$ and $u$. $x$ will transport whatever Neumann-ness it has to $b$, but $u$ will satisfy Dirichlet conditions you imposed on it since that what you imposed. I could say more if you posted the continuous problem from which this is all derived.
  • $\begingroup$ Thanks for your answer. regarding 3, I am actually solving a poisson-schrodinger system, the electron wave function(charge) are solved from the eigenvalue problems, then the charge is the source term for the poisson equation. The problem is that wavefunction amplitude is very small at the boundary, but I don't want to enforce them to be zero, so I used the neumann, however, in the poisson problem, I can't use neumann otherwise its singular. $\endgroup$ – lorniper Jun 27 '14 at 13:12
  • $\begingroup$ I guess my point about the BCs is that you should pick the ones that make the most sense physically. You can always solve the problem with the singularity by imposing a constraint that the average (integral) of $u$ over the domain is zero. $\endgroup$ – Bill Barth Jun 27 '14 at 13:20
  • $\begingroup$ so, let me get straight, for a pure poisson problem, idealy one can never impose neumann at all the boundaries, but how can we in practice recover this neumann sense(i.e. "freely" sliding at B.C.)? any trick? $\endgroup$ – lorniper Jun 27 '14 at 13:26
  • $\begingroup$ Since the solution to a Neumann problem is determined up to an arbitrary constant, you can fix that constant in a number of ways. One way is to pin the value of the solution at one point, but another one is to add a constraint to your solution method that sets the integral of the solution over the whole domain to zero. $\endgroup$ – Bill Barth Jun 27 '14 at 14:10

Your Answer

