Comp Sci Projectile motion plot with odeint

AI Thread Summary
The discussion revolves around implementing a projectile motion simulation using Python's SciPy library for ODE integration. The user seeks clarification on how to define the derivatives dx/dt, dy/dt, and dv/dt in the context of their model. The gravitational force and launch angle are specified, but the necessary equations for motion are not provided. Participants emphasize the need to express these derivatives based on physics principles, specifically using kinematic equations. The conversation highlights the importance of correctly formulating the model to achieve accurate simulation results.
nobodyhere
Messages
2
Reaction score
0
Homework Statement
Im a little stuck here.

I need to make a plot that shows the trajectory in the x,y plane of an object of mass m launched at an angle of 𝜃. The equation of motion of the projectile with atmospheric drag (at low enough speeds that no turbulence is created) is:

m(dv/dt)=−mgy−cv

where v(t)=(vx(t),vy(t)) is the projectile velocity at time t. The constant c characterizes the atmospheric friction. (As an aside, if the motion of the projectile is fast enough that turbulence is created, the friction term changes to −bv^2). We will integrate the equation of motion numerically in this project. However, in this case, an analytic solution is possible. If we call r(t)=(x(t),y(t)) the position of the projectile at time t, the equation of motion can be integrated to give:

x(t)=(v0vT)/g*(1−e^(gt/vT))cos(θx(t))

y(t)=vT*g(vT+v0sin(θ))(1−e^(gt/vT))−vTt

where vT=(mg)/c is the terminal velocity, and v0 is the initial speed.

I need to implement a numerical solution of the differential equation with odeint() and compare the trajectory you find to the analytic solution above.

Use the following parameters and initial conditions:

𝑐 = 0.65 kg/s,
𝑔 = 9.81 m/s2,
𝑚 = 0.1 kg,
𝑣0 = 10 m/s,
𝜃 = 50 above the horizontal,
The questions you need to consider are:

What is the distance 𝑑 to impact?
What is the maximum height, ℎ, reached?
What is the time of flight, 𝑇?
What is the velocity, 𝑣 at the impact point
So far I have the following but I don't know what to put for dx/dt, dy/dt, dv/dt
Relevant Equations
m(dv/dt)=−mgy−cv

x(t)=(v0vT)/g*(1−e^(gt/vT))cos(θx(t))

y(t)=vT*g(vT+v0sin(θ))(1−e^(gt/vT))−vTt
Python:
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
c=0.65
g=9.81 # gravitational force on earth
angle=50 # angle at which projectile is launched
m=0.1
#returning dx/dt, dy/dt, dv/dt as an array
def model(yaf,t):
    x=yaf[0] # x position is first element of yaf
    y=yaf[1] # y position is second element of yaf
    v=yaf[2] # velocity is third element of yaf
    return np.array([dx/dt, dy/dt, dv/dt])

t0=0 # initial condition for time
tmax=20 # max time
steps=20 # numer of steps

# time points
t = np.linspace(0,tmax, steps)

#initial conditions for x position, y position and velocity
initial=[0,0,10]

# solve ODE
y = odeint(model,initial,t)
print(y)

# plot results
plt.plot(t,y)
plt.show()
 
Last edited:
Physics news on Phys.org
What is your question ?

"I don't know what to put for dx/dt, dy/dt, dv/dt" You want to put some values for this terms? I did not understand the question
 

Similar threads

Replies
6
Views
2K
Replies
3
Views
2K
Replies
3
Views
2K
Replies
3
Views
1K
Replies
4
Views
2K
Replies
6
Views
2K
Replies
6
Views
3K
Back
Top