Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. clear all
  2. mu=0.01; tau=100; L=1; M=100; N=2000; x=linspace(0,L,M)';
  3. v=sqrt(tau/mu); dx=x(2)-x(1); dt=dx/v; p=(v*dt/dx)^2;
  4. %s=-2*x.^2 + 0.8*x + 0.92; g=transpose(sin((1:M)*2*3.14)); l=sin((0:N)'*dt*1000); r=-0.28*ones(length(1),N);
  5. h=0.8 * ones(length(1),N);
  6.  
  7. s = exp(-5*(x-0.8).^2);
  8. g = x.^2-x;
  9. l = 0.04*ones(1,N);
  10. k = -1.6*ones(1,N);
  11.  
  12. b = 0.5;
  13. beta = b/2/mu;
  14. q = 1+beta*dt;
  15. u = 1-beta*dt;
  16.  
  17. f(:,1)=s;
  18. %f(M,2)=p*(k(1)*2*dx + f(M-1,1) - 2*f(M,1) +f(M-1,1)) + +2/q*f(M,1)-u/q*(f(M,2) - g()*2*dt); % 13
  19. f(M,2)=(2*p*(k(1)*dx - f(M,1) +f(M-1,1)) + +2/q*f(M,1) + u/q*g(M)*2*dt)/(1+u/q); % 13
  20. f(2:M-1,2)=p/2*(f(3:M,1)-2*f(2:M-1,1)+ f(1:M-2,1))+f(2:M-1,1)+u*dt*g(2:M-1);
  21. f(1,2)=l(2);
  22. for n=2:N-1
  23. f(1,n+1)=l(n+1);
  24. f(M,n+1)=2*p/q*(k(1)*2*dx + f(M-1,n) -2*f(M,n)- +f(M-1,n) )+2/q*f(M,n)-u/q*f(M,n-1); %13,15,17,18
  25. f(2:M-1,n+1)=p/q*(f(3:M,n)-2*f(2:M-1,n)+f(1:M-2,n))+2/q*f(2:M-1,n)-u/q*f(2:M-1,n-1);
  26.  
  27. clf;
  28. plot(1:M,f(:,n));
  29. ylim([-4,4]);
  30. drawnow;
  31. end
  32.  
  33.  
  34. % f(:,1)=s;
  35. % f(1,2)=p*(f(2,1)- f(1,1)-dx*h(1)) + f(1,1) +dt*g(1);
  36. % f(2:M-1,2)=p/2*(f(3:M,1)-2*f(2:M-1,1)+ f(1:M-2,1))+f(2:M-1,1)+dt*g(2:M-1);
  37. % f(M,2)=r(2);
  38. % for n=2:N-1
  39. % f(1,n+1)=2*p*(f(2,n)-f(1,n)- dx*h(n) )+2*f(1,n)-f(1,n-1);
  40. % f(2:M-1,n+1)=p*(f(3:M,n)-2*f(2:M-1,n)+f(1:M-2,n))+2*f(2:M-1,n)-f(2:M-1,n-1);
  41. % f(M,n+1)=r(n+1);
  42. % clf;
  43. % plot(1:M,f(:,n));
  44. % ylim([-4,4]);
  45. % drawnow;
  46. % end
  47.  
  48. surf(f)
  49. shading interp
  50.  
  51. % plot(x, f(:,N),'LineWidth', 2);
  52. %
  53. % hold on
  54. % yE = 0.8.*x - 1.08;
  55. % plot(x, yE,'r','LineWidth', 2);
  56. % grid on
  57. %
  58. % legend('last iteration', 'equilibrium');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement