Skip to content

Molecular-Weight Distribution

A real polymer is a mixture of chains of many lengths, not a single molar mass. In this tutorial you will use the Polymer Characterization tool to split a polydisperse polymer into a set of pseudo-component cuts that reproduce its number- and weight-average molar mass, so the flash and every downstream unit see the true spread of chain lengths.

What you will learn

  • The difference between number-average (Mn) and weight-average (Mw) molar mass, and the polydispersity index (PDI = Mw/Mn)
  • How to generate Schulz-Zimm or log-normal cuts from an average molar mass and a PDI
  • How the cuts share the base polymer's chemistry and only differ in molar mass

Prerequisites

Process Overview

Two polymers with the same Mn can behave very differently if one is narrow and the other broad. A single molar mass hides that. The Polymer Characterization tool takes a base polymer, a target Mn and PDI, and a distribution shape, and produces N cuts: pseudo-components that share the base polymer's CAS number (so PC-SAFT reuses its segment parameters) but each carry a different molar mass. Their mole fractions are the distribution, and by construction they reproduce the target Mn and Mw.

Distribution shapes

Shape Use it for
Schulz-Zimm (Gamma) free-radical and most step-growth polymers; reaches any PDI
Log-normal broad, symmetric-on-a-log-axis distributions; needs enough cuts to reach the PDI (two cuts reach at most PDI = 2)
graph LR
    P["Base polymer<br/>Mn, PDI"] --> C["Polymer<br/>Characterization"]
    C --> K1["Cut 1<br/>(low M)"]
    C --> K2["Cut 2"]
    C --> K3["..."]
    C --> KN["Cut N<br/>(high M)"]

Key Design Parameters

Parameter Value
Base polymer Polystyrene
Property Package PC-SAFT
Target Mn 100 000 g/mol
PDI (Mw/Mn) 2.0
Number of cuts 7
Distribution Schulz-Zimm

Step-by-Step in the Classic UI

1. Set up

File > New Chemical Process Model:

  • Add a solvent (e.g. Ethylbenzene) and the polymer Polystyrene.
  • Property Package: PC-SAFT.

2. Open the Polymer Characterization tool

Tools > Polymer Characterization...

  • Base polymer: Polystyrene
  • Distribution: Schulz-Zimm (Gamma)
  • Number-average Mn: 100000 g/mol
  • Polydispersity Mw/Mn: 2.0
  • Number of cuts: 7

Polymer characterization

3. Preview and add the cuts

Click Preview Cuts to see the table: each row is a cut with its molar mass, mole fraction and mass fraction. The mole-weighted average of the molar masses equals the target Mn; the mass-weighted average equals Mw.

Click Add Cuts to Simulation to register the cuts as compounds on the flowsheet. They all share the polystyrene CAS number, so PC-SAFT describes each one at its own molar mass with the same parameters.

4. Use the cuts in a stream

Add a Material Stream and set its composition from the cut mole fractions (the tool reports them). The stream now represents a polydisperse polystyrene rather than a single molar mass.

Results and Validation

Variable Expected
Mole-weighted average of cut molar masses ≈ Mn (100 000)
Mass-weighted average of cut molar masses ≈ Mw (200 000)
Cut count 7

Expected results

Seven cuts whose distribution reproduces Mn = 100 000 and Mw = 200 000 g/mol (PDI = 2.0). A liquid-liquid flash on this stream fractionates the cuts by chain length: the concentrated phase is enriched in the long chains.

Understanding the Results

  • Mn versus Mw. Mn is the average over chains (number basis); Mw is the average weighted by mass, so it is always ≥ Mn and is more sensitive to the long tail. Their ratio is the polydispersity.
  • Cuts are the same chemistry. Every cut shares the base polymer's CAS, so you are not inventing new species; you are discretizing one polymer's chain-length axis.
  • Fractionation. Because longer chains are less soluble (see tutorial 1), a demixing step concentrates the high-molar-mass cuts in the polymer-rich phase, exactly as real polymer fractionation does.

Automating This Tutorial

Files in this repository

See examples/polymers/02_molecular_weight_distribution.py in the DWSIM.Tutorials repository. The characterization is done with PolymerCharacterization.BuildCuts(basePolymer, Mn, PDI, N, distribution).

dwsim.polymer.characterize with the base polymer, Mn, PDI, cut count and distribution, then set a stream composition from the returned cut fractions.

Output may vary

Results depend on the LLM's reasoning quality and tool-use accuracy.

Use DWSIM (via the MCP server) to:

- Create a flowsheet "PolymerMWD" with Ethylbenzene and Polystyrene,
  property package PC-SAFT
- Characterize the Polystyrene as a Schulz-Zimm distribution with
  Mn = 100000 g/mol, PDI = 2.0, 7 cuts, and add the cuts to the
  simulation
- Report each cut's molar mass and mole fraction, and confirm the
  mole-weighted average equals 100000 and the mass-weighted average
  equals 200000 g/mol

Exercises

  1. Change the PDI to 1.5 and regenerate. How do the cut molar masses cluster?
  2. Switch to a log-normal distribution with only 2 cuts and a PDI of 2.5. Why can it not reach the target?
  3. Increase the number of cuts to 15. How closely do the averages match the targets?

Further Reading

  • P. J. Flory. (1953). Principles of Polymer Chemistry. Cornell University Press
  • B. H. Zimm. (1948). Apparatus and Methods for Measurement and Interpretation of the Angular Variation of Light Scattering. The Journal of Chemical Physics. doi:10.1063/1.1746740

Next Steps

Continue with Polymer Devolatilization to strip the solvent from a polymer solution and recover a concentrated melt.