[PYTHON] Versuchen Sie eine 1,5-dimensionale instationäre Wärmeübertragungsanalyse mit Heatrapy

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.

Umgebung

pip install heatrapy

Was du tun kannst

Sie können Folgendes tun: Sie können ziemlich viel tun!

【Modell】

image.png

Papier-

Die theoretischen sind in den folgenden Abhandlungen zusammengefasst. Vielen Dank https://www.sciencedirect.com/science/article/pii/S2352711018301298#!

Eindimensionale instationäre thermische Analyse einer Komponente

Ein Beispiel in Dokumentation.

image.png

[Analysebedingungen]

【Material】

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]

[Ausführung]

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)')

[Visualisierung der Ergebnisse]

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.

image.png

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))

image.png

Der Graph der eindimensionalen instationären thermischen Analyse!

Impressionen

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.

Recommended Posts

Versuchen Sie eine 1,5-dimensionale instationäre Wärmeübertragungsanalyse mit Heatrapy
Zweidimensionale instationäre Wärmeleitungsanalyse mit Python
Dimensionskomprimierung durch Selbstcodierer- und Hauptkomponentenanalyse