[CoolProb] Viscosity model is not available for this fluid
Verfasst: Freitag 21. Oktober 2022, 14:44
Hallo zusammen,
ich muss mich gerade mit der Möglichkeit beschäftigen Gaseigenschaften von Gasgemischen abhängig von Druck und Temperatur zu bestimmen.
Dazu verwende ich die Bibliothek CoolProb
Ein Auszug aus meinem Code:
führt zur folgenden Fehlermeldung:
Die Meldung ist ja ziemlich eindeutig. Wenn ich den Druck und die Temperatur ändere, erhalte ich die Meldung trotzdem.
Es gibt eine Liste von CoolProb in der alle verfügbaren Fluide aufgelistet sind. Die einzelnen Bestandteile sind in diesem Fall gelistet und den Mix in meinem Code ist auch ein realistischer Mix und keine "Erfindung".
Es gibt auch verschiedene Backends die man theoretisch nutzen kann. REFPROP hört sich auch vielversprechend an, aber da muss man wohl eine Lizenz kaufen, wenn ich das richtig verstanden habe: https://www.nist.gov/srd/refprop
Mit den restlichen Backends bin ich auch zu keinem Ziel gekommen.
Die GitHub Issues habe ich auch mal durchgeschaut. Da findet man auch Probleme bei Gasgemischen und dadurch bin dann auch auf 'CoolProp.CoolProp.AbstractState' umgestiegen. Meine erste Versuche waren mit 'CoolProb.CoolProb.PropsSI'.
Das was ich da von Coolprob benutze sind Wrapper von C-Code. Ich habe mir zwar teilweise den C-Code angeschaut, auf den in der Doku immer wieder verwiesen wird, aber das hat mir gar nichts gebracht. Ich habe mir erhofft, dass es vielleicht noch Argumente/Optionen gibt, die ich setzen könnte um an meine Stoffeigenschaft zu kommen.
Ich bin natürlich auch kein Thermodynamiker und kann jetzt aus dem Gasmix irgendwelche Rückschlüsse ziehen, deswegen poste ich hier mein Problem mal.
Falls irgendjemand vielleicht Erfahrung mit CoolProb hat und/oder in der Doku einen entscheidenten Hinweis findet wäre ich sehr dankbar.
Da hier auch jeder andere Schwerpunkte und Interessen gibt, vielleicht kann auch einer wissenschaftlich begründen, wieso die Berechnung für diesen Gasmix nicht möglich ist. Auch darüber würde ich mich freuen.
Zum Schluss noch, es muss nicht CoolProb sein, auch in der Hinsicht bin ich vollkommen frei. An der Stelle muss ich ehrlich sagen, das ich noch nicht viel Zeit für die Suche nach Alternativen aufgebracht habe. Zum einen war die erste Suche nicht sonderlich erfolgreich und irgendwie habe ich mich dann doch weiters mit CoolProb beschäftigt und die Alternativen mal zurückgestellt.
Vielen Dank für jeden Hinweis und schon mal an jeden, der sich mit dem Problem beschäftigt.
Grüße
Dennis
Edit: Habe den Link zu den Backends vergessen.
ich muss mich gerade mit der Möglichkeit beschäftigen Gaseigenschaften von Gasgemischen abhängig von Druck und Temperatur zu bestimmen.
Dazu verwende ich die Bibliothek CoolProb
Ein Auszug aus meinem Code:
Code: Alles auswählen
import CoolProp
class Gas:
def __init__(self, gas_name, gas_percent, temperature, pressure):
self.temperature = temperature + 273.15
self.pressure = pressure * 10**5
# HEOS is the used backend
self._gas = CoolProp.CoolProp.AbstractState('HEOS', gas_name)
self._gas.specify_phase(CoolProp.iphase_gas)
self._gas.set_mole_fractions(gas_percent)
self._gas.update(CoolProp.PT_INPUTS, self.pressure, self.temperature)
@property
def dynamic_viscosity(self):
return CoolProp.CoolProp.AbstractState.viscosity(self._gas)
def main():
gas = Gas('H2&CO&CH4', (0.57, 0.21, 0.22), 80, 12)
print(gas.dynamic_viscosity)
if __name__ == '__main__':
main()
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Users\straub\AppData\Roaming\JetBrains\PyCharmCE2022.1\scratches\scratch_1.py", line 25, in <module>
main()
File "C:\Users\straub\AppData\Roaming\JetBrains\PyCharmCE2022.1\scratches\scratch_1.py", line 21, in main
print(gas.dynamic_viscosity)
File "C:\Users\straub\AppData\Roaming\JetBrains\PyCharmCE2022.1\scratches\scratch_1.py", line 16, in dynamic_viscosity
return CoolProp.CoolProp.AbstractState.viscosity(self._gas)
File "CoolProp\AbstractState.pyx", line 321, in CoolProp.CoolProp.AbstractState.viscosity
File "CoolProp\AbstractState.pyx", line 323, in CoolProp.CoolProp.AbstractState.viscosity
ValueError: Viscosity model is not available for this fluid
Es gibt eine Liste von CoolProb in der alle verfügbaren Fluide aufgelistet sind. Die einzelnen Bestandteile sind in diesem Fall gelistet und den Mix in meinem Code ist auch ein realistischer Mix und keine "Erfindung".
Es gibt auch verschiedene Backends die man theoretisch nutzen kann. REFPROP hört sich auch vielversprechend an, aber da muss man wohl eine Lizenz kaufen, wenn ich das richtig verstanden habe: https://www.nist.gov/srd/refprop
Mit den restlichen Backends bin ich auch zu keinem Ziel gekommen.
Die GitHub Issues habe ich auch mal durchgeschaut. Da findet man auch Probleme bei Gasgemischen und dadurch bin dann auch auf 'CoolProp.CoolProp.AbstractState' umgestiegen. Meine erste Versuche waren mit 'CoolProb.CoolProb.PropsSI'.
Das was ich da von Coolprob benutze sind Wrapper von C-Code. Ich habe mir zwar teilweise den C-Code angeschaut, auf den in der Doku immer wieder verwiesen wird, aber das hat mir gar nichts gebracht. Ich habe mir erhofft, dass es vielleicht noch Argumente/Optionen gibt, die ich setzen könnte um an meine Stoffeigenschaft zu kommen.
Ich bin natürlich auch kein Thermodynamiker und kann jetzt aus dem Gasmix irgendwelche Rückschlüsse ziehen, deswegen poste ich hier mein Problem mal.
Falls irgendjemand vielleicht Erfahrung mit CoolProb hat und/oder in der Doku einen entscheidenten Hinweis findet wäre ich sehr dankbar.
Da hier auch jeder andere Schwerpunkte und Interessen gibt, vielleicht kann auch einer wissenschaftlich begründen, wieso die Berechnung für diesen Gasmix nicht möglich ist. Auch darüber würde ich mich freuen.
Zum Schluss noch, es muss nicht CoolProb sein, auch in der Hinsicht bin ich vollkommen frei. An der Stelle muss ich ehrlich sagen, das ich noch nicht viel Zeit für die Suche nach Alternativen aufgebracht habe. Zum einen war die erste Suche nicht sonderlich erfolgreich und irgendwie habe ich mich dann doch weiters mit CoolProb beschäftigt und die Alternativen mal zurückgestellt.
Vielen Dank für jeden Hinweis und schon mal an jeden, der sich mit dem Problem beschäftigt.
Grüße
Dennis
Edit: Habe den Link zu den Backends vergessen.