
Extensibility 3-83
3-83
the feed and product streams, as fluid types.
The idea is to map one set components to another based on the
normal boiling point ranges defined by the product stream
components. For example consider a component slate with a
pseudo component of NBP 150F and a product stream slate
composed of two components NBP 111F and NBP 304F. Since
no NBP150F component exists in the product stream, the
compositions and properties of NBP150F will be stored in the
component with NBP equal to or higher than the NBP of 150F. In
this case the properties of NBP150F will be stored in NBP304F.
Add code to locate the heaviest component in the product
stream component slate and store the NBPs of each component.
For Each hyComponentProd In hyComponentsProd
normalbp(i) = hyComponentProd.NormalBoilingPoint
i = i + 1
Next hyComponentProd
Locate Library components in the feed and product streams and
store the corresponding properties and compositions.
Non-library components such as hypotheticals and oil
components are handled separately. Take note, hypothetical
components are handled differently than oil components and
library components.
If hyComponentProd.IsHypothetical = True Then
Component mapping is achieved via an inner and outer loop
corresponding to the feed and product component slates. When
Set PropvectorMWFeed = StrmFeedFluid.PropertyVectors.Add("Molecular Weight")
Set PropvectorMWProd = StrmProdFluid.PropertyVectors.Add("Molecular Weight")
vntMWFeedContent = PropvectorMWFeed.PointPropertyValue
MyMWResults = PropvectorMWProd.PointPropertyValue
' petroleum properties
Set PropvectorFlashPointFeed = StrmFeedFluid.PropertyVectors.Add("Flash Point")
Set PropvectorFlashPointProd = StrmProdFluid.PropertyVectors.Add("Flash Point")
MyFlashPointResults = PropvectorFlashPointProd.PointPropertyValue
MyFlashPointResultsFeed = PropvectorFlashPointFeed.PointPropertyValue
Komentáře k této Příručce