Skip to content

Biomass Pretreatment Reactor

Biomass pretreatment reactor. Converts a lignocellulosic slurry (cellulose + hemicellulose + lignin) into a pretreated slurry containing sugars (glucose, xylose) and inhibitors (furfural, HMF, acetic acid). With ConversionMode = UserFractions (default) it applies the user-specified conversion fractions, whose defaults are keyed to the selected PretreatmentType. With ConversionMode = Severity the conversions follow from the severity factor R0 = t·exp((T - 100)/14.75), t in min and T in °C (Overend and Chornet, 1987), or, for dilute acid, from the combined severity CSF = log R0 - pH (Chum et al., 1990): the polysaccharides hydrolyse first order in R0 (Abatzoglou et al., 1992) and the sugars degrade by the consecutive model of Saeman (1945), with rate constants calibrated so that log R0 = 3.5 reproduces the technology defaults. Reactions: (C6H10O5)n + H2O -> C6H12O6 (cellulose to glucose) C6H12O6 -> C6H6O3 + 3 H2O (glucose to HMF) (C5H8O4)n + H2O -> C5H10O5 (xylan to xylose) C5H10O5 -> C5H4O2 + 3 H2O (xylose to furfural) Acetic acid is released from acetyl groups in the hemicellulose, proportionally to the hemicellulose mass consumed.

DWSIM.UnitOperations.Reactors.Reactor_Pretreatment
Assembly DWSIM.UnitOperations.dll · Object ← BaseClass ← UnitOpBaseClass ← Reactor ← Reactor_Pretreatment

At a glance

Biomass Pretreatment Reactor in the example flowsheet

Port Index Connected in the example
Inlet, material 0 Slurry
Outlet, material 0 Pretreated

Example

This code runs on every build of this site, and the output below is what it printed.

# The compound database has no cellulose, hemicellulose or lignin. The reactor works on
# mass, so any compound can carry each fraction: here sucrose stands in for cellulose,
# lactose for hemicellulose, coal for lignin and phenol for the dissolved lignin.
fs = (Flowsheet.Create("PretreatmentExample")
      .WithCompounds("Water", "Sucrose", "Lactose", "Coal", "Phenol",
                     "Glucose", "Xylose", "Furfural", "Acetic acid")
      .WithPropertyPackage(PropertyPackages.NRTL))

# 20 wt % solids: 40 % cellulose, 25 % hemicellulose, 20 % lignin (dry basis, rest water)
slurry = (fs.AddMaterialStream("Slurry")
          .At(Q.Celsius(160.0), Q.Bar(7.0))
          .SetCompoundMassFlow("Water", 0.830)       # kg/s
          .SetCompoundMassFlow("Sucrose", 0.080)
          .SetCompoundMassFlow("Lactose", 0.050)
          .SetCompoundMassFlow("Coal", 0.040))
pretreated = fs.AddMaterialStream("Pretreated")

pt = (fs.AddPretreatmentReactor("PT-1")
      .WithTechnology(PretreatmentType.DiluteAcid)
      .WithResidenceTime(Q.Minutes(15.0))
      .WithCelluloseConversion(0.10)
      .WithHemicelluloseConversion(0.90)
      .WithXyloseToFurfural(0.05)
      .WithGlucoseToHMF(0.0)
      .WithLigninSolubilization(0.15)
      .ConnectFeed(slurry, 0)
      .ConnectProduct(pretreated, 0))
r = pt.Object
r.CelluloseCompound = "Sucrose"
r.HemicelluloseCompound = "Lactose"
r.LigninCompound = "Coal"
r.SolubleLigninCompound = "Phenol"
r.GlucoseCompound = "Glucose"
r.XyloseCompound = "Xylose"
r.FurfuralCompound = "Furfural"
r.AceticAcidCompound = "Acetic acid"   # released by the acetyl groups of the hemicellulose

fs.AutoLayout()
fs.Solve()

