Low noise distributions (PICPerturbation)

Dear all,

Have anyone tested the new features regarding the low noise distributions (DriftingMBVolDistrib and PICPerturbationToAnalyticalVolDistrib) in v6.1 ? What would be your feedback about it ?

Is it possible to get some examples with the correct implementation for the PICPerturbationToAnalyticalVolDistrib. I am not really sure about how to properly set the parameters to control the distribution.

Best regards,
J. Porto

Hello J. Porto. I’m also very interested in this, did you have any success with it?

I’m also interested in this. I’m trying to simulate a sphere in a drifting plasma using the DriftingMBVolDistrib. I did not manage yet to make it work correctly. Poisson solution is obviously false, the potential distribution is isotropic around my sphere whereas ions density is zero in the wake…
I did have some error like “Error in LDLt decomposition” or about the “convergence not reach on conjugate gradient method”. So I suppose my Poisson solver is badly configured yet…

If someone as an idea let us know.


Hi there !

Well I think I have made some progress. I managed to perform some simulations successfully using the next set of parameters (some of them need to be added using the “Add global parameter” button):

  1. The electrons treated using GlobalMaxwellBoltzmannVolDistrib while the ions using pic_df (i.e. PICPerturbationToAnalyticalVolDistrib). The same parameters could also be used for the electrons using “elec1” instead of “ions1”

    • ionDistrib → PICPerturbationToAnalyticalVolDistrib
    • updateAnalyticalFunction → 1
    • ions1_perturbativeDensity → 1
    • ions1_perturbativeCurrent → 0
    • AnalyticVolDistrib_ions1 → DriftingMBVolDistrib (other types of distributions can be used but I guess you should not include the " updateAnalyticalFunction" in that case)
  2. The electrons treated using GlobalMaxwellBoltzmannVolDistrib while the ions using “DriftingMBVolDistrib” by simple specifying that distribution for the “ionDistrib”

  3. You can also run full_pic_df simulations using the parameters described in (1) with “elec1” and “ions1”

Let me know if it works for you !



1 Like

In the end, the DriftingMBVolDistrib works fine to describe a sphere in a drifting plasma. My mistakes was using the DriftingMBVolDistrib also for the electrons.

But my mistake reveal a bug, describing the electron with DriftingMBVolDistrib, it generates a positive electronic current. So the simulation cannot converge.

But I will try in a near future your configuration, I’ll let you know if it works!

Hi Mathias ! I think you are right. The results that I obtain when using “DriftingMBVolDistrib” for the electrons are not coherent either. My best guess is that the DMB distribution can only be used for the ions. Or maybe we are wrong and we are just missing something in the configuration but I can not see what that could be. I would be interested in the answer if somebody manages to figure it out !

Many thanks Jean! This was very much illuminating!

I have something to add to your mini guide: if you want to use PICPerturbationToAnalyticalVolDistrib for electrons (in the following example, “elec1”), it is best to leave AnalyticVolDistrib_elec1 undefined or the default “LocalMaxwellBoltzmannVolDistrib”.
It turns out that setting AnalyticVolDistrib_elec1 to GlobalMaxwellBoltzmannVolDistrib creates a fatal error:

java.lang.ClassCastException: spis.Surf.SurfDistrib.GlobalMaxwellSurfDistrib cannot be cast to spis.Surf.SurfDistrib.LocalMaxwellSurfDistrib2

Since I don’t care about secondaries in my simulation (but I do care about the current), I ran it with
electronDistrib → PICPerturbationToAnalyticalVolDistrib
elec1_perturbativeDensity → 1
elec1_perturbativeCurrent → 1
AnalyticVolDistrib_elec1 → LocalMaxwellBoltzmannVolDistrib

It seems to be working. I’ll come back to this thread if I run into any issues.

Dear All,
there was indeed a bug on the implicitation of the Drifting MB for electrons. It will be corrected in the future release.

Best Regards,