Безуспешно решить сложные группы ОДУ, используя Spy.integratesolve_bvpPython

Программы на Python
Anonymous
Безуспешно решить сложные группы ОДУ, используя Spy.integratesolve_bvp

Сообщение Anonymous »


Когда я выполняю свой код предложение за предложением, ошибок не возникает. Однако, когда я проверяю результаты (bvp solution in my code), it displays that I solve this ODE group falsely.

How can I run this code correctly?

Код: Выделить всё

import numpy as np
import scipy.integrate
from scipy.integrate import solve_bvp
import matplotlib.pyplot as plt

k=0.06
Theta=20
p=0.4 #porosity of the electrode
pi=3.14
L=4 #cm
R=8.314
F=96485
t2=0.78
C0=1
T=298.15
vs=1
aa=0.5
ac=0.5
a=23300
i0=2e-2
Dad=0.5
I=2
Da=900
B=(1/k*(p**(1.5)))+1/Theta
C=I/(2*pi*L*Theta)
D=2*R*T/F
E=Da*p**(1.5)

def battery(r,y):
A=np.exp((aa*F*y[0])/(R*T))-np.exp((-ac*F*y[0])/(R*T))
return np.vstack((y[1]*B-C/r+(D*y[3]/y[2])*(0.22+y[2]),
A/((1/a*i0)+A/Dad),
y[3],
((1-E)/E)*y[3]+(0.22/(E*F))*(A/((1/a*i0)+A/Dad))))

def boundary(ya,yb):
return [ya[1]-2/(2*3.14*4*10*4.2),yb[1],ya[2]-9,yb[3]]

n = 25
r = np.linspace(4.2, 6.9, n)
y = np.ones((4,r.size))
AA=solve_bvp(battery,boundary,r,y)
The results are below:

Код: Выделить всё

sol: 
status: 2
success: False


Источник: https://stackoverflow.com/questions/515 ... ccessfully

Вернуться в «Python»