User:Jimmiebtlr/Proposal

From BRL-CAD
Revision as of 03:12, 5 April 2012 by Jimmiebtlr (talk | contribs)

Jimmie Butler
jimmiebtlr@gmail.com
jimmiebtlr

Had several Engineering classes in High school. Have a heavy physics background ( was intending on majoring in it until junior year). Currently majoring in Computer Science at Colorado School of Mines.

Brief project summary (<500 words)
Non-vacuum gravity simulator
Simulate falling to a planet from a known starting point, knowing atmospheric composition and planets mass, as well as geometric shape and density function of the falling object.

Detailed project description (>500 words)
The starting point will be to implement an iterative loop which takes into account all forces until the object reaches at or below ground level, at which it will interpolate to find end conditions.

Air resistance would have to be calculated not only linearly but also rotationally, A target accuracy, or otherwise sane defaults should be taken into account.

-Basic Features
Calculate the gravitational strength at a set point in time, move the object in the direction of its velocity.

-Air Resistance
Air resistance would need to take into account torque on the object as well as the usual linear drag, i.e. an arrow would tend to fall tip down to the planet, yet a baseball could rotate violently. This section could also be used to determine interactions on material changes i.e. hitting water while falling. This would likely be implemented as a separate program.

-High speed objects
Take into account an object falling on the order of magnitude of c.

-Thermal Conversion
How much energy is expended to thermal energy, make estimates of end temperature? This would likely be similar to the air resistace section and implemented as a separate program.

-Constraints
Use lagrangian mechanics to determine motion of a falling object in relation to itself. This could become a large portion of the project and would likely be its own program, taking in forces constraints, and the object.

-Bending Light
Should be able to be implemented through the implementation of the High speed objects section.

-Optimization
This project would take into account what the starting parameters are in order to determine what algorithm to use i.e. falling 10 feet on earth with a moderate allowance of error could be done assuming constant atmospheric density and gravity. Whereas an object falling from several miles up would need to take into account the atmospheric density and changing gravitational strength.

-Error
Any potential outputs would need their own error calculations, but perhaps more importantly is to keep track of error from machine number use. Using a double is clearly preferable in nearly all cases, but even that can have large amounts of error if ignored.

-Using Bullet Physics engine
Bullet is intended primarily for realtime physics simulation, and as such may be applicable in cases where high amounts of error are acceptable (from a scientific perspective).

-Using Open Dynamics Library
Another Game enigne with the same constraints against the accuracy of the simulation.

-Interesting Features
After implementing calculations for the high speed objects section, the correct configuration should yield an answer to gravitational lensing.


Links to any code or algorithms you intend to use
For Air Resistance
http://en.wikipedia.org/wiki/Drag_(physics)
For fast objects
http://en.wikipedia.org/wiki/Special_relativity
For motion of complex objects. http://en.wikipedia.org/wiki/Lagrangian_mechanics

Deliverables
-Constant gravity constant atmospheric density simulation simplistic air resistance
-Varying gravity constant atmospheric density simulation simplistic air resistance
-Varying gravity varying atmospheric density simulation simplistic air resistance
-Varying gravity varying atmospheric density simulation complex air resistance (take rotation into account)

Development schedule

May 15 - May 30
-Get a better feel for BRL-CAD and interfacing with it, as well as implementing a dragless falling object in three dimensions.

June 1 - June 15
-Take into account air resistance and rotation.

June 15 - June 30
-Work on an error management system, and optimizations.

July 1 - July 15
-Take into account Non-Newtonian speeds.

July 15 - July 30
- Basic Thermal Calculations, extensive Refactor.

August 1 - August 15
-Non-Newtonian entrance speeds, basic fluid dynamics integration (falling through water or striking it)


Time availability
-4 week Field session ( Should be able to work ~40 hour weeks )
-Rest of summer free.

I am applying to GSOC with BRL-CAD because it pertains to several area's I'm interested in, namely physics and 3D graphics. More importantly however is that it is a needed open source alternative which will further both the education of future generations, and also a valueable asset to the Engineering world.

I would like to work with BRL-CAD for GSOC because I feel I can bring my knowledge of physics and programming to aid the developement.

Anything Else
I use nearly exclusivly open source software and would like to become a permenant member of the open source community.