Designing an additive class for E10/E20 that stops water-induced phase separation, resists corrosion and wear, and stays octane/RVP-neutral — under a strict ashless, ≤$5/kg, ≤3-step rulebook.
What this is not: a set of measurements. There is no lab data here. Every number is a prediction from an open-source surrogate method, produced on a CPU without the licensed thermodynamic engine (COSMO-RS) or the GPU compute (DFT/MD) the problem really wants. The honest reliability contract is relative ranking, not absolute magnitude — read
docs/methods.mdbefore citing anything.This repository is a completed course experiment (IIT), shared for transparency and reproducibility, not as a validated product.
At the target treat rate (≤ 1000 ppm), simple bulk co-solvency cannot move the phase-separation temperature by the required +15 °C — the modelling shows a bulk shift of at most ~1 °C. Hitting the target at that dose is only possible through a surfactant / water-in-oil colloidal mechanism. So the project pivots from "find a better co-solvent" to "design an amphiphile that stabilises water as fine micro-droplets in the fuel," landing on a family of glyceryl-carbamate amphiphiles and a four-component candidate package, XTHENOL-100.
| component | role | ppm |
|---|---|---|
| XG-1 — N-oleyl glyceryl carbamate | primary W/O amphiphile | 450 |
| XG-3 — N-(2-ethylhexyl) glyceryl carbamate | co-surfactant (HLB balancer) | 300 |
| A13 — 2-ethylhexyl lactate | polar linker / co-solvent | 200 |
| BHT | antioxidant | 50 |
| total | 1000 |
These molecules pass the ashless / cost / step-count / elastomer / CMR gates in the model, sit in the Davies W/O emulsifier window, and score well on the corrosion/lubricity QSAR. Whether they actually hold water at 1000 ppm is an open question that only MD and a bench D6422 test can answer — that experiment is staged, not done.
The plots below are the actual analysis output (not decoration); each carries its method caveat in the corresponding report.
xthenol/
├── README.md ← you are here
├── LICENSE ← MIT (code)
├── LICENSE-DATA ← CC-BY-4.0 (data & figures)
├── CITATION.cff ← how to cite this experiment
├── environment.yml ← conda env (rdkit, thermo, chemicals, …)
├── requirements.txt ← pip pins
├── docs/
│ ├── 00_project_brief.md ← the objective this was built against
│ ├── methods.md ← what was computed + honesty statement (READ FIRST)
│ ├── 01_triage_session_report.md ← 38-candidate triage, steps 1–8
│ ├── 02_XG_series_design_brief.md ← glyceryl-carbamate amphiphile design
│ └── 03_XTHENOL-100_formulation_report.md ← the four-component package
├── src/
│ ├── xthenol_pipeline.py ← the descriptor / QSAR / HSP engine
│ ├── reproduce_scores.py ← recompute + cross-check the tables from SMILES
│ └── README.md ← pipeline reference + reliability contract
├── data/ ← 15 files; see data/README.md for the dictionary
│ ├── candidate_library.csv master_scorecard.csv
│ ├── constraint_screen.csv hansen_triage.csv
│ ├── water_tolerance.csv property_screen.csv
│ ├── corrosion_lubricity.csv xg_series_detail.csv
│ ├── package_hansen.csv package_corrosion.csv
│ ├── doe_simplex.csv wt_results_raw.json
│ └── README.md ← data dictionary
├── figures/ ← 12 analysis PNGs (the gallery above)
├── assets/ ← designed graphics (banner, molecule showcase, funnel)
└── plans/ ← the two execution plans this work followed
# 1. build the environment
conda env create -f environment.yml
conda activate xthenol
# 2. run the pipeline self-test (anchors must reproduce exactly)
cd src
python xthenol_pipeline.py
# 3. recompute the descriptor tables from SMILES and cross-check vs data/
python reproduce_scores.py # add -v to print every rowExpected: all Hansen, logP and Tb rows and 36/38 corrosion rows reproduce to CSV
rounding. Two rows (A18, A19) differ by design — a documented amide→carbamate
re-typing correction; the driver prints this. The UNIFAC water-tolerance step
(water_tolerance.csv) is a heavier liquid-liquid-flash computation described in
docs/methods.md and not re-run by the quick driver.
- No measurements. Everything is a surrogate prediction; trust rank order, not magnitude.
- COSMO-RS → UNIFAC-Dortmund, DFT → descriptor QSAR, MD → not done. The colloidal mechanism that the whole result rests on is hypothesised, not simulated.
- The ~6.9 % E20 energy-density loss is physics, not a bug — no additive recovers it.
- Prior-art search is shallow and is not a freedom-to-operate opinion.
- The single most valuable next step is MD of the XG-1/XG-3 mixed film at the water–ethanol–hydrocarbon interface at 1000 ppm, followed by a bench D6422 ΔTsep + DLS droplet-size measurement.
See CITATION.cff. Code is MIT; data and figures are CC-BY-4.0.
@infinitule — IIT. Course experiment, 2026.















