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¶

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
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¶
-
User guide
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.
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. |
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.
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.
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.
SourceObject: Gets or sets the source simulation object instance (not serialized).
Gets or sets the source simulation object instance (not serialized).
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.
SupportsDynamicMode: Gets a value indicating whether this block supports dynamic simulation mode.
Gets a value indicating whether this block supports dynamic simulation mode.
TargetObject: Gets or sets the primary target simulation object instance (not serialized).
Gets or sets the primary target simulation object instance (not serialized).
TargetObject2: Gets or sets the second target simulation object instance (not serialized).
Gets or sets the second target simulation object instance (not serialized).
TargetObject3: Gets or sets the third target simulation object instance (not serialized).
Gets or sets the third target simulation object instance (not serialized).
TargetObjectData: Gets or sets the metadata for the primary target simulation object.
Gets or sets the metadata for the primary target simulation object.
TargetObjectData2: Gets or sets the metadata for the second target simulation object.
Gets or sets the metadata for the second target simulation object.
TargetObjectData3: Gets or sets the metadata for the third target simulation object.
Gets or sets the metadata for the third target simulation object.
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). |
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.
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.
DisplayEditForm(): Opens or activates the editing form for this information carrier block.
Opens or activates the editing form for this information carrier block.
GetDisplayDescription(): Returns the localized display description for the information carrier block type.
Returns the localized display description for the information carrier block type.
GetDisplayName(): Returns the localized display name for the information carrier block type.
Returns the localized display name for the information carrier block type.
GetIconBitmapBytes(): Returns the raw bytes of the information carrier icon image resource.
Returns the raw bytes of the information carrier icon image resource.
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. |
GetPropertyDescription(string): Readable names for the property identifiers.
Readable names for the property identifiers.
| Parameter | Type | Description |
|---|---|---|
prop |
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. |
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. |
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. |
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.
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. |
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.
Fields¶