Literatur für computerchemische Programmierung



  • Hallo,

    ich hoffe ein paar Leute unter euch sind auch im Bereich Computerchemie gelandet und ich bin auf der Suche nach Literatur für Algorithmen und Berechnungen in der Computerchemie. Sprache sollte Deutsch oder Englisch sein und an Programmiersprachen C, C++, Fortran und zur Not auch Python.

    An Themen sollte sollten quantenchemische Methoden wie

    - Schrödinger Gleichung
    - Born-Oppenheimer-Näherung
    - Dichtefunktionaltheorie
    - Hartree-Fock-Methode
    - ...

    und auch Sachen wie Monte-Carlo-Simulationen usw. behandelt werden ..

    Es soll eher weniger um die theoretischen Hintergründe gehen, sondern mehr um die Mathematik und wie es umgesetzt werden kann.



  • SLx64 schrieb:

    Es soll eher weniger um die theoretischen Hintergründe gehen, sondern mehr um die Mathematik und wie es umgesetzt werden kann.

    Wie meinst Du das genau? Willst Du ein Buch ueber Numerik haben? Dann schau Dir etwas wie...

    Numerical Recipes 3rd Edition | ISBN: 0521880688

    ...an.

    Generell sind die von Dir genannten Themen numerisch (und auch ansonsten) eine echt grosse Herausforderung. Programme, die Dichtefunktionaltheorie umsetzen, laufen auf Supercomputern (oder zumindest auf Clustern), weil sie einfach enorm viel Rechenleistung benoetigen. Dort wird von jeder Seite jede Menge Know-How reingesteckt. ...und das schon ueber Jahrzehnte. So etwas zu realisieren ist kein Projekt, das man mal eben so an ein paar Wochenenden durchziehen kann.

    Es gibt natuerlich Literatur, in der die unterschiedlichen Ansaetze, die man bei der Realisierung solcher Programme hat, diskutiert wird. Im Detail wirst Du das aber nirgendwo vollstaendig finden. Wenn Du ein detailliertes Gesamtbild haben moechtest, dann fuehrt kein Weg daran vorbei, Unmengen an wissenschaftlichen Publikationen zu lesen.

    Aber sag mal, was die Motivation fuer Deine Frage ist bzw. was Du eigentlich genau vorhast. Vielleicht kann man Dir dann etwas genauer sagen, in welche Richtung Du gucken solltest.

    =============================================

    Generell musst Du in der Dichtefunktionaltheorie oder auch in Hartree-Fock Eigenwertgleichungen loesen. Eine haeufige Herangehensweise hierbei ist die Einfuehrung von Basisfunktionen, durch die Du Deine Wellenfunktionen dann ausdrueckst. Wenn Du die Problemstellung in so einer Basis ausdrueckst, algebraisierst Du das Problem. Das Problem transformiert sich dann praktisch in das Problem, Matrizen zu diagonalisieren.



  • Als Buch über die Methoden generell bietet sich vielleicht...

    Electronic Structure | ISBN: 0521534402

    ...an.

    Aber wie schon gesagt: Mit so einem Buch bist Du noch lange nicht in der Lage, so ein Programm zu schreiben.



  • Gregor schrieb:

    Es gibt natuerlich Literatur, in der die unterschiedlichen Ansaetze, die man bei der Realisierung solcher Programme hat, diskutiert wird. Im Detail wirst Du das aber nirgendwo vollstaendig finden. Wenn Du ein detailliertes Gesamtbild haben moechtest, dann fuehrt kein Weg daran vorbei, Unmengen an wissenschaftlichen Publikationen zu lesen.

    Ich kann über die Uni auf viele Datenbanken mit Publikationen zugreifen und bin auch fleißig dabei. Es ist nur manchmal sehr ermüdend, hunderte Dokumente zu lesen und am Ende nichts hilfreiches zu finden. Da machen sich Bücher doch schon besser. 🙂

    Gregor schrieb:

    Aber sag mal, was die Motivation fuer Deine Frage ist bzw. was Du eigentlich genau vorhast. Vielleicht kann man Dir dann etwas genauer sagen, in welche Richtung Du gucken solltest.

    Ich bin Pharmaziestudent und will in die Richtung Pharmazeutische Chemie und wenn möglich Wirkstoffdesign. Das größte Problem liegt ist jedoch, dass wir viel über die Technologie, Pharmakologie und auch über die Entwicklung/Eigenschaften von Arzneistoffen lernen aber nicht so viel darüber, wie die Software funktioniert und noch weniger, wie man zu dieser Software kommt. Ich will mir selbst die Grundlagen in theoretischer Chemie, Mathematik und die Umsetzung von allem beibringen und brauche daher so viel Literatur wie möglich. Für die chemischen Grundlagen finde ich noch genug, weil ich da eher weiß nach was ich suchen muss und um die Umsetzung besser zu verstehen, suche ich wenn möglich Algorithmen, aus denen ersichtlich ist, was gemacht wird und wie es gemacht wird.

    Wenn man sich das selbst breibringen muss, finde ich "learning by doing" einen guten Weg und kann nach und nach sicher auch kleinere, nicht extrem rechenintensive Fragmente selbst schreiben. Alleine komm ich da sicher nicht so weit für fertige Programme aber ich habe auf jeden Fall viel Spaß damit und für spätere Jobs ist es bestimmt auch hilfreich, genau zu verstehen, was dort passiert.



  • Wenn Du die Zusammenhänge in solchen Codes genauer verstehen möchtest, dann würde ich Dir empfehlen, Dir nicht nur die Methoden durch Literatur anzulesen und selbst Dinge zu programmieren. Ich glaube, es ist auch sehr wichtig, Erfahrung in der Nutzung entsprechender Programmpakete zu bekommen. Die Nutzung dieser Programme ist alles andere als trivial. ...zumindest, wenn man brauchbare Ergebnisse erhalten möchte. Wenn man mit derartigen Methoden arbeitet, wird es einem leichter fallen, die Dinge, die man in Büchern liest, einzuordnen.

    Ich schlage vor, Du suchst Dir erstmal ein frei erhältliches Programmpaket, das Dichtefunktionaltheorie im Rahmen der Chemie realisiert. Ich glaube, "Gaussian" ist zum Beispiel so ein Programm. "FHI-aims" auch. Die beiden sind aber glaube ich nicht frei erhältlich. Ich weiß nicht, wie es mit "FPLO" aussieht. Falls Du so ein Programm suchst, solltest Du allerdings im Hinterkopf haben, dass Dichtefunktionaltheorie in vielen Bereichen eingesetzt wird. Es gibt eine ganze Menge Programme in der Art und nicht alle sind auf Moleküle ausgelegt. In der Festkörperphysik wird Dichtefunktionaltheorie zum Beispiel auch eingesetzt. Für so unterschiedliche Bereiche bieten sich natürlich auch unterschiedliche Realisierungen von DFT an. Das heißt, dass Du aufpassen musst, keinen Code zu erwischen, der auf ein völlig anderes Anwendungsgebiet ausgelegt ist.

    Zu DFT-Programmen gibt es auch hin und wieder Workshops, die von den Entwicklern veranstaltet werden. Daran nehmen typischerweise Studenten teil, die an ihrer Abschlussarbeit arbeiten oder aber auch Doktoranden. Ich weiß nicht, wie viele Leute an solchen Workshops teilnehmen, die noch nicht so weit sind. Aber vielleicht findest Du so einen Workshop, der zu Dir passt und vielleicht kann es dann sogar so geregelt werden, dass Dir das finanziert wird. Informier Dich da doch einfach mal.

    Vielleicht findet man bei Euch auch ein HiWi-Stelle, bei der Du in Kontakt zu derartigen Methoden kommst.

    EDIT: Falls Du Informationen zu solchen Workshops suchst: Du findest Listen mit Workshops bei CECAM und beim ΨkNetwork\Psi_k-\text{Network}



  • Gregor schrieb:

    Wenn Du die Zusammenhänge in solchen Codes genauer verstehen möchtest, dann würde ich Dir empfehlen, Dir nicht nur die Methoden durch Literatur anzulesen und selbst Dinge zu programmieren. Ich glaube, es ist auch sehr wichtig, Erfahrung in der Nutzung entsprechender Programmpakete zu bekommen. Die Nutzung dieser Programme ist alles andere als trivial. ...zumindest, wenn man brauchbare Ergebnisse erhalten möchte. Wenn man mit derartigen Methoden arbeitet, wird es einem leichter fallen, die Dinge, die man in Büchern liest, einzuordnen.

    Ich schlage vor, Du suchst Dir erstmal ein frei erhältliches Programmpaket, das Dichtefunktionaltheorie im Rahmen der Chemie realisiert. Ich glaube, "Gaussian" ist zum Beispiel so ein Programm. "FHI-aims" auch. Die beiden sind aber glaube ich nicht frei erhältlich. Ich weiß nicht, wie es mit "FPLO" aussieht. Falls Du so ein Programm suchst, solltest Du allerdings im Hinterkopf haben, dass Dichtefunktionaltheorie in vielen Bereichen eingesetzt wird. Es gibt eine ganze Menge Programme in der Art und nicht alle sind auf Moleküle ausgelegt. In der Festkörperphysik wird Dichtefunktionaltheorie zum Beispiel auch eingesetzt. Für so unterschiedliche Bereiche bieten sich natürlich auch unterschiedliche Realisierungen von DFT an. Das heißt, dass Du aufpassen musst, keinen Code zu erwischen, der auf ein völlig anderes Anwendungsgebiet ausgelegt ist.

    Das ist natürlich der wichtigste Teil. Im Grunde geht es auch primär darum, mit solchen Programmen zu arbeiten aber wie auch gesagt, ist es sehr wichtig zu wissen, was man da macht und was dabei raus kommt. Ich will hier Hobby und Beruf etwas kombinieren und habe mir schon so einige Programme angeguckt und herumprobiert. Oft sind die Dokumentationen aber sehr schlecht oder unverständlich. Es macht aber Spaß und man entdeckt immer etwas neues. Ich denke, mit noch mehr Verständnis für alles wird es auch einfacher.

    Gregor schrieb:

    Zu DFT-Programmen gibt es auch hin und wieder Workshops, die von den Entwicklern veranstaltet werden. Daran nehmen typischerweise Studenten teil, die an ihrer Abschlussarbeit arbeiten oder aber auch Doktoranden. Ich weiß nicht, wie viele Leute an solchen Workshops teilnehmen, die noch nicht so weit sind. Aber vielleicht findest Du so einen Workshop, der zu Dir passt und vielleicht kann es dann sogar so geregelt werden, dass Dir das finanziert wird. Informier Dich da doch einfach mal.

    Ich bekomme über die GDCh oft Programmhefte und Weiterbildungen aber die sind selbst als Student bei rund 1000€ und da müsste ich wirklich Möglichkeiten finden, das irgendwie zu finanzieren.

    Gregor schrieb:

    Vielleicht findet man bei Euch auch ein HiWi-Stelle, bei der Du in Kontakt zu derartigen Methoden kommst.

    Ich konnte bisher ne Zeit in der Forschung mitarbeiten, jedoch wird bei uns eher wenig mit solchen Programmen gearbeitet. Hauptsächlich konnte ich einen Einblick in Visualisierungssoftware wie PyMol, Discovery Studio oder Autodock für ein paar Docking-Experimente erhalten. Weitere Software höchstens für Lehrzwecke.



  • In welcher Stadt lebst Du?



  • Gregor schrieb:

    In welcher Stadt lebst Du?

    In der schönen Stadt Greifswald. 🙂



  • SLx64 schrieb:

    Gregor schrieb:

    In welcher Stadt lebst Du?

    In der schönen Stadt Greifswald. 🙂

    Bei einigen Städten hätte ich Dir vielleicht sagen können, wen Du mal ansprechen könntest. Aber bei Greifswald muss ich leider passen. 😞

    BTW: Falls Du konkrete Fragen zu einem Algorithmus oder einer Methode hast oder irgendwann haben wirst, kann ich sie Dir vielleicht beantworten. Oder vielleicht auch jemand anderes aus diesem Forum.



  • In Greifswald ist es auch nicht so einfach, jemanden zu finden, der sich hauptsächlich damit beschäftigt. ^^

    Ich werde erst einmal so viel selbst ausprobieren und lernen wie möglich.

    Vielen Dank für die Hilfe! Sollte dir oder noch jemandem etwas einfallen, bringt mich jeder Hinweis weiter. 🙂



  • In dem Kontext hätte ich auch eine Frage. Ich möchte gerne ein Programm schreiben welches mir, in der Instrumentellen Analytic mittels HPLC bei einem Gradienten, ermöglicht die genaue Zusammensetzung der mobilen Phase zum Zeitpunkt x zu ermitteln. Mir ist bekannt das viele Faktoren wie zum Beispiel die Berücksichtingung der Volumenkontraktionen der mobilen Phase in Abhänigkeit der Temperatur, der Durchmesser der Säule, sowei der Kapilaren, Flow.. und weitere nette Sachen (Ströumg, Verwirbelung).
    Gibt es in dieser Richtung schon einschlägige Software, wenn wahrscheinlich in Fortran oder ist die zu ambitioniert?


Log in to reply