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