I am looking for a programmer to create a visual simulation that deals in computational fluid dynamics, specifically particle method advection. Much like the classic video game PONG, where a ball bounces around a closed container following laws of physics (i.e elasticity, angle of incidence, and trajectory) I am looking for a similar program to be made with a unique set of defined parameters.
Much like an old video game PONG where there is a rectangular box and a bouncing ball that interacts with all four sides of the container and it's corners, but instead no paddles.
1. The container will have 20 partitions evenly spaced in the container.
2. On each of these partitions there will be 10 funnel shaped openings evenly spaced across the partition and all facing the same direction (i.e. top to bottom) the funnel side walls can range from 22 degrees to 45 degrees from normal.
3. The size of the ball is at the discretion of the programmer, it can be 1 pixel or 10, either way all proportions will be based on the size of the ball.
4. The top side of the funnel (i.e. larger side) will be equal to 10 times the size of the ball. The bottom side of the funnel will be equal to 5 times the size of a ball.
5. The number of balls in the simulation should be infinite. All the balls start in the top most section of the closed container, and continue dispensing balls indefinitely. If this is too difficult - either be adjustable from 1 ball to 10,000 balls or a fixed number of 10,000 balls (either way is fine)
6. The balls must interact with the partitions, walls of the container, and each other with perfect elastic physics, but do not need to simulate any momentum gain or loss (i.e. the balls remain at a constant speed)
7. The speed of the balls in the simulation should either be adjustable from 100 times the length of the ball per second to 500 times the length per second or at a fixed rate of 500 times the length per second.
8. The simulation should begin with all the balls in the top most partition, each ball can start at a random point or all from one single point. In the scenario where we can display an infinite amount of balls, each position in the system will continue dispensing balls indefinitely.
9. Each partition must track in real-time how many balls are in its section of the container, ideally this number will be graphically displayed next to each section.
10. All data must be recordable and/or exportable to an excel format.
11. Ideally we can screen capture the state of the entire system at any given point.
12. Each simulation should have a timer and be resettable.
13. All the balls move at a fixed speed and do not speed up or slow down