Suche Hilfe bei Simulation: "VisibleDeprecationWarning"

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
rumo
User
Beiträge: 1
Registriert: Freitag 28. Oktober 2016, 12:46

Hallo Zusammen!
Ich bin neu in der Welt des Programmierens und versuche mich gerade an einer einfach Simulation. Inhaltlich ist es nun erstmal egal worum es geht, ich möchte letztlich nur einen Diffusionskoeffizienten berechnen. Ich hab den folgenden Code benutzt, bekomme aber immer den unten genannten Error. Ich interpretier den so dass Python lieber nen integer hätte, aber mein Dif-Koeffizient ist nunmal keine ganze Zahl?
Wie gesagt ich versuch mich gerad erst dran, wär nett wenn mir da jemand einen Tipp geben könnte.

Grüße

Heir der Code

Code: Alles auswählen

import numpy
import scipy 
import matplotlib


#Bestimmung D_eff für poröse Medien

def Diffusionskoeffizient (D_kn, epsilon_p, nu_p):

    "calculate D_eff"
T=10
M_Schlange=60												# mittlere Molmasse Stoffgemisch [g/mol]
d_p=	10^(-6)												# Porendurchmesser [m]
R_Schlange=8.314												# Gaskonstante [J/(mol*K)]
#nu_p=L_eff/L                                                               # Tortuositaet
nu_p=3,6
#epsilon_p=(V_poren/V_ges)								     # Poroesitaet
epsilon_p=0,46
D_kn = (d_p/3)*numpy.sqrt((8*R_Schlange*T)/(numpy.pi*M_Schlange)) 	           # Knudsen Diffusionskoeffizient
D_eff = D_kn*epsilon_p/nu_p    
return (D_eff)
Error:
run duw.py
duw.py:20: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
D_eff = D_kn*epsilon_p/nu_p
Zuletzt geändert von Anonymous am Freitag 28. Oktober 2016, 13:31, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@rumo: Nachdem man den Code soweit von Fehlern beseitigt, das man ihn auch ausführen kann (Einrückung korrigieren und die Funktion auch tatsächlich aufrufen) kommt neben der Warnung ein `TypeError`:
[codebox=text file=Unbenannt.txt]$ python forum7.py
forum7.py:21: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
D_eff = D_kn*epsilon_p/nu_p
Traceback (most recent call last):
File "forum7.py", line 24, in <module>
Diffusionskoeffizient(None, None, None)
File "forum7.py", line 21, in Diffusionskoeffizient
D_eff = D_kn*epsilon_p/nu_p
TypeError: unsupported operand type(s) for /: 'tuple' and 'tuple'[/code]
Und die Warnung hat mit diesem Fehler zu tun, denn auch bei der Multiplikation ist eines der beiden Argumente ein Tupel. Tupel werden durch Kommas erstellt:

Code: Alles auswählen

In [13]: 3,6
Out[13]: (3, 6)

In [14]: 3.6
Out[14]: 3.6
Antworten