È richiesta un abbonamento a JoVE per visualizzare questo contenuto. Accedi o inizia la tua prova gratuita.

Articolo metodologico

Generazione rapida di reazioni elettrochimiche dell'elettrolita della batteria in silico utilizzando la minimizzazione dell'energia multiscala 3T-VASP

1K visualizzazioni

DOI:

10.3791/68854

22 agosto 2025

In questo articolo

Sommario

Il framework 3T-VASP combina la trasformazione della struttura gerarchica con gradienti multiscala ab initio per ridurre significativamente il numero di passaggi necessari per sfuggire ai minimi di energia locale e modellare le reazioni elettrochimiche. Questo protocollo presenta un metodo per generare sottoprodotti di reazione elettrochimica per varie combinazioni di componenti elettrolitici utilizzando solo 100-150 calcoli DFT statici.

Abstract

Gli elettroliti sono componenti importanti nelle batterie agli ioni di litio. Tuttavia, la degradazione della batteria dovuta a reazioni elettrochimiche irreversibili nell'elettrolita può consumare molecole di elettrolita e ridurne notevolmente la durata effettiva. È quindi importante studiare i percorsi di reazione elettrochimica nell'elettrolita della batteria per migliorare ulteriormente l'affidabilità della batteria agli ioni di litio. Sfortunatamente, è difficile studiare sperimentalmente le esatte vie di reazione elettrochimica dell'elettrolita nell'elettrolita, che di solito contiene molte specie chimiche (diversi solventi, sali, molecole additive e interfacce elettrodiche). Questi sottoprodotti di reazione possono formare complesse interfasi elettrolitiche solide (SEI) sull'interfaccia elettrolita-elettrodo (LiF, Li2CO3, Li2O, LiOH, composti organolitio, ecc.), che sono più difficili da analizzare, invece di essere rilasciati come piccole molecole di gas più facili da analizzare. La nostra recente pubblicazione sulla tecnica della trasformata tensoriale a più livelli in combinazione con il software di teoria del funzionale della densità (trasformata tensoriale a più livelli - Vienna Ab-initio Simulation Package (VASP), o 3T-VASP) consente l'uso pratico dell'approccio ab-initio per generare sottoprodotti di reazione elettrochimica elettrolitica fisicamente significativi in soli 100-150 passaggi DFT. In questo lavoro, descriviamo il funzionamento interno del codice 3T-VASP (disponibile pubblicamente su Github) in modo più dettagliato, insieme alle fasi di preparazione della simulazione necessarie per impostare correttamente il flusso di lavoro 3T-VASP per nuovi sistemi elettrolitici di interesse oltre agli esempi presentati nella pubblicazione originale 3T-VASP.

Introduzione

Lo studio delle vie di reazione elettrochimica nelle nuove composizioni di elettroliti delle batterie è importante per identificare metodi per migliorare le prestazioni e la durata delle batterie dei veicoli elettrici1. Tuttavia, tali studi sono spesso difficili perché gli elettroliti delle batterie sono spesso prodotti mescolando diversi componenti, come solventi, sale e molecole di additivi, che interagiscono tra loro e con diverse superfici (elettrodi catodici e anodi) a diverse tensioni e temperature di funzionamento della batteria2. Negli esperimenti, alcune delle reazioni irreversibili di decomposizione elettrochimica dell'elettrolita sono più facili da studiare perché producono piccoli sottoprodotti di molecole di gas che vengono rilasciati dalla soluzione elettrolitica nell'aria (rendendo di conseguenza più facile la sonda utilizzando tecniche sperimentali come la gascromatografia 3,4,5). Tuttavia, molti di questi sottoprodotti sono molecole più grandi o miscele solide organiche-inorganiche complesse, come i composti complessi di polimeri di organolitio6, che non verranno rilasciati nell'ambiente come molecole di gas. Ciò rende difficile studiare sperimentalmente questi percorsi di reazione elettrochimica più complessi2.

