Direct Contact Heater
- 1 General Description
- 2 Inputs and Outputs
- 3 Model Theory
- 4 Flowchart
- 5 Data Sections
- 6 Adding this Model to a Project
- 7 Hints and Comments
The Direct Contact Heater is used to transfer energy from a stream containing live steam to a liquid or slurry stream. The user may specify either the Final Temperature, or the Temperature Rise required in the unit. If sufficient steam is available, it will be condensed to give the required final temperature and any excess steam will be sent to the Steam vent. The excess steam will be vented at the saturation pressure of the solution.
There are four operational modes for the Direct Contact Heater,
- Auto Detect If the Direct Contact Heater is in this mode, then the SysCAD will assess the connections to the unit and automatically set it up either in Demand mode if it is connected as part of a Flash Train, or connected to a Steam Feeder in Demand mode, or as Stand Alone if it is not connected to either of these.
- Usually this mode is preferred as the the operational mode is decided by the overall configuration of the flowsheet in which the unit is located. If the heater is correctly connected to other units such as Barometric Condensers, Shell and Tube Heat Exchangers and Flash Tanks, the model may become part of the entire Flash Train. The user does not have to specify that the unit is part of the Flash Train, SysCAD will do this automatically. Refer to Flash Train for the rules governing this behaviour.
- Flash Train Demand The Direct Contact Heater expects to be connected to other energy transfer units in a Flash Train.
- General Demand The Direct Contact Heater expects to be connected to a Steam Feeder in Demand mode. See Example under Model Theory for more information on this topic.
- Stand Alone If the Direct Contact Heater is in this mode then it will act as a Stand Alone unit and will not recognise connections to other energy transfer units (i.e. it will NOT be recognised as part of a Flash Train) or set a Steam demand requirement. 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.
- If the Direct Contact Heater is connected to a Steam Feeder in Demand mode, then the Minimum Mass Flow MUST be set to a small value, and not zero. This will allow the Demand calculations to work correctly.
- If the Direct Contact Heater is inserted as part of a Flash Train, see Flash Train for a description of the theory and variables. This documentation will only discuss the variables for a 'stand alone' heater.
- An Environmental Heat Loss may be included in the unit. This allows the user to specify a heat loss, or gain, between the unit and the environment.
- The user may also add a Reaction Block to the unit. This can then be used to allow reactions to occur in the heater.
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 (See note below).
NOTE: The unit will operate if the Excess Steam line is NOT present, however, a warning will be flagged.
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, he may choose a different drawing from a pull down menu.
Inputs and Outputs
|Number of Connections||Description|
|Liquor||1 Required||In||1||10||The liquid or slurry feed to the unit.|
|HotLiquor||Required||Out||1||1||The hot liquid or slurry outlet|
|Steam||Required||In||1||1||The steam inlet.|
|ExcessSteam||Optional||Out||1||The excess steam outlet.|
Note: Incoming streams to the same connection label are perfectly mixed before any unit operations are performed.
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.
- ContactHeater 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.
- QFeed - Optional tab, only visible if ShowQFeed is enabled. This page shows the properties of the mixed stream as the feed to the tank.
- This is before any sub-models are evaluated.
- QVent - The pages related to the vent will contain data on the flow from the vent. Note: The vent will only have flow if allowed by the user.
- 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: ContactHeater - The first tab page in the access window will have this name.
Input / Calc
Description/Calculated Variables / Options
|CalcModeReqd||Auto Detect||The user allows the model to check the configuration of the project and determine if the direct contact heater is 'stand-alone', fed from a Feeder in Demand mode or part of a Flash Train.|
|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 or from a Flash Tank as part of a flash train. |
Note: If the unit is connected to a Steam Feeder, then the Demand Minimum flow MUST be set to a small non-zero value.
|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.|
|TempSpec||TempRise||The user specifies the required temperature rise between the incoming liquid stream(s) and the exiting hot liquor. If there is more than one liquid stream entering the unit, the model will use the mass weighted mean temperature as the incoming value.|
|FinalTemp||The user specifies the required temperature of the hot liquor.|
|TempRiseReqd / TRiseReqd||Input||This option is accessible if the user selects 'TempRise'.|
|FinalT_Reqd||Input||This option is accessible if the user selects 'FinalTemp'.|
|VentQmReqd||Input||Part of the steam supplied is vented. If the contact heater is in demand mode, it will add to the demand load.|
|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.
|ShowQFeed||Tick Box||Two additional tab pages (QFeed & Qm) will become visible, showing the properties of the combined feed stream. If reactions are carried out, this will be prior to reactions taking place.|
|VentExcess Vapour||Tick Box||This field is only visible if the ExcessSteam Vent connection is not present. By selecting this tick box, any excess steam will be vented (shown in the VapQmout field); otherwise the excess steam will go out with the liquor stream.|
|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.|
|CalcMode||Display||Steam requirements calculation mode used, the options are:
|DemandSource||Display||If the unit is in Demand mode, this will display the source of the steam.|
|LiqFeedT||Display||The temperature of the total liquid feed to the unit.|
|TempRise / TRise||Calc||The temperature change between the entering liquor stream and the exiting hot liquor. If there is more than one liquid stream entering the unit, the model will use the mass weighted average entering temperature for this calculation.|
|FinalT||Calc||The final temperature the Contact Heater. All exiting streams will have this temperature.|
|FinalP||Calc||The final pressure of the Contact Heater. This should always be the saturation pressure of the unit.|
|SatP||Calc||The Saturation pressure in the Contact Heater.|
|Vapour_Removed||Calc||This is only visible when the Vent stream is not connected. Shows the mass flow of vapour removed from the system. An error message "E:Vent stream not connected" will also be given.|
|VapQmOut||Calc||The mass flow of excess steam.|
Calculated Vapour Flow Demand
|VapourFlow.Reqd||Calc||The calculated vapour (steam) flow required to satisfy the user defined T requirements.|
|VapourFlow.Actual||Calc||The actual vapour (steam) flow to the unit.|
|VapourFlow.Error||Calc||The difference between the calculated required vapour (steam) flow required to satisfy the user defined T requirements and the actual (vapour) steam flow to the unit.|
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 Direct Contact Heater 1 connected to Flash Tank 4, 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 Heater(1)
Heat Transfer: Direct Contact Heater(1)
See Project Configuration for more information on adding models to the configuration file.
Insert into Project
Direct Contact Heater(1)
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 raise the temperature to the equilibrium point.
- 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.