Ein Abonnement von JoVE ist erforderlich, um diesen Inhalt anzuzeigen. Melden Sie sich an oder beginnen Sie noch heute mit einer kostenlosen Testphase.

Methodenartikel

Schnelle elektrochemische In-silico-Erzeugung von Batterieelektrolyten unter Verwendung von 3T-VASP Multi-Scale Energy Minimization

1K Ansichten

DOI:

10.3791/68854

22. August 2025

In diesem Artikel

Zusammenfassung

Das 3T-VASP-Framework kombiniert hierarchische Strukturtransformation mit ab initio Multiskalengradienten, um die Anzahl der Schritte, die erforderlich sind, um lokalen Energieminima zu entkommen und elektrochemische Reaktionen zu modellieren, deutlich zu reduzieren. Dieses Protokoll stellt ein Verfahren zur Erzeugung elektrochemischer Reaktionsnebenprodukte für verschiedene Elektrolytkomponentenkombinationen unter Verwendung von nur 100-150 statischen DFT-Berechnungen vor.

Zusammenfassung

Elektrolyte sind wichtige Bestandteile in Lithium-Ionen-Batterien. Eine Degradation der Batterie aufgrund irreversibler elektrochemischer Reaktionen im Elektrolyten kann jedoch Elektrolytmoleküle verbrauchen und die effektive Lebensdauer des Elektrolyten stark verkürzen. Daher ist es wichtig, die elektrochemischen Reaktionswege im Batterieelektrolyten zu untersuchen, um die Zuverlässigkeit von Lithium-Ionen-Batterien weiter zu verbessern. Leider ist es schwierig, die genauen elektrochemischen Reaktionswege des Elektrolyten im Elektrolyten experimentell zu untersuchen, der normalerweise viele chemische Spezies (verschiedene Lösungsmittel, Salze, Additivmoleküle und Elektrodengrenzflächen) enthält. Diese Reaktionsnebenprodukte können komplexe Festelektrolyt-Interphasen (SEI) an der Elektrolyt-Elektroden-Grenzfläche (LiF, Li2CO3, Li2O, LiOH, Organolithiumverbindungen usw.) bilden, die schwieriger zu analysieren sind, anstatt als die leichter zu analysierenden kleinen Gasmoleküle freigesetzt zu werden. Unsere jüngste Veröffentlichung über die Technik der stufenweisen Tensortransformation in Kombination mit Software zur Dichtefunktionaltheorie (Tiered Tensor Transform - Vienna Ab-initio Simulation Package (VASP), oder 3T-VASP) ermöglicht die praktische Anwendung des ab-initio-Ansatzes , um physikalisch bedeutsame elektrolytische elektrochemische Reaktionsnebenprodukte in nur 100-150 DFT-Schritten zu erzeugen. In dieser Arbeit beschreiben wir das Innenleben des 3T-VASP-Codes (öffentlich verfügbar auf Github) detaillierter, zusammen mit den Schritten zur Simulationsvorbereitung, die erforderlich sind, um den 3T-VASP-Workflow für neue Elektrolytsysteme korrekt einzurichten, die über die Beispiele in der ursprünglichen 3T-VASP-Veröffentlichung hinausgehen.

Einleitung

Die Untersuchung elektrochemischer Reaktionswege in neuen Batterieelektrolytzusammensetzungen ist wichtig für die Identifizierung von Methoden zur Verbesserung der Leistung und Lebensdauer von Elektrofahrzeugbatterien1. Solche Studien sind jedoch oft schwierig, da Batterieelektrolyte oft durch Mischen verschiedener Komponenten wie Lösungsmittel-, Salz- und Additivmoleküle hergestellt werden, die mit sich selbst und mit verschiedenen Oberflächen (Kathoden- und Anodenelektroden) unter unterschiedlichen Batteriebetriebsspannungen und -temperaturen interagieren2. In Experimenten sind einige der irreversiblen elektrochemischen Zersetzungsreaktionen des Elektrolyten leichter zu untersuchen, da sie kleine Nebenprodukte von Gasmolekülen erzeugen, die aus der Elektrolytlösung an die Luft abgegeben werden (was die Untersuchung mit experimentellen Techniken wie derGaschromatographie 3,4,5 erleichtert). Bei vielen dieser Nebenprodukte handelt es sich jedoch um größere Moleküle oder komplexe organisch-anorganische Feststoffgemische, wie z. B. komplexe Organolithium-Polymerverbindungen6, die nicht als Gasmoleküle in die Umwelt abgegeben werden. Dies macht es schwierig, diese komplexeren elektrochemischen Reaktionswege experimentell zu untersuchen2.