La modellazione ab-initio, come la teoria del funzionale della densità (DFT), è un metodo promettente per studiare i potenziali percorsi di degradazione elettrochimica nell'elettrolita in silico7. Tuttavia, la semplice minimizzazione dell'energia DFT della struttura complessa dell'elettrolita (miscela liquida con concentrazioni di componenti elettrolitici sperimentalmente ragionevoli in una scatola di condizioni al contorno periodiche) per lo più non riuscirà a generare strutture a bassa energia corrispondenti a sottoprodotti di reazioni elettrochimiche fisicamente significativi. Le strutture minimizzate con DFT hanno tipicamente un'energia più elevata e rappresentano sottoprodotti non fisici che corrispondono a percorsi di degradazione elettrochimica errati, perché le strutture sono intrappolate in minimi di energia locale durante la procedura di minimizzazione dell'energia DFT. Metodi come la dinamica molecolare ab-initio (AIMD)8,9, il campo di forza della rete neurale 10,11,12,13,14,15,16 o la metadinamica basata su DFT 17,18,19 sono spesso utilizzati per esplorare strutture elettrolitiche più diversificate, che possono includere sottoprodotti di reazioni elettrochimiche più significativi. Spesso si tenta anche lo screening computazionale per generare componenti elettrolitici che si prevede siano elettrochimicamente più stabili20. Tuttavia, tutti questi metodi hanno i loro svantaggi, come ad esempio: richiedere grandi e lunghe risorse computazionali7, una grande quantità di dati di addestramento ab-initio 13 o conoscenze preliminari sugli eventuali sottoprodotti della reazione elettrochimica per influenzare la simulazione in risultati specifici21.

Recentemente abbiamo introdotto un metodo per eseguire la minimizzazione dell'energia della struttura ab-initio in modo multi-scala collegando i gradienti di energia ottenuti da qualsiasi metodo ab-initio, come le forze atomiche DFT calcolate utilizzando il software Vienna Ab-initio Simulation Package (VASP)22, con i gradienti della funzione di trasformazione della struttura calcolati utilizzando PyTorch (3T-VASP)23,24. Questo approccio consente all'utente di configurare semplicemente una scatola di simulazione riempita con più tipi e conteggi di molecole componenti elettrolitiche ed eseguire un calcolatore esterno di energia atomica e forza (come un campo di forza classico o VASP DFT). La minimizzazione dell'energia della struttura viene quindi eseguita automaticamente in modo multiscala, che rispetta le modalità di trasformazione della struttura naturale delle molecole rilevanti (traslazioni e rotazioni di diversi segmenti della molecola). Poiché una simulazione 3T-VASP è tipicamente "completata" entro 100-150 chiamate statiche di DFT generando sottoprodotti di reazione fisicamente significativi (molti di questi sono stati osservati sperimentalmente in letteratura precedente)24, è possibile eseguire molti diversi insiemi di traiettorie 3T-VASP per generare percorsi di reazione elettrochimica potenzialmente significativi e sottoprodotti nell'elettrolita per ulteriori indagini computazionali o sperimentali. I principi e la matematica alla base della minimizzazione della struttura del gradiente multiscala sono stati discussi in modo approfondito in una precedente pubblicazione24. In questo lavoro, miriamo a dettagliare ulteriormente l'architettura del software 3T-VASP e il flusso di lavoro computazionale, la configurazione dell'ambiente di calcolo necessario per eseguire 3T-VASP, la preparazione dei file di input per la simulazione 3T-VASP di nuovi sistemi, il monitoraggio delle simulazioni 3T-VASP e l'esempio delle traiettorie di output.

Innanzitutto, è necessario comprendere l'architettura generale del software 3T-VASP, come mostrato nella Figura 1. 3T-VASP funziona identificando e sfruttando le modalità di trasformazione della struttura naturale nella molecola (perché si tratta di trasformazioni strutturali che sono più facili da eseguire per le molecole pur mantenendo un'energia di struttura ab-initio relativamente bassa)24. Mentre è possibile programmare manualmente queste modalità di trasformazione della struttura per ogni nuova specie di molecola (è complicato farlo), 3T-VASP offre la possibilità di automatizzare questo processo per l'utente sfruttando le informazioni disponibili nel classico file di campo di forza che rappresenta la molecola24. Una volta determinate queste modalità di trasformazione della struttura per i componenti della molecola dell'elettrolita desiderati, l'utente deve specificare la scatola della condizione al contorno periodica e i suoi parametri vettoriali del reticolo (la scatola può essere originariamente vuota o parzialmente riempita con singoli cationi o superficie dell'elettrodo) per essere ulteriormente riempita con i tipi e i numeri desiderati di altre molecole di elettrolita (come solventi, ioni salini, additivi). L'algoritmo 3T utilizzerà quindi il campo di forza classico (un calcolatore di campo di forza classico integrato è incluso in 3T-VASP) o il software VASP dell'ambiente di calcolo per calcolare l'energia atomica e le forze per eseguire la trasformazione della struttura multiscala, che può ridurre al minimo l'energia della struttura in un numero modesto di chiamate DFT statiche24. Questa riduzione dei costi computazionali consente di ripetere la traiettoria della reazione elettrochimica e la generazione di sottoprodotti per un gran numero di strutture iniziali.

figure-introduction-1
Figura 1: Flusso di lavoro computazionale di 3T-VASP. (A) Pre-elaborazione di strutture di input 3T-VASP (reticolo di condizioni al contorno periodiche e piccole molecole). La parametrizzazione del campo di forza di piccole molecole può essere eseguita automaticamente utilizzando il server web SwissParam, modificata manualmente dopo la parametrizzazione del server web LigParGen o caricata da una cache basata sulla parametrizzazione precedentemente completata. La segmentazione dei micro e macro gruppi dell'algoritmo 3T viene eseguita automaticamente analizzando le sottostrutture delle molecole in base ai loro legami ruotabili. Il file di input del reticolo PBC è nel formato del file VASP POSCAR e deve essere progettato per avere abbastanza spazio fisico vuoto per impacchettare il numero desiderato di molecole di input. Il reticolo PBC può essere una scatola vuota riempita con pochi ioni o una struttura superficiale con un po' di spazio vuoto. (B) I tipi e il numero desiderati di piccole molecole vengono inseriti nello spazio vuoto nel reticolo PBC utilizzando PackMol. (C) Minimizzazione della struttura 3T a gradiente multiscala utilizzando il calcolatore di campo di forza integrato (3T-FF, principalmente per consentire la dispersione del liquido e creare una struttura iniziale fisicamente ragionevole per 3T-VASP senza consentire reazioni chimiche). (D) Minimizzazione della struttura 3T a gradiente multiscala utilizzando software esterni come il calcolatore VASP (3T-VASP consente di procedere con le reazioni elettrochimiche). Clicca qui per visualizzare una versione più grande di questa figura.

Vari software esterni open-source, come GROningen Machine for Chemical Simulations (GROMACS), un classico software di dinamica molecolare basato su campi di forza, utile per eseguire simulazioni di dinamica molecolare su larga scala25 e InterMol, una libreria Python sviluppata da Shirts et al. per le conversioni di formato di file di dinamica molecolare26, vengono utilizzati per consentire la parametrizzazione automatizzata del campo di forza molecolare e l'estrazione di legami ruotabili. Il VASP viene utilizzato per abilitare la reazione elettrochimica durante la fase ab initio (cicli 3T-VASP). I passaggi necessari per installare queste dipendenze sono presentati in questo articolo.

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Protocollo

1. Configurazione di un ambiente di calcolo per l'esecuzione di 3T-VASP