print(f"Glucose released   = {r.Result_GlucoseProduced_kgs * 3600.0:.1f} kg/h")
print(f"Xylose released    = {r.Result_XyloseProduced_kgs * 3600.0:.1f} kg/h")
print(f"Furfural formed    = {r.Result_FurfuralProduced_kgs * 3600.0:.2f} kg/h")
print(f"Acetic acid        = {r.Result_AceticAcidProduced_kgs * 3600.0:.2f} kg/h")
print(f"Lignin dissolved   = {r.Result_LigninSolubilized_kgs * 3600.0:.1f} kg/h")
print(f"Mass in / out      = {slurry.MassFlowKgPerSecond:.4f} / {pretreated.MassFlowKgPerSecond:.4f} kg/s")

Output

Glucose released   = 32.0 kg/h
Xylose released    = 155.5 kg/h
Furfural formed    = 8.43 kg/h
Acetic acid        = 19.44 kg/h
Lignin dissolved   = 21.6 kg/h
Mass in / out      = 1.0000 / 1.0000 kg/s

DWSIM 10.2.11.0, generated 2026-10-08.

Calculation modes

Set with ConversionMode (PretreatmentConversionMode). The mode decides which properties are inputs; every other one is a result and is overwritten by the calculation.

Mode Value What it does Inputs
UserFractions 0 The conversion fractions entered by the user (or loaded by ApplyTechnologyDefaults) are applied as they are. Technology, Conversion Mode, Severity Log R0, Residence Time, Solids Loading, Cellulose Compound, Hemicellulose Compound, Lignin Compound, Glucose Compound, Xylose Compound, Furfural Compound, HMF Compound, Acetic Acid Compound, Water Compound, Soluble Lignin Compound, Acid Compound, Acid Second pKa, Cellulose Conversion, Glucose to HMF, Hemicellulose Conversion, Xylose to Furfural, Lignin Solubilization, Acetic Acid Yield on Hemi
Severity 1 The cellulose and hemicellulose conversions and the sugar degradation follow from the severity factor through first-order kinetics in R0, with rate constants calibrated per technology. Technology, Conversion Mode, Severity Log R0, Residence Time, Solids Loading, Cellulose Compound, Hemicellulose Compound, Lignin Compound, Glucose Compound, Xylose Compound, Furfural Compound, HMF Compound, Acetic Acid Compound, Water Compound, Soluble Lignin Compound, Acid Compound, Acid Second pKa, Lignin Solubilization, Acetic Acid Yield on Hemi

Properties

IDs accepted by GetPropertyValue, SetPropertyValue, the sensitivity analysis, the optimizer, the Adjust block and dynamic events. Units are SI; pass another unit system to GetPropertyValue to get them converted.

All 41 properties
ID Name Unit (SI) Input in
Technology - all modes
Conversion Mode - all modes
Severity Log R0 - all modes
Residence Time s all modes
Solids Loading - all modes
Cellulose Compound - all modes
Hemicellulose Compound - all modes
Lignin Compound - all modes
Glucose Compound - all modes
Xylose Compound - all modes
Furfural Compound - all modes
HMF Compound - all modes
Acetic Acid Compound - all modes
Water Compound - all modes
Soluble Lignin Compound - all modes
Acid Compound - all modes
Acid Second pKa - all modes
Cellulose Conversion - UserFractions
Glucose to HMF - UserFractions
Hemicellulose Conversion - UserFractions
Xylose to Furfural - UserFractions
Lignin Solubilization - all modes
Acetic Acid Yield on Hemi - all modes
Cellulose Consumed kg/s result
Hemicellulose Consumed kg/s result
Glucose Produced kg/s result
Xylose Produced kg/s result
HMF Produced kg/s result
Furfural Produced kg/s result
Acetic Acid Produced kg/s result
Lignin Solubilized kg/s result
Computed Log R0 - result
Severity Temperature K result
Feed Solids Loading - result
Acid Concentration mol/kg result
Liquid pH - result
Combined Severity Factor - result
Applied Cellulose Conversion - result
Applied Glucose to HMF - result
Applied Hemicellulose Conversion - result
Applied Xylose to Furfural - result

