Finally, none of this math holds once you add ions and electrons - they make their own fields - that's why OOPIC and TechX code will be needed. This is good for "starting up" the machine. Dr. Park is even sketpical this code can account for the net effect of 1E12 to 1E14 particles acting together.
with a pic method, the number of cells might end up being the limiting factor, as far as resolution goes.
i used a brute force all-pairs method. tradeoff here is it's higher accuracy, but the computation time also grows a lot quicker with number of particles. so that was my resolution limit. i cheated it a little by making one virtual particle represent many real particles. i justified this by thinking of it as a discrete element computational fluid dynamic sim. that is, i though of the plasma as a continuous "fluid" (rather than a collection of particles) and my virtual particles to be "sample points" in the fluid.
whatever method one takes, ultimately you're going to be dealing with "sample points" of one sort or another. and doing it iteratively/recursively. that is, each new "sample" is a "sample" of the last "sample", which in turn is a sample of the previous, ad infinum. so you see the trick is to try to make it so that this infinite regress - so to speak - is a good stable copy of the infinite regress that is reality.
One line of code I've done for magnetic field calculations (without particles) involved breaking a current loop into segments, then vector addition of the field from all the segments. Analytic integration of the off axis magnetic field from a current loop has eluded me. Mattman, the plots you show in this thread might be explained by not doing vector addition correctly. That hyperphysics page you reference doesn't cover off axis calculations.
that was one of the hardest parts for me, when making my sim. for a long time i knew the static e-field was wrong somehow, but couldn't figure out. someone else took a look at it and they couldn't figure it out, either, but they did offer a link to a different way to do it. i implemented that and ti worked fine. still no idea why the original algorithm didn't work right. point being: yeah, i agree. those geometry calculations can be quite nuanced and tricky.