Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. B = 0.0065;
  2. lambda = 0.08;
  3. l = .0001;
  4. p = input('enter p: ');
  5. tstep = .000001;
  6. i = 2;
  7. P(1) = 1;
  8. C(1) = lambda./B;
  9. tval(1) = 0;
  10.  
  11. for t=0:tstep:.001
  12. dP = ((p-B)./l) * P(i-1) + lambda * C(i-1);
  13. dC = (B./l) * P(i-1) - lambda * C(i-1);
  14.  
  15. if P(i-1) + dP * tstep>5, break, end
  16. if P(i-1) + dP * tstep<.000001, break, end
  17.  
  18. P(i) = P(i-1) + dP * tstep;
  19. C(i) = C(i-1) + dC * tstep;
  20.  
  21. tval(i)=t;
  22. i=i+1;
  23. end
  24.  
  25. w1 = 1./2 .* ( - (lambda + B./l - p./l) + ( (lambda + B./l - p./l).^2 + (4.*p.*lambda)./l ).^(1/2) );
  26. w2 = 1./2 .* ( - (lambda + B./l - p./l) - ( (lambda + B./l - p./l).^2 + (4.*p.*lambda)./l ).^(1/2) );
  27. A1 = (p./l - w2) ./ (w1 - w2);
  28. A2 = (w1 - p./l) ./ (w1 - w2);
  29. B1 = A1 ./ (w1 + lambda);
  30. B2 = A2 ./(w2 + lambda);
  31.  
  32. x = 0:0.0001:t;
  33. P2 = A1 .* exp(w1 .* x) + A2 .* exp(w2 .* x);
  34. C2 = B1 .* exp(w1 .* x) + B2 .* exp(w2 .* x);
  35.  
  36. plot(tval, P, 'b', tval, C, 'r', x, P2, 'c', x, C2, 'k')
  37. axis([0 t * 1.1 0 13])
  38. legend('P(t)', 'C(t)', 'P(t) exact', 'C(t) exact', 'location', 'EastOutside')
  39. title(strcat('Point Reactor Kinetics Equations with One Delayed Neutron for p= ', num2str(p), ' $'))
  40. xlabel('time')
  41. ylabel('P(t) and C(t)')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement