Skip to content

Information Carrier

Represents an information carrier block that copies a property value from a source simulation object to up to three target simulation objects without performing a thermodynamic calculation.

DWSIM.UnitOperations.SpecialOps.InformationCarrier
Assembly DWSIM.UnitOperations.dll · Object ← BaseClass ← SpecialOpBaseClass ← InformationCarrier

At a glance

Information Carrier in the example flowsheet

This object has no stream connections; it acts on other objects through their properties.

Example

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

fs = (Flowsheet.Create("InformationCarrierExample")
      .WithCompound("Water")
      .WithPropertyPackage(PropertyPackages.SteamTables))

feeds = [fs.AddMaterialStream(f"Feed-{i}").At(Q.Celsius(20.0), Q.Bar(2.0)).WithMassFlow(Q.KgPerSecond(1.0))
         for i in (1, 2, 3)]
outs = [fs.AddMaterialStream(f"Out-{i}") for i in (1, 2, 3)]
heaters = [fs.AddHeater(f"H-{i}").WithOutletTemperature(Q.Celsius(t)).ConnectFeed(f).ConnectProduct(o)
           for i, t, f, o in zip((1, 2, 3), (75.0, 40.0, 40.0), feeds, outs)]

builder = fs.AddUnitOperation(ObjectType.OT_InformationCarrier, "IC-1")
ic = builder.Object.__implementation__

def link(info, obj, prop, role):
    info.ID = obj.Object.Name
    info.Name = obj.Object.GraphicObject.Tag
    info.PropertyName = prop
    info.ObjectType = obj.Object.GetDisplayName()
    obj.Object.IsInfoCarrierAttached = True
    obj.Object.AttachedInfoCarrierId = ic.Name
    obj.Object.InfoCarrierVarType = role

link(ic.SourceObjectData, heaters[0], "PROP_HT_2", SpecVarType.Source)    # H-1 outlet temperature
link(ic.TargetObjectData, heaters[1], "PROP_HT_2", SpecVarType.Target)    # copied to H-2
link(ic.TargetObjectData2, heaters[2], "PROP_HT_2", SpecVarType.Target)   # and to H-3
ic.SourceObject, ic.TargetObject, ic.TargetObject2 = heaters[0].Object, heaters[1].Object, heaters[2].Object

fs.AutoLayout()
fs.Solve()

for o in outs:
    print(f"{o.Object.GraphicObject.Tag} temperature = {o.TemperatureK - 273.15:.2f} C")

Output

Out-1 temperature = 75.00 C
Out-2 temperature = 75.00 C
Out-3 temperature = 75.00 C

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
CarriedValue Carried Value K result
SourceObjectTag Source Object result
SourceProperty Source Property result
TargetObjectTag Target Object result
TargetProperty Target Property result
TargetObject2Tag Target Object 2 result
TargetProperty2 Target Property 2 result
TargetObject3Tag Target Object 3 result
TargetProperty3 Target Property 3 result

Learn more

API members

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

Constructors

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

Initializes a new default instance of the InformationCarrier class.

public InformationCarrier()
Public Sub New()

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

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

Parameter Type Description
name String The display name of the information carrier block.
description String A brief description of the block.
public InformationCarrier(string name, string description)
Public Sub New(name As String, description As String)

Properties

CalculateTargetObject: Gets or sets whether the target object should be recalculated after the information is transferred.

Gets or sets whether the target object should be recalculated after the information is transferred.

public bool CalculateTargetObject { get; set; }
Public Property CalculateTargetObject As Boolean

HasPropertiesForDynamicMode: Gets a value indicating whether this block exposes properties for dynamic mode.

Gets a value indicating whether this block exposes properties for dynamic mode.

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

MobileCompatible: Gets a value indicating whether this block is compatible with the DWSIM mobile interface.

Gets a value indicating whether this block is compatible with the DWSIM mobile interface.

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

SourceObject: Gets or sets the source simulation object instance (not serialized).

Gets or sets the source simulation object instance (not serialized).

public BaseClass SourceObject { get; set; }
Public Property SourceObject As BaseClass

SourceObjectData: Gets or sets the metadata for the source simulation object whose property value is read.

Gets or sets the metadata for the source simulation object whose property value is read.

public SpecialOpObjectInfo SourceObjectData { get; set; }
Public Property SourceObjectData As SpecialOpObjectInfo

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

Gets a value indicating whether this block supports dynamic simulation mode.

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

TargetObject: Gets or sets the primary target simulation object instance (not serialized).

Gets or sets the primary target simulation object instance (not serialized).

public BaseClass TargetObject { get; set; }
Public Property TargetObject As BaseClass

TargetObject2: Gets or sets the second target simulation object instance (not serialized).

Gets or sets the second target simulation object instance (not serialized).

