Chemistry of polymers
Step-Growth
Chain-Growth
# Example: Degree of polymerization
def degree_of_polymerization(conversion, functionality):
"""
Calculate X_n for step-growth.
conversion: p (0-1)
functionality: f (functionality)
"""
return 1 / (1 - conversion)
# Molecular weight distributions
def number_average_mn(degree_polymerization, monomer_mw):
"""M_n = X_n × M_0"""
return degree_polymerization * monomer_mw
def weight_average_mw(degree_polymerization, monomer_mw, mw_dist):
"""M_w = Σ(N_i × M_i²) / Σ(N_i × M_i)"""
# Polydispersity index: PDI = M_w/M_n
return degree_polymerization * monomer_mw * mw_dist