GENERAL RECIPE

High-Throughput Polymer Electrolyte Discovery Pipeline

v1.0.0 polymer-electrolytes
PEMD: a high-throughput simulation and analysis framework for solid polymer electrolytes
Shendong Tan, Bochun Liang, Dexin Lu et al. (6 authors) (2026)
Digital Discovery DOI: 10.1039/D5DD00454C

Objective

End-to-end computational screening and property prediction for solid polymer electrolytes
Scientific Question: Which polymer electrolyte candidates have optimal ionic conductivity and electrochemical stability for solid-state batteries?

Inputs (Recipe Parameters)

monomer_smiles smiles
SMILES representation of monomer units
Example: C(C[*])O[*]
polymer_type parameters
Polymer architecture: homopolymer, alternating, random, or block copolymer
Example: homopolymer
salt_type smiles
Lithium salt for electrolyte (e.g., LiTFSI)
Example: [Li+].C(F)(F)(F)S(=O)(=O)[N-]S(=O)(=O)C(F)(F)F
salt_concentration parameters
Li:EO ratio or molar concentration
Example: Li:EO = 0.05 to 0.20
target_temperature parameters
Operating temperature in Kelvin
Example: 353 K (80°C)

Outputs (Expected Results)

ionic_conductivity property (S/cm)
Ion transport capability
cation_transference_number property (dimensionless (0-1))
Fraction of current carried by Li+
glass_transition_temperature property (K or °C)
Polymer chain mobility threshold
oxidation_potential property (V vs Li/Li+)
Electrochemical stability window (oxidative limit)
candidate_ranking ranking
Ranked list of polymer electrolyte candidates by target properties

Procedure (Unit Operations: 7 Stages)