Learn more

API members

Public members declared by this class. Inherited members are documented on the base classes.

Constructors

Reactor_Pretreatment(): Initializes a new default instance of the Reactor_Pretreatment class.

Initializes a new default instance of the Reactor_Pretreatment class.

public Reactor_Pretreatment()
Public Sub New()

Reactor_Pretreatment(string, string): Initializes a new instance of the Reactor_Pretreatment class with a name and description.

Initializes a new instance of the Reactor_Pretreatment class with a name and description.

Parameter Type Description
name String The name of this reactor.
description String A brief description of this reactor.
public Reactor_Pretreatment(string name, string description)
Public Sub New(name As String, description As String)

Properties

AceticAcidCompound: Gets or sets the name of the acetic acid compound released from the hemicellulose acetyl groups.

Gets or sets the name of the acetic acid compound released from the hemicellulose acetyl groups. The release runs only when this compound is assigned and present.

public string AceticAcidCompound { get; set; }
Public Property AceticAcidCompound As String

AceticAcidYieldOnHemi: g acetic acid released per g hemicellulose consumed (mass fraction).

g acetic acid released per g hemicellulose consumed (mass fraction). Default 0.12.

public double AceticAcidYieldOnHemi { get; set; }
Public Property AceticAcidYieldOnHemi As Double

AcidCompound: Gets or sets the name of the mineral acid compound in the feed (e.g.

Gets or sets the name of the mineral acid compound in the feed (e.g. sulfuric acid). Its concentration in the liquid gives the pH of the combined severity. Optional; without it the dilute acid technology assumes pH 1.0. The acid passes through unchanged.

public string AcidCompound { get; set; }
Public Property AcidCompound As String

AcidSecondPKa: Gets or sets the second dissociation constant pKa2 of the acid in AcidCompound, at 25 °C.

Gets or sets the second dissociation constant pKa2 of the acid in AcidCompound, at 25 °C. The first proton is taken as fully dissociated. Default 1.99 (sulfuric acid); use a large value (e.g. 99) for a monoprotic strong acid such as HCl.

public double AcidSecondPKa { get; set; }
Public Property AcidSecondPKa As Double

CelluloseCompound: Gets or sets the name of the compound that represents cellulose in the feed.

Gets or sets the name of the compound that represents cellulose in the feed. The cellulose to glucose reaction consumes it.

public string CelluloseCompound { get; set; }
Public Property CelluloseCompound As String

CelluloseConversion: Fraction of cellulose converted to glucose (0-1).

Fraction of cellulose converted to glucose (0-1). Typical dilute acid: 0.05-0.15 (main conversion is in EH downstream). Read in UserFractions mode; in Severity mode the applied value is Result_CelluloseConversion.

public double CelluloseConversion { get; set; }
Public Property CelluloseConversion As Double

ComponentDescription: Gets or sets the display description for this unit operation.

Gets or sets the display description for this unit operation.

public override string ComponentDescription { get; set; }
Public Overrides Property ComponentDescription As String

ComponentName: Gets or sets the display name for this unit operation.

Gets or sets the display name for this unit operation.

public override string ComponentName { get; set; }
Public Overrides Property ComponentName As String

ConversionMode: Gets or sets where the conversions come from: UserFractions (0, default) applies the conversion fractions as...

Gets or sets where the conversions come from: UserFractions (0, default) applies the conversion fractions as entered; Severity (1) computes the cellulose and hemicellulose conversions and the sugar degradation from the severity factor. Lignin solubilization and the acetic acid yield are read from their properties in both modes.

public PretreatmentConversionMode ConversionMode { get; set; }
Public Property ConversionMode As PretreatmentConversionMode

FurfuralCompound: Gets or sets the name of the furfural compound formed by xylose degradation.

Gets or sets the name of the furfural compound formed by xylose degradation. The degradation runs only when this compound is assigned and present.

public string FurfuralCompound { get; set; }
Public Property FurfuralCompound As String

GlucoseCompound: Gets or sets the name of the glucose product compound.

Gets or sets the name of the glucose product compound. Cellulose hydrolysis runs only when this compound is assigned and present.

public string GlucoseCompound { get; set; }
Public Property GlucoseCompound As String

GlucoseToHMF: Mass of HMF formed per mass of glucose generated (0-0.70); the glucose consumed is this value / 0.70, the HMF to...

Mass of HMF formed per mass of glucose generated (0-0.70); the glucose consumed is this value / 0.70, the HMF to glucose mass ratio. Typical dilute acid: 0.02-0.05. Read in UserFractions mode; in Severity mode the applied value is Result_GlucoseToHMF.

public double GlucoseToHMF { get; set; }
Public Property GlucoseToHMF As Double

HemicelluloseCompound: Gets or sets the name of the compound that represents hemicellulose (xylan with acetyl groups) in the feed.

Gets or sets the name of the compound that represents hemicellulose (xylan with acetyl groups) in the feed. The hemicellulose to xylose and acetic acid reactions consume it.

public string HemicelluloseCompound { get; set; }
Public Property HemicelluloseCompound As String

HemicelluloseConversion: Fraction of hemicellulose converted to xylose (0-1).

Fraction of hemicellulose converted to xylose (0-1). Typical dilute acid: 0.80-0.95. Read in UserFractions mode; in Severity mode the applied value is Result_HemicelluloseConversion.

public double HemicelluloseConversion { get; set; }
Public Property HemicelluloseConversion As Double

HMFCompound: Gets or sets the name of the 5-hydroxymethylfurfural (HMF) compound formed by glucose degradation.

Gets or sets the name of the 5-hydroxymethylfurfural (HMF) compound formed by glucose degradation. The degradation runs only when this compound is assigned and present.

public string HMFCompound { get; set; }
Public Property HMFCompound As String

IsBio: Gets a value indicating that this reactor belongs to the Bio group of the object palette.

Gets a value indicating that this reactor belongs to the Bio group of the object palette. Always True.

public bool IsBio { get; }
Public ReadOnly Property IsBio As Boolean

LigninCompound: Gets or sets the name of the compound that represents insoluble lignin in the feed.

Gets or sets the name of the compound that represents insoluble lignin in the feed. The solubilized fraction moves to SolubleLigninCompound.

public string LigninCompound { get; set; }
Public Property LigninCompound As String

LigninSolubilization: Fraction of lignin solubilized (0-1).

Fraction of lignin solubilized (0-1). Strong for alkaline/organosolv; low for dilute acid.

public double LigninSolubilization { get; set; }
Public Property LigninSolubilization As Double

MobileCompatible: Gets a value indicating whether this reactor is compatible with mobile interfaces.

Gets a value indicating whether this reactor is compatible with mobile interfaces. Always False.

public override bool MobileCompatible { get; }
Public Overrides ReadOnly Property MobileCompatible As Boolean

ObjectClass: Gets or sets the simulation object class category (Reactors).

Gets or sets the simulation object class category (Reactors).

public override SimulationObjectClass ObjectClass { get; set; }
Public Overrides Property ObjectClass As SimulationObjectClass

ResidenceTime_s: Gets or sets the reactor residence time, in s.

Gets or sets the reactor residence time, in s. Default 600. When positive, the reactor computes the severity log R0 from it and from the reaction temperature; set it to zero to use SeverityLogR0 instead.

public double ResidenceTime_s { get; set; }
Public Property ResidenceTime_s As Double

Result_AceticAcidProduced_kgs: Gets or sets the acetic acid mass flow released from the hemicellulose, in kg/s.

Gets or sets the acetic acid mass flow released from the hemicellulose, in kg/s. Calculated result.

public double Result_AceticAcidProduced_kgs { get; set; }
Public Property Result_AceticAcidProduced_kgs As Double

Result_AcidConcentration_molkg: Gets or sets the acid concentration in the liquid (feed mass minus the solids), in mol per kg of liquid.

Gets or sets the acid concentration in the liquid (feed mass minus the solids), in mol per kg of liquid. Zero when no acid compound is assigned. Calculated result.

public double Result_AcidConcentration_molkg { get; set; }
Public Property Result_AcidConcentration_molkg As Double

Result_CelluloseConsumed_kgs: Gets or sets the cellulose mass flow consumed by hydrolysis, in kg/s.

Gets or sets the cellulose mass flow consumed by hydrolysis, in kg/s. Calculated result.

public double Result_CelluloseConsumed_kgs { get; set; }
Public Property Result_CelluloseConsumed_kgs As Double

Result_CelluloseConversion: Gets or sets the cellulose to glucose conversion applied in the last calculation (0-1).

Gets or sets the cellulose to glucose conversion applied in the last calculation (0-1). Calculated result.

public double Result_CelluloseConversion { get; set; }
Public Property Result_CelluloseConversion As Double

Result_CombinedSeverity: Gets or sets the combined severity factor CSF = log R0 - pH (Chum et al., 1990).

Gets or sets the combined severity factor CSF = log R0 - pH (Chum et al., 1990). Severity mode uses it in place of log R0 for the DiluteAcid technology only. Calculated result.

public double Result_CombinedSeverity { get; set; }
Public Property Result_CombinedSeverity As Double

Result_FurfuralProduced_kgs: Gets or sets the furfural mass flow produced, in kg/s.

Gets or sets the furfural mass flow produced, in kg/s. Calculated result.

public double Result_FurfuralProduced_kgs { get; set; }
Public Property Result_FurfuralProduced_kgs As Double

Result_GlucoseProduced_kgs: Gets or sets the net glucose mass flow produced (after the part degraded to HMF), in kg/s.

Gets or sets the net glucose mass flow produced (after the part degraded to HMF), in kg/s. Calculated result.

public double Result_GlucoseProduced_kgs { get; set; }
Public Property Result_GlucoseProduced_kgs As Double

Result_GlucoseToHMF: Gets or sets the HMF formed per mass of glucose generated applied in the last calculation (g/g).

Gets or sets the HMF formed per mass of glucose generated applied in the last calculation (g/g). Calculated result.

public double Result_GlucoseToHMF { get; set; }
Public Property Result_GlucoseToHMF As Double

Result_HemicelluloseConsumed_kgs: Gets or sets the hemicellulose mass flow consumed, in kg/s.

Gets or sets the hemicellulose mass flow consumed, in kg/s. Calculated result.

public double Result_HemicelluloseConsumed_kgs { get; set; }
Public Property Result_HemicelluloseConsumed_kgs As Double

Result_HemicelluloseConversion: Gets or sets the hemicellulose conversion applied in the last calculation (0-1).

Gets or sets the hemicellulose conversion applied in the last calculation (0-1). Calculated result.

public double Result_HemicelluloseConversion { get; set; }
Public Property Result_HemicelluloseConversion As Double

Result_HMFProduced_kgs: Gets or sets the HMF mass flow produced, in kg/s.

Gets or sets the HMF mass flow produced, in kg/s. Calculated result.

public double Result_HMFProduced_kgs { get; set; }
Public Property Result_HMFProduced_kgs As Double

Result_LigninSolubilized_kgs: Gets or sets the lignin mass flow moved to the soluble lignin compound, in kg/s.

Gets or sets the lignin mass flow moved to the soluble lignin compound, in kg/s. Calculated result.

public double Result_LigninSolubilized_kgs { get; set; }
Public Property Result_LigninSolubilized_kgs As Double

Result_LogR0: Gets or sets the severity factor log10(R0) used in the calculation, with R0 in min: computed from the residence time...

Gets or sets the severity factor log10(R0) used in the calculation, with R0 in min: computed from the residence time and the reaction temperature when the residence time is positive, else equal to SeverityLogR0. Calculated result.

public double Result_LogR0 { get; set; }
Public Property Result_LogR0 As Double

Result_pH: Gets or sets the pH of the liquid at 25 °C used by the combined severity: from the acid concentration when an acid...

Gets or sets the pH of the liquid at 25 °C used by the combined severity: from the acid concentration when an acid compound is assigned; 1.0 (the calibration pH) for dilute acid without one; 7 otherwise. Calculated result.

public double Result_pH { get; set; }
Public Property Result_pH As Double

Result_SeverityTemperature_K: Gets or sets the temperature the severity is evaluated at, in K: the outlet temperature when the reactor runs in...

Gets or sets the temperature the severity is evaluated at, in K: the outlet temperature when the reactor runs in OutletTemperature mode, else the feed temperature. Calculated result.

public double Result_SeverityTemperature_K { get; set; }
Public Property Result_SeverityTemperature_K As Double

Result_SolidsLoading_wfrac: Gets or sets the solids loading of the feed, in w/w: the mass of the cellulose, hemicellulose and lignin compounds...

Gets or sets the solids loading of the feed, in w/w: the mass of the cellulose, hemicellulose and lignin compounds over the total mass. Calculated result.

public double Result_SolidsLoading_wfrac { get; set; }
Public Property Result_SolidsLoading_wfrac As Double

Result_XyloseProduced_kgs: Gets or sets the net xylose mass flow produced (after the part degraded to furfural), in kg/s.

Gets or sets the net xylose mass flow produced (after the part degraded to furfural), in kg/s. Calculated result.

public double Result_XyloseProduced_kgs { get; set; }
Public Property Result_XyloseProduced_kgs As Double

Result_XyloseToFurfural: Gets or sets the furfural formed per mass of xylose generated applied in the last calculation (g/g).

Gets or sets the furfural formed per mass of xylose generated applied in the last calculation (g/g). Calculated result.

public double Result_XyloseToFurfural { get; set; }
Public Property Result_XyloseToFurfural As Double

SeverityLogR0: Gets or sets the severity factor log10(R0) (dimensionless), with R0 in min.

Gets or sets the severity factor log10(R0) (dimensionless), with R0 in min. Default 3.5. Read only when ResidenceTime_s is zero; with a positive residence time the reactor computes log R0 from the residence time and the temperature, reported in Result_LogR0.

public double SeverityLogR0 { get; set; }
Public Property SeverityLogR0 As Double

SolidsLoading_wfrac: Gets or sets the expected solids loading of the slurry, as a mass fraction (0-1).

Gets or sets the expected solids loading of the slurry, as a mass fraction (0-1). Default 0.20. The reactor computes the solids loading from the feed (Result_SolidsLoading_wfrac) and does not add or remove water; in Severity mode it warns when the feed differs from this value by more than 0.005.

public double SolidsLoading_wfrac { get; set; }
Public Property SolidsLoading_wfrac As Double

SolubleLigninCompound: Gets or sets the name of the soluble lignin compound that receives the solubilized lignin.

Gets or sets the name of the soluble lignin compound that receives the solubilized lignin. Lignin solubilization runs only when this compound is assigned and present.

public string SolubleLigninCompound { get; set; }
Public Property SolubleLigninCompound As String

SupportsDynamicMode: Gets a value indicating whether this reactor supports dynamic simulation mode.

Gets a value indicating whether this reactor supports dynamic simulation mode. Always False; it is calculated as a steady-state model.

public override bool SupportsDynamicMode { get; }
Public Overrides ReadOnly Property SupportsDynamicMode As Boolean

Technology: Gets or sets the pretreatment technology: DiluteAcid (0), SteamExplosion (1), Alkaline (2) or Organosolv (3).

Gets or sets the pretreatment technology: DiluteAcid (0), SteamExplosion (1), Alkaline (2) or Organosolv (3). It selects the conversion fractions set by ApplyTechnologyDefaults; in Severity mode it also selects the rate constants, calibrated on those defaults, and DiluteAcid switches the severity to the combined severity log R0 - pH. Default DiluteAcid.

public PretreatmentType Technology { get; set; }
Public Property Technology As PretreatmentType

WaterCompound: Gets or sets the name of the water compound, consumed by the hydrolysis reactions and released by the degradation...

Gets or sets the name of the water compound, consumed by the hydrolysis reactions and released by the degradation reactions. Default "Water".

public string WaterCompound { get; set; }
Public Property WaterCompound As String

XyloseCompound: Gets or sets the name of the xylose product compound.

Gets or sets the name of the xylose product compound. Hemicellulose hydrolysis runs only when this compound is assigned and present.

public string XyloseCompound { get; set; }
Public Property XyloseCompound As String

XyloseToFurfural: Mass of furfural formed per mass of xylose generated (0-0.64); the xylose consumed is this value / 0.64, the...

Mass of furfural formed per mass of xylose generated (0-0.64); the xylose consumed is this value / 0.64, the furfural to xylose mass ratio. Typical dilute acid: 0.05-0.10. Read in UserFractions mode; in Severity mode the applied value is Result_XyloseToFurfural.

public double XyloseToFurfural { get; set; }
Public Property XyloseToFurfural As Double

Methods

AcidPH(double, double): pH at 25 °C of a strong acid whose first proton dissociates fully and whose second one follows pKa2.

pH at 25 °C of a strong acid whose first proton dissociates fully and whose second one follows pKa2.

Parameter Type Description
c_molkg Double Acid concentration, in mol per kg of water (taken as mol/L).
pKa2 Double Second dissociation constant.
public static double AcidPH(double c_molkg, double pKa2)
Public Shared Function AcidPH(c_molkg As Double, pKa2 As Double) As Double

ApplyTechnologyDefaults(): Preset default conversions for a given pretreatment technology.

Preset default conversions for a given pretreatment technology.

public void ApplyTechnologyDefaults()
Public Sub ApplyTechnologyDefaults()

Calculate(object): Calculates the object.

Calculates the object.

Parameter Type Description
args Object
public override void Calculate(object args = null)
Public Overrides Sub Calculate(args As Object = Nothing)

CloneXML(): Creates a deep copy of this object by round-tripping through XML serialization.

Creates a deep copy of this object by round-tripping through XML serialization.

public override object CloneXML()
Public Overrides Function CloneXML() As Object

CloseEditForm(): Closes the editor of this object, if it is open.

Closes the editor of this object, if it is open.

public override void CloseEditForm()
Public Overrides Sub CloseEditForm()

DeCalculate(): Decalculates the object.

Decalculates the object.

public override void DeCalculate()
Public Overrides Sub DeCalculate()

DisplayEditForm(): Opens the editor of this object.

Opens the editor of this object. A host that has no editor for it does nothing.

public override void DisplayEditForm()
Public Overrides Sub DisplayEditForm()

GetDisplayDescription(): Returns the localized description string for this reactor type.

Returns the localized description string for this reactor type.

public override string GetDisplayDescription()
Public Overrides Function GetDisplayDescription() As String

GetDisplayName(): Returns the localized display name for this reactor type.

Returns the localized display name for this reactor type.

public override string GetDisplayName()
Public Overrides Function GetDisplayName() As String

GetIconBitmapBytes(): Returns the raw bytes of the icon image for this reactor.

Returns the raw bytes of the icon image for this reactor.

public override byte[] GetIconBitmapBytes()
Public Overrides Function GetIconBitmapBytes() As Byte()

GetProperties(PropertyType): Returns the property IDs of this reactor.

Returns the property IDs of this reactor. The writable list (WR) follows ConversionMode: the Severity mode leaves out the four conversion fractions it computes.

Parameter Type Description
proptype PropertyType The kind of property to list.
public override string[] GetProperties(PropertyType proptype)
Public Overrides Function GetProperties(proptype As PropertyType) As String()

GetPropertyUnit(string, IUnitsOfMeasure): Gets the units of a property.

Gets the units of a property.

Parameter Type Description
prop String Property identifier.
su IUnitsOfMeasure Units system to use. Null to use the default (SI) system.
public override string GetPropertyUnit(string prop, IUnitsOfMeasure su = null)
Public Overrides Function GetPropertyUnit(prop As String, su As IUnitsOfMeasure = Nothing) As String

GetPropertyValue(string, IUnitsOfMeasure): Returns the value of a named property, converting from SI to the current unit system.

Returns the value of a named property, converting from SI to the current unit system. Falls back to extra properties if the property is not found in the base implementation.

Parameter Type Description
prop String The property identifier string.
su IUnitsOfMeasure Optional units-of-measure system used for conversion; uses the shared SI system when Nothing.
public override object GetPropertyValue(string prop, IUnitsOfMeasure su = null)
Public Overrides Function GetPropertyValue(prop As String, su As IUnitsOfMeasure = Nothing) As Object

GetReport(IUnitsOfMeasure, CultureInfo, string): Generates a plain-text results report for this reactor.

Generates a plain-text results report for this reactor.

Parameter Type Description
su IUnitsOfMeasure The unit system used for formatting output values.
ci CultureInfo The culture info used for number formatting.
numberformat String A .NET numeric format string (e.g. "G6") applied to output values.
public override string GetReport(IUnitsOfMeasure su, CultureInfo ci, string numberformat)
Public Overrides Function GetReport(su As IUnitsOfMeasure, ci As CultureInfo, numberformat As String) As String

SetPropertyValue(string, object, IUnitsOfMeasure): Sets the value of a property.

Sets the value of a property.

Parameter Type Description
prop String Property identifier.
propval Object Property value to set at the specified units.
su IUnitsOfMeasure Units system to use. Null to use the default (SI) system.
public override bool SetPropertyValue(string prop, object propval, IUnitsOfMeasure su = null)
Public Overrides Function SetPropertyValue(prop As String, propval As Object, su As IUnitsOfMeasure = Nothing) As Boolean

SeverityLog10R0(double, double): Severity factor log10(R0) of Overend and Chornet (1987), R0 = t·exp((T - 100)/14.75), t in min and T in °C.

Severity factor log10(R0) of Overend and Chornet (1987), R0 = t·exp((T - 100)/14.75), t in min and T in °C.

Parameter Type Description
time_s Double Residence time, in s.
T_K Double Reaction temperature, in K.
public static double SeverityLog10R0(double time_s, double T_K)
Public Shared Function SeverityLog10R0(time_s As Double, T_K As Double) As Double

TechnologyDefaults(PretreatmentType): Returns the default fractions of a technology: cellulose conversion, glucose to HMF, hemicellulose conversion...

Returns the default fractions of a technology: cellulose conversion, glucose to HMF, hemicellulose conversion, xylose to furfural, lignin solubilization and acetic acid yield on hemicellulose, in this order. The Severity mode calibrates its rate constants on the first four at log R0 = 3.5.

Parameter Type Description
tech PretreatmentType The pretreatment technology.
public static double[] TechnologyDefaults(PretreatmentType tech)
Public Shared Function TechnologyDefaults(tech As PretreatmentType) As Double()

UpdateEditForm(): Redraws the editor of this object with the current values, if it is open.

Redraws the editor of this object with the current values, if it is open.

public override void UpdateEditForm()
Public Overrides Sub UpdateEditForm()

Fields

f: The classic (WinForms) editor window open for this reactor, if any.

The classic (WinForms) editor window open for this reactor, if any. Not saved with the flowsheet.

public object f
Public f As Object