Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- import numpy as np
- from scipy.integrate import odeint
- from matplotlib import pyplot as plt
- def central_difference(tau, h, u, concentration):
- for i in range(2, 30):
- concentration[i] = concentration[i - 1] - ((tau * u)) / (2 * h) * (
- concentration[i] - concentration[i - 2])
- h = 0.1
- tau = 0.1
- u = 4
- x = np.arange(0, 6, h)
- concentration = [0 for i in range(60)]
- for i in range(30):
- if i < 15:
- concentration[i] = 200
- else:
- concentration[i] = 500
- print(concentration)
- fig, axs = plt.subplots(11)
- fig.set_size_inches(7, 20)
- t = np.arange(0.1, 1, tau)
- for j, i in enumerate(t):
- central_difference(i, h, u, concentration)
- print(concentration)
- axs[j].plot(x, concentration)
- fig.tight_layout()
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement