I'm considering my own 2D Polywell simulator
I'm considering my own 2D Polywell simulator
I own a program called DarkBasic Professional and it allows me to write graphical programs with relative ease. So far just for testing purposes I am seeing how "fast" my program can randomly move "particles" around the screen.
The setup is a 2D top-down view of the particle swarm being viewed in a 800x600 resolution window. Each particle is just a pixel rendered to the screen. So far I am displaying 5,000 blue "electron" and 5,000 "ion" particles total. Right now I am getting about 80 fps with all of the particles running randomly around on the screen.
I am guessing that the calculations needed to make a decent simulation of a 2D slice of the Polywell reactor will take up considerable CPU power. Does the ten-thousand particles on the screen @ 80 fps seem fast enough?
My computer system specs are AMD Phenom Quad-Core, 1 GB of ram, and a Nvidia Geforce 9800 GT 512MB Ram. If more info on my system is needed for an accurate assessment let me know.
I think it's a pretty good system but I know better ones are out there. But considering my system specs. Does 10,000 Particles on screen moving randomly going at 80 fps good enough to start the "real work" as far as implementing calculations and the like?
The setup is a 2D top-down view of the particle swarm being viewed in a 800x600 resolution window. Each particle is just a pixel rendered to the screen. So far I am displaying 5,000 blue "electron" and 5,000 "ion" particles total. Right now I am getting about 80 fps with all of the particles running randomly around on the screen.
I am guessing that the calculations needed to make a decent simulation of a 2D slice of the Polywell reactor will take up considerable CPU power. Does the ten-thousand particles on the screen @ 80 fps seem fast enough?
My computer system specs are AMD Phenom Quad-Core, 1 GB of ram, and a Nvidia Geforce 9800 GT 512MB Ram. If more info on my system is needed for an accurate assessment let me know.
I think it's a pretty good system but I know better ones are out there. But considering my system specs. Does 10,000 Particles on screen moving randomly going at 80 fps good enough to start the "real work" as far as implementing calculations and the like?
I'd trade it all, for a little more 

-
- Posts: 815
- Joined: Thu Nov 13, 2008 4:03 pm
- Location: UK
-
- Posts: 815
- Joined: Thu Nov 13, 2008 4:03 pm
- Location: UK
The Lorentz force F acting on a point charge q moving at velocity v and subject to an electric field E and a magnetic field B is given by:
In Cartesian coordinates, if a = (a1, a2, a3) and b = (b1, b2, b3), then
- F = q(E + v x B)
In Cartesian coordinates, if a = (a1, a2, a3) and b = (b1, b2, b3), then
- a x b = (a2b3 - a3b2, a3b1 - a1b3, a1b2 - a2b1)
Ars artis est celare artem.
I was also thinking about pre-rendering a "magnetic map" lets say in GIMP and black represents magnetic south and white is north. The gradients in between the black and white will represent the flux direction. And perfect "middle" grey color represents no magnetic field.
After the magnetic map is rendered, the grey-map data is loaded into an array. The values will be -128 to 0 to +128. -128 is south and +128 is north. The other numbers will represent the varying strength and flux direction based on data next to that particle.
Maybe I have it all wrong.
But the idea is to use field maps to determine the particle flow instead of raw mathematical and distance equations. Is this a good idea? Has someone already attempted this?
After the magnetic map is rendered, the grey-map data is loaded into an array. The values will be -128 to 0 to +128. -128 is south and +128 is north. The other numbers will represent the varying strength and flux direction based on data next to that particle.
Maybe I have it all wrong.
But the idea is to use field maps to determine the particle flow instead of raw mathematical and distance equations. Is this a good idea? Has someone already attempted this?
I'd trade it all, for a little more 

-
- Posts: 815
- Joined: Thu Nov 13, 2008 4:03 pm
- Location: UK
Here is the start of the program I'm working on. Let me know if the link works and if it is able to be downloaded by the public.
http://www.4shared.com/file/176507538/4 ... nline.html
The filename is pw.zip and has 2 files (the exe file and the magnetic map image) totaling in size about 1.8 megabytes.
I get about 130 fps with 10,000 "electrons" on the 800x600 screen. Each electron is represented by a blue pixel. And one electron (number 1) is tracked as a larger yellow pixel to show the particles really are being effected by the magnetic map image.
If anyone wants to see the code just let me know. The code is written in DarkBasic Professional. The DBPro program is not free, though a demo is available at DarkBasic.com
Let me know what kind of results with the framerate you all are getting. I ran this program with 75,000 on-screen particles moving about and got about 27 fps.
http://www.4shared.com/file/176507538/4 ... nline.html
The filename is pw.zip and has 2 files (the exe file and the magnetic map image) totaling in size about 1.8 megabytes.
I get about 130 fps with 10,000 "electrons" on the 800x600 screen. Each electron is represented by a blue pixel. And one electron (number 1) is tracked as a larger yellow pixel to show the particles really are being effected by the magnetic map image.
If anyone wants to see the code just let me know. The code is written in DarkBasic Professional. The DBPro program is not free, though a demo is available at DarkBasic.com
Let me know what kind of results with the framerate you all are getting. I ran this program with 75,000 on-screen particles moving about and got about 27 fps.
I'd trade it all, for a little more 

-
- Posts: 815
- Joined: Thu Nov 13, 2008 4:03 pm
- Location: UK
I don't see a lot of purpose in this anyway (other than the programming challenge to understand the physics). In steady state, the whole image is supposed to be the same all the time, right?Betruger wrote:200 fps, and seems to asymptote twd ~160fps or so after a couple of minutes once everything's gained some speed.
It does make for some pretty pictures, though, but I think those would render a lot cooler in a 3DS MAX particle model. But I won't be simulating every single particle's trajectory when I'm doing cool movies!
Because we can.
I'm glad to see that some other systems do a lot better than my own with my test program. But I'm still pleased with what my rig can do. It would be great if I could use the power of my Nvidia GPU in tandem with what I'm working on.
I suppose I should be happy for now considering that each electron particle is it's own "entity" and represented by a single blue pixel. I ran the program with 100,000 on-screen electrons and got about 10 fps.
As far as the "magnetic map" image works is the image is loaded into the program and is temporarily on the screen. A special function is used to extract the "red" intensity level and load that data into an array. I know it's not simple, but it's an easy way to "draw" a magnetic map in an art program like GIMP and play around that way.
Now it's just a matter of creating the magnetic flux direction map and the electric field map.
I suppose it is a neat way to create simulated "fields" and having particles interacting with those field maps to produce an accurate but "cpu-cheap" way of trying out experimental configurations.
I suppose I should be happy for now considering that each electron particle is it's own "entity" and represented by a single blue pixel. I ran the program with 100,000 on-screen electrons and got about 10 fps.
As far as the "magnetic map" image works is the image is loaded into the program and is temporarily on the screen. A special function is used to extract the "red" intensity level and load that data into an array. I know it's not simple, but it's an easy way to "draw" a magnetic map in an art program like GIMP and play around that way.
Now it's just a matter of creating the magnetic flux direction map and the electric field map.
I suppose it is a neat way to create simulated "fields" and having particles interacting with those field maps to produce an accurate but "cpu-cheap" way of trying out experimental configurations.
I'd trade it all, for a little more 

So how would you account for changes in the field as e- density goes up, and ions (fuel) and introduced and the plasma forms?
It wold almost seem a long drawn out iterative process where you made best guesses in progression to Beta=1.
This is one of the key points of understanding, what happens during startup to equilibrium. ("In search of the wiffleball")
This goes back to why I would love to see the pressure cooker approach played with more. A cheap way to potentially visualize the plasma formation process. Recombinations just look so cool...
It wold almost seem a long drawn out iterative process where you made best guesses in progression to Beta=1.
This is one of the key points of understanding, what happens during startup to equilibrium. ("In search of the wiffleball")
This goes back to why I would love to see the pressure cooker approach played with more. A cheap way to potentially visualize the plasma formation process. Recombinations just look so cool...
I see what you are saying as far as the e-density. I can make an "active" map array that can be an additive to the base-line electric field. The same can be done for the electron cloud becoming dense enough to create their own diamagnetic field acting against the solid-state magnets and their fields.ladajo wrote:So how would you account for changes in the field as e- density goes up, and ions (fuel) and introduced and the plasma forms?
It wold almost seem a long drawn out iterative process where you made best guesses in progression to Beta=1.
This is one of the key points of understanding, what happens during startup to equilibrium. ("In search of the wiffleball")
This goes back to why I would love to see the pressure cooker approach played with more. A cheap way to potentially visualize the plasma formation process. Recombinations just look so cool...
I'd trade it all, for a little more 