Ab-initio-Modellierung, wie z. B. die Dichtefunktionaltheorie (DFT), ist eine vielversprechende Methode, um potenzielle elektrochemische Degradationswege im Elektrolyten in silicozu untersuchen 7. Eine einfache DFT-Energieminimierung komplexer Elektrolytstrukturen (flüssiges Gemisch mit experimentell sinnvollen Elektrolytkomponentenkonzentrationen in einer periodischen Randbedingungsbox) wird jedoch meist nicht dazu führen, dass niederenergetische Strukturen erzeugt werden, die physikalisch bedeutsamen elektrochemischen Reaktionsnebenprodukten entsprechen. Die DFT-minimierten Strukturen haben typischerweise eine höhere Energie und stellen nicht-physikalische Nebenprodukte dar, die falschen elektrochemischen Abbauwegen entsprechen, da die Strukturen während des DFT-Energieminimierungsverfahrens in lokalen Energieminimums gefangen sind. Methoden wie ab-initio Molekulardynamik (AIMD)8,9, neuronales Netzwerk-Kraftfeld 10,11,12,13,14,15,16 oder DFT-basierte Metadynamik 17,18,19 werden häufig verwendet, um vielfältigere Elektrolytstrukturen zu erforschen, die aussagekräftigere elektrochemische Reaktionsnebenprodukte enthalten können. Häufig wird auch ein computergestütztes Screening zur Erzeugung von Elektrolytkomponenten versucht, von denen angenommen wird, dass sie elektrochemisch stabiler sind20. Alle diese Methoden haben jedoch ihre eigenen Nachteile, wie z. B. den Bedarf an großen und langwierigen Rechenressourcen7, eine große Menge an ab-initio-Trainingsdaten 13 oder Vorkenntnisse über die eventuellen elektrochemischen Reaktionsnebenprodukte, um die Simulation in spezifische Ergebnisse zu verzerren21.

Wir haben kürzlich eine Methode eingeführt, um die Energieminimierung der ab-initio-Struktur auf mehrere Skalen durchzuführen, indem wir die Energiegradienten, die mit einer beliebigen ab-initio-Methode erhalten wurden, wie z. B. DFT-Rasterkräfte, die mit der Vienna Ab-initio Simulation Package (VASP)-Software22 berechnet wurden, mit den mit PyTorch (3T-VASP) berechneten Strukturtransformationsfunktionsgradienten verbinden23,24. Dieser Ansatz ermöglicht es dem Benutzer, einfach eine Simulationsbox einzurichten, die mit mehreren Arten und Zählungen von Elektrolytkomponentenmolekülen gefüllt ist, und einen externen Atomenergie- und Kraftrechner (z. B. ein klassisches Kraftfeld oder VASP DFT) auszuführen. Die Minimierung der Strukturenergie erfolgt dann automatisch auf mehreren Skalen, wobei die natürlichen Strukturumwandlungsmodi der relevanten Moleküle (Translationen und Rotationen verschiedener Segmente des Moleküls) berücksichtigt werden. Da eine 3T-VASP-Simulation typischerweise innerhalb von 100-150 statischen DFT-Aufrufen "abgeschlossen" wird, während physikalisch bedeutsame Reaktionsnebenprodukte erzeugt werden (viele davon wurden in der früheren Literatur experimentell beobachtet)24, ist es möglich, viele verschiedene Ensembles von 3T-VASP-Trajektorien laufen zu lassen, um potenziell bedeutsame elektrochemische Reaktionswege und Nebenprodukte im Elektrolyten für weitere rechnerische oder experimentelle Untersuchungen zu erzeugen. Die Prinzipien und die Mathematik hinter der Minimierung der mehrskaligen Gradientenstruktur wurden in einer früheren Veröffentlichungausführlich diskutiert 24. In dieser Arbeit wollen wir die 3T-VASP-Softwarearchitektur und den Berechnungsablauf weiter detailliert beschreiben, die Einrichtung der für die Ausführung von 3T-VASP erforderlichen Rechenumgebung, die Vorbereitung von Eingabedateien für die 3T-VASP-Simulation neuer Systeme, die Überwachung von 3T-VASP-Simulationen und das Beispiel von Ausgabetrajektorien.

Zunächst ist es notwendig, die Gesamtarchitektur der 3T-VASP-Software zu verstehen, wie in Abbildung 1 dargestellt. 3T-VASP funktioniert, indem es die natürlichen Strukturumwandlungsmodi im Molekül identifiziert und ausnutzt (da es sich um Strukturumwandlungen handelt, die für die Moleküle einfacher durchzuführen sind, während die ab-initio-Strukturenergie relativ niedrig bleibt)24. Während es möglich ist, diese Strukturtransformationsmodi für jede neue Molekülspezies manuell zu programmieren (es ist umständlich, dies zu tun), bietet 3T-VASP an, diesen Prozess für den Benutzer zu automatisieren, indem die Informationen genutzt werden, die in der klassischen Kraftfelddatei verfügbar sind, die das Molekül24 darstellt. Sobald diese Strukturumwandlungsmodi für die gewünschten Elektrolytmolekülkomponenten bestimmt sind, muss der Benutzer das Feld für die periodische Randbedingung und seine Gittervektorparameter (das Feld kann ursprünglich leer oder teilweise mit einzelnen Kationen oder Elektrodenoberflächen gefüllt sein) spezifizieren, um es weiter mit den gewünschten Arten und Anzahlen anderer Elektrolytmoleküle (wie Lösungsmittel, Salzionen, Zusatzstoffe). Der 3T-Algorithmus verwendet dann entweder das klassische Kraftfeld (ein eingebauter klassischer Kraftfeldrechner ist in 3T-VASP enthalten) oder die VASP-Software der Computerumgebung, um die atomare Energie und die Kräfte zu berechnen, um eine Strukturtransformation auf mehreren Skalen durchzuführen, die die Strukturenergie in einer bescheidenen Anzahl von statischen DFT-Aufrufen minimieren kann24. Diese Reduzierung des Rechenaufwands ermöglicht es, den elektrochemischen Reaktionsverlauf und die Erzeugung von Nebenprodukten für eine große Anzahl von Ausgangsstrukturen zu wiederholen.

