import numpy as np
import numpy as np
# Parameters
k1 = 0.1
k2 = 0.01
k3 = 0.2
# Differential equations
rv = k1 * Ca * Cb
rw = k2 * Ca**2 / (1 + k3 * Cv**0.5)
dCb_dt = -rv
dCv_dt = rv
dCw_dt = rw
# Initial conditions
Ca0 = 0.25
Cb0 = 0.75
Cv0 = 0.0
Cw0 = 0.0
stop_condition.terminal = True
t_span = (0, 1000) # Initial time span, will be adjusted by the solver
# Extract results
t = solution.t
Ca = solution.y[0]
Cb = solution.y[1]
Cv = solution.y[2]
Cw = solution.y[3]
# Plotting
plt.figure(figsize=(10, 6))
plt.xlabel('Time (min)')
plt.ylabel('Concentration (M)')
plt.legend()
plt.grid(True)
plt.show()