Stage 1 Polymer Model Construction
Generate 3D polymer chain structures from monomer SMILES with controlled architecture
IN: monomer_smiles, polymer_type, degree_of_polymerization OUT: polymer_3d_structure, polymer_chain_conformers
1
PROMPT: Parse monomer SMILES and identify connection points
SMILES parsing with wildcard atom detection
smiles_to_molvalidate_smilespsmiles_validate
Params: connection_marker: [*]
2
PROMPT: Generate 3D monomer structure
RDKit EmbedMolecule with ETKDG
smiles_to_3dgenerate_conformers
3
PROMPT: Build polymer chain by sequential monomer connection
Move-align connection operator with steric clash detection
psmiles_to_smilesbigsmiles_parse
Params: bond_length: 1.5 Å, dihedral_rotation: variable for strain relief
4
PROMPT: Add terminal capping groups
Automated capping (H for sp3-C, CH3 for others)
psmiles_to_smiles
5
PROMPT: Generate amorphous simulation cell
PACKMOL packing at target density
Params: chains_per_box: 4-10, density: target experimental density
Check: Check for no atomic overlaps (min distance > 2 Å)
[?]
Condition: Structure generation success rate > 95%
PASS: Proceed to Stage 2
FAIL: Adjust connection algorithm parameters
Stage 2 Force Field Parameterization
Generate OPLS-AA force field parameters including partial charges
IN: polymer_3d_structure, salt_structure OUT: force_field_files, partial_charges
1
PROMPT: Generate initial OPLS-AA parameters for short oligomer
LigParGen for oligomer < 200 atoms
Params: max_atoms: 200
2
PROMPT: Convert to XML-based force field with atom type mapping
XMLGenerator class with explicit bonded/non-bonded parameters
execute_python
3
PROMPT: Extend parameters to full-length polymer via SMARTS matching
Foyer hierarchical atom typing
smarts_match
Check: Verify all atoms typed (no missing parameters)
4
PROMPT: Conformer search for charge fitting
Funnel strategy: 1000 → 100 (MMFF) → 10 (xTB) → 5 (DFT)
generate_conformerscalculate_energy
Params: initial_conformers: 1000, mmff_retain: 100, xtb_retain: 10, dft_retain: 5
5
PROMPT: Compute RESP/RESP2 partial charges
DFT ESP calculation + RESP fitting with multi-conformer averaging
Params: method: B3LYP-D3(BJ)/def2-TZVP, charge_scheme: RESP2
6
PROMPT: Apply end-preserving charge mapping to full polymer
Terminal charges preserved, interior averaged and tiled
execute_python
Params: n_end_units: 2
Stage 3 Molecular Dynamics Simulation
Equilibrate polymer electrolyte and run production MD for transport properties
IN: amorphous_cell, force_field_files, salt_concentration, target_temperature OUT: equilibrated_structure, md_trajectory, transport_msd_data
1
PROMPT: Energy minimization
Steepest descent to remove close contacts
Params: force_tolerance: 1000 kJ/mol/nm
2
PROMPT: NVT equilibration at target temperature
Velocity-rescale thermostat
Params: duration: 1 ns, timestep: 1 fs
3
PROMPT: Simulated annealing for chain relaxation
Linear temperature ramp up-down cycle
Params: T_min: target_temperature, T_max: 600 K, ramp_rate: 10 K/ns, cycles: 1
Check: Check potential energy plateau, R² and Rg stability
4
PROMPT: NPT equilibration for density relaxation
Parrinello-Rahman barostat + v-rescale thermostat
Params: duration: 5 ns, pressure: 1 bar
5
PROMPT: Production MD run
NVT or NPT ensemble for transport property sampling
Params: duration: 200 ns (minimum), save_frequency: 10 ps
Check: Verify diffusive regime reached (MSD slope = 1 in log-log)
[?]
Condition: Diffusive regime achieved (MSD β-parameter ≈ 1.0)
PASS: Proceed to Stage 4 (Transport Analysis)
FAIL: Extend simulation time or reduce temperature
Stage 4 Transport Property Analysis
Calculate ionic conductivity, diffusion coefficients, and transference numbers
IN: md_trajectory, system_composition OUT: ionic_conductivity, diffusion_coefficients, transference_number
1
PROMPT: Calculate mean squared displacement (MSD) for each species
Einstein relation from trajectory analysis
execute_python
Params: species: ['Li+', 'TFSI-', 'polymer_COM']
2
PROMPT: Extract self-diffusion coefficients
D = lim(t→∞) MSD / 6t from linear fit in diffusive regime
linear_regressionexecute_python
Check: R² > 0.99 for linear fit
3
PROMPT: Calculate ionic conductivity via Green-Kubo relation
Fluctuation-dissipation theorem from collective ion motion
execute_python
Params: correlation_time: auto-detect from decay
4
PROMPT: Compute Onsager transport coefficients
Cross-correlation of cation-anion displacements
execute_python
5
PROMPT: Calculate cation transference number
t+ = L++ / (L++ + L-- + 2L+-)
execute_python
Check: 0 ≤ t+ ≤ 1
Stage 5 Transport Mechanism Analysis
Understand Li+ solvation and hopping mechanisms
IN: md_trajectory, coordination_cutoffs OUT: solvation_distributions, coordination_motifs, residence_times, hopping_statistics
1
PROMPT: Calculate radial distribution functions (RDFs)
Li+-O(polymer), Li+-O(anion), Li+-Li+ pair correlations
execute_python
Params: r_max: 10 Å, bin_width: 0.05 Å
2
PROMPT: Determine coordination cutoffs from RDF first minima
Automatic peak/valley detection
execute_python
3
PROMPT: Classify solvation structures
Count (n_polymer, n_anion, n_solvent) coordination motifs per Li+
execute_python
Check: Compare to experimental Raman spectroscopy if available
4
PROMPT: Calculate residence times
Survival probability analysis of Li+-donor contacts
execute_python
5
PROMPT: Analyze cation hopping mechanism
Track Li+ transitions between polymer chains/coordination shells
execute_python
Stage 6 Electrochemical Stability Calculation
Predict oxidation and reduction potentials for the polymer electrolyte
IN: md_trajectory, polymer_structure, anion_structure OUT: oxidation_potential, reduction_potential, stability_window
1
PROMPT: Extract polymer-anion complexes from MD trajectory
Identify anion first coordination shell, grow polymer segment
execute_python
Params: chain_length: 3, n_snapshots: 10
2
PROMPT: Prescreening geometry optimization
DFT single-point energy ranking
Params: method: B3LYP-D3(BJ)/def2-SVP
3
PROMPT: Calculate adiabatic ionization energy
Full geometry optimization of neutral and cationic states
Params: method: B3LYP-D3(BJ)/def2-TZVP, solvent: PCM implicit
4
PROMPT: Convert to oxidation potential
E_ox = (G_cation - G_neutral) / F - 1.46 V (Li/Li+ reference)
execute_python
Check: Compare to experimental CV onset potentials
5
PROMPT: Analyze spin density for oxidation site identification
Visualize hole localization (C-C bond vs anion-mediated H abstraction)
Stage 7 High-Throughput Screening
Apply workflow to large polymer library and rank candidates
IN: polymer_library, target_properties, ranking_criteria OUT: candidate_ranking, pareto_optimal_set, recommendation_report
1
PROMPT: Initialize polymer candidate library
Query database or generate combinatorial library
world_query_polymerssparql_query
Params: min_candidates: 200
2
PROMPT: Parallel workflow execution for each candidate
Batch processing of Stages 1-6
execute_python
Params: parallelization: embarrassingly parallel per candidate
3
PROMPT: Aggregate results into screening dataset
Collect σ, t+, Tg, E_ox for all candidates
execute_python
4
PROMPT: Multi-objective ranking
Pareto frontier for conductivity vs stability trade-off
pareto_frontierexecute_python
Params: objectives: ['maximize σ', 'maximize E_ox', 'minimize Tg (for processing)']
5
PROMPT: Generate recommendation report
Top-N candidates with property predictions and uncertainty
execute_python

Equipment Mapping (PARAMUS Tools)

Required Capabilities: Chemistry, Polymers, Data Science, Python Execution

Tool Chain

Tool Purpose Stages
validate_smiles Validate monomer SMILES input 1
smiles_to_mol Parse SMILES to RDKit molecule 1
psmiles_validate Validate polymer SMILES notation 1
psmiles_to_smiles Convert PSMILES to explicit SMILES 1
generate_conformers Generate 3D conformers for charge fitting 1, 2
calculate_molecular_weight Verify monomer/repeat unit MW 1
smarts_match Atom typing via SMARTS patterns 2
execute_python Custom analysis scripts 2, 3, 4, 5, 6, 7
linear_regression Fit MSD data for diffusion 4
world_query_polymers Query polymer databases 7
sparql_query Advanced WORLD platform queries 7

External Tools & Gap Analysis

External Tool Purpose PARAMUS Alternative Status
GROMACS Molecular dynamics engine for production simulations None (external MD engine required) ✗ not-covered
Gaussian/ORCA DFT calculations for charge fitting and stability None (external QM engine required) ✗ not-covered
LigParGen OPLS-AA parameter generation None (external service) ✗ not-covered
PACKMOL Amorphous cell packing None (external tool) ✗ not-covered
MDAnalysis Trajectory analysis execute_python with MDAnalysis import ✓ covered
RDKit conformer generation Initial 3D structure generation generate_conformers tool ✓ covered

Validation Criteria

Benchmarks

Ionic conductivity correlation with experiment
Spearman ρ = 0.819 ±±0.05
PEMD paper Table S3, 18 polymer electrolytes
Ionic conductivity MAE
0.684 in log10(S/cm) ±±0.1
PEMD paper
Oxidation potential correlation with experiment
Spearman ρ = 0.754 ±±0.05
PEMD paper, 15 polymer electrolytes
Oxidation potential MAE
0.473 V ±±0.1 V
PEMD paper
Structure generation success rate
100% ±0%
PEMD paper, 656 homopolymers tested

Test Cases

PEO/LiTFSI conductivity vs concentration
Input:
{
  "polymer": "C(C[*])O[*]",
  "salt": "LiTFSI",
  "Li_EO_ratios": [
    0.05,
    0.08,
    0.1,
    0.12,
    0.16,
    0.2
  ],
  "temperature": "353 K"
}
Expected:
{
  "conductivity_trend": "non-monotonic with maximum at Li:EO \u2248 0.10-0.12"
}
PEO/LiTFSI solvation structure
Input:
{
  "polymer": "PEO",
  "salt": "LiTFSI",
  "Li_EO_ratio": 0.0625
}
Expected:
{
  "Li_PEO_fraction": "~90%",
  "Li_PEO_TFSI_fraction": "~10%"
}

Execution Guidance

Duration
Days to weeks for full screening (200+ polymers)
Computational Cost
very-high
Parallelizable Stages
7

Bottlenecks

  • Stage 3: Production MD (200 ns per system)
  • Stage 2: DFT charge calculations
  • Stage 6: DFT oxidation potential calculations

Optimization Tips

  • Use BRAIN PolyNC for rapid Tg pre-screening before expensive MD
  • Start with shorter MD (50 ns) to check convergence before 200 ns production
  • Parallelize Stage 7 across HPC nodes - each candidate is independent
  • Cache force field parameters for common polymer families
  • Use RadonPy database for pre-computed polymer structures when available

Classification

polymer-electrolytesolid-state-batteryionic-conductivityelectrochemical-stabilitymolecular-dynamicshigh-throughputtransport-propertiesGROMACSDFT

Related General Recipes