Poisson equation

The graphical user interface of Elmer
Post Reply
Sounil
Posts: 6
Joined: 09 Jan 2013, 15:00
Antispam: Yes

Poisson equation

Post by Sounil »

Hi all,

I'm currently performing tests for planning a Dc current flow modeling. One of the basic test is solving with Elmer a PDE which can be analiticaly solved, and compare the results to be sure to start on a good basis.
The basic equation is a Poisson's equation Delta(f)-f=0 and I solve it in 1D (actually on a 2D square just because a did not figured out how to import a 1D mesh, but this is another story) from x=-5e-2 to x=5e-2, using the static current conduction solver.
With a Dirichlet boundary condition on both boundaries (f(-5e-2)=1; f(5e-2)=0) it works fine (and it fits with the analytical solution)
With a Neumann condition on the left and a Dirichlet condition on the right (f'(-5e-2)=1; f(5e-2)=0), it works fine as well
With Neumann conditions on both ends (f'(-5e-2)=1; f'(5e-2)=0), the model does not converge and yet, there is an analytical solution.

Maybe there is a theoretical issue I missed...? Or is it a solver setting issue? I definitely don't know. If someone has an idea of what is happening, I would greatly appreciate some help!
carstenp
Posts: 37
Joined: 17 Oct 2012, 23:17
Antispam: Yes

Re: Poisson equation

Post by carstenp »

Hi Sounil,

firstly, I think this is the wrong section of the form. The Elmer Solver section would be more appropriate.

Your problem is simple: You need at least one dirichlet boundary condition for a unique solution. If you have only neuman boundary conditions in your domain you have an infinite number of possible solutions. Basically, you can take a valid solution, add a constant and get another valid solution. The one dirichlet bc determines this constant.

carsten
Sounil
Posts: 6
Joined: 09 Jan 2013, 15:00
Antispam: Yes

Re: Poisson equation

Post by Sounil »

Dear Carsten,

Thanks for your fast reply.
I don't fully agree with you concerning the solution multiplicity. If f0 is a solution of Delta(f)=f, f0+Const is not a solution of this equation. Generally speaking, the solution of such an equation has the form Aexp(x)+Bexp(-x). If two Neumann boundary conditions are imposed, this leads to a 2 equations system for which there is a unique (A,B) set. As a result, even with two Neumann BC the solution is unique.

However, I went a bit deeper in my investigation and here are some new elements. First of all, I was wrong when I mentionned that the model was fitting with analytical solution for the first two cases (2 Dirichlet BC or 1 Dirichlet and 1 Neumann BC). Actually, as my domain is small ([-5e-2,5e-2]) the first order approximation of Aexp(x)+Bexp(-x) fits with the linear solution Cx+D of the equation without source term (Delta(f)=0).
So actually, this is what happens, the source term is not taken into account. I could check that changing the source term in a large range was absolutely not changing the solution. Moreover, this explains the symtoms I described in my previous post:
- Dirichlet BC or mixed Dirichlet/Neumann BC are working fine
- 2 Neumann BC is not converging (except if the imposed fluxes on the boundaries are equal) simply because different fluxes on boundaries is a case incompatible with a flux conservative equation Delta(f)=0 (i.e. the equation I want to solve but desperately without the source term).

So finally, my problem is that when I use the Static Current Condution solver, introducing the source term as the Potential using MATC:
Current Source = variable Potential; Real MATC "tx"
this source term is not taken into account by the solver.

Carsten, you are right concerning the fact that this issue should be discussed in the Elmer Solver section. So, I will post this last diagnosed problem in the Elmer Solver Section with topic name "MATC source term ignored in Static Current Conduction solver".

Thanks again,

Sounil.
carstenp
Posts: 37
Joined: 17 Oct 2012, 23:17
Antispam: Yes

Re: Poisson equation

Post by carstenp »

Hi Sounil,

Delta(f) = f is usally not the Poisson Equation.

The Poisson Equation is Delta(f) = SomeFunc. If you now have a solution f0 than Delta(f0) = Delta (f0 + Constant) = SomeFunc.

If your source term depends on your solution and you use a poisson formulation which assumes a source term which doesn't depend on the solution you can perform a fix point iteration to adapt the source term in every iteration, but still, in EACH iteration, you can take your current solution and add a constant vector and still have a valid solution.

In each fix point iteration step, you solve a system A x = b with A being the discretized Laplace Operator with boundary conditions, x being the vector of unknowns and b your source term (evaluated for the last potential values). If you have only neuman bcs the matrix A is singular thus no unique solution exists and iterative solves will not converge

cheers,

carsten
Last edited by carstenp on 10 Jan 2013, 10:27, edited 1 time in total.
Sounil
Posts: 6
Joined: 09 Jan 2013, 15:00
Antispam: Yes

Re: Poisson equation

Post by Sounil »

Dear Carsten,

You are right. I mentionned Poisson equation but it is not the correct name. Actually, for the moment, the source term is simply the potential but my further plans is to have a source term as a function of the coordinates and including the potential (actually, the final aim is to model something like a leaking conductor, where a current flows in a conductor and leaking current desities are formulated as a source term depending on different elements, especially the local conductor potential).

The problem I observed concerning the convergence of the equation using Static Current Conduction solver is now transfered to the Elmer Solver section.

Thanks again Carsten!

Sounil.
Post Reply