Biomass composition

Biomass composition can be represented in terms of cellulose, hemicellulose, lignins, and extractives. If experimental data is not available, the components of biomass can be estimated from the ultimate analysis using a characterization method developed by Debiagi, Pecchi, Gentile, Frassoldati, Cuoci, Faravelli, and Ranzi.

Use the biocomp() function to calculate biomass composition. Use the plot_biocomp() function to create a Matplotlib figure of the biomass composition results.

chemics.biocomp(yc, yh, yo=None, yh2o=0, yash=0, alpha=0.6, beta=0.8, gamma=0.8, delta=1, epsilon=1, printcomp=False)[source]

Biomass composition.

Determine bimoass composition from ultimate analysis mass fractions of C, H, and O. Composition returned as cellulose, hemicellulose, lignins, and extractives based on method discussed in the Debiagi 2015 paper [1].

Parameters:
  • yc (float) – Mass fraction of carbon in biomass, dry ash free basis

  • yh (float) – Mass fraction of hydrogen in biomass, dry ash free basis

  • yo (float, optional) – Mass fraction of oxygen in biomass, if not given then value is calculated as difference, dry ash free basis. Default is None.

  • yh2o (float, optional) – Mass fraction of water in biomass, as received basis. Default is 0.

  • yash (float, optional) – Mass fraction of ash in biomass, as received basis. Default is 0.

  • alpha (float, optional) – Splitting parameter as molar ratio of cellulose and hemicellulose contained in reference mixture RM1. Default is 0.6.

  • beta (float, optional) – Splitting parameter as molar ratio of lignin LIG-O and lignin LIG-C contained in reference mixture RM2. Default is 0.8.

  • gamma (float, optional) – Splitting parameter as molar ratio of lignin LIG-H and lignin LIG-C contained in reference mixture RM3. Default is 0.8.

  • delta (float, optional) – Splitting parameter as molar ratio of lignins (LIG-H and LIG-C) and extractive TGL to define reference mixture RM2. Default is 1.0.

  • epsilon (float, optional) – Splitting parameter as molar ratio of lignins (LIG-O and LIG-C) and extractive TANN to define reference mixture RM3. Default is 1.0.

  • printcomp (bool, optional) – Print composition results if True. Default is False.

Returns:

comp (dict) – Dictionary representing reference mixtures and biomass compositions on the basis of mole fractions (x) and mass fractions (y). The dictionary contains the following items for the reference mixtures where each item represents the C, H, O mass fraction.

  • y_rm1 reference mixture RM1

  • y_rm2 reference mixture RM2

  • y_rm3 reference mixture RM3

The dictionary also contains the following items for the biomass composition where each item represents the CELL, HEMI, LIGC, LIGH, LIGO, TANN, TGL mole or mass fraction.

  • x_daf mole fractions as dry ash-free basis

  • x_wet mole fractions as wet basis

  • y_daf mass fractions as dry ash-free basis

  • y_wet mass fractions as wet basis

  • y_wetash mass fractions as wet + ash basis

Raises:

ValueError – When sum of mass fractions is not equal to one.

Examples

Use the carbon and hydrogen mass fractions of the biomass to calculate the biomass composition.

>>> yc = 0.534
>>> yh = 0.06
>>> bc = cm.biocomp(yc, yh)

The cellulose mass fraction on a dry ash-free basis.

>>> cell = bc['y_daf'][0]
>>> cell
0.293...

The hemicellulose mass fraction on a dry ash-free basis.

>>> hemi = bc['y_daf'][1]
>>> hemi
0.159...

References

chemics.plot_biocomp(ax, yc, yh, y_rm1, y_rm2, y_rm3)[source]

Plot biomass composition.

Plot characterization of biomass sample and calculated reference mixtures as mass fractions, dry ash-free basis.

Parameters:
  • ax (Axes) – The Matplotlib axes from a figure

  • yc (float) – Mass fraction of carbon in biomass, dry ash free basis

  • yh (float) – Mass fraction of hydrogen in biomass, dry ash free basis

  • y_rm1 (array) – Mass fraction of reference mixture RM1 where y_rm1 = [yC, yH, yO]

  • y_rm2 (array) – Mass fraction of reference mixture RM2 where y_rm2 = [yC, yH, yO]

  • y_rm3 (array) – Mass fraction of reference mixture RM3 where y_rm3 = [yC, yH, yO]

Returns:

ax (Axes) – The Matplotlib axes for the plot figure