Pressure Field From Velocity Field
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a velocity field in MATLAB as two 641x861 arrays (Vx and Vy) and I need to convert it to a pressure field to determine the pressure difference / gradient between two points. I've tried a handful of approaches (pressure Poisson, Euler equation, etc.) but am struggling with the fact that I already have the velocity field over time and don't need to find u* / v*, u^n+1 / v^n+1.
Right now, I'm trying to use the attached equations but the pressure field values don't seem correct. Do I need to set up a separate mesh even though I already have the velocity at specific points? I assumed that I could use the size of my Vx and Vy arrays as my mesh. I'm also unsure how to appropriately integrate the partial derivatives over a path.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1117725/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1117730/image.png)
Here's my current code:
imin = 2; imax = m;
jmin = 2; jmax = n;
Px = zeros(imax,jmax);
Py = zeros(imax,jmax);
dx = 1;
dy = 1;
for j = jmin:jmax
for i = imin:imax
Px(i,j) = -rho*(Vx(i,j)*((Vx(i+1,j)-Vx(i-1,j))*0.5*dx)+Vy(i,j)*((Vx(i,j+1)-Vx(i,j-1))*0.5*dy));
Py(i,j) = -rho*(Vx(i,j)*((Vy(i+1,j)-Vy(i-1,j))*0.5*dx)+Vy(i,j)*((Vy(i,j+1)-Vy(i,j-1))*0.5*dy));
end
end
Should I be going about this a different way? Thank you in advance for any feedback!
Respuestas (0)
Ver también
Categorías
Más información sobre Fluid Dynamics en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!