Was ist der beste Weg, ein nichtlineares kinetisches Problem mit Python zu lösen?Python

Python-Programme
Anonymous
 Was ist der beste Weg, ein nichtlineares kinetisches Problem mit Python zu lösen?

Post by Anonymous »

Ich habe ein chemisches Kinetikproblem, bei dem mehrere Spezies beteiligt sind, die Elektronen untereinander übertragen können. Ich kann die Kinetik mit einem System aus fünf Differentialgleichungen beschreiben.
Ich versuche, das Modell an zeitaufgelöste spektroskopische Daten anzupassen. Ich glaube, dass dieses System analytisch gelöst werden sollte, deshalb versuche ich, das System mit sympys dsolve:
zu lösen

Code: Select all

from sympy import *

# Assumptions: Since the concentration of Ascn remains practically constant, [Ascn] is absorbed into k1

Ru2p, Rup, Asc, Rep, Re = symbols('Ru2p Rup Asc Rep Re', cls=Function)

Rep0, t, k1, k2, k3, k4 = symbols('Rep0 t k1 k2 k3 k4')

eq1 = Eq(diff(Ru2p(t)), -k1*Ru2p(t))
eq2 = Eq(diff(Rup(t)), k1*Ru2p(t) - k2*Rup(t)*Asc(t) - k3*Rup(t)*Rep(t))
eq3 = Eq(diff(Asc(t)), k1*Ru2p(t) - k2*Rup(t)*Asc(t)-k4*Asc(t)*Re(t))
eq4 = Eq(diff(Rep(t)), -k3*Rup(t)*Rep(t) + k4*Asc(t)*Re(t))
eq5 = Eq(diff(Re(t)), k3*Rup(t)*Rep(t) - k4*Asc(t)*Re(t))

system = [eq1, eq2, eq3, eq4, eq5]
ics = {Ru2p(0):1,Rup(0):0,Asc(0):0,Rep(0):Rep0,Re(0):0}

solution = dsolve(system,[Ru2p(t),Rup(t),Asc(t),Rep(t),Re(t)],ics=ics)
print(solution)
Dies führt zu:

Code: Select all

Traceback (most recent call last):
File "Ruthenium.py", line 19, in 
solution = dsolve(system,[Ru2p(t),Rup(t),Asc(t),Rep(t),Re(t)],ics=ics)
File "/home/max/.local/lib/python3.6/site-packages/sympy/solvers/ode/ode.py", line 599, in dsolve
raise NotImplementedError
NotImplementedError
Mir ist nicht klar, was genau nicht implementiert ist, daher weiß ich nicht, was die aktuelle Einschränkung bei dieser Methode ist, für die ich eine Lösung finden muss. Ich würde mich freuen, wenn mir jemand Tipps geben könnte, wie ich dieses System lösen könnte, vorzugsweise mit Python.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post