1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Determine particle position knowing the velocity field

  1. Jul 15, 2014 #1
    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
     
  2. jcsd
  3. Jul 15, 2014 #2

    olivermsun

    User Avatar
    Science Advisor

    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.
     
  4. Jul 15, 2014 #3

    vanhees71

    User Avatar
    Science Advisor
    2016 Award

    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]
     
  5. Jul 15, 2014 #4
    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]?
     
  6. Sep 27, 2014 #5
    Using this idea, I managed to perform what I wanted. Thank you!
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook