{
  "authors": [],
  "basis": {
    "capacity": "10 000 t/a refined glycerol, 1250 kg/h (ASSUMED normalisation basis)",
    "location": "generic (not chosen)",
    "operating_hours_per_year": 8000
  },
  "benchmarks": [],
  "chemistry": {
    "inputs": [
      {
        "chemical": "crude-glycerol",
        "grade": null,
        "note": "feed:CRUDE, crude glycerol from the biodiesel plant, 1.76 kg/kg refined glycerol (unallocated)",
        "role": "feedstock"
      },
      {
        "chemical": "hydrogen-chloride",
        "grade": null,
        "note": "feed:HCLA, hydrochloric acid 32 wt%",
        "role": "feedstock"
      },
      {
        "chemical": "sodium-hydroxide",
        "grade": null,
        "note": "feed:NAOHS, caustic soda 50 wt%",
        "role": "feedstock"
      },
      {
        "chemical": "water",
        "grade": null,
        "note": "Water of the 32 wt% hydrochloric acid and the 50 wt% caustic soda. Activated carbon (feed:ACF) and the fatty layer co-product (product:FAL) have no registry entry yet",
        "role": "feedstock"
      }
    ],
    "outputs": [
      {
        "chemical": "glycerol",
        "grade": null,
        "note": "product:GLYC, refined glycerol USP 99.7 wt% to storage",
        "role": "main-product"
      },
      {
        "chemical": "methanol",
        "grade": null,
        "note": "product:MEOHR, recovered methanol to the biodiesel plant, 0.539 kg/kg",
        "role": "co-product"
      },
      {
        "chemical": "wastewater",
        "grade": null,
        "note": "product:WW, evaporator and vacuum intercondenser condensates (with the ejector motive steam) with about 0.7 wt% methanol and 1.7 wt% glycerol",
        "role": "waste"
      }
    ],
    "utilities": [
      {
        "chemical": "electricity",
        "grade": null,
        "note": "feed:POWER: pumps, agitators, liquid-ring vacuum pumps, salt centrifuge (50 kWh/t, ASSUMED)",
        "role": "utility"
      },
      {
        "chemical": "steam",
        "grade": null,
        "note": "feed:LPS (heat, kWh) and feed:LSTM (live steam, kg): LP steam 450 kPa(a); feed:MPS (heat, kWh) and feed:MSTM (ejector motive steam, kg): MP steam 1000 kPa(a); feed:HPS (heat, kWh): HP steam 3000 kPa(a)",
        "role": "utility"
      },
      {
        "chemical": "cooling-water",
        "grade": null,
        "note": "product:CW, 25/35 C (ASSUMED)",
        "role": "utility"
      }
    ]
  },
  "description": "The glycerol phase of a sodium-methylate catalysed biodiesel plant (about 60 wt% glycerol,\n29 wt% methanol, 8 wt% fatty matter and the catalyst; Thompson & He 2006) is acidulated with\n32 wt% hydrochloric acid: the catalyst becomes NaCl and methanol, the soaps split, and the\nfreed fatty matter is decanted as a layer returned to the biodiesel plant. The glycerol phase\nis neutralised with caustic soda, the methanol is distilled off at atmospheric pressure and\nreturned, and the remaining water is evaporated under vacuum. A vacuum still (1.5 kPa(a),\n448 K, live steam) distils the glycerol; the salt crystallises in the still residue and is\nseparated by a centrifuge, the residue liquor (glycerol foots) leaves as waste. The\ndistillate is bleached and deodorised with activated carbon and cooled.\n\nAll separator splits and duties are concept estimates from an independent balance\n(scripts/glycerol_balance.py) on assumed design parameters; no phase equilibrium, salt\nsolubility or enthalpy model is qualified for these mixtures in core. See DESIGN.md.\n",
  "design_basis": {
    "assumptions": [
      "ASSUMED feed composition built on Thompson & He (2006) soybean-oil crude glycerol; industrial variability is wide (glycerol 30-80 wt%, Attarbachi et al. 2024 Table 1) (D-004).",
      "ASSUMED acidulation with 10 % excess HCl to pH about 3-4, then neutralisation with NaOH to pH about 7 (D-005).",
      "ASSUMED 97 % of fatty acids and FAME to the fatty-acid layer; the layer holds 5 wt% methanol and 1 wt% glycerol (D-006).",
      "ASSUMED methanol recovery 99.5 % at 99.5 wt%, reflux ratio 1.0, bottoms about 425 K on MP steam (D-007).",
      "ASSUMED dewatering to 1 wt% water at 10 kPa(a), 403 K (Raoult estimate, D-008).",
      "ASSUMED vacuum still at 1.5 kPa(a), 448 K, live steam 0.10 kg/kg glycerol fed, 95 % of glycerol to the distillate, 0.5 % to the vacuum condensate; two booster ejectors with 1.5 kg MP motive steam per kg vapour to an intercondenser at 8 kPa(a), liquid-ring vacuum pump for the non-condensables (D-009).",
      "ASSUMED 90 % of the residue salt separated as crystals holding 0.25 kg liquor per kg (D-010).",
      "ASSUMED duties from a lumped latent plus sensible heat balance (scripts/glycerol_balance.py); no property package covers the streams (D-012)."
    ],
    "source": "process/design-basis.yaml"
  },
  "engineering": {
    "description": "",
    "name": "Glycerol (crude glycerol refining)",
    "requires": "cheme-as-code>=0.8",
    "stage": "concept",
    "stages": [
      {
        "id": "concept",
        "title": "Concept and feasibility"
      },
      {
        "id": "basic",
        "title": "Basic engineering"
      },
      {
        "id": "detail",
        "title": "Detail engineering"
      }
    ],
    "tool": "plantcode"
  },
  "facets": {
    "feedstock_basis": [
      "biogenic"
    ],
    "product_classes": [
      "chemicals"
    ],
    "region": "generic",
    "unit_operations": [
      "reaction",
      "decanting",
      "distillation",
      "evaporation",
      "vacuum-distillation",
      "centrifugation",
      "adsorption"
    ]
  },
  "families": [
    "bio-based-chemicals"
  ],
  "gap_count": 6,
  "gates": null,
  "id": "glycerol-1",
  "issues": {
    "closed_count": 0,
    "list_url": "https://github.com/ChemE-as-Code/process-library/issues?q=is%3Aissue%20label%3A%22process%3Aglycerol-1%22",
    "new": {
      "action": "https://github.com/ChemE-as-Code/process-library/issues/new?template=1-action-item.yml&labels=process%3Aglycerol-1&process=glycerol-1",
      "change": "https://github.com/ChemE-as-Code/process-library/issues/new?template=4-design-change.yml&labels=process%3Aglycerol-1&process=glycerol-1",
      "hold": "https://github.com/ChemE-as-Code/process-library/issues/new?template=2-engineering-hold.yml&labels=process%3Aglycerol-1&process=glycerol-1",
      "process": "https://github.com/ChemE-as-Code/process-library/issues/new?template=6-process-development.yml&labels=process%3Aglycerol-1&process=glycerol-1",
      "tq": "https://github.com/ChemE-as-Code/process-library/issues/new?template=3-technical-query.yml&labels=process%3Aglycerol-1&process=glycerol-1",
      "tracker": "https://github.com/ChemE-as-Code/process-library/issues/new?template=7-process-tracker.yml&labels=process%3Aglycerol-1&process=glycerol-1"
    },
    "open": [],
    "open_by_gate": {},
    "open_count": 0,
    "private": false,
    "repository": "ChemE-as-Code/process-library"
  },
  "keywords": [
    "glycerol",
    "glycerine",
    "crude glycerol",
    "biodiesel by-product",
    "USP glycerin",
    "acidulation",
    "methanol recovery",
    "vacuum distillation",
    "bleaching",
    "activated carbon"
  ],
  "lca": {
    "allocation": "shares",
    "backend": "factors",
    "boundary": "cradle-to-gate",
    "categories": [
      {
        "id": "climate-change",
        "method": "GWP100",
        "title": "Climate change",
        "unit": "kg CO2-eq"
      }
    ],
    "contributions": [],
    "data_sources": [],
    "factors_status": "none",
    "functional_unit": {
      "amount": 1,
      "chemical": null,
      "grade": null,
      "label": "1 kg GLYC",
      "product": "GLYC",
      "product_name": null,
      "product_title": "Refined glycerol USP 99.7 wt% to storage",
      "unit": "kg"
    },
    "goal": "Preliminary foreground (gate-to-gate) life cycle inventory of USP-grade glycerol refined from biodiesel crude glycerol at the concept stage: which raw materials, utilities, co-products, emissions and wastes the balanced flowsheet implies per kg of refined glycerol, ready to be linked to background datasets later. Flows are concept estimates on assumed separation and utility parameters (DESIGN.md D-006 to D-012).",
    "inventory": [
      {
        "direction": "input",
        "key": "feed:CRUDE",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 1.53829,
        "title": "Crude glycerol from the biodiesel plant",
        "unit": "kg"
      },
      {
        "direction": "input",
        "key": "feed:HCLA",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.101603,
        "title": "Hydrochloric acid 32 wt%",
        "unit": "kg"
      },
      {
        "direction": "input",
        "key": "feed:NAOHS",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.00648499,
        "title": "Caustic soda 50 wt%",
        "unit": "kg"
      },
      {
        "direction": "input",
        "key": "feed:ACF",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.00175359,
        "title": "Activated carbon (fresh)",
        "unit": "kg"
      },
      {
        "direction": "input",
        "key": "feed:LSTM",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.0918362,
        "title": "LP steam 450 kPa(a), live stripping steam to the still",
        "unit": "kg"
      },
      {
        "direction": "input",
        "key": "feed:MSTM",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.155461,
        "title": "MP steam 1000 kPa(a), motive steam of the still vacuum ejectors",
        "unit": "kg"
      },
      {
        "direction": "input",
        "key": "feed:MPS",
        "kind": "energy",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.375729,
        "title": "MP steam 1000 kPa(a) to the methanol column reboiler (condensate returned)",
        "unit": "kWh"
      },
      {
        "direction": "input",
        "key": "feed:LPS",
        "kind": "energy",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.0250113,
        "title": "LP steam 450 kPa(a) to the dewatering evaporator (condensate returned)",
        "unit": "kWh"
      },
      {
        "direction": "input",
        "key": "feed:HPS",
        "kind": "energy",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.260383,
        "title": "HP steam 3000 kPa(a) to the still reboiler (condensate returned)",
        "unit": "kWh"
      },
      {
        "direction": "input",
        "key": "feed:POWER",
        "kind": "energy",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.0435951,
        "title": "Electric power",
        "unit": "kWh"
      },
      {
        "direction": "output",
        "key": "product:GLYC",
        "kind": "material",
        "phase": "operation",
        "provenance": "calculated",
        "quantity": 1.0,
        "title": "Refined glycerol USP 99.7 wt% to storage",
        "unit": "kg"
      },
      {
        "direction": "output",
        "key": "product:MEOHR",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.539168,
        "title": "Recovered methanol to the biodiesel plant",
        "unit": "kg"
      },
      {
        "direction": "output",
        "key": "product:FAL",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.145048,
        "title": "Fatty-acid layer to the biodiesel plant",
        "unit": "kg"
      },
      {
        "direction": "output",
        "key": "product:SALT",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.0586299,
        "title": "Salt cake to disposal",
        "unit": "kg"
      },
      {
        "direction": "output",
        "key": "product:FOOTS",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.0384951,
        "title": "Glycerol foots (still residue liquor) to digestion or incineration",
        "unit": "kg"
      },
      {
        "direction": "output",
        "key": "product:SPAC",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.00350019,
        "title": "Spent activated carbon",
        "unit": "kg"
      },
      {
        "direction": "output",
        "key": "product:WW",
        "kind": "material",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.32398,
        "title": "Process wastewater to treatment",
        "unit": "kg"
      },
      {
        "direction": "output",
        "key": "product:CW",
        "kind": "energy",
        "phase": "operation",
        "provenance": "assumed",
        "quantity": 0.804205,
        "title": "Cooling water return",
        "unit": "kWh"
      }
    ],
    "no_total": {
      "baseline": {
        "climate-change": {
          "gaps": 15,
          "reason": "every-contribution-a-gap"
        }
      }
    },
    "not_computed": [
      "climate-change"
    ],
    "pcf": [
      {
        "basis": "climate-change",
        "key": "fossil",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "dluc",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "other_biogenic",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "excluding",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "withdrawal",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "withdrawal_other",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "stored_biogenic",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "including",
        "not_computed": "every-contribution-a-gap",
        "unit": "kg CO2-eq",
        "value": null
      },
      {
        "basis": "climate-change",
        "key": "product_carbon",
        "unit": "kg C",
        "value": 0.390089
      },
      {
        "basis": "climate-change",
        "key": "biogenic_carbon",
        "unit": "kg C",
        "value": 0.276199
      },
      {
        "basis": "climate-change",
        "key": "fossil_carbon",
        "unit": "kg C",
        "value": 0.11389
      },
      {
        "basis": "climate-change",
        "key": "ccu_carbon",
        "unit": "kg C",
        "value": 0.0
      },
      {
        "basis": "climate-change",
        "key": "ccu_non_fossil_carbon",
        "unit": "kg C",
        "value": 0.0
      },
      {
        "basis": "climate-change",
        "key": "biogenic_co2_emitted",
        "unit": "kg CO2",
        "value": 0.0
      },
      {
        "basis": "climate-change",
        "key": "biogenic_co2_uptake",
        "unit": "kg CO2",
        "value": 0.0
      },
      {
        "basis": "climate-change",
        "key": "stored_co2",
        "unit": "kg CO2",
        "value": 0.0
      }
    ],
    "publishable": true,
    "result": {
      "classification": "partial",
      "gaps": 15,
      "label": "partial screening carbon footprint",
      "publication": "public"
    },
    "sources": [
      "lca/README.md",
      "lca/dataset.yaml",
      "lca/factors.yaml",
      "lca/gaps.csv",
      "lca/inventory.csv",
      "lca/lca.yaml",
      "lca/mappings.yaml",
      "lca/results.csv",
      "lca/results.md",
      "lca/uncertainty.csv"
    ],
    "totals": {
      "baseline": {}
    },
    "withheld_reason": null
  },
  "lci_gaps": [
    {
      "dataset": "crude-glycerol-refining-to-usp-glycerol-10-000-t-a-99.7-wt",
      "key": "feed:CRUDE",
      "link": "technosphere",
      "type": "input"
    },
    {
      "dataset": "crude-glycerol-refining-to-usp-glycerol-10-000-t-a-99.7-wt",
      "key": "feed:ACF",
      "link": "technosphere",
      "type": "input"
    },
    {
      "dataset": "crude-glycerol-refining-to-usp-glycerol-10-000-t-a-99.7-wt",
      "key": "product:SALT",
      "link": "technosphere",
      "type": "output"
    },
    {
      "dataset": "crude-glycerol-refining-to-usp-glycerol-10-000-t-a-99.7-wt",
      "key": "product:FOOTS",
      "link": "technosphere",
      "type": "output"
    },
    {
      "dataset": "crude-glycerol-refining-to-usp-glycerol-10-000-t-a-99.7-wt",
      "key": "product:SPAC",
      "link": "technosphere",
      "type": "output"
    },
    {
      "dataset": "crude-glycerol-refining-to-usp-glycerol-10-000-t-a-99.7-wt",
      "key": "product:WW",
      "link": "technosphere",
      "type": "output"
    }
  ],
  "maintainers": [
    {
      "name": "Artur Schweidtmann"
    }
  ],
  "maturity": "concept",
  "preliminary": true,
  "provenance": {
    "library_commit": "c3ab3488c602bc797fdc98feffd4578375150dd0",
    "previews": {
      "sheets": [
        "BFD",
        "PFD"
      ],
      "source_commit": "c3ab3488c602bc797fdc98feffd4578375150dd0",
      "tool": "cheme 1.6.0 (pyDEXPI 2.1.0)"
    },
    "previews_stale": false,
    "source_commit": "c3ab3488c602bc797fdc98feffd4578375150dd0"
  },
  "publication": {
    "license": "CC-BY-4.0",
    "status": "public"
  },
  "references": [
    {
      "title": "Thompson, J. C.; He, B. B. (2006) Characterization of crude glycerol from biodiesel production from multiple feedstocks. Applied Engineering in Agriculture 22(2), 261-265, Tables 1, 3, 5, 6 (crude glycerol composition)",
      "url": "https://biodieseleducation.org/Literature/Journal/2006_Thompson_Characterization_of_.pdf"
    },
    {
      "doi": "10.1021/acs.iecr.3c03868",
      "title": "Attarbachi, T. et al. (2024) Experimental scale-up and techno-economic assessment of low-grade glycerol purification from waste-based biorefinery. Ind. Eng. Chem. Res. (CC BY 4.0): section 1 (industrial acidulation to pH ~3, tricanter, neutralisation, methanol column), Table 1 (crude compositions), energy discussion (reboiler heat and plant energy references)"
    },
    {
      "doi": "10.3390/molecules31111841",
      "title": "The Crude Glycerol Challenge: Purification Technologies and Possible Valorization Pathways in the Biodiesel Industry (2026). Molecules 31(11), 1841, section 4.1 (vacuum distillation: 10-30 mbar, feed water limit, scraped-wall evaporator for 2-5 wt% salt, polymerisation and acrolein limits)"
    },
    {
      "doi": "10.1039/d2ra05090k",
      "title": "Recovery and utilization of crude glycerol, a biodiesel byproduct (2022). RSC Advances (CC BY-NC 3.0), Table 1 and text (purified glycerol traded at 99.5-99.7 %)"
    },
    {
      "doi": "10.1186/1754-6834-5-13",
      "title": "Yang, F.; Hanna, M. A.; Sun, R. (2012) Value-added uses for crude glycerol - a byproduct of biodiesel production. Biotechnology for Biofuels 5, 13 (CC BY 2.0): context, composition variability"
    },
    {
      "doi": "10.1002/14356007.a12_477.pub2",
      "title": "Ullmann's Encyclopedia of Industrial Chemistry: Glycerol (route reference lead from issue #186; not read in this run)"
    }
  ],
  "repository": {
    "access": "public",
    "path": "processes/glycerol-1",
    "url": "https://github.com/ChemE-as-Code/process-library"
  },
  "representations": [
    {
      "bytes": 48919,
      "id": "BFD",
      "kind": "bfd",
      "preview": "artifacts/glycerol-1/BFD.svg",
      "source": "process/BFD.xml",
      "status": "preview",
      "title": "Block flow diagram"
    },
    {
      "bytes": 140607,
      "id": "PFD",
      "kind": "pfd",
      "preview": "artifacts/glycerol-1/PFD.svg",
      "source": "process/PFD.xml",
      "status": "preview",
      "title": "Process flow diagram"
    },
    {
      "id": "process-model",
      "kind": "process-model",
      "source": "process/flowsheet.yaml",
      "status": "viewer",
      "title": "Flowsheet and stream table"
    },
    {
      "id": "simulation",
      "kind": "simulation",
      "source": "process/simulation.yaml",
      "status": "viewer",
      "title": "Process simulation"
    },
    {
      "id": "equipment-list",
      "kind": "equipment-list",
      "source": "equipment/equipment-list.yaml",
      "status": "viewer",
      "title": "Equipment list"
    },
    {
      "id": "lca",
      "kind": "lca",
      "source": "lca/lca.yaml",
      "status": "viewer",
      "title": "Life cycle assessment"
    }
  ],
  "summary": "Refining of the crude glycerol phase of a biodiesel plant to USP-grade glycerol (99.7 wt%): HCl acidulation, fatty-layer separation, neutralisation, methanol recovery, vacuum dewatering, vacuum distillation with salt removal and activated carbon bleaching. Concept stage, sourced feed, assumed separation parameters.",
  "title": "Refined glycerol (USP) from biodiesel crude glycerol (10 000 t/a, concept)",
  "validation": {
    "notes": "Concept BFD/PFD with closed mass, component and element balances (cheme validate clean, cheme process streams: 5 blocks, 9 steps, reactive balances by extents). The crude glycerol composition is sourced (Thompson & He 2006); all separator outlets and duties are specified values of an independent balance on assumed parameters. No property package or electrolyte route covers glycerol-methanol-water-NaCl, so energy closure is not evaluable in core. cheme maturity: balanced level blocked by the specified separator values (no sourced model); sourced level blocked by assumed feed flows. The gate-to-gate LCI is preliminary, with every background unmapped. `cheme maturity` supports no level and warns cheme.maturity-claim-exceeds on the `maturity: concept` claim, the lowest value of the manifest; the warning stays until the feed flow basis is accepted as sourced (DESIGN.md section 6). Agent review reviews/2026-10-28-pfd-lci-review.md answered (PROGRESS.md); no human review.",
    "status": "unreviewed"
  },
  "viewer": {
    "commit": "c3ab3488c602bc797fdc98feffd4578375150dd0",
    "dirty": false,
    "sheets": [
      "process/BFD.xml",
      "process/PFD.xml"
    ],
    "skipped": [],
    "snapshot": "snapshots/glycerol-1/",
    "stale": false,
    "tool": "cheme-as-code 1.6.0",
    "views": [
      "checks",
      "streams"
    ]
  }
}
