Skip to content

Cell Lysis

Cell lysis / homogenizer unit. Uses the Hetherington correlation R = 1 - exp(-k * N * P^alpha) to compute the release fraction R for each intracellular compound (per-compound k and alpha via default suggestions based on MW). The resulting fraction is routed to the Lysate outlet; the complement is routed to the Debris outlet along with the biomass compound itself.

DWSIM.UnitOperations.UnitOperations.UnitOp_CellLysis
Assembly DWSIM.UnitOperations.dll · Object ← BaseClass ← UnitOpBaseClass ← UnitOp_CellLysis

At a glance

Cell Lysis in the example flowsheet

Port Index Connected in the example
Inlet, material 0 Broth
Outlet, material 0 Lysate
Outlet, material 1 Debris

Example

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

# Casein stands in for the intracellular protein.
fs = (Flowsheet.Create("CellLysisExample")
      .WithCompounds("Water", "Biomass_Ecoli", "Casein", "Glucose")
      .WithPropertyPackage(PropertyPackages.NRTL))

broth = (fs.AddMaterialStream("Broth")
         .At(Q.Celsius(10.0), Q.Bar(1.5))
         .SetCompoundMassFlow("Water", 0.880)              # kg/s
         .SetCompoundMassFlow("Biomass_Ecoli", 0.100)
         .SetCompoundMassFlow("Casein", 0.015)
         .SetCompoundMassFlow("Glucose", 0.005))
lysate = fs.AddMaterialStream("Lysate")
debris = fs.AddMaterialStream("Debris")

hph = (fs.AddCellLysis("HPH-1")
       .WithTechnology(LysisTechnology.HighPressureHomogenizer)
       .WithPressureMPa(20.0)
       .WithPasses(2)
       .WithBiomassCompound("Biomass_Ecoli")
       .ConnectFeed(broth, 0)
       .ConnectProduct(lysate, 0)
       .ConnectProduct(debris, 1))
# Hetherington: R = 1 - exp(-k N P^alpha). The correlation applies on its own only to
# macromolecules above 5 kDa, so the protein gets the release from the same correlation.
release = hph.Object.HetheringtonRelease()
hph.WithReleaseFraction("Casein", release)

fs.AutoLayout()
fs.Solve()

protein_out = lysate.Object.Phases[0].Compounds["Casein"].MassFlow
print(f"Hetherington release = {release * 100.0:.1f} %")
print(f"Protein in lysate    = {protein_out * 3600.0:.1f} kg/h")
print(f"Lysate flow          = {hph.Object.Result_LysateMass_kgs:.4f} kg/s")
print(f"Debris flow          = {hph.Object.Result_DebrisMass_kgs:.4f} kg/s")

Output

Hetherington release = 97.3 %
Protein in lysate    = 52.5 kg/h
Lysate flow          = 0.8996 kg/s
Debris flow          = 0.1004 kg/s

DWSIM 10.2.11.0, generated 2026-10-08.

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.

ID Name Unit (SI) Input
Technology - yes
Passes - yes
Pressure MPa yes
Hetherington k - yes
Hetherington alpha - yes
Biomass Compound - yes
Default Release Fraction - yes
Ultrasound Power Density W/mL result
Ultrasound Time s result
Ultrasound k - result
Ultrasound Beta - result
Feed Mass kg/s result
Lysate Mass kg/s result
Debris Mass kg/s result
Overall Release - result

Learn more

API members

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

Constructors

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

Initializes a new default instance of the UnitOp_CellLysis class.

public UnitOp_CellLysis()
Public Sub New()

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

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

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

Properties

BiomassCompound: Gets or sets the name of the biomass (cell) compound.

Gets or sets the name of the biomass (cell) compound. It is always routed entirely to the debris outlet.

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

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

DefaultReleaseFraction: Gets or sets the factor (0-1) applied to the model release fraction for macromolecules (molar mass above 5000 g/mol)...

Gets or sets the factor (0-1) applied to the model release fraction for macromolecules (molar mass above 5000 g/mol) without an entry in ReleaseFraction. Default 0.9.

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

HetheringtonAlpha: Gets or sets the pressure exponent alpha of the Hetherington correlation.

Gets or sets the pressure exponent alpha of the Hetherington correlation. Default 2.

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

HetheringtonK: Gets or sets the rate constant k of the Hetherington correlation, consistent with pressure in MPa.

Gets or sets the rate constant k of the Hetherington correlation, consistent with pressure in MPa. Default 0.0045.

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

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

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

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

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

Gets a value indicating whether this unit operation 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 (Separators).

Gets or sets the simulation object class category (Separators). The getter always returns Separators.

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

