Velocity change under drag and other forces: small mass, large delta-t

Click For Summary
SUMMARY

This discussion focuses on simulating the movement of small spherical objects influenced by drag and gravity, specifically addressing challenges encountered with larger time steps (Δt). The user employs the formula for velocity change, incorporating parameters such as density (ρ = 997 kg/m³), drag coefficient (C_D = 0.8), radius (r = 30 x 10⁻⁹ m), and mass (m = 2.65 x 10⁻¹⁹ kg). The conversation highlights the necessity of smaller time steps to maintain accuracy, with suggestions for integrating drag force and utilizing differential equations for improved simulation results. Additionally, references to Stoke's Law and the Reynolds number are made to ensure the applicability of the drag coefficient in the simulation.

PREREQUISITES
  • Understanding of Newton's second law of motion and force summation
  • Familiarity with drag force calculations and drag coefficients
  • Basic knowledge of differential equations and numerical integration methods
  • Awareness of Reynolds number and its significance in fluid dynamics
NEXT STEPS
  • Research numerical integration techniques for simulating motion under variable forces
  • Explore the application of Stoke's Law in fluid dynamics simulations
  • Investigate the relationship between Reynolds number and drag coefficient for small particles
  • Learn about adaptive time-stepping methods to optimize simulation accuracy
USEFUL FOR

Researchers, physicists, and engineers involved in fluid dynamics simulations, particularly those working with small particles and drag forces in computational models.

lukas
Messages
2
Reaction score
0
I am working on simulating the movement of small spherical objects under the influence of drag and a number of other forces that, at least for now, don't depend on the object's velocity.
Normally I would sum up all these forces, including drag, to ##F_\Sigma## and update the object's speed (vector) like so: ##v_1=\frac{F_\Sigma \cdot \Delta t}{m}##. This seems to work fine for very small ##\Delta t## (e.g., 1e-6 s), but with the following example parameters for only drag and gravity I start running into trouble:
$$
\begin{align*}
\rho &= 997\ \frac{\text{kg}}{\text{m}^3} \\
C_D &= 0.8 \\
r &= 30 \cdot 10^{-9}\text{ m, and } A = \pi r^2 \\
\Delta t &= 0.001\text{ s} \\
v_0 &= 0.05\ \frac{\text{m}}{\text{s}} \\
m &= 2.65 \cdot 10^{-19}\text{ kg} \\
g &= 9.81\ \frac{\text{m}}{\text{s}^2}
\end{align*}
$$
Here, in the first time step, ##\Delta v## would be ## \frac{mg \cdot \Delta t}{m} - \frac{\rho A C_D v_0^2 \cdot \Delta t}{2m} = -10.6\ \frac{\text{m}}{\text{s}} ##, if I'm not mistaken, which in absolute terms is much higher than the theoretical terminal velocity of 1.5e-3 m/s, to which I would expect the object to decelerate. In the next time step, the velocity is about 478 km/s.

I was thinking that integrating over the drag force or the corresponding acceleration with respect to ##t## I should be able to get a more accurate approximation of the velocity after a large-ish time step. However, since I'm not familiar with differential equations, I started looking for existing solutions. One that stood out to me in particular was this one from StackExchange user ja72. His approach was that the acceleration for a given speed change can be written as
$$
a(v) = A_0 + A_1 v + A_2 v^2,
$$
with, for example, ##A_0=g## for gravity, ##A_1=0##, and ##A_2=-\frac{1}{2m} \rho A C_d## for drag. This led him to the following expression:
$$
\Delta v = \frac{A_0 + A_1 v_0 + A_2 v_0^2}{A_1 + 2 A_2 v_0} \left( 1 - \sqrt{ 1 - 2 (A_1 + 2 A_2 v_0) \Delta t} \right).
$$
This appears to work well again for very small time steps and as long as ##v_0## is not too large. If the time step is only slightly too large, the object's velocity rises above the terminal velocity in the first couple of time steps before eventually converging. If either the time step or ##v_0## is too large, the expression under the square root becomes negative.

So here is my question (in three parts):
  • Is what I am trying to do possible/feasible at all? I would really prefer to not use ##\Delta t## much lower than a millisecond.
  • Is there a better solution than / a better application of the solution that I found?
  • Do you perhaps know of a scientific publication of such a solution?
 
Last edited:
Physics news on Phys.org
Your initial time step must be such that the velocity changes by less than 10%, and preferably less than 1%. A general rule in simulations where the results diverge rapidly is to first try smaller time steps until you have at least 5 or 10 time steps per cycle or until it behaves properly. A good rule of thumb is to always make at least one run with a time step significantly shorter than the time step that seems to work.

Also, if you search drag coefficient sphere, you will note that the drag coefficient is a function of Reynolds number. Note also that this approach may not apply in your case, so also search Stoke's Law, which does apply.
 
Thank you, jrmichler! If there is no other way, I guess I'll have to live with longer simulation times or try some other tricks like leaving some computations for only every n-th time step.

Regarding the drag coefficient: I got the value 0.8 for a Reynolds number of 201.5 from figure 4 in
P. P. Brown and D. F. Lawler, "Sphere Drag and Settling VelocityRevisited" https://doi.org/10.1061/(ASCE)0733-9372(2003)129:3(222) (or https://pdfs.semanticscholar.org/969c/09d2677888cdc545b887334ef6b23bc4a0b6.pdf)
Are these conditions sufficient for applying Stoke's Law? Although I'm not sure about the reliability of their citation, the Wikipedia article on drag suggests Reynolds numbers less than 1, and "moving through a fluid at relatively slow speeds" seems to refer to speeds in the order of µm/s.
 
When the drag coefficient is a function of Reynolds number, it needs to be a variable in your simulation.

You could try making the time step variable. Use the acceleration to calculate the next time step for a given percent velocity change. Start with about 10% to debug the program, then reduce for more accuracy. Program termination would be based on acceleration decreasing below a set value.

lukas said:
"moving through a fluid at relatively slow speeds" seems to refer to speeds in the order of µm/s.
It's not velocity, it's Reynolds number. And the Reynolds number of a sub-micron (30E-9 m is 0.03 micron) size particle is really low.
 

Similar threads

  • · Replies 23 ·
Replies
23
Views
3K
  • · Replies 49 ·
2
Replies
49
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 30 ·
2
Replies
30
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 43 ·
2
Replies
43
Views
4K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 13 ·
Replies
13
Views
2K