NOTA: Si consiglia di utilizzare Linux27 per i seguenti passaggi.

  1. Configurare l'ambiente conda28 dedicato all'esecuzione di 3T-VASP.
    1. Installa conda (come miniconda) sulla macchina Linux seguendo le istruzioni ufficiali (fai riferimento alla Tabella dei materiali per il link).
    2. Crea un nuovo ambiente conda 3T, attivalo e installa git eseguendo i seguenti comandi:
      conda create --name 3T python=3.11
      conda attiva 3T
      conda install git -c conda-forge
    3. Clona il repository github 3T-VASP ed entra nella directory
      https://github.com/jpmailoa/External_3T.git clone git
      CD External_3T
    4. Installare mamba per gestire le dipendenze conda e installare le librerie necessarie per l'ambiente conda 3T:
      conda install mamba -c conda-forge
      mamba install --file requirements.txt -c pytorch -c conda-forge -c rdkit
  2. Installare il software GROMACS nell'ambiente 3T.
    1. Installare GROMACS nell'ambiente 3T conda (le istruzioni di installazione sono disponibili nella Tabella dei materiali).
      NOTA: Se l'utente non prevede di elaborare alcuna nuova molecola in formato .pkl (vedere il passaggio 2.3) e può lavorare con molecole esistenti che sono state precedentemente elaborate (sotto forma di file .pkl), questa installazione di GROMACS (passaggio 1.2) potrebbe essere saltata.
  3. Installare la versione modificata di InterMol nell'ambiente 3T.
    1. Segui queste istruzioni per installare una versione di InterMol per la correzione di bug:
      cd utils/Convert_Gromacs_LAMMPS/InterMol
      Compilazione setup.py Python
      Installazione di Python setup.py
      CD.. /.. /..
      NOTA: Se l'utente non prevede di elaborare alcuna nuova molecola in un formato .pkl (vedere il passaggio 2.3) e può lavorare con molecole esistenti che sono state precedentemente elaborate (sotto forma di file .pkl), questa installazione di InterMol (passaggio 1.3) potrebbe essere saltata.
  4. Specificare il percorso del software VASP nel codice 3T-VASP.
    1. Installare il software VASP sull'ambiente 3T. Le istruzioni e i tutorial possono essere trovati nella Tabella dei materiali.
    2. Apri il file 'utils/calculator_3T_VASP.py' e controlla la funzione 'run_VASP'. Cerca la seguente riga predefinita nello script Python:
      os.system('nohup mpirun -n '+n_gpu+' --allow-run-as-root ~/software/vasp.6.2.1/bin/vasp_std')
      1. La riga predefinita precedente deve essere modificata nella chiamata di sistema OS che punta all'eseguibile VASP dell'utente e specifica le risorse di elaborazione, ad esempio:
        os.system('mpirun -np 2 /percorso/a/vasp/bin/vasp_std')
  5. Assicurati che le librerie di terze parti non Python necessarie siano disponibili nell'ambiente 3T conda eseguendo questi comandi nel terminale Linux (o installandoli se necessario):
    GMX
    wget
    Decomprimere
    packmol
    NOTA: Questi comandi verranno chiamati solo durante la pre-elaborazione del file del formato del campo di forza della molecola, quindi se l'utente prevede di lavorare solo con file .pkl della molecola pre-elaborati, non è necessario installare le librerie 'wget' e 'unzip'.
  6. Eseguire un test per assicurarsi che 3T-VASP sia stato configurato correttamente.
    1. Utilizzare Python per eseguire uno dei seguenti script di test, forniti in base a una pubblicazione precedente24:
      Pitone randomize_3T_bulk_electrolyte_reduction.py
      Pitone randomize_3T_bulk_electrolyte_oxidation.py
    2. Se l'esecuzione ha esito positivo, verranno generati i log nel file di output 'default.log', che può essere monitorato in un terminale Linux separato (esempio illustrato nella Figura 2).

figure-protocol-1
Figura 2: Esempio di contenuto di un file di log 3T durante un'esecuzione di test dopo un'installazione riuscita. Il file di log predefinito registra semplicemente il numero di passaggio corrente di un ciclo 3T e il tempo di calcolo trascorso dall'inizio del ciclo. Clicca qui per visualizzare una versione più grande di questa figura.

2. Preparazione dei file di input 3T-VASP

  1. Preparare la struttura reticolare periodica della scatola in formato file VASP POSCAR.
    1. Assegna un nome ai file del reticolo 3T-VASP come ".vasp" e salvali in una sottocartella della cartella "input" (ad esempio la cartella "input/Electrolyte_Reduction"). Scrivere i file nel formato di un file VASP POSCAR. Un esempio di tale file POSCAR a reticolo PBC con tre cationi di litio al suo interno è mostrato di seguito nella Figura 3.
  2. Preparare il file periodico di override delle proprietà della struttura reticolare della scatola.
    1. Assegna un nome a questi file di sostituzione delle proprietà della struttura reticolare 3T-VASP come ".override", inseriscili nella sottocartella della cartella "input" (ad esempio la cartella "input/Electrolyte_Reduction" dal passaggio 2.1) e scrivili in formato JSON come dizionario con la voce chiave "movable_group" e "atom_charge_proximity" (vedi esempio nella Figura 4).
  3. Preparare i file della struttura molecolare nel formato di file XYZ.
    1. Nomina questi file di struttura molecolare 3T-VASP come ".xyz" (vedi esempio nella Figura 5) e inseriscili nella cartella "input". 3T-VASP verificherà se il '.xyz' è stato precedentemente convertito in un file .pkl o meno e, in caso contrario, la molecola verrà elaborata utilizzando un server web di parametrizzazione del campo di forza SwissParam29 esterno gratuito. Se la parametrizzazione del campo di forza si basa su un altro server web come LigParGen30 o se si desidera la parametrizzazione manuale, fare riferimento al passaggio 2.6.
  4. Preparare i file di input VASP modello da utilizzare durante ogni passaggio 3T-VASP.
    1. Utilizzare i file di input VASP standard come INCAR, KPOINTS e POTCAR (POSCAR non necessario). Nel file INCAR, assicurarsi che il numero di passaggi in dinamica molecolare esegue NSW non sia impostato o sia impostato sul valore predefinito di NSW = 0 (esempio mostrato nella Figura 6). Inserire questi file in una sottocartella della cartella 'templates/VASP' (ad esempio 'templates/VASP/Electrolyte_Reduction').
  5. Preparare un file di configurazione 3T che configuri tutti gli altri file di input.
    NOTA: Questo file di configurazione deve essere fornito sotto forma di formato elenco JSON (con ogni membro dell'elenco che è un blocco di dizionario che indica le impostazioni di un ciclo 3T)24 e posizionato nella cartella 'configs' (come 'configs/Electrolyte_Reduction.json', esempio mostrato nella Figura 7 di seguito). I parametri non specificati in ogni ciclo erediteranno i parametri dalla configurazione del ciclo precedente.
  6. (Facoltativo) Se necessario, utilizzare la parametrizzazione manuale o il server web LigParGen per parametrizzare il campo di forza della molecola.
    1. Utilizzate LigParGen o la parametrizzazione manuale per le molecole che non possono essere parametrizzate da SwissParam, come le molecole cariche, le strutture risonanti o i radicali. Fare riferimento agli esempi aggiuntivi forniti per indicazioni:
      Pitone example_LigParGen_FF_assignment.py
      Pitone example_manual_FF_assignment.py

figure-protocol-2
Figura 3: Esempio di file POSCAR su reticolo PBC riempito con alcuni ioni di litio. (A) La dimensione della scatola è 14 × 14 × 14 Å3 e c'è spazio vuoto sufficiente per essere successivamente impacchettato dalle molecole di elettrolita utilizzando PackMol. (B) Il file reticolare PBC, che è essenzialmente un file VASP POSCAR che può essere visualizzato direttamente utilizzando software di terze parti come Visual Molecular Dynamics (VMD)31. Clicca qui per visualizzare una versione più grande di questa figura.

figure-protocol-3
Figura 4: Esempio di file di override delle proprietà del reticolo PBC. Questo dizionario descrive le modifiche alle proprietà che dovrebbero essere applicate agli atomi all'interno del reticolo PBC. L'esempio di voce dell'elenco nidificato per la chiave 'movable_group' significa che l'atomo di litio 0,1,2 sono tutti i singoli gruppi di atomi che possono muoversi indipendentemente durante la simulazione 3T. Inoltre, su ciascun atomo di litio viene applicato un valore di carica parziale di +0,5 utilizzando il tasto 'atom_charge_proximity'. Clicca qui per visualizzare una versione più grande di questa figura.

figure-protocol-4
Figura 5: Esempio di un file XYZ di una molecola. (A) Questo file è nel formato di un file XYZ di una molecola standard contenente solo gli elementi e le coordinate dell'atomo. (B) Questo file XYZ della molecola può essere visualizzato direttamente utilizzando software di terze parti come VMD. Clicca qui per visualizzare una versione più grande di questa figura.

figure-protocol-5
Figura 6: Esempio di un file VASP INCAR modello 3T accettabile. La maggior parte delle impostazioni in questo file deve essere regolata in base alle esigenze dell'utente. L'unico requisito per l'allentamento 3T-VASP è che il valore NSW non sia impostato o sia impostato su NSW = 0. Clicca qui per visualizzare una versione più grande di questa figura.

figure-protocol-6
Figura 7: Esempio di file di configurazione 3T. Ogni elemento nell'elenco (un blocco) rappresenta le impostazioni di un ciclo 3T (la 'modalità' determina se il ciclo è una minimizzazione 3T-FF o 3T-VASP). Quando una chiave non è specificata nel dizionario di un blocco, significa che verrà utilizzata la coppia chiave-valore del blocco precedente. 'lattice_poscar' specifica la posizione del file POSCAR della struttura reticolare in stile VASP ('file', passaggio 2.1) e del relativo file di sostituzione ('override', passaggio 2.2, se disponibile). 'molecule_xyz' specifica tutte le specie molecolari aggiuntive che vorremmo aggiungere nella casella PBC, dove 'file' specifica la posizione del file XYZ della molecola e 'count' specifica il numero di tali specie molecolari da aggiungere nella casella PBC. 'mode' specifica 'FF' (modalità 3T-FF) o 'VASP' (modalità 3T-VASP). 'n_epoch' specifica il numero di fasi di minimizzazione che devono essere eseguite in quel ciclo 3T. 'out_tag' specifica il nome che deve essere utilizzato per i file di log associati a quel ciclo (e quindi l'utente deve dare ai cicli nomi univoci per evitare di sovrascrivere accidentalmente importanti file di log o di output). 'print_freq' specifica la frequenza con cui deve essere scritto il file di log di output (1 = output nel file di log in ogni passaggio). Quando inizia a essere utilizzata la modalità 3T-VASP, l'utente deve specificare ulteriormente la posizione della cartella dei file modello VASP nel tasto 'VASP_template' del dizionario 'lattice_poscar'. Clicca qui per visualizzare una versione più grande di questa figura.

