Determine particle position knowing the velocity field

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 6K views
Zoli
Messages
19
Reaction score
0
Dear all,

I solved the Navier-Stokes equations in Eulerian description. I would like to illustrate it as follows:
I thought to place particles in the domain which will characterize the fluid flow. However I must know the particle position in the Lagrangian specification. As I place the particles at specified positions at t=0, I know the initial state. But how to step further?

Thanks,
Zoli
 
Physics news on Phys.org
The idea is to integrate the velocity of the particle u(x0) for a time step. Then the particle has reached a new position (x1) where it has a new velocity u(x1), and so you integrate that velocity, and so on…

Many fancier schemes abound for doing this estimation more accurately, but that's the basic idea.
 
This is given by the transformation between Euler and Lagrange coordinates:
[tex]\vec{r}=\vec{r}(t,\vec{R}).[/tex]
It describes the motion of a fluid element that was at the initial time, [itex]t=0[/itex] at position [itex]\vec{R}[/itex]. This mapping between [itex]\vec{r}[/itex] and [itex]\vec{R}[/itex] is invertible as long as there are no singularities like shock waves etc. Then you can express every quantity in both the Lagrange coordinates [itex]\vec{R}[/itex] and Euler coordinates [itex]\vec{r}[/itex]. E.g., the velocity of a fluid element is given by
[tex]\vec{v}(t,\vec{R})=\partial_t \vec{r}(t,\vec{R}).[/tex]
You can as well take the velocity field as function of the Euler coordinates. Then the relation is
[tex]\vec{v}(t,\vec{R})=\vec{v}[t,\vec{r}(t,\vec{R})] \equiv \vec{v}(t,\vec{r}).[/tex]
Then you have to distinguish between partial time derivatives (at fixed Euler coordinates [itex]\vec{r}[/itex]) and "material time derivatives (time derivatives at fixed Lagrange coordinates [itex]\vec{R}[/itex]. E.g., for the equations of motion (Euler perfect fluid or viscous Navier Stokes etc) you need the acceleration of a given fluid element, i.e., the material time derivative
[tex]\mathrm{D}_t \vec{v}=\frac{\partial}{\partial t} \vec{v}(t,\vec{r})+\frac{\partial \vec{r}(t,\vec{R})}{\partial t} \cdot \vec{\nabla}_{\vec{r}} \vec{v}(t,\vec{r})=\frac{\partial}{\partial t} \vec{v}(t,\vec{r})+(\vec{v} \cdot \vec{\nabla}_r) \vec{v}(t,\vec{r}).[/tex]

If you have the velocity field in Euler coordinates, [itex]\vec{v}(t,\vec{r})[/itex], you can thus simply calculate the trajectories of the fluid elements by solving the set of coupled differential equations as an initial-value problem:
[tex]\frac{\mathrm{d} \vec{r}}{\mathrm{d} t}=\vec{v}(t,\vec{r}), \quad \vec{r}(t=0)=\vec{R}[/tex]
This gives you the Euler coordinates in terms of the Lagrange coordinates, [itex]\vec{r}=\vec{r}(t,\vec{R}).[/itex]
 
So if I am not mistaken I should do the following for each particle:
1. Solve the initial-value problem to gain [itex]\vec{r}(t,\vec{R})[/itex] at different time steps. For this I must solve an IVP consisting of 2 equations because of the 2D-problem. But I have [itex]\vec{v}[/itex] at discrete points at each time.
2. How to continue?

Could you please specify algorithmically how to solve it? An example would help me a lot. E.g. let us regard I have the analytical solution [itex]\vec{v} = e^{-t}\cos(x)\sin(y)[/itex] on [itex][-1,1]\times[-1,1][/itex] in Euler coordinates given at [itex](x_1,y_1),\ldots, (x_N,y_N)[/itex] at [itex]t_0,t_1,\ldots,t_M[/itex]. How could I determine the position of the particle (that is [itex]\vec{R}(t)[/itex]) starting at [itex]\vec{R}(t=0)=(0,0)[/itex]?
 
vanhees71 said:
This is given by the transformation between Euler and Lagrange coordinates:
[tex]\vec{r}=\vec{r}(t,\vec{R}).[/tex]
It describes the motion of a fluid element that was at the initial time, [itex]t=0[/itex] at position [itex]\vec{R}[/itex]. This mapping between [itex]\vec{r}[/itex] and [itex]\vec{R}[/itex] is invertible as long as there are no singularities like shock waves etc. Then you can express every quantity in both the Lagrange coordinates [itex]\vec{R}[/itex] and Euler coordinates [itex]\vec{r}[/itex]. E.g., the velocity of a fluid element is given by
[tex]\vec{v}(t,\vec{R})=\partial_t \vec{r}(t,\vec{R}).[/tex]
You can as well take the velocity field as function of the Euler coordinates. Then the relation is
[tex]\vec{v}(t,\vec{R})=\vec{v}[t,\vec{r}(t,\vec{R})] \equiv \vec{v}(t,\vec{r}).[/tex]
Then you have to distinguish between partial time derivatives (at fixed Euler coordinates [itex]\vec{r}[/itex]) and "material time derivatives (time derivatives at fixed Lagrange coordinates [itex]\vec{R}[/itex]. E.g., for the equations of motion (Euler perfect fluid or viscous Navier Stokes etc) you need the acceleration of a given fluid element, i.e., the material time derivative
[tex]\mathrm{D}_t \vec{v}=\frac{\partial}{\partial t} \vec{v}(t,\vec{r})+\frac{\partial \vec{r}(t,\vec{R})}{\partial t} \cdot \vec{\nabla}_{\vec{r}} \vec{v}(t,\vec{r})=\frac{\partial}{\partial t} \vec{v}(t,\vec{r})+(\vec{v} \cdot \vec{\nabla}_r) \vec{v}(t,\vec{r}).[/tex]

If you have the velocity field in Euler coordinates, [itex]\vec{v}(t,\vec{r})[/itex], you can thus simply calculate the trajectories of the fluid elements by solving the set of coupled differential equations as an initial-value problem:
[tex]\frac{\mathrm{d} \vec{r}}{\mathrm{d} t}=\vec{v}(t,\vec{r}), \quad \vec{r}(t=0)=\vec{R}[/tex]
This gives you the Euler coordinates in terms of the Lagrange coordinates, [itex]\vec{r}=\vec{r}(t,\vec{R}).[/itex]

Using this idea, I managed to perform what I wanted. Thank you!