Direct Contact Heater 2
This model is available in SysCAD 9.3 Build 137 and later.
- 1 General Description
- 2 Inputs and Outputs
- 3 Behaviour when Model is OFF
- 4 Model Theory
- 5 Flowchart
- 6 Data Sections
- 7 Adding this Model to a Project
- 8 Hints and Comments
The Direct Contact Heater is used to transfer energy from a stream containing live steam to a liquid or slurry stream.
User may specify the following:
- Fully Condense All condensing vapour - the product temperature is solved by energy balance. Any non-condensibles and bypass steam/vapour will be sent to the vent. If there is more than enough steam to raise the temperature of the slurry to the saturation temperature at the operating pressure of the unit, then not all the steam will be condensed, the excess will be sent to the vent.
- User specified Temperature Rise - condense enough vapour to give the required temperature rise, any excess vapour will be sent to the vent.
- User specified Product Temperature - condense enough vapour to give the required product temperature, any excess vapour will be sent to the vent.
- User specified Product Temperature (ProdT) Approach to Saturation Temperature (SatT) - condense enough vapour to give the required difference (approach) between the product temperature and the saturation temperature, any excess vapour will be sent to the vent.
Steam Feed Connections
There are three connection modes for the steam feed:
- Stand Alone The steam supply is fixed or adjusted by the user externally to the unit.
- The user may use the mode to remove a Direct Contact Heater from a Flash Train, without having to insert a tie to 'break' the connection.
- General Demand The Direct Contact Heater expects to be connected to a Steam Feeder in Demand mode. The vapour feed to the unit will be demanded from the unit based on the temperature and venting requirements.
- Flash Train Demand The Direct Contact Heater expects to be connected to other energy transfer units in a Flash Train. The vapour feed to the unit will be demanded from the unit based on the temperature and venting requirements.
The direct contact heater will condense the vapour to the unit operating pressure. The user can specify how the operation pressure is defined:
- Lowest Steam Pressure - Only the steam feed streams will be used to determine the pressure, thus ignoring all slurry streams. The lowest steam feed pressure will be used. The unit Pressure = Lowest Steam Feed Pressure - Entry DP.
- Lowest Feed Pressure - All feed streams will be used to determine the pressure. The lowest feed pressure will be used. The unit Pressure = Lowest Feed Pressure - Entry DP.
- Required Pressure - The unit pressure will be specified by the user. This pressure will be checked against (Lowest Steam Feed pressure - Entry DP) calculation, if the user specified pressure is lower, a message will be given, user should check the pressure specifications.
Vent Stream Handling
The user is allowed to specify venting based on:
- Steam + Non-Condensables - User specifies how much steam to bypass the unit, the bypass steam and any non-condensables will be sent to the vent.
- Non-Condensables + Vapour - User specifies how much water vapour is present while venting non-condensables.
- Any excess steam present will be venting in addition to the above specifications.
- Any excess steam will be vented at the unit operating pressure.
The diagram shows the default drawing of the Direct Contact Heater, with the required connecting streams. The unit will not operate unless all of the above streams are connected except the Vent line.
The physical location of the connections is not important; the user may connect the streams to any position on the drawing. When the user inserts a heater into a flowsheet, they may choose a different drawing from a pull down menu.
Inputs and Outputs
|Number of Connections||Description|
|Slurry||1 Required||Input||1||10||The liquid or slurry feed to the unit.|
|Product||Required||Output||1||1||The hot liquid or slurry outlet.|
|Steam||1 Required||Input||1||10||The steam inlet.|
|Vent||Optional||Output||0||1||The excess steam/vapour outlet.|
Note: Incoming streams to the same connection label are perfectly mixed before any unit operations are performed.
Behaviour when Model is OFF
If the user disables the unit, by un-ticking the On tick box, the Slurry streams will flow straight out of the Product stream with no change in composition; if a vent stream is present, then all the steam/vapour streams will be sent to the vent; if a vent is not present, then all material will be sent to the product stream as a perfectly mixed mixture with NO phase change.
The unit will attempt to achieve the user defined temperature rise or final temperature by driving the unit to vapour: liquid equilibrium at the required temperature. Hence, at true equilibrium conditions the operating pressure of the unit will be at the saturated pressure of the liquid. Any excess steam will exit the unit at this pressure.
Therefore, if there is excess steam, the unit will operate at the saturated pressure of the heated liquid, as the unit will be in equilibrium. However, if there is NO excess steam, then it is possible that the unit operates ABOVE the saturated pressure of the outgoing liquid, but not above the pressure of the feed steam.
- If the unit is using the default species model, Standard, and there is no BPE data in the species database, then the equilibrium point will be that of saturated steam, as found in Steam Tables.
- If there is BPE data in the species database (see Boiling Point Elevation for Std Model), or the unit uses a species model with an Elevated Boiling point calculation, then the equilibrium point will be adjusted to compensate for the changed boiling point.
- At this stage, only two phase flash calculations are handled in SysCAD.
- Any solids that may be in the slurry stream entering the unit are ignored in the flash calculations, but the enthalpy balance does include the solids.
- The temperature and amount of material which changes phase is calculated using an adiabatic flash routine1.
- If the steam entering the unit is above the saturation temperature, then the steam will be cooled to the saturation point before condensing. The energy from this cooling is transferred to the liquid stream.
- If there is insufficient steam to achieve the user-defined temperature, then all of the steam will condense.
- If there is an excess of steam, then the hot liquor and the excess steam will leave the unit at the required temperature.
EXAMPLE Setting up the Direct Contact Heater in Steam Demand Mode with a Steam Feeder.
If the Direct Contact Heater is set up in this mode, a built-in controller will calculate the amount of steam needed by the unit to achieve the required temperature.
The Steam Feeder attached to the Steam Input IO of Direct Contact Heater must have Demand.On enabled. A sample configuration for the Feeder is given in the Demand section.
- Demand.On MUST be selected in the Steam Feeder.
- The Demand Minimum Flow must have a small non-zero value for the demand calculations to work.
- The Mode can be in either Source_ConstQm or Source_ConstQv.
- The MassFlow_Rqd (Qm_Rqd) or VolFlow_Rqd (Qv_Rqd) field will set the minimum steam fed to the direct contact heater. Therefore, if the value specified in this field is larger than the calculated steam requirement, the steam fed to the Direct Contact Heater will be in excess.
Assumptions and Limitations
- The vapour stream consists of steam, which obeys the above vapour : liquid equilibrium law.
- In steam Demand mode, SysCAD will try to minimise the excess steam added to the unit. However, since the primary control for steam addition is the required temperature, there is a chance that excess steam will be added. Thus to maintain a mass and energy balance, it is advisable that a vent line should be connected to help balance out the solution.
Coker, A.K., Equilibrium flash calculations quickly computed on PC, Oil & Gas Journal, Jan 14, 1991.
Perry, R.H., Perry's Chemical Engineers' Handbook, McGraw Hill Inc, 6th Edition, 1984.
The following shows the sequence of events if sub model options are switched on. See next heading for more information.
The default sections and variable names are described in detail in the following tables. The default Direct Contact Heater access window may consist of a number of sections, which may change, based on user configuration.
- DirectContactHeater2 tab - This first tab contains general information relating to the unit.
- RB - Optional tab, only visible if the Reactions are enabled.
- EHX - Optional tab, only visible if the EnvironHX is enabled.
- VLE - Always visible. Displays information about the vapour-liquid equilibrium.
- Steam - Optional tab, only visible if ShowQSteam is enabled. This page shows the properties of the mixed steam feed to the unit.
- Feed - Optional tab, only visible if ShowQSlurry is enabled. This page shows the properties of the mixed slurry feed to the unit.
- QProd - Optional tab, only visible if ShowQProd is enabled. This page shows the properties of the product stream.
- QVent - Optional tab, only visible if a vent is connected and if ShowQVent is enabled. The pages shows information about the vent handling.
- Info tab - Contains general settings for the unit and allows the user to include documentation about the unit and create Hyperlinks to external documents.
- Links tab, contains a summary table for all the input and output streams.
- Audit tab - contains summary information required for Mass and Energy balance. See Model Examples for enthalpy calculation Examples.
Direct Contact Heater Page
Unit Type: DirectContactHeater2 - The first tab page in the access window will have this name.
|Tag (Long/Short)||Input / Calc||Description/Calculated Variables / Options|
|Tag||Display||This name tag may be modified with the change tag option.|
|Condition||Display||OK if no errors/warnings, otherwise lists errors/warnings.|
|ConditionCount||Display||The current number of errors/warnings. If condition is OK, returns 0.|
|GeneralDescription / GenDesc||Display||This is an automatically generated description for the unit. If the user has entered text in the 'EqpDesc' field on the Info tab (see below), this will be displayed here. If this field is blank, then:
|On||Tick Box||If this option is deselected, the direct contact heater will not be operational, no steam condensation will occur.|
|TempSpec||Condense All||Vapour will be condensed to the Saturation temperature of the operating pressure, any excess steam will not be condensed.
|Temperature Rise||The user specifies the required temperature rise between the incoming slurry stream(s) and the product.
|Product Temperature||The user specifies the required temperature of the product stream.
|ProdT Approach to SatT||The user specifies the required product temperature approach to the Steam Saturation temperature.
|TempRiseReqd / TRiseReqd||Input||Only visible when TempSpec = Temperature Rise. The required temperature increase for the slurry stream(s).|
|FinalT_Reqd||Input||Only visible when TempSpec = Product Temperature. The required temperature for the product stream.|
|ApproachReqd||Input||Only visible when TempSpec = ProdT Approach to SatT. The required approach of the product stream to the Steam Saturation temperature.|
(not visible when
TempSpec = Condense All)
|Flash Train Demand||The user allows the unit to calculate the amount of steam required and set this demand to the upstream unit in a Flash Train, normally a Flash Tank.|
|General Demand||The user allows the unit to calculate the amount of steam required and set this demand to the upstream unit, this may be a Feeder in Demand mode. |
Note: When the model is solved for the first time or is solved from a reset, it might be necessary to set a small non-zero value to the connected Steam Feeder's Demand Minimum flow, to kick start the solution.
|Stand Alone||The user sets the unit to act in stand alone mode, i.e. it will NOT be part of a flash train and will not set a steam demand to any upstream equipment.|
|PressureMethod||Lowest Steam Pressure||Only the input steam pressures will be used to determine the operating pressure of the unit.
|Lowest Feed Pressure||All of the input stream pressures will be used to determine the operating pressure of the unit.
|Required Pressure||Allows user to specify a required value for the operating pressure of the unit. The specified pressure should be lower than the Feed steam pressure. A warning is given if the user specified pressure is higher than (the lowest steam input pressure - EntryDP).|
|EntryPressureLoss / EntryDP||Input||Not visible when PressureMethod = Required Pressure. The entry steam pressure loss. The condenser unit will fully condense the condensing species to the saturation temperature based on the pressure, so inlet pressure and entry dP of the steam feed is important and user should make sure the pressure is set correctly.|
|PressureReqd / P_Reqd||Input||Only visible when PressureMethod = Required Pressure. The required operating pressure of the unit.|
|Steam.ApproachSatT||Input||Product Temperature closest approach to Steam Saturation Temperature.
Vent Stream Handling
(This section of tags are only visible if a Vent stream is connected.)
|VentMethod||Steam + Non-Condensables||
|Non-Condensables + Vapour||
|SteamBypassFrac / Bypass||Input||Only visible if VentMethod = Steam + Non-Condensables. The amount of steam to bypass the unit and report directly to the vent.|
|VentFracH2Og / Vent_H2O||Input||Only visible if VentMethod = Non-Condensables + Vapour.The minimum water vapour content in the vent stream. This value may not be met if excess steam is present in the unit.|
EB (Evaluation Block)...
|EvalSequence||Display||The sequence in which the sub models (which are part of the evaluation blocks) will be calculated. The sequence is determined by the priority selection for the individual sub-models. If none are selected, the default evaluation sequence is RB,EHX.|
|Reactions||List||This can be used to switch on the Reaction Block (RB). If this is 'On' then the associated page, RB becomes visible and may be configured. |
Note: The user does not have to configure a reaction file, even if this block is checked.
|EnvironHX||List||This can be used to switch on Environmental Heat Exchanger (EHX). If this is 'On' then the associated page, EHX may become visible and may be configured. |
Note: The user does not have to configure an environmental heat exchange, even if this block is checked.
|TracksteamFd||TickBox||This adds a check for the composition of the steam feed. It will give a warning "Expect pure steam in steam line" if conditions are not met.|
|ShowQSteam||Tick Box||Two additional tab pages (Steam & Sp) will become visible, showing the properties of the combined steam feed at the unit operating pressure. This will be after applying the specified entry pressure.|
|ShowQSlurry||Tick Box||Two additional tab pages (Feed & Sp) will become visible, showing the properties of the combined slurry stream at the unit operating pressure.|
|ShowQProd||Tick Box||Two additional tab pages (QProd & Sp) will become visible, showing the properties of the product stream.|
|ShowQVent||Tick Box||Only visible if a Vent connection has been made. Two additional tab pages (QVent & Sp) will become visible, showing the properties of the vent stream.|
|TemperatureIn.Slurry / Ti.Slurry||Calc||The temperature of the total Slurry feed to the unit.|
|SatTempSteamFeed / SteamSatT||Calc||The Saturation temperature of the steam at the operating pressure.|
|TemperatureOut.Vent / To.Vent||Calc||Only visible if a Vent connection has been made. The temperature of the vent from the unit.|
|TemperatureOut.Slurry / To.Slurry||Calc||The temperature of the product slurry.|
|Product.SatT||Calc||The Saturation temperature of the steam at the operating pressure.|
|Product.ApproachSatT||Calc||The Saturation temperature of the steam at the operating pressure (Product.SatT) - Product Slurry Temperature.|
|Temperature.Reqd / T.Reqd||Calc||Not visible if TempSpec = Condense All. The user specified required product temperature. (If Temperature Rise method is used, then this is Ti.Slurry + TRiseReqd)|
|Temperature.Error / T.Error||Calc||Not visible if TempSpec = Condense All. The absolute difference between the required and actual product temperature.|
|Temperature.RelError/ T.RelError||Calc||Not visible if TempSpec = Condense All. The relative difference between the required and actual product temperature.|
|Pressure.SteamFeed / Pi.Steam||Calc||The lowest pressure of all of the steam feed streams|
|Pressure.SlurryFeed / Pi.Slurry||Calc||The lowest pressure of all of the slurry feed streams|
|Pressure.Operating / Pi||Calc||
|Pressure.Product / Po||Calc||The product stream pressure.|
|PressureVent / VentP||Calc||Only visible if a Vent connection has been made. The pressure of the vent from the unit.|
Vapour flows, including non-condensables in vapour only
|VapourIn.Fixed||Calc||This includes any steam feed stream that has a fixed flowrate, fixed inputs may cause the contact heater to behave strangely, user should ensure the fixed steam feeds are not limiting the steam feed or adding too much to cause the unit to vent off a large amount of vapour.|
|VapourIn.Reqd||Calc||This includes any steam feed stream that comes from a demand connection and thus the flow is varied by the contact heater to meet the temperature requirements.|
|VapourIn.Total||Calc||The total steam feed (Fixed + Reqd).|
|VapourUsed.Excess||Calc||The total excess steam. This does not include any steam which is bypassed to the vent.|
|VapourUsed.Vent||Calc||The total steam and non-condensables bypassed to the vent.|
|VapourUsed.Condensed||Calc||The actual vapour (steam) condensed in the unit.|
|VapourUsed.Total||Calc||The total vapour used for the condensing calculations (Excess + Vent + Condensed).|
|VapourFlow.Actual||Calc||The actual vapour flow to the unit.|
|VapourFracIn / Vfi||Calc||The combined vapour feed Vapour fraction (total feed).|
|FlashSpInVapour / FlashSpFrac||Calc||The combined vapour feed Flash Species fraction in the vapour phase.|
Flash Train Macro Model
Note: Extra fields are visible if the unit is part of a Flash Train. These fields are described below. Please refer to Flash Train.
|VapourMassFlowReqd / VQmReqd||Calc||The calculated mass flow of steam required by the Direct Contact Heater.|
|CondMassFlow / CondQm||Calc||The amount of steam condensed by the Direct Contact Heater.|
|MinSatPress||Calc||The minimum saturated pressure of steam that could satisfy the heating requirements of the Direct Contact Heater.|
|FlashTrain||Display||A unique tag assigned to the flash train by SysCAD. Each unit in the flash train will have the same tag in this block.|
|FlashTearBlock||Display||Displays the name of the tear block that is part of the Flash Train.|
|FlashTrainEqp||List||This contains a list of all of the equipment tags in this flash train. For example, if this is SI_001 connected to FT_004, then the list would be as follows:
|PAdvBase||Input||Additional damping or acceleration for calculated pressure change (DP) for the iteration. DP = DP * PAdvBase when PAdvExtra=0.|
|PAdvExtra||Input||Additional damping or acceleration for calculated pressure change (DP) for the iteration. DP = DP * (PAdvBase + PAdvExtra*(VQmReqd-VQm)/Max(VQmReqd,VQm)).|
Adding this Model to a Project
Insert into Configuration file
Sort either by DLL or Group.
Heat Transfer: Direct Contact Heater2
Heat Transfer: Direct Contact Heater2
See Project Configuration for more information on adding models to the configuration file.
Insert into Project
Direct Contact Heater(2)
See Insert Unit for general information on inserting units.
Hints and Comments
- If the Direct Contact Heater is connected to a Steam Feeder in Demand.On enabled, then the Minimum Mass flow from the feeder must not be zero, but rather some small non-zero value. This ensures that the demand calculations will be correct.
- If there is insufficient steam to achieve the required temperature, the unit will condense all of the steam and give a warning message.
- If there is a large amount of steam and only a small liquid flow into the unit, the equilibrium point may be above the required temperature. Warning messages will be flagged in the unit operation under this situation.
- Hints on modelling a stand-alone direct contact heater -- how to set up the model so that just enough steam is added, thus no excess steam is present?
- When steam is added to the direct contact heater, enough of it is condensed to achieve the required temperature or temperature rise. A built-in controller is used to do this work.
- If too much steam is added SysCAD will vent the excess steam.
- The problem arises when the user want to add just enough steam to the contact heater without having to vent any excess steam.
- When a contact heater is in demand mode, an extra built in PID controller is used to control the amount of steam added so that there is no excess steam. However, when the contact heater is in the stand-alone mode, the only way to fix the excess steam problem is to add a user defined PID controller to control the amount of steam added so that a required hot liquor temperature is met.
- Now, as mentioned before, the direct contact heater has already a built in controller to control its hot liquor temperature, therefore, once the user defined controller is added, there will be a conflict between the two controllers.
- To avoid this, the user-defined controller has to take control. This can be done by purposely setting the temperature required in the contact heater to a slightly higher value. For example, if the set point for the user defined PID controller is 125°C. Then the Required Temperature in Contact heater will be 125.01°C.
- The idea behind this is to never let the contact heater internal controller arrive at its set point. If the internal contact heater never gets "enough" steam, then there will be NO excess steam.