Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Calculating vertical velocity from discrete horizontal velocities

  1. Mar 14, 2013 #1

    I'm working with a 2 x 3D arrays of fluid velocity values (east-west -> u and north-south -> v) and would like to properly calculate vertical velocities (w) from them (n.b. this is not homework). This ultimately needs to go into a processing algorithm, so while symbolic math is instructive, it needs to be implementable in programming code (other than Mathematica/Matlab). I know that the continuity equation dw/dz = -∇.v can be integrated to give w, but I'm not sure how to work this properly given arrays of point values. Another wrinkle is that my horizontal bin size is not the same as my vertical bin size (e.g. x and y sides are 1 km, z is 15 m)

    u@z = 10m
    1 2 3 4
    1 2 3 4
    1 2 3 4

    u@z = 25m
    2 3 4 5
    2 3 4 5
    2 3 4 5

    v@z = 10m
    1 1 1 1
    2 2 2 2
    3 3 3 3

    2 2 2 2
    3 3 3 3
    4 4 4 4

    One option is to take the difference between point locations, but that converts the data locations into midpoints. I'd prefer to avoid back-interpolating if that's possible, though I don't mind losing the edge values.

    Anyways, any advice on how to extract vertical velocity values from 3D point arrays would be appreciated. Thanks!
  2. jcsd
  3. Mar 14, 2013 #2
    Calculating vertical velocity - dx and dy from kernel

    Rather than taking midpoints, it looks like I can calculate dx and dy at the midpoint if I use a 3x3 kernel. e.g.

    a b c
    d e f
    g h i

    [du/dx] = ((c + 2f + i) - (a + 2d + g) / 8
    [dv/dy] = ((g + 2h + i) - (a + 2b + c)) / 8

    I guess the key now is to account for the difference in horizontal and vertical scales...
  4. Mar 14, 2013 #3


    User Avatar
    2017 Award

    Staff: Mentor

    With appropriate prefactors. Your sides in the horizontal directions have an area of 15m*1km, while your sides in the vertical direction have an area of 1km*1km. Therefore, the vertical velocity is smaller by a factor of 1km/(15m)=200/3, compared to a grid with uniform density in all directions.
  5. Mar 14, 2013 #4
    Perfect. I was wondering if it could be handled that way, and I'm glad that you're confirming it. Thanks -
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Similar Discussions: Calculating vertical velocity from discrete horizontal velocities