Directing selective solvent presentations at the electrochemical interfaces to enable initially anode-free sodium metal batteries
Data files
Sep 22, 2025 version files 138.28 GB
-
NC_codes.tar
138.28 GB
-
README.md
10.51 KB
Abstract
Initially, anode-free sodium metal batteries offer a high energy density at lower costs than lithium-ion batteries, making them a promising alternative for portable electronics, transportation, and power grids. However, side reactions at the electrode/electrolyte interface hinder their practical applications. Our study reveals that negative electrode stability is primarily influenced by the solvents in the cation’s first solvation shell, whereas positive electrode stability is dictated by weakly bonded solvents. Based on this insight, we introduce an electrolyte design strategy to selectively direct 2-methyltetrahydrofuran to the Na metal electrode and tetrahydrofuran to the NaNi1/3Fe1/3Mn1/3O2 positive electrode interface, optimizing stability for both electrodes. With this tailored electrolyte, we achieve an average Coulombic efficiency of 99.91% in Na-Cu cells for 400 cycles at 1 mA/cm2 with 1 mAh/cm2 and demonstrate stable Na plating/stripping for 5000 hours at 2 mA/cm2 with 2mAh/cm2 in Na-Na cells. Furthermore, an initially anode-free sodium metal battery with a positive electrode active material loading of 15.88 mg cm^-2^ retains 90.9% of its capacity over 150 cycles at 110 mA g^-1^, even after aging, underscoring its potential for practical applications.
Dataset DOI: 10.5061/dryad.9w0vt4btn
Description of the data and file structure
This document outlines the simulation and computational methods used in the paper “Directing Selective Solvent Presentations at Electrochemical Interfaces to Enable Initially Anode-Free Sodium Metal Batteries” to facilitate reproducibility of the reported results. All simulations were performed using GROMACS 2021.5 and Python 3.11.5
Files and variables
File: NC_codes.tar
Description:
Text-based files (‘.gro’, ‘.ndx’, ‘.top’, ‘.itp’, ‘.mdp’, and ‘.xvg’) can be opened with standard text readers, while binary files (‘.tpr’, ‘.xtc’) require GROMACS to read or run the files.
* ‘.tpr’: Simulation input (coordinates, parameters, etc.)
* ‘.ndx’: Index groups of atoms or residues
* ‘.top’: System topology and parameters
* ‘.itp’: Modular topology components (parameters, atom types, bonds, angles, dihedrals, etc.)
* ‘.gro’: System structure (coordinates, atom type, box size)
* ‘.xtc’: Compressed trajectory file
* ‘.xvg’: Plot/graph data generated by GROMACS built-in functions
Folder structure
* analysis = Python scripts for analyzing GROMACS output
* bash_files = Bash files for job submission (simulation runs and solvation free energy calculations)
* force_fields = Parameter files that define the force field of each molecule
* MDP = MDP files (energy minimization ('em_steep.mdp'), NVT and NPT equilibrations ('nvt.mdp' and 'npt.mdp'), MD production ('md.mdp'), and a Perl script to create .mdp files for each lambda state ('write_mdp.pl')) for standard simulation runs
* MDP_solv = MDP files (energy minimization ('em_steep.mdp'), NVT and NPT equilibrations ('nvt.mdp' and 'npt.mdp'), MD production ('md.mdp'), and a Perl script to create .mdp files for each lambda state ('write_mdp.pl')) for solvation free energy calculations
* packmol_files = Packmol scripts and corresponding input/output for system generation
* input_pdbs = GROMACS input files (.pdb)
* output_pdbs = GROMACS output files (.pdb)
* scripts = Packmol scripts to generate systems
* Replicate 1 = GROMACS input/output files for replicate 1
* 55TM18 = All simulation input/output files for 1.8M NaPF6 in THF/2-MeTHF (5:5) system
* equil = GROMACS output files for energy minimization, NVT, and NPT equilibration steps
* Lambda_nas = GROMACS output files from Na+ solvation free energy calculations in multi-ion systems, named Lambda_nas_0 through Lambda_nas_25 (for each λ state)
* EM = GROMACS output files for energy minimization at each λ state (0–25)
* NPT = GROMACS output files for NPT equilibration at each λ state (0–25)
* NVT = GROMACS output files for NVT equilibration at each λ state (0–25)
* Production_MD = GROMACS output files for production runs at each λ state (0–25)
* Lambda_pf6 = GROMACS output files from PF6- solvation free energy calculations in multi-ion systems, named Lambda_pf6_0 through Lambda_pf6_25 (for each λ state)
* EM = GROMACS output files for energy minimization at each λ state (0–25)
* NPT = GROMACS output files for NPT equilibration at each λ state (0–25)
* NVT = GROMACS output files for NVT equilibration at each λ state (0–25)
* Production_MD = GROMACS output files for production runs at each λ state (0–25)
* md_nas = .xvg output files from the 'Production_MD' directories for each λ state (0–25), collected for Na+ solvation free energy analysis with gmx bar
* md_pf6 = .xvg output files from the 'Production_MD' directories for each λ state (0–25), collected for PF6- solvation free energy analysis with gmx bar
* Bulk = GROMACS input/output files for single-ion and bulk systems
* Bulk_55TM18 = All simulation input/output files for the THF/2-MeTHF (5:5) system, containing either one Na+, one PF6-, or the bulk system)
* equil = GROMACS output files for energy minimization, NVT, and NPT equilibration steps
* Lambda_nas = GROMACS output files from Na+ solvation free energy calculations in single-ion systems, named Lambda_nas_0 through Lambda_nas_25 (for each λ state)
* EM = GROMACS output files for energy minimization at each λ state (0–25)
* NPT = GROMACS output files for NPT equilibration at each λ state (0–25)
* NVT = GROMACS output files for NVT equilibration at each λ state (0–25)
* Production_MD = GROMACS output files for production runs at each λ state (0–25)
* Lambda_pf6 = GROMACS output files from PF6- solvation free energy calculations in single-ion systems, named Lambda_pf6_0 through Lambda_pf6_25 (for each λ state)
* EM = GROMACS output files for energy minimization at each λ state (0–25)
* NPT = GROMACS output files for NPT equilibration at each λ state (0–25)
* NVT = GROMACS output files for NVT equilibration at each λ state (0–25)
* Production_MD = GROMACS output files for production runs at each λ state (0–25)
* md_nas = .xvg output files from the 'Production_MD' directories for each λ state (0–25), collected for Na+ solvation free energy analysis with gmx bar
* md_pf6 = .xvg output files from the 'Production_MD' directories for each λ state (0–25), collected for PF6- solvation free energy analysis with gmx bar
* vacuum = GROMACS input/output files of each solvent system used for solvation free energy corrections
* equil = GROMACS output files for energy minimization, NVT, and NPT equilibration steps
**Note: Only the folder structure for Replicate 1 (55TM18) is shown here in detail as an example. The corresponding directories in other replicates and systems (Replicate 2, 37TM18, 73TM18, M1, T18) follow the same nested structure and naming conventions.
* Replicate 2 = GROMACS input/output files for replicate 2
* THF = tetrahydrofuran
* 2-MeTHF = 2-methyltetrahydrofuran
* CIP = Contact Ion Pairs
* SSIP = Solvent-Separated Ion Pairs
* AGGs = Aggregates
* NAS = Na+
* MTR = 2-MeTHF-R
* MTS = 2-MeTHF-S
**Note on software: Some files (e.g., .log) are output logs generated by GROMACS. These are provided for reproducibility. The GROMACS software itself is not included in this dataset.
Code/software
1. Multi-ion systems
This directory contains all simulation input and output files for the five systems described in the paper
* 1.8M NaPF6 in THF/2-MeTHF (3:7) in 37TM18
* 1.8M NaPF6 in THF/2-MeTHF (5:5) in 55TM18
* 1.8M NaPF6 in THF/2-MeTHF (7:3) in 73TM18
* 1.0M NaPF6 in 2-MeTHF in M1
* 1.8M NaPF6 in THF in T18
The script ‘run_sims.sh’ is provided, which conducts all equilibration and production MD steps to prepare initial configurations for further analysis using MDtraj
The scripts ‘fep_nas.sh’ and ‘fep_pf6.sh’ are provided, which conduct the solvation free energy calculations for multi-ion systems
2. Single-ion systems
This directory contains all simulation input and output files for the five systems described in the paper
* 1 Na+ or 1 PF6- in THF/2-MeTHF (3:7) in 37TM18
* 1 Na+ or 1 PF6- in THF/2-MeTHF (5:5) in 55TM18
* 1 Na+ or 1 PF6- in THF/2-MeTHF (7:3) in 73TM18
* 1 Na+ or 1 PF6- in 2-MeTHF in M1
* 1 Na+ or 1 PF6- in THF in T18
The scripts ‘fep_nas.sh’ and ‘fep_pf6.sh’ are provided, which include the solvation free energy calculations for single-ion systems
3. Bulk systems
This directory contains all simulation input and output files for the five systems described in the paper
* THF/2-MeTHF (3:7) in 37TM18
* THF/2-MeTHF (5:5) in 55TM18
* THF/2-MeTHF (7:3) in 73TM18
* 2-MeTHF in M1
* THF in T18
The script ‘run_sims.sh’ is provided, which conducts all equilibration and production MD steps to prepare initial configurations for the solvation free energy corrections
4. Trajectory analysis scripts and data
The following are provided to aid with the reproducibility of Figures in the main text and Supplementary Information:
Figs. 2d, 2f, S6, S7, and S8 --> ‘contact_type.py’
* Calculates the number of P atoms of each contact type (SSIP, CIP, AGG, and weakly bonded solvent)
* Calculates the ratio of THF and 2-MeTHF in each solvation shell (SSIP, CIP, AGG) using a cutoff distance
* Identifies the type of solvent (THF or 2-MeTHF) around the P atom in each contact type
* The cutoff distances are set to 0.5, 0.5, 0.4, 0.5, and 0.6 nm for Figs. 2d, 2f, S6 S7, and S8, respectively
Fig. S22 --> ‘split.py’_‘plot_int.py’
* Extracts md*.xvg files for cumulative simulation intervals (0–0.5 ns, 0–1.0 ns, …, 0–5.0 ns) using ‘split.py’
* Runs gmx bar on md*.xvg of each interval to produce bar.xvg and bar_int.xvg
* Reads each bar_int.xvg file, extracts the value at λ = 25, and plots it as a function of sampling time to assess convergence using ‘plot_int.py’
Fig. S25a --> ‘converge_p.py’
* Calculates the percentage of each Na-P contact type (SSIP, CIP, AGG) as a function of simulation time, averaging results over two replicates
Fig. S25b --> ‘converge_o.py’
* Calculates the Na-O coordination number as a function of simulation time, averaging results over two replicates
