Een abonnement op JoVE is vereist om deze inhoud te bekijken. Log in of start vandaag met uw gratis proefperiode.

Methodenartikel

Snelle in-silico elektrolyt elektrochemische reactiegeneratie van de batterij met behulp van 3T-VASP Multi-Scale Energy Minimization

1K weergaven

DOI:

10.3791/68854

22 augustus 2025

In dit artikel

Samenvatting

Het 3T-VASP-raamwerk combineert hiërarchische structuurtransformatie met ab initio multi-schaal gradiënten om het aantal stappen dat nodig is om te ontsnappen aan lokale energieminima en modelelektrochemische reacties aanzienlijk te verminderen. Dit protocol presenteert een methode voor het genereren van elektrochemische reactiebijproducten voor verschillende combinaties van elektrolytcomponenten met behulp van slechts 100-150 statische DFT-berekeningen.

Samenvatting

Elektrolyten zijn belangrijke componenten in lithium-ionbatterijen. Degradatie van de batterij als gevolg van onomkeerbare elektrochemische reacties in de elektrolyt kan echter elektrolytmoleculen verbruiken en de effectieve levensduur ervan aanzienlijk verkorten. Het is daarom belangrijk om de elektrochemische reactieroutes in de batterij-elektrolyt te bestuderen om de betrouwbaarheid van lithium-ionbatterijen verder te verbeteren. Helaas is het moeilijk om experimenteel de exacte elektrochemische reactieroutes van elektrolyten in de elektrolyt te bestuderen, die meestal veel chemische soorten bevat (verschillende oplosmiddelen, zouten, additieve moleculen en elektrode-interfaces). Deze reactiebijproducten kunnen een complexe vaste elektrolytinterfase (SEI) vormen op de elektrolyt-elektrode-interface (LiF, Li2CO3, Li2O, LiOH, organolithiumverbindingen, enz.), die moeilijker te analyseren zijn, in plaats van te worden vrijgegeven als de gemakkelijker te analyseren kleine gasmoleculen. Onze recente publicatie over de gelaagde tensortransformatietechniek in combinatie met software voor dichtheidsfunctionaaltheorie (gelaagde tensortransformatie - Vienna Ab-initio Simulation Package (VASP), of 3T-VASP) maakt het mogelijk om de ab-initio-benadering praktisch te gebruiken om fysisch betekenisvolle elektrolytelektrochemische reactiebijproducten te genereren binnen slechts 100-150 DFT-stappen. In dit werk beschrijven we de interne werking van de 3T-VASP-code (openbaar beschikbaar op Github) in meer detail, samen met de simulatievoorbereidingsstappen die nodig zijn om de 3T-VASP-workflow correct in te stellen voor nieuwe elektrolytsystemen die van belang zijn, naast de voorbeelden die in de oorspronkelijke 3T-VASP-publicatie werden gepresenteerd.

Inleiding

Onderzoek naar elektrochemische reactieroutes in nieuwe elektrolytsamenstellingen van batterijen is belangrijk voor het identificeren van methoden om de prestaties en levensduur van batterijen van elektrische voertuigen te verbeteren1. Dergelijke studies zijn echter vaak moeilijk omdat batterij-elektrolyten vaak worden gemaakt door verschillende componenten te mengen, zoals oplosmiddel-, zout- en additieve moleculen, die met zichzelf en met verschillende oppervlakken (kathode- en anode-elektroden) interageren onder verschillende bedrijfsspanningen en temperaturen van de batterij2. In experimenten zijn sommige van de onomkeerbare elektrolytelektrochemische ontledingsreacties gemakkelijker te onderzoeken omdat ze kleine bijproducten van gasmoleculen produceren die uit de elektrolytoplossing in de lucht vrijkomen (waardoor het gemakkelijker wordt om te onderzoeken met behulp van experimentele technieken zoals gaschromatografie 3,4,5). Veel van deze bijproducten zijn echter grotere moleculen of complexe organisch-anorganische vaste mengsels, zoals complexe organolithiumpolymeerverbindingen6, die niet als gasmoleculen in het milieu terechtkomen. Dit maakt het moeilijk om deze complexere elektrochemische reactieroutes experimenteel te bestuderen2.

Ab-initio-modellering, zoals dichtheidsfunctionaaltheorie (DFT), is een veelbelovende methode om potentiële elektrochemische degradatieroutes in de elektrolyt in silico7 te bestuderen. Eenvoudige DFT-energieminimalisatie van een complexe elektrolytstructuur (vloeibaar mengsel met experimenteel redelijke concentraties elektrolytcomponenten in een periodiek randvoorwaardevak) zal echter meestal geen laag-energetische structuren genereren die overeenkomen met fysisch betekenisvolle elektrochemische reactiebijproducten. De DFT-geminimaliseerde structuren hebben doorgaans een hogere energie en vertegenwoordigen niet-fysische bijproducten die overeenkomen met onjuiste elektrochemische degradatieroutes, omdat de structuren tijdens de DFT-energieminimalisatieprocedure worden gevangen in lokale energieminima. Methoden zoals ab-initio moleculaire dynamica (AIMD)8,9, krachtveld van het neurale netwerk 10,11,12,13,14,15,16 of DFT-gebaseerde metadynamica 17,18,19 worden vaak gebruikt om meer diverse elektrolytstructuren te verkennen, waaronder meer betekenisvolle bijproducten van elektrochemische reacties. Computationele screening om elektrolytcomponenten te genereren waarvan wordt voorspeld dat ze elektrochemisch stabieler zijn, wordt ook vaak geprobeerd20. Al deze methoden hebben echter hun eigen nadelen, zoals: het vereisen van grote en langdurige rekenkracht7, grote hoeveelheden ab-initio trainingsgegevens13 of voorkennis over de uiteindelijke elektrochemische reactie bijproducten om de simulatie te vertekenen in specifieke resultaten21.

We hebben onlangs een methode geïntroduceerd om ab-initio structuurenergieminimalisatie op een multischaalmanier uit te voeren door de energiegradiënten verkregen uit een ab-initio-methode, zoals DFT-atoomkrachten berekend met behulp van Vienna Ab-initio Simulation Package (VASP) software22, te verbinden met de structuurtransformatiefunctiegradiënten berekend met behulp van PyTorch (3T-VASP)23,24. Deze aanpak stelt de gebruiker in staat om eenvoudig een simulatiebox op te zetten die gevuld is met meerdere soorten en tellingen van elektrolytcomponentmoleculen en een externe atoomenergie- en krachtcalculator uit te voeren (zoals een klassiek krachtveld of VASP DFT). De minimalisering van de structuurenergie wordt vervolgens automatisch uitgevoerd op een multischaalmanier, waarbij de natuurlijke structuurtransformatiemodi van de relevante moleculen worden gerespecteerd (translaties en rotaties van verschillende segmenten van het molecuul). Omdat een 3T-VASP-simulatie doorgaans 'voltooid' is binnen 100-150 statische DFT-aanroepen, terwijl fysiek betekenisvolle reactiebijproducten worden gegenereerd (veel hiervan werden experimenteel waargenomen in eerdere literatuur)24, is het mogelijk om veel verschillende ensembles van 3T-VASP-trajecten uit te voeren om potentieel betekenisvolle elektrochemische reactieroutes en bijproducten in de elektrolyt te genereren voor verder computationeel of experimenteel onderzoek. De principes en wiskunde achter de minimalisering van de gradiëntstructuur op meerdere schalen zijn uitgebreid besproken in een eerdere publicatie24. In dit werk willen we de 3T-VASP-softwarearchitectuur en computationele workflow verder in detail beschrijven, de opzet van de computeromgeving die nodig is om 3T-VASP uit te voeren, de voorbereiding van invoerbestanden voor 3T-VASP-simulatie van nieuwe systemen, de monitoring van 3T-VASP-simulaties en het voorbeeld van outputtrajecten.

Ten eerste is het noodzakelijk om de algehele architectuur van de 3T-VASP-software te begrijpen, zoals weergegeven in Figuur 1. 3T-VASP werkt door de natuurlijke structuurtransformatiemodi in het molecuul te identificeren en te benutten (omdat dit structuurtransformaties zijn die voor de moleculen gemakkelijker uit te voeren zijn met behoud van een relatief lage ab-initio-structuurenergie )24. Hoewel het mogelijk is om deze structuurtransformatiemodi handmatig te programmeren voor elke nieuwe molecuulsoort (het is omslachtig om dit te doen), biedt 3T-VASP de mogelijkheid om dit proces voor de gebruiker te automatiseren door gebruik te maken van de informatie die beschikbaar is in het klassieke krachtveldbestand dat het molecuul24 vertegenwoordigt. Zodra deze structuurtransformatiemodi zijn bepaald voor de gewenste elektrolytmolecuulcomponenten, moet de gebruiker het vak voor de periodieke randvoorwaarden en de roostervectorparameters specificeren (het vak kan oorspronkelijk leeg zijn, of gedeeltelijk gevuld met individuele kationen of elektrodeoppervlak) om verder te worden gevuld met de gewenste typen en aantallen andere elektrolytmoleculen (zoals oplosmiddelen, zoutionen, additieven). Het 3T-algoritme gebruikt dan ofwel een klassiek krachtveld (een ingebouwde klassieke krachtveldcalculator wordt meegeleverd met 3T-VASP) of de VASP-software van de computeromgeving om atoomenergie en krachten te berekenen om structuurtransformatie op meerdere schalen uit te voeren, waardoor de structuurenergie kan worden geminimaliseerd in een bescheiden aantal statische DFT-oproepen24. Deze verlaging van de rekenkosten maakt het mogelijk om het elektrochemische reactietraject en de bijproductgeneratie te herhalen voor een groot aantal initiële structuren.

figure-introduction-1
Figuur 1: Computationele workflow van 3T-VASP. (A) Voorverwerking van 3T-VASP-invoerstructuren (periodiek randvoorwaarderooster en kleine moleculen). De parametrisatie van het krachtveld van kleine moleculen kan automatisch worden uitgevoerd met behulp van de SwissParam-webserver, handmatig worden gewijzigd na de parametrisatie van de LigParGen-webserver, of worden geladen vanuit een cache op basis van eerder voltooide parametrisatie. De segmentatie van de micro- en macrogroepen van het 3T-algoritme gebeurt automatisch door de molecuulsubstructuren te parseren op basis van hun draaibare bindingen. Het PBC-roosterinvoerbestand heeft de indeling van het VASP POSCAR-bestand en moet zo zijn ontworpen dat er voldoende lege fysieke ruimte is om het gewenste aantal invoermoleculen te verpakken. Het PBC-rooster kan een lege doos zijn gevuld met een paar ionen of een oppervlaktestructuur met wat lege ruimte. (B) De gewenste typen en aantallen kleine moleculen worden met behulp van PackMol in de lege ruimte in het PBC-rooster geplaatst. (C) Minimalisering van de 3T-structuur op meerdere schalen met behulp van een ingebouwde krachtveldcalculator (3T-FF, meestal om vloeistofdispersie mogelijk te maken en een fysisch redelijke beginstructuur voor 3T-VASP te creëren zonder rekening te houden met chemische reacties). (D) Minimalisering van de 3T-structuurstructuur op meerdere schalen met behulp van externe software zoals de VASP-calculator (3T-VASP maakt elektrochemische reacties mogelijk). Klik hier om een grotere versie van deze figuur te bekijken.

Diverse open-source externe software, zoals GROningen Machine for Chemical Simulations (GROMACS), een klassieke software op basis van moleculaire dynamica op basis van krachtvelden, die nuttig is voor het uitvoeren van grootschalige moleculaire dynamicasimulaties25 en InterMol, een Python-bibliotheekcodebase ontwikkeld door Shirts et al. voor conversies van bestandsformaten in moleculaire dynamica26, worden gebruikt om geautomatiseerde parametrisatie van het krachtveld van moleculen en extractie van draaibare bindingen mogelijk te maken. VASP wordt gebruikt om een elektrochemische reactie mogelijk te maken tijdens de ab initio-fase (3T-VASP-cycli). De stappen die nodig zijn om deze afhankelijkheden te installeren, worden in dit artikel gepresenteerd.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Protocol

1. Opzetten van een computeromgeving voor het uitvoeren van 3T-VASP

OPMERKING: Het wordt aanbevolen om Linux27 te gebruiken voor de volgende stappen.

  1. Stel de conda-omgeving28 in die is bedoeld voor het uitvoeren van 3T-VASP.
    1. Installeer conda (zoals miniconda) op de Linux-machine door de officiële instructies te volgen (raadpleeg de materiaaltabel voor de link).
    2. Maak een nieuwe 3T conda-omgeving, activeer deze en installeer git door de volgende opdrachten uit te voeren:
      conda maken --naam 3T python=3.11
      conda activeren 3T
      Conda installeren GIT-C CONDA-FORGE
    3. Kloon de 3T-VASP github-repository en voer de map in
      Git kloon https://github.com/jpmailoa/External_3T.git
      cd External_3T
    4. Installeer mamba om conda-afhankelijkheden te beheren en installeer de vereiste bibliotheken voor de 3T conda-omgeving:
      Conda installeren Mamba-C Conda-Forge
      Mamba installeren --bestand requirements.txt -c pytorch -c conda-forge -c rdkit
  2. Installeer de software GROMACS in de 3T omgeving.
    1. Installeer GROMACS in de 3T conda-omgeving (de installatie-instructies zijn te vinden in Materiaaltabel).
      OPMERKING: Als de gebruiker niet van plan is om een nieuw molecuul in een .pkl-formaat te verwerken (zie stap 2.3) en kan werken met bestaande moleculen die eerder zijn verwerkt (in de vorm van een .pkl-bestand), kan deze GROMACS-installatie (stap 1.2) worden overgeslagen.
  3. Installeer de aangepaste versie van InterMol in de 3T omgeving.
    1. Volg deze instructies om een bugfix-versie van InterMol te installeren:
      cd hulpprogramma's/Convert_Gromacs_LAMMPS/InterMol
      Python setup.py bouwen
      Python setup.py installeren
      cd.. /.. /..
      OPMERKING: Als de gebruiker niet van plan is om een nieuw molecuul te verwerken in een .pkl-formaat (zie stap 2.3) en kan werken met bestaande moleculen die eerder zijn verwerkt (in de vorm van een .pkl-bestand), kan deze InterMol-installatie (stap 1.3) worden overgeslagen.
  4. Geef het VASP-softwarepad op in de 3T-VASP-code.
    1. Installeer de VASP-software op de 3T-omgeving. De instructies en tutorials zijn te vinden in Tabel met materialen.
    2. Open het bestand 'utils/calculator_3T_VASP.py' en vink de 'run_VASP' functie aan. Zoek naar de volgende standaardregel in het Python-script:
      os.system('nohup mpirun -n '+n_gpu+' --allow-run-as-root ~/software/vasp.6.2.1/bin/vasp_std')
      1. De bovenstaande standaardregel moet worden gewijzigd in de aanroep van het besturingssysteem, die verwijst naar het uitvoerbare VASP-bestand van de gebruiker en de rekenbronnen opgeeft, bijvoorbeeld:
        os.system('mpirun -np 2 /path/to/vasp/bin/vasp_std')
  5. Zorg ervoor dat de benodigde niet-Python-bibliotheken van derden beschikbaar zijn in de 3T conda-omgeving door deze opdrachten uit te voeren in de Linux-terminal (of indien nodig te installeren):
    GMX
    wget
    unzippen
    Packmol
    OPMERKING: Deze commando's worden alleen aangeroepen tijdens de voorverwerking van het bestand in het formaat van het molecuulkrachtveld, dus als de gebruiker alleen van plan is om met voorbewerkte .pkl-bestanden van het molecuul te werken, hoeven de bibliotheken 'wget' en 'unzip' niet te worden geïnstalleerd.
  6. Voer een testrun uit om er zeker van te zijn dat 3T-VASP correct is geconfigureerd.
    1. Gebruik Python om een van de volgende testscripts uit te voeren, die worden geleverd op basis van een eerdere publicatie24:
      Python randomize_3T_bulk_electrolyte_reduction.py
      Python randomize_3T_bulk_electrolyte_oxidation.py
    2. Een succesvolle uitvoering genereert logboeken in het uitvoerbestand 'default.log', die kunnen worden bewaakt in een aparte Linux-terminal (voorbeeld weergegeven in Afbeelding 2).

figure-protocol-1
Figuur 2: Voorbeeldinhoud van een 3T-logbestand tijdens een testrun na een succesvolle installatie. Het standaard logbestand registreert eenvoudig het huidige stapnummer van een 3T-cyclus en de rekentijd die is verstreken sinds het begin van de cyclus. Klik hier om een grotere versie van deze figuur te bekijken.

2. 3T-VASP invoerbestanden voorbereiden

  1. Bereid de periodieke vakroosterstructuur voor in VASP POSCAR-bestandsindeling.
    1. Geef de 3T-VASP-roosterbestanden een naam als '.vasp' en sla ze op in een submap van de map 'input' (zoals de map 'input/Electrolyte_Reduction'). Schrijf de bestanden in de vorm van een VASP POSCAR-bestand. Een voorbeeld van zo'n PBC-raster POSCAR-bestand met drie lithiumkationen erin wordt hieronder weergegeven in figuur 3.
  2. Bereid het bestand voor het overschrijven van de eigenschap van de periodieke vakroosterstructuur voor.
    1. Noem deze 3T-VASP roosterstructuur eigenschap override bestanden als '.override', plaats ze in de submap van de 'input' map (zoals 'input/Electrolyte_Reduction' map uit stap 2.1), en schrijf ze in het JSON-formaat als een woordenboek met de toetsinvoer 'movable_group' en 'atom_charge_proximity' (zie voorbeeld in Figuur 4).
  3. Bereid molecuulstructuurbestanden voor in het XYZ-bestandsformaat.
    1. Noem deze 3T-VASP molecuulstructuurbestanden als '.xyz' (zie voorbeeld in Figuur 5) en plaats ze in de 'input'-map. 3T-VASP controleert of de '.xyz' al eerder is geconverteerd naar een .pkl-bestand of niet, en zo niet, dan wordt het molecuul verwerkt met behulp van een gratis externe SwissParam force field parametrization webserver29 van derden. Als krachtveldparametrisatie is gebaseerd op een andere webserver, zoals LigParGen30 , of handmatige parametrisatie gewenst is, raadpleeg dan stap 2.6.
  4. Bereid sjabloon VASP-invoerbestanden voor die tijdens elke 3T-VASP-stap moeten worden gebruikt.
    1. Gebruik de standaard VASP-invoerbestanden zoals INCAR, KPOINTS en POTCAR (POSCAR niet nodig). Zorg er in het INCAR-bestand voor dat het aantal stappen in moleculaire dynamica NSW niet is ingesteld of is ingesteld op de standaardwaarde van NSW = 0 (voorbeeld weergegeven in afbeelding 6). Plaats deze bestanden in een submap van de map 'templates/VASP' (zoals 'templates/VASP/Electrolyte_Reduction').
  5. Bereid een 3T-configuratiebestand voor dat alle andere invoerbestanden configureert.
    OPMERKING: Dit configuratiebestand moet worden geleverd in de vorm van een JSON-lijstformaat (waarbij elk lid van de lijst een woordenboekblok is dat de instellingen van één 3T-cyclus aangeeft)24 en in de map 'configs' worden geplaatst (zoals 'configs/Electrolyte_Reduction.json', voorbeeld weergegeven in Figuur 7 hieronder). Niet-gespecificeerde parameters in elke cyclus nemen de parameters over van de configuratie van de vorige cyclus.
  6. (Optioneel) Gebruik indien nodig handmatige parametrisatie of LigParGen-webserver om het molecuulkrachtveld te parametriseren.
    1. Gebruik LigParGen of handmatige parametrisatie voor moleculen die niet door SwissParam kunnen worden geparametriseerd, zoals geladen moleculen, resonantiestructuren of radicalen. Raadpleeg de aanvullende voorbeelden voor richtlijnen:
      Python example_LigParGen_FF_assignment.py
      Python example_manual_FF_assignment.py

figure-protocol-2
Figuur 3: Voorbeeld van een POSCAR-bestand met PBC-roosters gevuld met enkele lithiumionen. (A) De doosgrootte is 14 × 14 × 14 Å3 en er is voldoende lege ruimte om vervolgens te worden verpakt door elektrolytmoleculen met behulp van PackMol. (B) Het PBC-roosterbestand, dat in wezen een VASP POSCAR-bestand is dat direct kan worden gevisualiseerd met behulp van software van derden, zoals Visual Molecular Dynamics (VMD)31. Klik hier om een grotere versie van deze figuur te bekijken.

figure-protocol-3
Afbeelding 4: Voorbeeld van een PBC-rastereigenschap override-bestand. Dit woordenboek beschrijft de eigenschapswijzigingen die moeten worden toegepast op atomen in het PBC-rooster. Het voorbeeld van een geneste lijstinvoer voor de sleutel 'movable_group' betekent dat lithiumatoom 0,1,2 allemaal afzonderlijke groepen atomen zijn die onafhankelijk van elkaar kunnen bewegen tijdens de 3T-simulatie. Daarnaast wordt een gedeeltelijke ladingswaarde van +0,5 toegepast op elk lithiumatoom met behulp van de sleutel 'atom_charge_proximity'. Klik hier om een grotere versie van deze figuur te bekijken.

figure-protocol-4
Figuur 5: Voorbeeld van een molecuul XYZ-bestand. (A) Dit bestand heeft de vorm van een standaard molecuul XYZ-bestand dat alleen de atoomelementen en coördinaten bevat. (B) Dit XYZ-bestand van het molecuul kan direct worden gevisualiseerd met behulp van software van derden, zoals VMD. Klik hier om een grotere versie van deze figuur te bekijken.

figure-protocol-5
Figuur 6: Voorbeeld van een acceptabel 3T-sjabloon VASP INCAR-bestand. De meeste instellingen in dit bestand moeten worden afgestemd op basis van de behoeften van de gebruiker. De enige vereiste voor 3T-VASP-relaxatie is dat de NSW-waarde niet is ingesteld of is ingesteld op NSW = 0. Klik hier om een grotere versie van deze figuur te bekijken.

figure-protocol-6
Figuur 7: Voorbeeld van een 3T config bestand. Elk element in de lijst (een blok) vertegenwoordigt de instellingen van een 3T-cyclus ('modus' bepaalt of de cyclus een 3T-FF- of een 3T-VASP-minimalisatie is). Als een sleutel niet is gespecificeerd in het woordenboek van een blok, betekent dit dat in plaats daarvan het sleutel-waardepaar van het vorige blok wordt gebruikt. 'lattice_poscar' geeft de locatie aan van het POSCAR-bestand van de roosterstructuur in VASP-stijl ('bestand', stap 2.1) en het override-bestand ('overschrijving', stap 2.2, indien beschikbaar). 'molecule_xyz' specificeert alle extra molecuulsoorten die we aan het PBC-vak willen toevoegen, waarbij 'bestand' de locatie van het XYZ-bestand van het molecuul specificeert en 'aantal' het aantal van dergelijke molecuulsoorten specificeert dat aan het PBC-vak moet worden toegevoegd. 'modus' specificeert 'FF' (3T-FF-modus) of 'VASP' (3T-VASP-modus). 'n_epoch' geeft het aantal minimaliseringsstappen aan dat in die 3T-cyclus moet worden uitgevoerd. 'out_tag' geeft de naam aan die moet worden gebruikt voor de bijbehorende logbestanden van die cyclus (en daarom moet de gebruiker de cycli unieke namen geven om te voorkomen dat per ongeluk belangrijke log- of uitvoerbestanden worden overschreven). 'print_freq' geeft aan hoe vaak het uitvoerlogbestand moet worden geschreven (1 = uitvoer naar logbestand bij elke stap). Wanneer de 3T-VASP-modus wordt gebruikt, moet de gebruiker de maplocatie van de VASP-sjabloonbestanden verder specificeren in de 'VASP_template'-toets van het 'lattice_poscar'-woordenboek. Klik hier om een grotere versie van deze figuur te bekijken.

3. Voer 3T-FF en 3T-VASP energieminimalisaties uit

  1. Voer het genereren van een enkel 3T-FF/3T-VASP-traject uit.
    1. Voor een voorbeeld van een configuratiebestand uit stap 2.5 ('configs/Electrolyte_Reduction.json') voert u de volgende opdrachten uit:
      Python
      >> van main_run_utils import main
      >> main('configs/Electrolyte_Reduction.json')
      OPMERKING: Afhankelijk van de machineconfiguratie van de gebruiker kan het enkele uren duren om het genereren van dit traject te voltooien (het bevat 250 VASP DFT statische aanroepen). De gebruiker kan de voortgang volgen door de inhoud van het 'default.log'-bestand te inspecteren in een aparte Linux-terminal (stap 1.6).
  2. Als grootschalige trajectgeneratie gewenst is, bereidt u een Python-script voor om het genereren en gebruiken van configuratiebestanden te automatiseren.
    1. Voor het grootschalige automatiseringsscript (Figuur 8) schrijft u een korte functie (zoals 'config_modify_func') om specifieke zinnen in het configuratiesjabloonbestand te vervangen (zoals 'configs/Electrolyte_Reduction_template.json'). Dit genereert automatisch nieuwe configuratiebestanden om verschillende 3T-VASP-trajecten te produceren. Voer bijvoorbeeld het volgende grootschalige automatiseringsscript uit:
      Python randomize_3T_bulk_electrolyte_reduction.py
      OPMERKING: Zodra de 3T-VASP-code correct is ingesteld en de simulatie is gestart, wordt de minimalisering van de 3T-structuur op meerdere schalen op de achtergrond uitgevoerd. Afhankelijk van de machineconfiguratie van de gebruiker kan het enkele dagen duren voordat het genereren van meerdere trajecten is voltooid. Dit protocolvoorbeeld bevat 2500 VASP DFT statische aanroepen (10 3T-VASP-trajecten), die binnen 30-40 uur worden voltooid op een compute node met 4 Nvidia V100 GPU's. Zoals vermeld in stap 3.1.1, kan de algehele voortgang worden gevolgd door de inhoud van het 'default.log'-bestand in een aparte Linux-terminal te controleren. 3T-VASP zal ook periodiek het outputtraject dumpen, dat in realtime kan worden bekeken. In het voorbeeld van het configuratiebestand (Figuur 7, stap 2.5) beschrijft het veld 'out_tag' in een 3T-blok de naam van de uitvoerbestanden waarin de resultaten van die 3T-cyclus zullen worden geschreven. De 'out_tag'-waarde van 'FF_step3' betekent bijvoorbeeld dat de atomaire baan van de hele cyclus op 'FF_step3.xyz' wordt geschreven (in de vorm van een multi-frame XYZ-bestandsindeling), terwijl de energie berekend door de ingebouwde 3T-krachtveldcalculator van de 'FF'-modus (of DFT-energie berekend door VASP in de 'VASP'-modus) wordt geschreven op 'FF_step3_outE.txt' (de energie-eenheid in dit bestand is in kilocalorie per mol [kcal/mol]).

figure-protocol-7
Figuur 8: Voorbeeld van een automatiseringsscript voor het genereren van 3T-VASP-trajecten. Er moet een sjabloonconfiguratiebestand worden aangeleverd als de 'tag'-invoer voor de 'multiple_runs'-functie. Daarnaast moet ook het aantal te genereren trajecten (10) en de functie die de inhoud van het sjabloonconfiguratiebestand wijzigt om nieuwe willekeurige configuratiebestanden te genereren (de 'config_modify_func'-functie) worden voorzien. Klik hier om een grotere versie van deze figuur te bekijken.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Resultaten

Als de 3T-energieminimalisatie correct is ingesteld, zou men een geleidelijke dispersie van elektrolytmoleculen in de PBC-box moeten waarnemen tijdens de 3T-FF-fase, zonder dat er een chemische reactie plaatsvindt (Figuur 9A). Het is belangrijk op te merken dat 3T-FF afhankelijk is van klassieke krachtveldenergie, dus het is noodzakelijk dat de krachtveldparameters goed genoeg zijn om ervoor te zorgen dat moleculen hun juiste geometrie behouden en dat het 3T...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Discussie

Het belangrijkste voordeel van het 3T-algoritme is het vermogen om snelle minimalisering van structuurenergie mogelijk te maken, die gemakkelijk kan ontsnappen aan triviale lokale energieminima door de structuurminimalisatie op een hiërarchische manier uit te voeren door middel van tensorgradiënt-terugpropagatie op meerdere schalen. Hierdoor heeft de 3T-optimizer de neiging om fysieke laag-energetische structuren te genereren in complexe systemen, die moeilijker te optimaliseren zijn met...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Openbaarmakingen

De 3T-VASP-code is openbaar beschikbaar (https://www.github.com/jpmailoa/External_3T) en wordt aangeboden als een commerciële service in het Tencent Elastic First-principle Simulation (TEFS)-platform op Tencent Cloud. De auteurs verklaren geen aanvullend belangenconflict.

Dankbetuigingen

Dit werk wordt ondersteund door financiering van het "Pioneer" and "Leading Goose" R&D-programma van Zhejiang, subsidienummer 2025C01222. Het rekenwerk werd gefinancierd door Tencent en uitgevoerd met behulp van het Tencent Elastic First-principles Simulation (TEFS)-platform in het Tencent Cloud computing-systeem.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Materialen

Lijst van materialen gebruikt in dit artikel
NaamBedrijfCatalogusnummerOpmerkingen
CondaCondaDe officiële instructies om Conda op de Linux-machine te installeren zijn te vinden in: https://docs.conda.io/projects/conda/en/stable/user-guide/install/linux.html 
GROMACS softwareBiophysical Chemistry Department, University of Groningen2021.3Gromacs uitvoerbare release van 18 augustus 2021. Standaard uitvoerbare in de nieuwste versie zou ook moeten werken, hoewel nog niet getest. De installatie-instructies voor GROMACS in de 3T conda-omgeving zijn te vinden in deze link: https://manual.gromacs.org/documentation/2021.3/download.html en https://manual.gromacs.org/2021.3/install-guide/index.html
InterMol softwareShirts Group, University of Colorado BoulderExternal_3T versieDe originele InterMol-code ontwikkeld door de Shirts-groep heeft een bug geassocieerd met Gromacs -> LAMMPS krachtveldconversie. De InterMol-versie opgenomen in de External_3T Github-distributie is vereist om deze bug te repareren.
JoVE artikel inputbestandenTencent Quantum LaboratoryVoorbeeld van inputbestanden voor dit JoVE-manuscript beschikbaar vanaf de 3T-VASP Github-pagina op https://www.github.com/jpmailoa/External_3T
JoVE artikel scriptsTencent Quantum LaboratoryPython scripts voor dit JoVE-manuscript beschikbaar vanaf de 3T-VASP Github-pagina op https://www.github.com/jpmailoa/External_3T
VASP softwareComputational Material Physics, Dept. of Physics, University of Viennavasp.6.2.1VASP uitvoerbare release van 17 mei 2021. Standaard parallelle VASP-uitvoerbare in de nieuwste versie zou ook moeten werken, hoewel nog niet getest. Instructies en tutorials voor VASP zijn te vinden in deze links: https://www.vasp.at/
https://www.vasp.at/tutorials/latest/  
VMD softwareTheoretical and Computational Biophysics Group, University of Illinois at Urbana-Champaign1.9.3Standaard VMD-uitvoerbare in de nieuwste versie.

Referenties

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

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Herprints en machtigingen

Trefwoorden

Batterijelektrolytreactieselektrochemische reactiepadenlithium ionbatterijensolid electrolyte interphase3T VASP workflowdichtheidsfunctionaaltheorieelektrolytbijproductenab initio simulatieperiodieke randvoorwaarden