Theoretical Modeling

Part 1: Analytical Solution

The first part of the theoretical section for this experiment involves deriving the equations of motion for an object in freefall with three different cases for drag: no drag, linear drag, and quadratic drag (drag is the force caused by air resistance). 

Deliverable #1: Draw force diagrams for an object in freefall with and without drag. Clearly label all forces that are acting on the object.

First, let's consider the case of no drag. Then the only force acting on the falling object is gravity and thus we can write the acceleration of the object (shown below) as simply g = 9.81 m/s². Note that here we have defined down as the positive direction because it is the direction of motion and thus g is positive.

As a second option for our object in freefall, we have linear drag, where the acceleration of the object depends on both the near-Earth gravitational force and a drag force which is dependent on a constant b and the velocity of the object. The constant b depends on the object with a larger coefficient meaning drag affects the object more. Note that here we have the gravitational force as positive since it points in the direction of motion and the acceleration due to drag (the second term) is negative because it opposes the downward motion.

Finally, we have quadratic drag, which is similar to linear drag, but the drag term depends on the velocity of the object squared instead of just the velocity. Here k plays the same role as b in the linear drag equation.

Deliverable #2: Using the relationships between acceleration, velocity, and position, derive the equation for the position of an object in freefall with no drag, with linear drag, and with quadratic drag. Clearly show all steps necessary to get from the equations for acceleration to the equations for position. You may find a textbook on classical mechanics and an online equation solver (Wolfram Alpha or Symlab) helpful. Using a classical mechanics textbook as a reference, determine an expression for the terminal velocity of the objects in freefall with drag. The terminal velocity is the maximum velocity the object can achieve (i.e. it is no longer accelerating). Why does an object in freefall without drag never achieve a terminal velocity?

Part 2: Numerical Solution 

We can solve equations with computers as well, but they are not able to solve the differential equations analytically as you did in Deliverable #2. Instead, they use numerical methods to discretely solve the differential equation. One of the most popular numerical differential equation solvers is the family of Runge-Kutta solvers (see the resources page for this experiment).

Deliverable #3: Using any programming language of your choice, implement the Runge-Kutta method (at minimum at the fourth order) to find the position of an object in freefall with each of the above accelerations. You can use a pre-made solver in your chosen language (for example in Python these are implemented in the library SciPy) or write your solver from scratch. In your implementations make sure b, k, and m are easily changeable variables (i.e. define them as variables at the very top of your code). For your deliverable please submit the code or screenshots of your code that solve all three differential equations.

Deliverable #4: Create three functions, one per analytical solution derived in Deliverable #2, which take in b, m, the initial position, the initial velocity, and a list of times and produce the position of the object in freefall at each of the given times.

Deliverable #5: Compare your analytical solution to the numerical solution by generating a percent error score between the two methods when solving for the position given the same set of conditions. Use b =0.01 s⁻¹, k = 0.01 m⁻¹, m = 0.025 kg. Consider the initial position to be 100m, the initial velocity to be 0 m/s, and the times to be evenly spaced between 0.0s and 10.0s by 0.01s.