unsteady flow -- for loops - matlab
unsteady flow -- for loops - matlab
(OP)
Hi all,
I am writing a code for an unsteady flow in maltab. This code is over simplified just to realize where I am going wrong and understand the basic first...
n = number of time steps
h = number of cells
v1 = zeros(h,n+1); %v1(x,t)
v1(1,= 0; %boundary condition
for j = 1: n+1
for j = 1: h
v1(i,j+1) = v1(i,j) + dt*eye(h,h)*2*v(i,j); %Euler time stepping
v1(end,j+1)=1; %boundary condition
end
end
Obviously this code does not work. But hopefully it will help in understanding my questions:
1) v1 is mean to be a (h,1) matrix at each time step. but when I apply
eye(h,h)*2*v(i,j), the code tries to multiply a (h,h) matrix with a (h,j) matrix, and not a (h,1) matrix. so I get errors. I am not sure how to change that so that eye(h,h) is multiplied by that v of each time...
2) In general, is this a reasonable approach to solve an unsteady flow problem.
Thank you in advance!
I am writing a code for an unsteady flow in maltab. This code is over simplified just to realize where I am going wrong and understand the basic first...
n = number of time steps
h = number of cells
v1 = zeros(h,n+1); %v1(x,t)
v1(1,= 0; %boundary condition
for j = 1: n+1
for j = 1: h
v1(i,j+1) = v1(i,j) + dt*eye(h,h)*2*v(i,j); %Euler time stepping
v1(end,j+1)=1; %boundary condition
end
end
Obviously this code does not work. But hopefully it will help in understanding my questions:
1) v1 is mean to be a (h,1) matrix at each time step. but when I apply
eye(h,h)*2*v(i,j), the code tries to multiply a (h,h) matrix with a (h,j) matrix, and not a (h,1) matrix. so I get errors. I am not sure how to change that so that eye(h,h) is multiplied by that v of each time...
2) In general, is this a reasonable approach to solve an unsteady flow problem.
Thank you in advance!
RE: unsteady flow -- for loops - matlab
Fe