thread for segments files and parameters for simulation runs

Discuss how polywell fusion works; share theoretical questions and answers.

Moderators: tonybarry, MSimon

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

i don't mean the potential at a point charge. just at a point in space where a point charge could be. the point is (no pun intended) i need to move a charged particle through an electric field completely created by coloumb forces (scattered point and line charges). and i need it to stop on a dime.

i have a straight uphill path w/equal slope on each side directly to the dime, and the field strength at the dime is zero. so provided i hit it hard enough and in the exact right direction it will roll over the dime no matter how hard i hit it. now how hard do i have to hit it to stop on it?

tiger woods would know.

as far as the magrid charge is concerned i figure i'm missing a parameter like resistance or capacitance, and from there i could calculate it if i knew the formula.

erblo
Posts: 29
Joined: Thu Mar 18, 2010 1:08 pm
Location: Sweden

Post by erblo »

That sounds better, you'd need the capacitance of a thin finite wire (try wikipedia) or a torus. But you'll get problems if you want a zero radius...

By the way: In case you haven't had any hints on how to draw the magrid. I've had a (very brief) introduction to openGL in a course I'm taking. Try inserting something like:

Code: Select all

glColor3f(?, ?, ?); \\some nice color
for ('each loop in magrid')
{
glBegin(GL_LINES);
glVertex3dv(point1);  \\first line segment
glVertex3dv(point2);
glVertex3dv(point1);  \\second line segment
glVertex3dv(point2);
...
glEnd();
}
glColor3f(1, 1, 1); \\reset the color
before the 'break;' on line 168 in 'render_particles.cpp' (if it's still the same):

Code: Select all

void ParticleRenderer::display(DisplayMode mode /* = PARTICLE_POINTS */)
161 {
162 switch (mode)
163 {
164 case PARTICLE_POINTS:
165 glColor3f(1, 1, 1);
166 glPointSize(m_pointSize);
167 _drawPoints();
168 break;
169 case PARTICLE_SPRITES:
If you use GL_LINES it will plot each pair of points as separate line segments; GL_LINE_STRIP will plot one line through each point in order. Also note that 3dv in glVertex3dv(p) means 3 dimensions, double and vector. Could be glVertex3d(x,y,z) or glVertex3fv(p) for floats and so on...
Last edited by erblo on Mon Nov 22, 2010 8:44 pm, edited 2 times in total.

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

thanks! i'll try that.

erblo
Posts: 29
Joined: Thu Mar 18, 2010 1:08 pm
Location: Sweden

Post by erblo »

Me bad - GL_LINES it will plot each pair of points as separate line segments; GL_LINE_STRIP will plot one line through each point in order, not the other way around :oops: I'll correct it.

See for example http://fly.cc.fer.hr/~unreal/theredbook/

One can make the lines fatter with 'glLineWidth(width);' - width is a float >0 (default 1). Just remember to reset it.

TallDave
Posts: 3140
Joined: Wed Jul 25, 2007 7:12 pm
Contact:

Post by TallDave »

But you'll get problems if you want a zero radius...
As Bussard himself observed, in another context :)

Great to see more people attempting these simulations. Best of luck!
n*kBolt*Te = B**2/(2*mu0) and B^.25 loss scaling? Or not so much? Hopefully we'll know soon...

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

i lied. i ultimately went with different parameters. it's still running right now and most of the ions have barely moved while the electrons are just going haywire.

7/8 of the particles are excess electrons. so there's only a handful of ions now. this way i can have a bigger potential well. and i used an iterated octahedron as i'm more confident that it confines well (though the cuboctahedron and wb-6 cores looked pretty tight in the sim runs). besides that:

magrid radius: 3m
coil current: 200k amp turns
coil charge: 100 nano-coloumbs per meter.
electron start point: 1% of magrid radius
ion start point: 33% of magrid radius

i turned on the particle multiplier (model x particles as 1 big virtual particle), and its cranked all the way up to 1000 now. which still makes for a pretty shallow well. i'm thinking i'm going to make it so theres a separate particle mutliplier for ions and electrons so i can control their virtual populations independantly. that way i can make a big potential well and still simulate individual ions.

the ions are being contained by the mag fields, btw, just with a much bigger radius than the electrons and much slower gyrations. in fact that's about all they're doing so far.

rjaypeters
Posts: 869
Joined: Fri Aug 20, 2010 2:04 pm
Location: Summerville SC, USA

Post by rjaypeters »

This:
Image

Code: Select all

//Four of eight triangular octahedron coils mapped onto 
//sphere, empty region 3m diameter
//+x, +y, +z coil
24
0.179, 0.179, 1.580, 0.264, 0.123, 1.573
0.264, 0.123 1.573, 0.363, 0.103, 1.555
0.363, 0.103, 1.555, 0.611, 0.103, 1.475
0.611, 0.103, 1.475, 1.129, 0.103, 1.129
1.129, 0.103, 1.129, 1.475, 0.103, 0.611
1.475, 0.103, 0.611, 1.555, 0.103, 0.363
1.555, 0.103, 0.363, 1.573, 0.123, 0.264
1.573, 0.123, 0.264, 1.580, 0.179, 0.179
1.580, 0.179, 0.179, 1.573, 0.264, 0.123
1.573, 0.264, 0.123, 1.555, 0.363, 0.103
1.555, 0.363, 0.103, 1.475, 0.611, 0.103
1.475, 0.611, 0.103, 1.129, 1.129, 0.103
1.129, 1.129, 0.103, 0.611, 1.475, 0.103
0.611, 1.475, 0.103, 0.363, 1.555, 0.103
0.363, 1.555, 0.103, 0.264, 1.573, 0.123
0.264, 1.573, 0.123, 0.179, 1.580, 0.179
0.179, 1.580, 0.179, 0.123, 1.573, 0.264
0.123, 1.573, 0.264, 0.103, 1.555, 0.363
0.103, 1.555, 0.363, 0.103, 1.475, 0.611
0.103, 1.475, 0.611, 0.103, 1.129, 1.129
0.103, 1.129, 1.129, 0.103, 0.611, 1.475
0.103, 0.611, 1.475, 0.103, 0.363, 1.555
0.103, 0.363, 1.555, 0.123, 0.264, 1.573
0.123, 0.264, 1.573, 0.179, 0.179, 1.580
//-x, -y, +z coil
24
-0.179, -0.179, 1.580, -0.264, -0.123, 1.573
-0.264, -0.123, 1.573, -0.363, -0.103, 1.555
-0.363, -0.103, 1.555, -0.611, -0.103, 1.475
-0.611, -0.103, 1.475, -1.129, -0.103, 1.129
-1.129, -0.103, 1.129, -1.475, -0.103, 0.611
-1.475, -0.103, 0.611, -1.555, -0.103, 0.363
-1.555, -0.103, 0.363, -1.573, -0.123, 0.264
-1.573, -0.123, 0.264, -1.580, -0.179, 0.179
-1.580, -0.179, 0.179, -1.573, -0.264, 0.123
-1.573, -0.264, 0.123, -1.555, -0.363, 0.103
-1.555, -0.363, 0.103, -1.475, -0.611, 0.103
-1.475, -0.611, 0.103, -1.129, -1.129, 0.103
-1.129, -1.129, 0.103, -0.611, -1.475, 0.103
-0.611, -1.475, 0.103, -0.363, -1.555, 0.103
-0.363, -1.555, 0.103, -0.264, -1.573, 0.123
-0.264, -1.573, 0.123, -0.179, -1.580, 0.179
-0.179, -1.580, 0.179, -0.123, -1.573, 0.264
-0.123, -1.573, 0.264, -0.103, -1.555, 0.363
-0.103, -1.555, 0.363, -0.103, -1.475, 0.611
-0.103, -1.475, 0.611, -0.103, -1.129, 1.129
-0.103, -1.129, 1.129, -0.103, -0.611, 1.475
-0.103, -0.611, 1.475, -0.103, -0.363, 1.555
-0.103, -0.363, 1.555, -0.123, -0.264, 1.573
-0.123, -0.264, 1.573, -0.179, -0.179, 1.580
//+x, -y, -z coil
24
0.179, -0.179, -1.580, 0.264, -0.123, -1.573
0.264, -0.123, -1.573, 0.363, -0.103, -1.555
0.363, -0.103, -1.555, 0.611, -0.103, -1.475
0.611, -0.103, -1.475, 1.129, -0.103, -1.129
1.129, -0.103, -1.129, 1.475, -0.103, -0.611
1.475, -0.103, -0.611, 1.555, -0.103, -0.363
1.555, -0.103, -0.363, 1.573, -0.123, -0.264
1.573, -0.123, -0.264, 1.580, -0.179, -0.179
1.580, -0.179, -0.179, 1.573, -0.264, -0.123
1.573, -0.264, -0.123, 1.555, -0.363, -0.103
1.555, -0.363, -0.103, 1.475, -0.611, -0.103
1.475, -0.611, -0.103, 1.129, -1.129, -0.103
1.129, -1.129, -0.103, 0.611, -1.475, -0.103
0.611, -1.475, -0.103, 0.363, -1.555, -0.103
0.363, -1.555, -0.103, 0.264, -1.573, -0.123
0.264, -1.573, -0.123, 0.179, -1.580, -0.179
0.179, -1.580, -0.179, 0.123, -1.573, -0.264
0.123, -1.573, -0.264, 0.103, -1.555, -0.363
0.103, -1.555, -0.363, 0.103, -1.475, -0.611
0.103, -1.475, -0.611, 0.103, -1.129, -1.129
0.103, -1.129, -1.129, 0.103, -0.611, -1.475
0.103, -0.611, -1.475, 0.103, -0.363, -1.555
0.103, -0.363, -1.555, 0.123, -0.264, -1.573
0.123, -0.264, -1.573, 0.179, -0.179, -1.580
//-x, +y, -z coil
24
-0.179, 0.179, -1.580, -0.264, 0.123, -1.573
-0.264, 0.123, -1.573, -0.363, 0.103, -1.555
-0.363, 0.103, -1.555, -0.611, 0.103, -1.475
-0.611, 0.103, -1.475, -1.129, 0.103, -1.129
-1.129, 0.103, -1.129, -1.475, 0.103, -0.611
-1.475, 0.103, -0.611, -1.555, 0.103, -0.363
-1.555, 0.103, -0.363, -1.573, 0.123, -0.264
-1.573, 0.123, -0.264, -1.580, 0.179, -0.179
-1.580, 0.179, -0.179, -1.573, 0.264, -0.123
-1. 573, 0.264, -0.123, -1.555, 0.363, -0.103
-1.555, 0.363, -0.103, -1.475, 0.611, -0.103
-1.475, 0.611, -0.103, -1.129, 1.129, -0.103
-1.129, 1.129, -0.103, -0.611, 1.475, -0.103
-0.611, 1.475, -0.103, -0.363, 1.555, -0.103
-0.363, 1.555, -0.103, -0.264, 1.573, -0.123
-0.264, 1.573, -0.123, -0.179, 1.580, -0.179
-0.179, 1.580, -0.179, -0.123, 1.573, -0.264
-0.123, 1.573, -0.264, -0.103, 1.555, -0.363
-0.103, 1.555, -0.363, -0.103, 1.475, -0.611
-0.103, 1.475, -0.611, -0.103, 1.129, -1.129
-0.103, 1.129, -1.129, -0.103, 0.611, -1.475
-0.103, 0.611, -1.475, -0.103, 0.363, -1.555
-0.103, 0.363, -1.555, -0.123, 0.264, -1.573
-0.123, 0.264, -1.573, -0.179, 0.179, -1.580
On the way to this:
Image
"Aqaba! By Land!" T. E. Lawrence

R. Peters

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

sweet! spherized and all?

i'll run those on all electrons, both the 4-coil and 8-coil versions.

i'm uploading the mixed run video after a 12+ hour run right now. the ions are even slower than i thought. it's just not practical. i see two ways to go:

a) model the electron core as a point charge or a set of point charges (to approximate the shape). this means we will definitely be able to see high well depth and fast ions.

b) increase the number of real particles to virtual particles ratio, of the electrons, at least, up a few orders of magnitude to get high well depths, and decrease the mag field strength so i can raise the time step. this means we're still doing real-time electrons, but much shallower well depth, lower field strength, and still very slow ions.

video just finished uploading. this is a few minutes, after running it for +12 hours. parameters as stated above:

http://www.youtube.com/watch?v=5MFjkLfAO2s

as you can see the ions aren't doing much of anything, but you can see they eventually form to the mag fields just as the electron core does.

also you can tell i'm really pushing the time step. at high time steps you get a lot more leakage because gyration about the cusps aren't modeled nearly as accurately.

ladajo
Posts: 6258
Joined: Thu Sep 17, 2009 11:18 pm
Location: North East Coast

Post by ladajo »

Is there a way to parallel another GPU?

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

ladajo wrote:Is there a way to parallel another GPU?
yes, but:

a) you'll have to transfer the entire dataset between gpus (over the pci bus, to main memory and back) each iteration.
b) it's difficult to program (partly due to a), and i don't have the motivation.
c) i only have 1 gpu.

probably a more profitable as well as easier way to go would be to turn it into a barnes-hut treecode algorithm. i think at the current particle count that would give me at least 10x speedup right off the bat. but the real beauty is as i increase the particle count the computation time will grow a lot slower. Nlog(N) instead of N^2.

for that, i think the way to go would be merging in the the "sapporo" code to the code i've build off the nvidia sdk nbody code sample.

i'm not up to it right now. still making some modifications to make the current code more flexible / versatile / useful. (adding point charges, making the magrid show up, etc.) but it's something that can be worked on in parrallel if anyone's up for it.

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

k, i've settled on a compromise for the electron-ion timescale difference problem:

i'm adding a new species of particle, "point charge", with it's own set of "guns" (introduction points). they have a charge to mass ratio of exactly zero, 10 million times the charge of an electron, and there are 100 of them. so together they emulate 1 billion frozen electrons. you can also vary their charge via a multiplier that you can adjust during simulation via a slider. the slider currently goes from 0.01 to 1000, so you can have an artificial virtual cathode ranging from 1.602176487*10^-12 coloumbs to 1.602176487*10^-7 coloumbs. and you can shape it how you like w/up to 16 "point charge" guns.

additionally i plan on running an approximately net-neutral plasma, so they'll be an extra 12k or so electrons running around freely, matching the ion charge. and then i'm going to run the simulation at ion time scales.

so goes the plan, at least.

rjaypeters
Posts: 869
Joined: Fri Aug 20, 2010 2:04 pm
Location: Summerville SC, USA

Post by rjaypeters »

happyjack27 wrote:sweet! spherized and all?
Yes, spherized and all.

I was looking at your earlier priorities for analysis:

"1. hanelyp's configuration on pg 1 of the brainstorming thread (radially-aligned coils),
2. mine and hanelyp's cusp conversion / disruption techniques on pg 26 of the brainstorming thread (single-coil octahedral magrid with cusp disruption / with cusp conversion)
3. spherized tombo
4. tombo's inverse wb-6 on pg 5
5. 32-face tombo
6. square spherized wb-6"