3. Eseguire la minimizzazione dell'energia 3T-FF e 3T-VASP

  1. Esegui la generazione di traiettorie 3T-FF/3T-VASP singole.
    1. Per un esempio di file di configurazione dal passaggio 2.5 ('configs/Electrolyte_Reduction.json'), eseguire i comandi:
      pitone
      >> da main_run_utils importazione principale
      >> main('configs/Electrolyte_Reduction.json')
      NOTA: A seconda della configurazione della macchina dell'utente, potrebbero essere necessarie diverse ore per completare la generazione di questa traiettoria (contiene 250 chiamate statiche VASP DFT). L'utente può tenere traccia dell'avanzamento ispezionando il contenuto del file 'default.log' in un terminale Linux separato (passaggio 1.6).
  2. Se si desidera la generazione di traiettorie su larga scala, preparare uno script Python per automatizzare la generazione e l'utilizzo del file di configurazione.
    1. Per lo script di automazione su larga scala (Figura 8), scrivere una breve funzione (ad esempio 'config_modify_func') per sostituire frasi specifiche nel file del modello di configurazione (ad esempio 'configs/Electrolyte_Reduction_template.json'). Questo genererà automaticamente nuovi file di configurazione per produrre diverse traiettorie 3T-VASP. Ad esempio, eseguire il seguente script di automazione su larga scala:
      Pitone randomize_3T_bulk_electrolyte_reduction.py
      NOTA: Una volta che il codice 3T-VASP è stato impostato correttamente e la simulazione è stata avviata, la minimizzazione della struttura multiscala 3T verrà eseguita in background. A seconda della configurazione della macchina dell'utente, potrebbero essere necessari diversi giorni per completare la generazione di più traiettorie. Questo esempio di protocollo contiene 2500 chiamate statiche VASP DFT (10 traiettorie 3T-VASP), che verranno completate entro 30-40 ore su un nodo di calcolo con 4 GPU Nvidia V100. Come accennato nel passaggio 3.1.1, l'avanzamento generale può essere monitorato controllando il contenuto del file 'default.log' in un terminale Linux separato. 3T-VASP eseguirà anche periodicamente il dump della traiettoria di uscita, che può essere rivista in tempo reale. Nell'esempio del file di configurazione (Figura 7, passaggio 2.5), il campo 'out_tag' in un blocco 3T descrive il nome dei file di output in cui verranno scritti i risultati di quel ciclo 3T. Ad esempio, il valore 'out_tag' di 'FF_step3' significa che la traiettoria atomica dell'intero ciclo sarà scritta su 'FF_step3.xyz' (sotto forma di formato di file XYZ multi-frame) mentre l'energia calcolata dal calcolatore del campo di forza 3T integrato della modalità 'FF' (o l'energia DFT calcolata da VASP nella modalità 'VASP') sarà scritta su 'FF_step3_outE.txt' (l'unità di energia in questo file è in chilocalorie per mole [kcal/mol]).

figure-protocol-7
Figura 8: Esempio di script di automazione per la generazione di traiettorie 3T-VASP. È necessario fornire un file di configurazione del modello come input 'tag' per la funzione 'multiple_runs'. Oltre a ciò, è necessario fornire anche il numero di traiettorie da generare (10) e la funzione che modifica il contenuto del file di configurazione del modello per generare nuovi file di configurazione casuali (la funzione 'config_modify_func"). Clicca qui per visualizzare una versione più grande di questa figura.

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Risultati

Se la minimizzazione dell'energia 3T è impostata correttamente, si dovrebbe osservare una graduale dispersione di molecole elettrolitiche all'interno della scatola PBC durante la fase 3T-FF, senza che si verifichi alcuna reazione chimica (Figura 9A). È importante notare che la 3T-FF si basa sulla classica energia del campo di forza, quindi è necessario che i parametri del campo di forza siano sufficientemente buoni da garantire che le molecole mantengano le loro geometrie corrette e che la t...

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Discussione

Il vantaggio principale dell'algoritmo 3T è la sua capacità di consentire una rapida minimizzazione dell'energia della struttura, che può facilmente sfuggire a banali minimi di energia locale eseguendo la minimizzazione della struttura in modo gerarchico attraverso la retropropagazione del gradiente tensoriale multiscala. Per questo motivo, l'ottimizzatore 3T tende a generare strutture fisiche a bassa energia in sistemi complessi, che sono più difficili da ottimizzare utilizzando altri algoritmi di minimizzazione dell'en...

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Dichiarazioni

Il codice 3T-VASP è disponibile al pubblico (https://www.github.com/jpmailoa/External_3T) ed è offerto come servizio commerciale nella piattaforma Tencent Elastic First-principle Simulation (TEFS) su Tencent Cloud. Gli autori dichiarano di non avere ulteriori conflitti di interesse.

Ringraziamenti

Questo lavoro è supportato dai finanziamenti del programma di ricerca e sviluppo "Pioneer" e "Leading Goose" di Zhejiang, numero di sovvenzione 2025C01222. Il lavoro computazionale è stato finanziato da Tencent ed eseguito utilizzando la piattaforma Tencent Elastic First-principles Simulation (TEFS) nel sistema di cloud computing Tencent.

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Materiali

Elenco dei materiali utilizzati in questo articolo
NomeAziendaNumero di catalogoCommenti
CondaCondaLe istruzioni ufficiali per installare Conda sulla macchina Linux possono essere trovate in: https://docs.conda.io/projects/conda/en/stable/user-guide/install/linux.html 
Software GROMACSDipartimento di Chimica Biofisica, Università di Groningen2021.3Rilascio dell'eseguibile Gromacs dal 18 agosto 2021. Anche l'eseguibile standard nella versione più recente dovrebbe funzionare, anche se non ancora testato. Le istruzioni per l'installazione di GROMACS nell'ambiente 3T conda sono disponibili a questo link: https://manual.gromacs.org/documentation/2021.3/download.html e https://manual.gromacs.org/2021.3/install-guide/index.html
Software InterMolGruppo di camicie, Università del Colorado BoulderVersione External_3TIl codice originale InterMol sviluppato dal gruppo Shirts ha un bug associato alla conversione del campo di forza di Gromacs -> LAMMPS. Per correggere questo bug è necessaria la versione InterMol inclusa nella distribuzione Github External_3T.
File di input dell'articolo JoVELaboratorio quantistico TencentEsempi di file di input per questo manoscritto JoVE disponibili dalla pagina Github di 3T-VASP all'indirizzo https://www.github.com/jpmailoa/External_3T
Script degli articoli di JoVELaboratorio quantistico TencentGli script Python per questo manoscritto JoVE sono disponibili sulla pagina Github di 3T-VASP all'indirizzo https://www.github.com/jpmailoa/External_3T
Software VASPFisica computazionale dei materiali, Dipartimento di Fisica, Università di Viennavasp.6.2.1Rilascio eseguibile VASP dal 17 maggio 2021. Anche l'eseguibile VASP parallelo standard nella versione più recente dovrebbe funzionare, anche se non ancora testato. Istruzioni e tutorial per VASP possono essere trovati in questi link: https://www.vasp.at/
https://www.vasp.at/tutorials/latest/  
Software VMDGruppo di Biofisica Teorica e Computazionale, Università dell'Illinois a Urbana-Champaign1.9.3Eseguibile VMD standard nella versione più recente.

Riferimenti

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

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Ristampe e permessi

Tag

Reazioni dell elettrolita della batteriaPercorsi di reazione elettrochimicaBatterie agli ioni di litioInterfase elettrolitica solidaWorkflow 3T VASPTeoria del funzionale della densitSottoprodotti dell elettrolitaSimulazione ab initioCondizioni al contorno periodiche