Kinematics of a particle with drag

In summary, you can integrate this to get the position, there is no need to derive v(t) again. If you do it in time steps, you can also add drag.
  • #1
chimpz
7
0
(this is all in context to a java 2d object and is not homework related)

I have an object with velocity [itex]v[/itex] and position [itex]x[/itex].
Its acceleration is directly proportional to velocity squared ie [itex]a=k v^{2}[/itex].
Given the objects initial velocity [itex]u[/itex] and its initial position [itex]x_{0}[/itex] how would i work out its velocity and position at time [itex]t[/itex]?

I have tried integrating:

[itex]a = \frac{dv}{dt} = kv^{2}[/itex]

[itex]\int^{v}_{u} v^{-2} dv = \int^{t}_{0} k dt[/itex]

[itex]\frac{1}{u} -\frac{1}{v} = kt [/itex]

[itex]v = \frac{1}{\frac{1}{u} - kt}[/itex]

tbh I got a lot further while writing this post than I did trying to work it out before
trying to get the new position:

[itex]\int v^{-2} dv = \int k dt[/itex]

[itex]-\frac{1}{v} = kt[/itex]

[itex]v = \frac{dx}{dt} = -\frac{1}{kt}[/itex]

[itex] \int^{x}_{x_{0}}1\:dx=\int^{t}_{0}-\frac{1}{kt}dt[/itex]

[itex]x-x_{0}=-\frac{1}{k}\left[\:ln|t|\:\right]^{t}_{0}[/itex]

But you can't [itex]ln|0|[/itex] :/
So, without bounds:

[itex]x=-\frac{1}{k}ln|t| + c[/itex]

Now I'm stuck.

How would I update the location?

Also, how would I implement drag while the engines were on?

Part of my code:
Code:
public void update(double delta) {
	if (engines) {
		double dv = Math.sqrt(2 * powerToWeight * delta);
		Vector2f temp = dir.copy(); //dir is the direction of the engine's force
		temp.scale(dv);
		velo.add(temp);
		double dx = dv * delta * 2 / 3;
		temp = velo.copy();
		temp.scale(dx);
		loc.add(temp);
		// TODO add drag
	} else {
		velo.i = (float) (1 / ( (1 / velo.i) - drag * delta ));
		velo.j = (float) (1 / ( (1 / velo.j) - drag * delta ));
		// TODO update location
	}
}

Pleased with myself for using the itex tags for the first time :D

Edit: could this be considered a hw-type question?
 
Last edited:
Physics news on Phys.org
  • #2
chimpz said:
[itex]v = \frac{1}{\frac{1}{u} - kt}[/itex]
You can integrate this to get the position, there is no need to derive v(t) again.

How would I update the location?
If you do it in time steps: ##x += v \delta t##

Also, how would I implement drag while the engines were on?
Add this as acceleration, try to derive v(t) again. If that does not work, do it in time steps.
 
  • #3
I forgot [itex]u[/itex] was a constant :P ok so:

[itex]\int^{x}_{x_{0}}1\;dx=\int^{t}_{0}\frac{1}{\frac{1}{u} - kt}dt[/itex]

[itex]x-x_{0} = -\frac{1}{k}\;[\;ln|\frac{1}{u} - kt|\;]^{t}_{0}
= -\frac{1}{k}(\;ln|\frac{1}{u} - kt|\; - \;ln|\frac{1}{u}|\;) = -\frac{1}{k}\;ln|1-ktu|[/itex]

so I'm guessing i do this separately for each component of the vector :)
Thank you for pushing me xD
 
  • #4
In general, you cannot separate those components, they are coupled. Without other sources of acceleration, the motion happens in one dimension only, so you can rotate that x in the appropriate direction.
 
  • #5
O .. i was pretty sure you could separate the [itex]i[/itex] and [itex]j[/itex] components.
but a problem occurs when [itex]u[/itex] is a large positivehere is part of my update method now when there are no other forces on the object:
Code:
if (velo.i != 0) {
	loc.i += (float) (Math.log(1 - dragConst * delta * velo.i) / dragConst);
	velo.i = (float) (1 / ((1 / velo.i) - dragConst * delta));
}

if (velo.j != 0) {
	loc.j += (float) (Math.log(1 - dragConst * delta * velo.j) / dragConst);
	velo.j = (float) (1 / ((1 / velo.j) - dragConst * delta));
}
 
Last edited:
  • #6
Wait... if you update it step by step, why do you use the general formula?
What about velo.i = velo.i - velo.i*sqrt(velo.i^2 + velo.j^2)*k?

I hope I got the angles right.
 

1. What is kinematics of a particle with drag?

Kinematics of a particle with drag is the study of the motion of a particle as it moves through a fluid and experiences resistance, or drag, from the fluid. It is a branch of physics that combines the principles of kinematics and fluid dynamics.

2. How does drag affect the motion of a particle?

Drag affects the motion of a particle by slowing it down as it moves through a fluid. This is due to the force of drag, which is caused by the friction between the particle and the fluid. As the particle moves faster, the drag force increases, ultimately reaching a point where it is equal to the force propelling the particle forward, resulting in a constant speed known as terminal velocity.

3. What factors affect the drag force on a particle?

The drag force on a particle is affected by several factors, including the size and shape of the particle, the density and viscosity of the fluid, and the speed of the particle. These factors determine the type and magnitude of the drag force, which can be either laminar or turbulent.

4. How is the motion of a particle with drag represented mathematically?

The motion of a particle with drag can be represented mathematically using equations of motion, such as Newton's second law, which takes into account the drag force acting on the particle. Other equations, such as the drag equation and the terminal velocity equation, can also be used to calculate the effects of drag on the motion of a particle.

5. What are some real-world applications of kinematics of a particle with drag?

Kinematics of a particle with drag has many real-world applications, including the study of fluid dynamics in weather patterns, the design of aircraft and vehicles, and the development of sports equipment. It is also used in industries such as aerospace, automotive, and marine engineering to optimize the performance and efficiency of various systems and structures.

Similar threads

  • Mechanics
Replies
30
Views
801
  • Mechanics
Replies
17
Views
167
  • Calculus and Beyond Homework Help
Replies
2
Views
566
Replies
7
Views
4K
Replies
10
Views
666
Replies
68
Views
3K
Replies
1
Views
435
  • Introductory Physics Homework Help
Replies
16
Views
389
Replies
49
Views
1K
Back
Top