Eulerian Position and Velocity Updates - Compressible Fluid Dynamics
Ältere Kommentare anzeigen
Hello Everyone,
It is my first time writing in this forum, so please be patient with me :)
I am writing a code following Smoothed Particle Computation (SPC) method for solving a Compressible Fluid Dynamics Problem.
In my code I got to a point where I need to do the following:
Basically, say at time = 0, I have a certain velocity u, a position x and acceleration a.
Now, I want to update u and x for an amount of time steps, using the following fomulae:
u (t+1) = u(t) + acceleration*dt
x(t+1) = x(t) + u(t+1)*dt
t = original time/time index
t+1 = new time
dt = 1 (for example), acceleration = same for every time step. In my case I would like to have 10 time steps.
How do I do it?
Thanks, Fed
Here is my code so far, just for fashion :
clc, clear
N=61; sigma = 5; m = 1; a=1;
j = 1:61;
x_j = j - 1 + 0.5*sign((N+1)/2 - j).*(1-exp(-0.2.*( j-(N+1)./2).^2) )
for x_i = [1:61]
ro = m/(sqrt(pi)*sigma).*exp((-(x_i-x_j).^2)./sigma^2)
del_ro = (2*m)/(sqrt(pi)*sigma^3).*(x_i-x_j).^2.*exp((-(x_i-x_j).^2)./sigma^2)
u_j = (-(a^2.*log(ro)))./2
acc = (- a^2./ro).*del_ro
end
for k = 1:10
u_j_new(k+1) = u_j(k) +acc(k)
x_j_new(k+1) = [x_j(k).*u_j_new(k)]
ro_new(k+1) = m/(sqrt(pi)*sigma).*exp((-(x_i-x_j_new).^2)./sigma^2)
end
Akzeptierte Antwort
Weitere Antworten (3)
dwight nwaigwe
am 20 Apr. 2011
0 Stimmen
whoops, the second line should be
x_j = x_j+u_j_new
Federico
am 21 Apr. 2011
0 Stimmen
dwight nwaigwe
am 26 Apr. 2011
0 Stimmen
Hi Federico, Well, the loop over k is responsible for the evolution of your points in time. Is your first loop for initialization? Where does del_ro come into play?
I'm not into CFD but I am familiar with fluid mechanics and numerical methods (although I may be rusty).
Are you new to programming? If so, don't be afraid because it's not that hard. You just have to learn the "rules" of programming.
Kategorien
Mehr zu Fluid Dynamics finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!