figure-introduction-1
Abbildung 1: Rechnerischer Arbeitsablauf von 3T-VASP. (A) Vorverarbeitung von 3T-VASP-Eingangsstrukturen (periodische Randbedingung, Gitter und kleine Moleküle). Die Parametrierung des Kraftfeldes kleiner Moleküle kann entweder automatisch über den SwissParam-Webserver erfolgen, nach der Parametrierung des LigParGen-Webservers manuell modifiziert oder auf der Grundlage einer zuvor abgeschlossenen Parametrisierung aus einem Cache geladen werden. Die Mikro- und Makrogruppensegmentierung des 3T-Algorithmus erfolgt automatisch durch Parsen der Molekülsubstrukturen auf der Grundlage ihrer drehbaren Bindungen. Die PBC-Gitter-Eingabedatei hat das Format einer VASP-POSCAR-Datei und sollte so gestaltet sein, dass sie genügend leeren physischen Speicherplatz hat, um die gewünschte Anzahl von Eingabemolekülen zu packen. Das PBC-Gitter kann eine leere Box sein, die mit einigen Ionen gefüllt ist, oder eine Oberflächenstruktur mit etwas leerem Raum. (B) Die gewünschten Arten und Anzahl kleiner Moleküle werden mit PackMol in den leeren Raum im PBC-Gitter eingebracht. (C) Minimierung der Multiskalen-Gradienten-3T-Struktur mit eingebautem Kraftfeldrechner (3T-FF, hauptsächlich um die Flüssigkeitsdispersion zu ermöglichen und eine physikalisch sinnvolle Anfangsstruktur für 3T-VASP zu schaffen, ohne chemische Reaktionen zuzulassen). (D) Minimierung der Multiskalen-Gradienten-3T-Struktur mit externer Software wie dem VASP-Rechner (3T-VASP ermöglicht den Ablauf elektrochemischer Reaktionen). Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Verschiedene externe Open-Source-Software, wie z. B. GROningen Machine for Chemical Simulations (GROMACS), eine klassische Kraftfeld-basierte Molekulardynamik-Software, die für die Ausführung groß angelegter Molekulardynamik-Simulationen nützlich ist25 , und InterMol, eine von Shirts et al. entwickelte Python-Bibliothekscodebasis für die Konvertierung von Dateiformaten der Molekulardynamik26, werden verwendet, um eine automatisierte Parametrisierung des Molekülkraftfeldes und die Extraktion drehbarer Bindungen zu ermöglichen. VASP wird verwendet, um elektrochemische Reaktionen während der Ab-initio-Phase (3T-VASP-Zyklen) zu ermöglichen. Die Schritte, die zum Installieren dieser Abhängigkeiten erforderlich sind, werden in diesem Artikel vorgestellt.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Protokoll

1. Einrichten einer Rechnerumgebung für den Betrieb von 3T-VASP

HINWEIS: Es wird empfohlen, Linux27 für die folgenden Schritte zu verwenden.

  1. Richten Sie die Conda-Umgebung28 ein, die für den Betrieb von 3T-VASP vorgesehen ist.
    1. Installieren Sie conda (z. B. miniconda) auf dem Linux-Rechner, indem Sie den offiziellen Anweisungen folgen (siehe Materialtabelle für den Link).
    2. Erstellen Sie eine neue 3T-Conda-Umgebung, aktivieren Sie sie und installieren Sie Git, indem Sie die folgenden Befehle ausführen:
      conda create --name 3T python=3.11
      conda activate 3T
      conda install git -c conda-forge
    3. Klonen Sie das 3T-VASP Github-Repository und geben Sie das Verzeichnis ein
      git clone https://github.com/jpmailoa/External_3T.git
      CD External_3T
    4. Installieren Sie mamba, um Conda-Abhängigkeiten zu verwalten, und installieren Sie die erforderlichen Bibliotheken für die 3T-Conda-Umgebung:
      conda install mamba -c conda-forge
      mamba install --file requirements.txt -c pytorch -c conda-forge -c rdkit
  2. Installieren Sie die Software GROMACS in der 3T-Umgebung.
    1. Installieren Sie GROMACS in der 3T conda-Umgebung (die Installationsanweisungen finden Sie in der Materialtabelle).
      HINWEIS: Wenn der Benutzer nicht vorhat, ein neues Molekül in ein .pkl-Format zu verarbeiten (siehe Schritt 2.3) und mit vorhandenen Molekülen arbeiten kann, die zuvor verarbeitet wurden (in Form einer .pkl-Datei), kann diese GROMACS-Installation (Schritt 1.2) übersprungen werden.
  3. Installieren Sie die modifizierte Version von InterMol in der 3T-Umgebung.
    1. Folgen Sie diesen Anweisungen, um eine Bugfix-Version von InterMol zu installieren:
      cd utils/Convert_Gromacs_LAMMPS/InterMol
      Python setup.py Build
      Python setup.py installieren
      CD.. /.. /..
      HINWEIS: Wenn der Benutzer nicht vorhat, ein neues Molekül in ein .pkl-Format zu verarbeiten (siehe Schritt 2.3) und mit vorhandenen Molekülen arbeiten kann, die zuvor verarbeitet wurden (in Form einer .pkl-Datei), kann diese InterMol-Installation (Schritt 1.3) übersprungen werden.
  4. Geben Sie den VASP-Softwarepfad im 3T-VASP-Code an.
    1. Installieren Sie die VASP-Software in der 3T-Umgebung. Die Anleitungen und Tutorials finden Sie im Materialverzeichnis.
    2. Öffnen Sie die Datei 'utils/calculator_3T_VASP.py' und aktivieren Sie die Funktion 'run_VASP'. Suchen Sie im Python-Skript nach der folgenden Standardzeile:
      os.system('nohup mpirun -n '+n_gpu+' --allow-run-as-root ~/software/vasp.6.2.1/bin/vasp_std')
      1. Die obige Standardzeile sollte in den Systemaufruf des Betriebssystems geändert werden, der auf die ausführbare VASP-Datei des Benutzers verweist und die Rechenressourcen angibt, z. B.:
        os.system('mpirun -np 2 /pfad/zu/vasp/bin/vasp_std')
  5. Stellen Sie sicher, dass die erforderlichen Nicht-Python-Bibliotheken von Drittanbietern in der 3T-Conda-Umgebung verfügbar sind, indem Sie diese Befehle im Linux-Terminal ausführen (oder bei Bedarf installieren):
    GMX
    wget
    Entpacken
    packmol
    HINWEIS: Diese Befehle werden nur während der Vorverarbeitung der Datei im Molekülkraftfeldformat aufgerufen. Wenn der Benutzer also nur mit vorverarbeiteten Molekül-PKL-Dateien arbeiten möchte, müssen die Bibliotheken 'wget' und 'unzip' nicht installiert werden.
  6. Führen Sie einen Testlauf durch, um sicherzustellen, dass 3T-VASP korrekt konfiguriert wurde.
    1. Verwenden Sie Python, um eines der folgenden Testskripts auszuführen, die auf der Grundlage einer früheren Veröffentlichung24 bereitgestellt werden:
      Python-randomize_3T_bulk_electrolyte_reduction.py
      Python-randomize_3T_bulk_electrolyte_oxidation.py
    2. Bei erfolgreicher Ausführung werden Protokolle in der Ausgabedatei "default.log" generiert, die in einem separaten Linux-Terminal überwacht werden können (Beispiel in Abbildung 2).

