Werkzeuge, die ich während meiner Promotion untersuchen wollte (aber nicht getan habe)
StudiumToolsIdeeIch habe kürzlich meine Promotion im Fachbereich Materialwissenschaften an der ETH Zürich abgeschlossen. Meine Forschung konzentrierte sich auf die Vorhersage makroskopischer Polymereigenschaften anhand von Netzwerkstrukturen und Syntheseverfahren. Die meiste Zeit habe ich damit verbracht,
- Molekulardynamik-(MD)-Simulationen (wie diese) um die Struktur und Dynamik von Polymernetzwerken zu untersuchen,
- und die Entwicklung neuer Methoden zur Vorhersage makroskopischer Eigenschaften, darunter Normalmodusanalyse für Viskoelastizität und das MEHP-Kraftausgleichsverfahren für den Gleichgewichtsschermodul, sowie das Schreiben der Codes, um diese Methoden umzusetzen und die Daten zu analysieren.
Ich hatte die Gelegenheit, viele verschiedene Werkzeuge und Techniken zu erkunden, darunter maschinelles Lernen, um Daten zu analysieren und Vorhersagen zu treffen. Allerdings gab es auch einige, denen ich begegnet bin, die ich aber nicht ausführlich erkunden konnte. Diese werden in diesem Beitrag besprochen.
Software, die ich nie untersucht habe, die mich aber interessiert hat
- Topoly: Topoly ist ein Python-Paket zur Analyse der Polymertopologie. Obwohl ich Schleifenbrüche, hängende und freie Fraktionen sowie Stränglängenverteilungen analysierte, habe ich die topologischen Eigenschaften der Netzwerke nicht wirklich untersucht, was interessant gewesen wäre.
- SWIG: Für die Schnittstelle zwischen C++ und Python habe ich pybind11 verwendet. Später hörte ich von SWIG, das scheint allgemeiner zu sein. Es könnte auch nützlich sein, um meinen C++-Code für andere Sprachen wie Java und R zu wrappen, was die Nutzung der von mir entwickelten Codes erweitern könnte.
treedifferencing: Für Arbeiten, die ich selbst geschrieben habe, habe ich LaTeX verwendet. Während der Überarbeitungen musste ich manuell angeben, ob eine Änderung eine Löschung, eine Ergänzung oder eine Modifikation war, was zeitaufwendig und fehleranfällig war. Ich habe versucht,latexdiffzu erweitern, dann ein neues Tool mit Vibe-Coding gebaut, aber beide hatten Einschränkungen. Später fand ichtreedifferencing, was ein entscheidendes Puzzlestück hätte sein können, und ich wünschte, ich hätte es früher entdeckt.- TEPPP: Ich bin früh in meiner Promotion auf die Topological Entanglement in Polymers, Proteins and Periodic Systems (TEPPP)-Software gestoßen. Ich war sehr daran interessiert als Werkzeug zur Analyse von Verschränkungen in Polymernetzwerken, ein entscheidender Faktor für deren Eigenschaften. Ich habe sie nicht ausführlich untersucht und bin weiterhin neugierig auf ihre Fähigkeiten und Anwendungen – insbesondere, ob die erkannten Verschränkungen genauso nützlich sind wie die vom Z1-Code erkannten und ob beides als Alternative zur zufälligen Verschränkungsprobenmethode angewendet werden kann, die ich für das MEHP Force Balance-Verfahren und die Normalmodusanalyse verwendet habe.
- Custodian: Beim Ausführen von Jobs wie MD-Simulationen auf Euler musste ich Skripte schreiben, um Eingaben zu generieren, den Jobstatus manuell zu überprüfen und Fehler erneut einzureichen. Ich habe von Custodian gehört, das scheint ein robusteres und benutzerfreundlicheres Tool für diesen Zweck zu sein.
- Ginkgo: Sowohl die Normalmodusanalyse als auch das MEHP-Kraftausgleichverfahren verwenden dünnbesetzte Matrizen, um Polymernetzwerke darzustellen. Obwohl ich dort bereits Sparse-Solver anwende, habe ich Ginkgo, eine Hochleistungsbibliothek für dünnbesetzte lineare Algebra, noch nicht erkundet. Es könnte die Leistung großer Systeme verbessern.
- Neben Ginkgo gibt es viele weitere Bibliotheken für lineare Algebra, wie zum Beispiel Armadillo, Eigen, Kokkos, oder ein Projekt aus Trilinos. Eigen habe ich für pylimer-tools genutzt. Die anderen habe ich noch nicht ausführlich untersucht, aber sie könnten sich auch lohnen, wenn es um mögliche Leistungsverbesserungen in meinen Codes geht.