Passes: Gets or sets the number of passes N in the Hetherington correlation R = 1 - exp(-k N P^alpha).

Gets or sets the number of passes N in the Hetherington correlation R = 1 - exp(-k N P^alpha). Default 2.

public int Passes { get; set; }
Public Property Passes As Integer

Pressure_MPa: Gets or sets the homogenizer operating pressure P in the Hetherington correlation, in MPa.

Gets or sets the homogenizer operating pressure P in the Hetherington correlation, in MPa. Default 80.

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

ReleaseFraction: Gets or sets the user-specified release fractions (0-1) by compound name.

Gets or sets the user-specified release fractions (0-1) by compound name. A compound listed here goes to the lysate in this fraction, overriding the model.

public Dictionary<string, double> ReleaseFraction { get; set; }
Public Property ReleaseFraction As Dictionary(Of String, Double)

Result_DebrisMass_kgs: Gets or sets the debris outlet mass flow, in kg/s.

Gets or sets the debris outlet mass flow, in kg/s. Calculated result.

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

Result_FeedMass_kgs: Gets or sets the feed mass flow, in kg/s.

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

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

Result_LysateMass_kgs: Gets or sets the lysate outlet mass flow, in kg/s.

Gets or sets the lysate outlet mass flow, in kg/s. Calculated result.

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

Result_OverallRelease: Gets or sets the overall release fraction (0-1) of the macromolecules (molar mass above 5000 g/mol, excluding the...

Gets or sets the overall release fraction (0-1) of the macromolecules (molar mass above 5000 g/mol, excluding the biomass compound) into the lysate. Calculated result.

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

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

Gets a value indicating whether this unit operation 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 lysis technology: HighPressureHomogenizer (0), BeadMill (1), Chemical (2), Enzymatic (3), Osmotic...

Gets or sets the lysis technology: HighPressureHomogenizer (0), BeadMill (1), Chemical (2), Enzymatic (3), Osmotic (4) or Ultrasound (5). Ultrasound uses the sonication model; every other value uses the Hetherington correlation. Default HighPressureHomogenizer.

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

Ultrasound_Beta: Gets or sets the power density exponent beta of the ultrasound model.

Gets or sets the power density exponent beta of the ultrasound model. Default 1.2.

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

Ultrasound_k: Gets or sets the rate constant k_u of the ultrasound model, consistent with power density in W/mL and time in s.

Gets or sets the rate constant k_u of the ultrasound model, consistent with power density in W/mL and time in s. Default 0.008.

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

Ultrasound_PowerDensity_WmL: Gets or sets the acoustic power density P_a of the sonication model R_u = 1 - exp(-k_u P_a^beta t), in W/mL.

Gets or sets the acoustic power density P_a of the sonication model R_u = 1 - exp(-k_u P_a^beta t), in W/mL. Default 0.5.

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

Ultrasound_Time_s: Gets or sets the total sonication time t of the ultrasound model, in s.

Gets or sets the total sonication time t of the ultrasound model, in s. Default 300.

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

Methods

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 unit operation type.

Returns the localized description string for this unit operation type.

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

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

Returns the localized display name for this unit operation type.

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

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

Returns the raw bytes of the icon image for this unit operation.

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

GetProperties(PropertyType): Get a list of all properties of the object.

Get a list of all properties of the object.

Parameter Type Description
proptype PropertyType Type of the property.
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 unit operation.

Generates a plain-text results report for this unit operation.

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

HetheringtonRelease(): Hetherington release factor for a given compound: R = 1 - exp(-kNP^alpha).

Hetherington release factor for a given compound: R = 1 - exp(-kNP^alpha).

public double HetheringtonRelease()
Public Function HetheringtonRelease() As Double

IntrinsicRelease(): Model-agnostic intrinsic release factor for intracellular macromolecules.

Model-agnostic intrinsic release factor for intracellular macromolecules.

public double IntrinsicRelease()
Public Function IntrinsicRelease() As Double

ReleaseFor(string, double): Returns the user-set release fraction for a compound, or a MW-based default capped by the active model's R.

Returns the user-set release fraction for a compound, or a MW-based default capped by the active model's R.

Parameter Type Description
compName String
mw Double
public double ReleaseFor(string compName, double mw)
Public Function ReleaseFor(compName As String, mw As Double) As Double

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

UltrasoundRelease(): Ultrasound release factor: R_u = 1 - exp(-k_u * P_a^beta * t).

Ultrasound release factor: R_u = 1 - exp(-k_u * P_a^beta * t).

public double UltrasoundRelease()
Public Function UltrasoundRelease() 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 unit operation, if any.

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

public object f
Public f As Object