public BaseClass TargetObject2 { get; set; }
Public Property TargetObject2 As BaseClass

TargetObject3: Gets or sets the third target simulation object instance (not serialized).

Gets or sets the third target simulation object instance (not serialized).

public BaseClass TargetObject3 { get; set; }
Public Property TargetObject3 As BaseClass

TargetObjectData: Gets or sets the metadata for the primary target simulation object.

Gets or sets the metadata for the primary target simulation object.

public SpecialOpObjectInfo TargetObjectData { get; set; }
Public Property TargetObjectData As SpecialOpObjectInfo

TargetObjectData2: Gets or sets the metadata for the second target simulation object.

Gets or sets the metadata for the second target simulation object.

public SpecialOpObjectInfo TargetObjectData2 { get; set; }
Public Property TargetObjectData2 As SpecialOpObjectInfo

TargetObjectData3: Gets or sets the metadata for the third target simulation object.

Gets or sets the metadata for the third target simulation object.

public SpecialOpObjectInfo TargetObjectData3 { get; set; }
Public Property TargetObjectData3 As SpecialOpObjectInfo

Methods

Calculate(object): Copies the source property value to every configured target property, in SI units.

Copies the source property value to every configured target property, in SI units. A carrier without a source does nothing.

Parameter Type Description
args Object Optional calculation arguments (not used).
public override void Calculate(object args = null)
Public Overrides Sub Calculate(args As Object = Nothing)

CloneXML(): Creates a deep copy of this information carrier by serializing and deserializing via XML.

Creates a deep copy of this information carrier by serializing and deserializing via XML.

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

CloseEditForm(): Closes and disposes the editing form for this information carrier block if it is open.

Closes and disposes the editing form for this information carrier block if it is open.

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

DisplayEditForm(): Opens or activates the editing form for this information carrier block.

Opens or activates the editing form for this information carrier block.

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

GetDisplayDescription(): Returns the localized display description for the information carrier block type.

Returns the localized display description for the information carrier block type.

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

GetDisplayName(): Returns the localized display name for the information carrier block type.

Returns the localized display name for the information carrier block type.

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

GetIconBitmapBytes(): Returns the raw bytes of the information carrier icon image resource.

Returns the raw bytes of the information carrier icon image resource.

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

GetProperties(PropertyType): Returns the list of property identifiers available for this information carrier.

Returns the list of property identifiers available for this information carrier. The value carried is read-only; the object and property links are text and are listed only under ALL.

Parameter Type Description
proptype PropertyType The type of properties to retrieve.
public override string[] GetProperties(PropertyType proptype)
Public Overrides Function GetProperties(proptype As PropertyType) As String()

GetPropertyDescription(string): Readable names for the property identifiers.

Readable names for the property identifiers.

Parameter Type Description
prop String
public override string GetPropertyDescription(string prop)
Public Overrides Function GetPropertyDescription(prop As String) As String

GetPropertyUnit(string, IUnitsOfMeasure): Returns the unit string for the specified property: the carried value has the units of the source property in the...

Returns the unit string for the specified property: the carried value has the units of the source property in the given unit system (SI when none is given).

Parameter Type Description
prop String The property identifier string.
su IUnitsOfMeasure The unit system to use; defaults to SI if not provided.
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 the specified property converted to the given unit system.

Returns the value of the specified property converted to the given unit system. "CarriedValue" is the current value of the source property; the object and property links come as text.

Parameter Type Description
prop String The property identifier string.
su IUnitsOfMeasure The unit system to use; defaults to SI if not provided.
public override object GetPropertyValue(string prop, IUnitsOfMeasure su = null)
Public Overrides Function GetPropertyValue(prop As String, su As IUnitsOfMeasure = Nothing) As Object

LoadData(List<XElement>): Restores the information carrier state from a list of XML elements.

Restores the information carrier state from a list of XML elements.

Parameter Type Description
data List<XElement> The list of XElement objects containing the serialized state.
public override bool LoadData(List<XElement> data)
Public Overrides Function LoadData(data As List(Of XElement)) As Boolean

SaveData(): Serializes the information carrier state to a list of XML elements for persistence.

Serializes the information carrier state to a list of XML elements for persistence.

public override List<XElement> SaveData()
Public Overrides Function SaveData() As List(Of XElement)

SetPropertyValue(string, object, IUnitsOfMeasure): Sets the value of the specified property; delegates to the base implementation.

Sets the value of the specified property; delegates to the base implementation.

Parameter Type Description
prop String The property identifier string.
propval Object The new property value.
su IUnitsOfMeasure The unit system of the supplied value; defaults to SI if not provided.
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

UpdateEditForm(): Refreshes the displayed data in the editing form if it is currently open.

Refreshes the displayed data in the editing form if it is currently open.

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

Fields

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

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

public object f
Public f As Object