Ich habe eine eindimensionale instationäre Wärmeübertragungsanalyse mit Heatrapy von Open Source versucht. Vor kurzem mache ich eine leidenschaftliche Beziehung bei der Arbeit.
pip install heatrapy
Sie können Folgendes tun: Sie können ziemlich viel tun!
Die theoretischen sind in den folgenden Abhandlungen zusammengefasst. Vielen Dank https://www.sciencedirect.com/science/article/pii/S2352711018301298#!
Ein Beispiel in Dokumentation.
Die Materialdaten befinden sich im Installationsordner / heatrapy / database. Wenn Sie es hier hinzufügen, können Sie Materialien hinzufügen. Jeder Dateiname im Materialordner bedeutet die folgenden Werte für physikalische Eigenschaften, und die Werte können temperaturabhängig sein.
--cp: Spezifische Wärme [J / kg ℃] --k: Wärmeleitfähigkeit [W / m K]
Selbst wenn ich versuche, es als Dokument zu verschieben, funktioniert es nicht. .. .. (Ich glaube nicht, dass es beibehalten wird) Also habe ich mir den Quellcode angesehen und ihn behoben.
Wenn Sie den folgenden Code ausführen, wird das Analyseergebnis in example.txt ausgegeben. write_interval gibt an, wie viele Sekunden das Ergebnis ausgegeben wird. Es stehen vier Löser zur Verfügung, und Sie können sie anscheinend entsprechend auswählen.
run.py
import heatrapy as ht
example = ht.single_object(amb_temperature=293, materials=('Gd',), borders=(1,11),materials_order=(0,),
dx=0.05, dt=1., file_name='example.txt',boundaries=(300,0), Q=[], Q0=[],initial_state=False)
example.compute(timeInterval=30000, write_interval=300, solver='implicit_k(x)')
In der Dokumentation heißt es, die Ergebnisse in physplotlib zu sehen, aber wir werden Pandas verwenden, um die Ergebnisse zu sehen.
read_data.py
df = pd.read_csv("example.txt")
Lesen Sie die Ausgabedatei oben. Wie unten gezeigt, wird die Temperatur an jedem Knoten als Zeitverlauf ausgegeben.
Schauen wir uns die Grafik an
graph.py
df = pd.read_csv("example.txt")
df=df.drop("heat[1](W)",axis=1)
df=df.drop("heat[-2](J)",axis=1)
df = df.set_index("time(s)")
df.plot(figsize=(15,8))
Der Graph der eindimensionalen instationären thermischen Analyse!
Es ist eine großartige Bibliothek. Wie Sie in der Arbeit sehen können, passen thermische Analyse und objektorientierte Programme sehr gut zusammen! Wenn eine solche Bibliothek wächst, muss die Fertigungsindustrie die Räder nicht "neu erfinden", aber das ist immer noch eine Geschichte.