and realized one of the closest things I had with standard dimensions was what you see above.

I don't have a model of hanelyp's configuration nor the cusp conversion technique, so #3 it was. I don't think I have the actaul Tombo to standard dimensions yet.

After I finish the remaining four coils, let me know what to do next. Perhaps hanelyp has a segment list for the radially aligned coils?

Happily pointilizing*,

Robert

*A little at a time!
"Aqaba! By Land!" T. E. Lawrence

R. Peters

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

rjaypeters wrote:[
After I finish the remaining four coils, let me know what to do next.
my general sentiments right now:

i think at this point it's best to go for the more radical and in any case different configs. i think we've getting a pretty good understanding of how the core forms in your basic polyhedrons.

and also we should only go with practical grids, if possible. i have 3 set of perfect grids of varying polyhedral order. i suppose going an order higher might be interesting, if time-consuming. but beyond that there's not much more information to be gleaned off them. it's probably more informative and useful at this point to look at the confinement behavior of magrids that we can actually make.

happyjack27
Posts: 1439
Joined: Wed Jul 14, 2010 5:27 pm

Post by happyjack27 »

how about a misaligned coil? i'm curious how sensitive confinement is to magrid imperfections. i could fairly easily put a higher or lower current and/or voltage in one of the coils. but i'm interested to see what happens when a magnet gets twisted out of alignment by torque forces or just shoddy construction (relatively speaking).

rjaypeters
Posts: 869
Joined: Fri Aug 20, 2010 2:04 pm
Location: Summerville SC, USA

Post by rjaypeters »

Inverse WB-6. Did you mean this?

Image

happyjack27 wrote:how about a misaligned coil?
"Gladly! How high?" He shouted as he ascended toward the heavens. :D

How much misalignment do you want? It'll hurt to model, but for you, I'll do it.

I think I'll smoothly and incrementally model one pair of coils pushing away from each other. 5mm, 10mm, 15, etc.
happyjack27 wrote:...it's best to go for the more radical and in any case different configs.
The strange ones are the most fun. I think Dan Tibbets four and two-coil varieties should be next.

This ought to keep me busy for awhile and not thinking about the Spring. Blast! Did it again!
"Aqaba! By Land!" T. E. Lawrence

R. Peters

Post Reply