Open mchandra opened 7 years ago
It was found that in cases of non-zero charge the density/fields blow up to infinity. This was due to the KSP solver diverging.
Setting ksp.setTolerances(atol = 1e-5)
seems to be resolve the issue.
However, as evident from this plot, it shows poor accuracy. This is the result for the same test-case when the FFT Poisson solver is used.
The initial conditions as mentioned in #10 were setup to evolve using the log(f) implementation. However, the problem of numerical explosion in the electric field/density still persists. This is plot obtained till t = 1.5 after which the solution blows up.
10 might be caused due to the distribution function f taking on negative values. One possible way to overcome this is to evolve log(f), which has no bounds instead of f, which is positive.
The equation for F(x, v, t) == log(f) has the same structure as f: dF/dt = \partial F/\partial t + \partial F / \partial dx/dt + \partial F / \partial v dv/dt
where the characteristic dv/dt now depends on f == exp(F)