From a52057c69d6f48794255de5f39735a4b8ad10ad3 Mon Sep 17 00:00:00 2001 From: Andycar Date: Wed, 8 Jul 2026 19:05:33 +0300 Subject: [PATCH] Delete NOTES.md --- NOTES.md | 140 ------------------------------------------------------- 1 file changed, 140 deletions(-) delete mode 100644 NOTES.md diff --git a/NOTES.md b/NOTES.md deleted file mode 100644 index 4aff389..0000000 --- a/NOTES.md +++ /dev/null @@ -1,140 +0,0 @@ -# Copolymerization-Reaction-Modeling — Analysis Notes - -**Source:** [gtancev/Copolymerization-Reaction-Modeling](https://github.com/gtancev/Copolymerization-Reaction-Modeling) -**Author:** Georgi Tancev, PhD -**Relevance to project:** ⭐⭐⭐⭐⭐ — Core model for radical copolymerization simulations - ---- - -## What This Code Does - -Simulates **batch bulk radical copolymerization** of two monomers (A and B) in a 15 L reactor. The system of ODEs tracks concentrations of initiator, both monomers, and both radical species over time (~2 h). - -### Inferred Monomer System (from hardcoded parameters) - -| Parameter | Monomer A | Monomer B | -|-----------|-----------|-----------| -| Molar mass | 104 g/mol | 100 g/mol | -| Density | 0.90 kg/L | 0.94 kg/L | -| kp₀ | 410 L/(mol·s) | 930 L/(mol·s) | -| kt₀ | 2.4×10⁷ L/(mol·s) | 9.2×10⁶ L/(mol·s) | -| Reactivity ratio | rA = 0.52 | rB = 0.46 | - -This matches **styrene (A) / methyl methacrylate (B)** nearly exactly: -- Styrene MW = 104, rA ≈ 0.52; MMA MW = 100.12, rB ≈ 0.46 (literature values) -- Initiator MI = 164 g/mol → **AIBN** (MW = 164.21), kd = 6.77×10⁻⁶ s⁻¹ (≈60°C) - ---- - -## Model Components - -### 1. Kinetic Mechanism (`batch.m`) - -Uses the **terminal model** (Mayo-Lewis). The ODE system: - -- `dcI` — initiator decomposition (1st order, kd) -- `dcA`, `dcB` — monomer consumption via homo- and cross-propagation -- `dcA_R`, `dcB_R` — radical balance for A-centered and B-centered radicals (quasi-steady-state not assumed — radicals are integrated explicitly) - -Cross-propagation from reactivity ratio definitions: -``` -kp_AB = kp_AA / rA -kp_BA = kp_BB / rB -``` -Cross-termination by geometric mean: -``` -kt_AB = sqrt(kt_AA * kt_BB) -``` - -### 2. Gel/Glass Effect - -Rate constants are modified by polymer weight fraction (wp) via an empirical diffusion-limited formula: -``` -kp = 1 / (1/kp0 + exp(C_eta * wp) / kp_D) -kt = 1 / (1/kt0 + exp(C_eta * wp) / kt_D) + C_RD * kp * (1 - wp) -``` -Where `C_eta = 25`, `C_RD = 180`. This captures the **Trommsdorff (gel) effect** and **glass effect** empirically. More rigorous alternatives use the Vrentas-Duda free volume theory (see Ref. [1] below). - -### 3. Post-processing (`cumulative.m`) - -Computes using the method of moments: -- Instantaneous copolymer composition (F_A) — Mayo-Lewis equation -- Cumulative composition (F_A_c) via numerical integration (trapz) -- Number- and weight-average chain lengths (n_N, n_W) and PDI -- Termination split between combination (ktc) and disproportionation (ktd), with ratio C_t = 1000 (i.e., predominantly disproportionation) - ---- - -## Bugs and Code Quality Issues - -1. **Parameter duplication** — rate constants, densities, and molar masses are hardcoded independently in `batch.m`, `cumulative.m`, and `main.m`. Changing a parameter in one place does not update the others. Any adaptation should centralize parameters. - -2. **No Arrhenius temperature dependence** — all rate constants are fixed (implicitly ~60°C). Adding `k = A * exp(-Ea/RT)` would make the model temperature-aware. - -3. **f = 0.5 is fixed** — initiator efficiency should ideally be conversion-dependent (decreases at high conversion due to cage effect). - -4. **No chain transfer** — to monomer (Cm), to solvent, or to chain transfer agent (CTA). This limits applicability to systems without deliberate MWD control. - -5. **trapz integration in cumulative.m** is first-order accurate and sensitive to the ODE time step. Consider switching to cumulative Simpson's rule or an analytic running integral. - -6. **No semibatch/continuous mode** — the model is batch-only. Semibatch addition of monomer is a common industrial process for composition control. - ---- - -## Physical Limitations - -- **Terminal model only** — penultimate unit effect is not included. For rA×rB << 1 or rA×rB >> 1 (highly alternating or blocky), the penultimate model may be needed. -- **Bulk/solution only** — no heterogeneous phase (see the companion emulsion repo for that). -- **No diffusion-controlled propagation at high conversion** — at very high wp (glass effect), kp can also become diffusion-limited, but this requires the `kp_D` term and glass-effect parameters to be carefully tuned. -- **Quasi-bulk initiator decomposition** — f is assumed constant; in real systems it can drop from ~0.5 to ~0.1 at high conversion. - ---- - -## Relevance and Adaptation Suggestions for This Project - -### High Relevance -This is the most directly applicable model for radical copolymerization simulation. The Mayo-Lewis formalism with gel effect is standard for batch bulk/solution copolymerization of styrene, acrylates, methacrylates. - -### Suggested Adaptations - -1. **Python port** — convert to Python with `scipy.integrate.solve_ivp` (use `method='Radau'` or `'BDF'` as `ode15s` equivalent). Example structure: - -```python -from scipy.integrate import solve_ivp -import numpy as np - -def batch(t, c, params): - cI, cA, cA_R, cB, cB_R = c - # ... kinetics with params dict - return [dcI, dcA, dcA_R, dcB, dcB_R] - -sol = solve_ivp(batch, [0, 7200], c0, method='Radau', args=(params,), dense_output=True) -``` - -2. **Parameterize for other monomer pairs** — the structure is general. By changing rA, rB, kp_AA, kp_BB, kt_AA, kt_BB, MA, MB you can simulate any comonomer pair (e.g., styrene/BA, MMA/BA, VAc/ethylene). - -3. **Add chain transfer** — add `dcA -= ktr_A * cA * cR` terms and a transfer constant Cm to control Mn independently of conversion. - -4. **Add temperature as a variable** — couple to an energy balance ODE for non-isothermal simulation. - -5. **Connect to emulsion model** — the batch.m kinetics can be embedded inside the particle phase of the emulsion model to simulate **emulsion copolymerization**. - -6. **Validate against mcPolymer** — the mcPolymer Monte Carlo simulator in the `mcPolymer/` directory can provide reference MWDs and composition distributions to validate this deterministic model. - ---- - -## Key Literature - -- [1] [Modeling Insight into the Diffusion-Limited Cause of the Gel Effect in Free Radical Polymerization](https://consensus.app/papers/details/2b17519cf178593bbdac2f04de0236b8/?utm_source=claude_code) — G.A. O'Neil et al., *Macromolecules* 1999. Vrentas-Duda free volume theory for gel effect; more rigorous than the empirical exponential form used here. - -- [2] [Free radical polymerizations associated with the Trommsdorff effect under semibatch reactor conditions](https://consensus.app/papers/details/a415b988d9035f139b3e737769d50ae0/?utm_source=claude_code) — Ray et al., *Polym. Eng. Sci.* 1995. Gel and glass effects in batch and semibatch, MMA/PS systems. - -- [3] [Pseudo-Homopolymerization Approach To Predict the MWD in Copolymerization](https://consensus.app/papers/details/0e35d806f31b54368e906820e0b9b718/?utm_source=claude_code) — Zapata-González et al., *I&EC Res.* 2018. More efficient approach to MWD in copolymerization using the PHP+RQSSA method. - -- [4] Odian, G. *Principles of Polymerization*, 4th ed., Wiley 2004. Chapters 6–7 for copolymerization fundamentals and kinetics. - -- [5] Dotson, N.A. et al. *Polymerization Process Modeling*, VCH 1996. Standard reference for the moment method used in `cumulative.m`. - ---- - -*Notes written: 2026-06-26*