figure-protocol-1
Abbildung 2: Beispielinhalt einer 3T-Logdatei während eines Testlaufs nach einer erfolgreichen Installation. Das Standard-Logfile protokolliert einfach die aktuelle Schrittnummer eines 3T-Zyklus und die Rechenzeit, die seit Beginn des Zyklus verstrichen ist. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

2. Vorbereiten von 3T-VASP-Eingabedateien

  1. Bereiten Sie die periodische Boxgitterstruktur im VASP POSCAR-Dateiformat vor.
    1. Benennen Sie die 3T-VASP-Gitterdateien als '.vasp' und speichern Sie sie in einem Unterordner des 'input'-Ordners (z.B. 'input/Electrolyte_Reduction'-Ordner). Schreiben Sie die Dateien im Format einer VASP POSCAR-Datei. Ein Beispiel für eine solche PBC-Gitter-POSCAR-Datei mit drei Lithiumkationen darin ist in Abbildung 3 dargestellt.
  2. Bereiten Sie die Datei zur Überschreibung von Eigenschaften der periodischen Box Gitterstruktur vor.
    1. Nennen Sie diese 3T-VASP Gitterstruktur-Eigenschaftsüberschreibungsdateien als '.override', legen Sie sie in den Unterordner des 'input'-Ordners (z.B. 'input/Electrolyte_Reduction' Ordner aus Schritt 2.1) und schreiben Sie sie im JSON-Format als Wörterbuch mit den Schlüsseleinträgen 'movable_group' und 'atom_charge_proximity' (siehe Beispiel in Abbildung 4).
  3. Bereiten Sie Molekülstrukturdateien im Dateiformat XYZ vor.
    1. Benennen Sie diese 3T-VASP-Molekülstrukturdateien als '.xyz' (siehe Beispiel in Abbildung 5) und legen Sie sie im Ordner 'input' ab. 3T-VASP prüft, ob die '.xyz' zuvor in eine .pkl-Datei konvertiert wurde oder nicht, und wenn nicht, wird das Molekül mit einem kostenlosen externen SwissParam-Kraftfeldparametrisierungs-Webserver29 eines Drittanbieters verarbeitet. Wenn die Kraftfeldparametrierung auf einem anderen Webserver wie z.B. LigParGen30 basiert oder eine manuelle Parametrierung gewünscht wird, lesen Sie bitte Schritt 2.6.
  4. Bereiten Sie Vorlagen-VASP-Eingabedateien vor, die bei jedem 3T-VASP-Schritt verwendet werden sollen.
    1. Verwenden Sie die standardmäßigen VASP-Eingabedateien wie INCAR, KPOINTS und POTCAR (POSCAR nicht erforderlich). Stellen Sie in der INCAR-Datei sicher, dass die Anzahl der Schritte in der Molekulardynamik NSW entweder nicht oder auf den Standardwert NSW = 0 festgelegt ist (Beispiel in Abbildung 6). Platzieren Sie diese Dateien in einem Unterordner des Ordners "templates/VASP" (z. B. "templates/VASP/Electrolyte_Reduction").
  5. Bereiten Sie eine 3T-Konfigurationsdatei vor, in der alle anderen Eingabedateien konfiguriert werden.
    HINWEIS: Diese Konfigurationsdatei sollte in Form eines JSON-Listenformats bereitgestellt werden (wobei jedes Mitglied der Liste ein Wörterbuchblock ist, der die Einstellungen eines 3T-Zyklus angibt)24 und im Ordner "configs" abgelegt werden (z. B. "configs/Electrolyte_Reduction.json", Beispiel in Abbildung 7 unten). Nicht angegebene Parameter in jedem Zyklus erben die Parameter aus der Konfiguration des vorherigen Zyklus.
  6. (Fakultativ) Verwenden Sie bei Bedarf die manuelle Parametrisierung oder den LigParGen-Webserver, um das Kraftfeld des Moleküls zu parametrisieren.
    1. Verwenden Sie LigParGen oder die manuelle Parametrisierung für Moleküle, die von SwissParam nicht parametrisiert werden können, wie z. B. geladene Moleküle, Resonanzstrukturen oder Radikale. Beziehen Sie sich zur Orientierung auf die zusätzlichen Beispiele:
      Python-example_LigParGen_FF_assignment.py
      Python-example_manual_FF_assignment.py

figure-protocol-2
Abbildung 3: Beispiel für eine PBC-Gitter-POSCAR-Datei, die mit einigen Lithium-Ionen gefüllt ist. (A) Die Kastengröße beträgt 14 × 14 × 14 Å3, und es ist genügend leerer Raum vorhanden, um anschließend mit Elektrolytmolekülen unter Verwendung von PackMol verpackt zu werden. (B) Die PBC-Gitterdatei, bei der es sich im Wesentlichen um eine VASP-POSCAR-Datei handelt, die direkt mit Software von Drittanbietern wie Visual Molecular Dynamics (VMD)31 visualisiert werden kann. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

figure-protocol-3
Abbildung 4: Beispiel für eine PBC-Gittereigenschaftsüberschreibungsdatei. Dieses Wörterbuch beschreibt die Eigenschaftsmodifikationen, die auf Atome innerhalb des PBC-Gitters angewendet werden sollten. Das Beispiel für einen verschachtelten Listeneintrag für den Schlüssel 'movable_group' bedeutet, dass Lithiumatom 0,1,2 alle einzelnen Gruppen von Atomen sind, die sich während der 3T-Simulation unabhängig voneinander bewegen können. Zusätzlich dazu wird auf jedes Lithiumatom mit dem Schlüssel "atom_charge_proximity" ein Teilladungswert von +0,5 angewendet. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

figure-protocol-4
Abbildung 5: Beispiel für eine Molekül-XYZ-Datei. (A) Diese Datei hat das Format einer Standard-Molekül-XYZ-Datei, die nur die Atomelemente und Koordinaten enthält. (B) Diese Molekül-XYZ-Datei kann direkt mit Software von Drittanbietern wie VMD visualisiert werden. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

figure-protocol-5
Abbildung 6: Beispiel für eine akzeptable 3T-Vorlage VASP INCAR-Datei. Die meisten Einstellungen in dieser Datei sollten auf die Bedürfnisse des Benutzers abgestimmt werden. Die einzige Voraussetzung für die 3T-VASP-Relaxation besteht darin, dass der NSW-Wert entweder nicht festgelegt oder auf NSW = 0 festgelegt ist. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

figure-protocol-6
Abbildung 7: Beispiel für eine 3T-Konfigurationsdatei. Jedes Element in der Liste (ein Block) repräsentiert die Einstellungen eines 3T-Zyklus ('Modus' bestimmt, ob es sich bei dem Zyklus um eine 3T-FF- oder eine 3T-VASP-Minimierung handelt). Wenn ein Schlüssel nicht im Wörterbuch eines Blocks angegeben ist, bedeutet dies, dass stattdessen das Schlüssel-Wert-Paar aus dem vorherigen Block verwendet wird. 'lattice_poscar' gibt den Speicherort der POSCAR-Datei im VASP-Stil für die Gitterstruktur ('file', Schritt 2.1) und ihrer Überschreibungsdatei ('override', Schritt 2.2, falls vorhanden) an. 'molecule_xyz' gibt alle zusätzlichen Molekülspezies an, die wir in die PBC-Box hinzufügen möchten, wobei 'file' den Speicherort der Molekül-XYZ-Datei angibt und 'count' die Anzahl solcher Molekülspezies angibt, die in die PBC-Box hinzugefügt werden sollen. 'mode' gibt entweder 'FF' (3T-FF-Modus) oder 'VASP' (3T-VASP-Modus) an. 'n_epoch' gibt die Anzahl der Minimierungsschritte an, die in diesem 3T-Zyklus durchgeführt werden sollen. 'out_tag' gibt den Namen an, der für die zugehörigen Protokolldateien dieses Zyklus verwendet werden soll (und daher sollte der Benutzer den Zyklen eindeutige Namen geben, um ein versehentliches Überschreiben wichtiger Protokoll- oder Ausgabedateien zu verhindern). 'print_freq' gibt an, wie oft in die Ausgabeprotokolldatei geschrieben werden soll (1 = Ausgabe in Protokolldatei bei jedem Schritt). Wenn der 3T-VASP-Modus verwendet wird, sollte der Benutzer den Ordnerspeicherort der VASP-Vorlagendateien in der Taste 'VASP_template' des Wörterbuchs 'lattice_poscar' angeben. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

3. 3T-FF- und 3T-VASP-Energieminimierung

  1. Führen Sie eine einzelne 3T-FF/3T-VASP-Trajektoriengenerierung durch.
    1. Für eine Beispielkonfigurationsdatei aus Schritt 2.5 ('configs/Electrolyte_Reduction.json') führen Sie die folgenden Befehle aus:
      Python
      >> aus main_run_utils Importhaupt
      >> main('configs/Electrolyte_Reduction.json')
      HINWEIS: Abhängig von der Gerätekonfiguration des Benutzers kann es mehrere Stunden dauern, bis diese Trajektoriengenerierung abgeschlossen ist (sie enthält 250 statische VASP DFT-Aufrufe). Der Benutzer kann den Fortschritt verfolgen, indem er den Inhalt der 'default.log'-Datei in einem separaten Linux-Terminal überprüft (Schritt 1.6).
  2. Wenn eine groß angelegte Trajektoriengenerierung gewünscht wird, bereiten Sie ein Python-Skript vor, um die Generierung und Verwendung der Konfigurationsdatei zu automatisieren.
    1. Schreiben Sie für das umfangreiche Automatisierungsskript (Abbildung 8) eine kurze Funktion (z. B. "config_modify_func"), um bestimmte Ausdrücke in der Konfigurationsvorlagendatei zu ersetzen (z. B. "configs/Electrolyte_Reduction_template.json"). Dadurch werden automatisch neue Konfigurationsdateien generiert, um unterschiedliche 3T-VASP-Trajektorien zu erzeugen. Führen Sie z. B. das folgende groß angelegte Automatisierungsskript aus:
      Python-randomize_3T_bulk_electrolyte_reduction.py
      HINWEIS: Sobald der 3T-VASP-Code korrekt eingerichtet und die Simulation gestartet wurde, wird die Minimierung der 3T-Multiskalenstruktur im Hintergrund ausgeführt. Abhängig von der Maschinenkonfiguration des Benutzers kann es mehrere Tage dauern, bis die Generierung mehrerer Trajektorien abgeschlossen ist. Dieses Protokollbeispiel enthält 2500 statische VASP-DFT-Aufrufe (10 3T-VASP-Trajektorien), die innerhalb von 30-40 Stunden auf einem Rechenknoten mit 4 Nvidia V100-GPUs abgeschlossen werden. Wie in Schritt 3.1.1 erwähnt, kann der Gesamtfortschritt verfolgt werden, indem der Inhalt der 'default.log'-Datei in einem separaten Linux-Terminal überprüft wird. 3T-VASP gibt auch periodisch die Ausgangskurve ab, die in Echtzeit überprüft werden kann. Im Beispiel für eine Konfigurationsdatei (Abbildung 7, Schritt 2.5) beschreibt das Feld 'out_tag' in einem 3T-Block den Namen der Ausgabedateien, in die die Ergebnisse dieses 3T-Zyklus geschrieben werden. Zum Beispiel bedeutet der Wert 'out_tag' von 'FF_step3', dass die atomare Trajektorie des gesamten Zyklus auf 'FF_step3.xyz' (in Form eines Multi-Frame-XYZ-Dateiformats) geschrieben wird, während die Energie, die vom eingebauten 3T-Kraftfeldrechner des 'FF'-Modus berechnet wird (oder die von VASP im 'VASP'-Modus berechnete DFT-Energie) auf 'FF_step3_outE.txt' geschrieben wird (die Energieeinheit in dieser Datei ist in Kilokalorie pro Mol [kcal/mol]).

figure-protocol-7
Abbildung 8: Beispiel für ein Automatisierungsskript zur Generierung von 3T-VASP-Trajektorien. Eine Vorlagenkonfigurationsdatei muss als 'Tag'-Eingabe für die 'multiple_runs'-Funktion bereitgestellt werden. Darüber hinaus müssen auch die Anzahl der zu generierenden Trajektorien (10) und die Funktion angegeben werden, die den Inhalt der Vorlagenkonfigurationsdatei ändert, um neue zufällige Konfigurationsdateien zu generieren (die Funktion 'config_modify_func'). Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Ergebnisse

Wenn die 3T-Energieminimierung korrekt eingestellt ist, sollte man während der 3T-FF-Phase eine allmähliche Dispersion der Elektrolytmoleküle in der PBC-Box beobachten, ohne dass eine chemische Reaktion stattfindet (Abbildung 9A). Es ist wichtig zu beachten, dass 3T-FF auf klassischer Kraftfeldenergie beruht, daher ist es notwendig, dass die Kraftfeldparameter gut genug sind, um sicherzustellen, dass die Moleküle ihre korrekte Geometrie beibehalten und dass die 3T-Trajektorie weder kollabier...

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Diskussion

Der Hauptvorteil des 3T-Algorithmus ist seine Fähigkeit, eine schnelle Minimierung der Strukturenergie zu ermöglichen, die trivialen lokalen Energieminimums leicht entkommen kann, indem die Strukturminimierung hierarchisch durch Multiskalen-Tensorgradienten-Backpropagation durchgeführt wird. Aus diesem Grund neigt der 3T-Optimierer dazu, physikalische niederenergetische Strukturen in komplexen Systemen zu erzeugen, die mit anderen Algorithmen zur Strukturenergieminimierung schwieriger zu optimieren sind...

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Offenlegungen

Der 3T-VASP-Code ist öffentlich verfügbar (https://www.github.com/jpmailoa/External_3T) und wird als kommerzieller Service auf der Tencent Elastic First-Principle Simulation (TEFS)-Plattform in der Tencent Cloud angeboten. Die Autoren erklären, dass kein weiterer Interessenkonflikt besteht.

Danksagungen

Diese Arbeit wird durch Mittel aus dem "Pioneer" und "Leading Goose" F&E-Programm von Zhejiang unter der Fördernummer 2025C01222 unterstützt. Die Rechenarbeit wurde von Tencent finanziert und unter Verwendung der Tencent Elastic First-Principles Simulation (TEFS)-Plattform im Tencent Cloud Computing-System durchgeführt.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Materialien

Liste der in diesem Artikel verwendeten Materialien
NameUnternehmenKatalognummerKommentare
CondaCondaDie offiziellen Anweisungen zur Installation von Conda auf dem Linux-Rechner finden Sie in: https://docs.conda.io/projects/conda/en/stable/user-guide/install/linux.html 
GROMACS SoftwareAbteilung für Biophysikalische Chemie, Universität Groningen2021.3Version der ausführbaren Datei von Gromacs vom 18. August 2021. Die ausführbare Standarddatei in der neuesten Version sollte ebenfalls funktionieren, obwohl sie noch nicht getestet wurde. Die Installationsanleitung für GROMACS in der 3T conda-Umgebung finden Sie unter diesem Link: https://manual.gromacs.org/documentation/2021.3/download.html und https://manual.gromacs.org/2021.3/install-guide/index.html
InterMol SoftwareShirts Group, Universität von Colorado BoulderExternal_3T AusführungDer ursprüngliche InterMol-Code, der von der Shirts Group entwickelt wurde, weist einen Fehler auf, der mit der Kraftfeldumwandlung von Gromacs -> LAMMPS verbunden ist. Die in External_3T Github-Distribution enthaltene InterMol-Version ist erforderlich, um diesen Fehler zu beheben.
JoVE Artikeleingabe-DateienTencent QuantenlaborBeispiele für Eingabedateien für dieses JoVE-Manuskript finden Sie auf der 3T-VASP Github-Seite unter https://www.github.com/jpmailoa/External_3T
Skripte für JoVE-ArtikelTencent QuantenlaborPython-Skripte für dieses JoVE-Manuskript sind auf der 3T-VASP Github-Seite unter https://www.github.com/jpmailoa/External_3T verfügbar.
VASP-SoftwareComputational Material Physics, Institut für Physik, Universität WienVASP.6.2.1Version der ausführbaren VASP-Datei vom 17. Mai 2021. Die standardmäßige parallele VASP-Datei in der neuesten Version sollte ebenfalls funktionieren, obwohl sie noch nicht getestet wurde. Anleitungen und Tutorials für VASP finden Sie unter diesen Links: https://www.vasp.at/
https://www.vasp.at/tutorials/latest/  
VMD-SoftwareGruppe für theoretische und computergestützte Biophysik, Universität von Illinois in Urbana-Champaign1.9.3Ausführbare Standard-VMD-Datei in der neuesten Version.

Referenzen

  1. Cao, X., et al. Effects of fluorinated solvents on electrolyte solvation structures and electrode/electrolyte interphases for lithium metal batteries. Proc Natl Acad Sci U S A. 118 (9), e2020357118(2021).
  2. Campion, C. L., Li, W., Lucht, B. L. Thermal decomposition of LiPF6-based electrolytes for lithium-ion batteries. J Electrochem Soc. 152 (12), A2327-A2334 (2005).
  3. Kanayama, K., Takahashi, S., Nakamura, H., Tezuka, T., Maruta, K. Experimental and modeling study on pyrolysis of ethylene carbonate/dimethyl carbonate mixture. Combust Flame. , 245(2022).
  4. Gachot, G., et al. Gas chromatography/Fourier transform infrared/mass spectrometry coupling: A tool for Li-ion battery safety field investigation. Anal Methods. 6 (15), 6120-6124 (2014).
  5. Bai, L., et al. Permanent gas analysis using gas chromatography with vacuum ultraviolet detection. J Chromatogr A. 1388, 244-250 (2015).
  6. Gao, Y., et al. Polymer-inorganic solid-electrolyte interphase for stable lithium metal batteries under lean electrolyte conditions. Nat Mater. 18 (4), 384-389 (2019).
  7. Wang, L. -P., et al. Discovering chemistry with an ab initio nanoreactor. Nat Chem. 6 (12), 1044-1048 (2014).
  8. Leung, K., Budzien, J. L. Ab initio molecular dynamics simulations of the initial stages of solid-electrolyte interphase formation on lithium ion battery graphitic anodes. Phys Chem Chem Phys. 12 (25), 6583-6586 (2010).
  9. Blumberger, J., Tateyama, Y., Sprik, M. Ab initio molecular dynamics simulation of redox reactions in solution. Comput Phys Commun. 169 (1-3), 256-261 (2005).
  10. Batzner, S., et al. E(3)-equivariant graph neural networks for data-efficient and accurate interatomic potentials. Nat Commun. 13 (3), 2453(2022).
  11. Park, C. W., et al. Accurate and scalable graph neural network force field and molecular dynamics with direct force architecture. npj Comput Mater. 7, 73(2021).
  12. Mailoa, J. P., et al. A fast neural network approach for direct covariant forces prediction in complex multi-element extended systems. Nat Mach Intell. 1, 471-479 (2019).
  13. Chmiela, S., Sauceda, H. E., Müller, K. R., Tkatchenko, A. Towards exact molecular dynamics simulations with machine-learned force fields. Nat Commun. 9, 3887(2018).
  14. Schütt, K. T., Sauceda, H. E., Kindermans, P. J., Tkatchenko, A., Müller, K. R. SchNet-A deep learning architecture for molecules and materials. J Chem Phys. 148 (24), 241722(2018).
  15. Zhang, L., Han, J., Wang, H., Car, R. E. W. Deep potential molecular dynamics: A scalable model with the accuracy of quantum mechanics. Phys Rev Lett. 120 (14), 143001(2018).
  16. Musaelian, A., et al. Learning local equivariant representations for large-scale atomistic dynamics. Nat Commun. 14, 579(2023).
  17. Fu, Y., Bernasconi, L., Liu, P. Ab initio molecular dynamics simulations of the SN1/SN2 mechanistic continuum in glycosylation reactions. J Am Chem Soc. 143 (3), 1577-1589 (2021).
  18. Ghoussoub, M., Yadav, S., Ghuman, K. K., Ozin, G. A., Singh, C. V. Metadynamics-biased ab initio molecular dynamics study of heterogeneous CO2 reduction via surface frustrated Lewis pairs. ACS Catal. 6 (10), 7109-7117 (2016).
  19. Tummanapelli, A. K., Vasudevan, S. Estimating successive pKa values of polyprotic acids from ab initio molecular dynamics using metadynamics: The dissociation of phthalic acid and its isomers. Phys Chem Chem Phys. 17 (9), 6383-6388 (2015).
  20. Mailoa, J. P., Li, X., Qiu, J., Zhang, S. Multi-constraint molecular generation using sparsely labelled training data for localized high-concentration electrolyte diluent screening. Digit Discov. 2, 1390-1403 (2023).
  21. Abbott, J. W., Hanke, F. Kinetically corrected Monte Carlo-molecular dynamics simulations of solid electrolyte interphase growth. J Chem Theory Comput. 18 (2), 925-934 (2022).
  22. Kresse, G., Furthmüller, J. Efficient iterative schemes for ab initio total-energy calculations using a plane-wave basis set. Phys Rev B. 54 (16), 11169-11186 (1996).
  23. Mailoa, J. P., Ye, Z., Qiu, J., Hsieh, C. -Y., Zhang, S. Protein-ligand complex generator & drug screening via tiered tensor transform. arXiv. , (2023).
  24. Mailoa, J. P., Li, X., Zhang, S. 3T-VASP: fast ab-initio electrochemical reactor via multi-scale gradient energy minimization. Nat Commun. 15, 10140(2024).
  25. Berendsen, H. J. C., van der Spoel, D., van Drunen, R. GROMACS: A message-passing parallel molecular dynamics implementation. Comput Phys Commun. 91 (1-3), 43-56 (1995).
  26. Shirts, M. R., et al. Lessons learned from comparing molecular dynamics engines on the SAMPL5 dataset. J Comput Aided Mol Des. 31 (1), 147-161 (2017).
  27. Linux kernel source tree. , https://github.com/torvalds/linux (2025).
  28. Miniconda software distribution. , https://docs.conda.io/projects/conda/en/stable/user-guide/install/linux.html (2025).
  29. Zoete, V., Cuendet, M. A., Grosdidier, A., Michielin, O. SwissParam: A fast force field generation tool for small organic molecules. J Comput Chem. 32 (11), 2359-2368 (2012).
  30. Dodda, L. S., De Vaca, I. C., Tirado-Rives, J., Jorgensen, W. L. LigParGen web server: An automatic OPLS-AA parameter generator for organic ligands. Nucleic Acids Res. 45 (W1), W331-W336 (2017).
  31. Humphrey, W., Dalke, A., Schulten, K. VMD: visual molecular dynamics. J Mol Graph. 14 (1), 33-38 (1996).
  32. Hermes, E. D., Sargsyan, K., Najm, H. N., Zádor, J. Sella, an open-source automation-friendly molecular saddle point optimizer. J Chem Theory Comput. 18 (11), 6974-6988 (2022).
  33. Martinez, L., Andrade, R., Birgin, E. G., Martinez, J. M. PackMol: A package for building initial configurations for molecular dynamics simulations. J Comput Chem. 30 (13), 2157-2164 (2012).
  34. Thompson, A. P., et al. LAMMPS-a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales. Comput Phys Commun. 271, 108171(2022).
  35. Landry, C. A., Bergeron, J. G., Mathieu, O., Gering, K. L., Thomas, J. C. Density modeling of battery electrolyte mixtures. Batteries. 11 (2), 44(2025).
  36. Elstner, M., et al. Self-consistent-charge density-functional tight-binding method for simulations of complex materials properties. Phys Rev B. 58 (11), 7260-7268 (1998).

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Nachdrucke und Genehmigungen

Schlagwörter

Batterieelektrolytreaktionenelektrochemische ReaktionswegeLithium Ionen BatterienSolid Electrolyte Interphase3T VASP WorkflowDichtefunktionaltheorieElektrolytnebenprodukteAb Initio Simulationperiodische Randbedingungen