Demand

From SysCAD Documentation
Jump to: navigation, search

Introduction

Demand functionality is only available in Steady State.

There are two types of Demand functionality:

  1. The Flash Train macro model uses Demand to transfer steam flow demands from one unit, often a Flash Tank, to another unit that consumes steam, e.g. a Shell and Tube Heat Exchanger, Barometric Condenser, etc. The user does not have to set any variables to make this functionality work. When the user connects the Flash Tank to an appropriate unit, SysCAD will recognise that these units form a Flash Train and will automatically pass the steam Demand between the units.
  2. Users can set up General Demand requirements in Pipes (see Demand in Pipes) which connect back to Feeders which have the Demand functionality enabled, see Flow Requirements in a Feeder. The Demand required is transferred through Pipes and through Ties and Tanks by use of the General Model using the demand option.
  3. In SysCAD 9.3 users may also set up Demand in the Splitter sub-model, as described below Setting up Demand in the Splitter Sub-Model.

NOTE: The Makeup Block (MU) is often a simpler method to meet requirements.

This section will only discuss method 2 - the user defined General Demand. The demand functionality in the Flash Train macro model requires less user intervention.

Setting up a demand stream (Steady State)

Example on setting up a tank input stream as demand stream (in Steady State):


Demand Tank.png


The above example has a tank with three outlet streams, each with a known flowrate. There is also a side stream feed to the tank. The aim is to have the demand stream feed the correct amount to the tank to satisfy all the outlet requirements. When the project is solved, SysCAD will calculate the demand stream and input 13 t/h.

The above will also work for the tie model.

Setting a Feeder to Demand Mode

For the Demand functionality to work, the demand stream must be connected to a Feeder, with the Demand.On enabled, as shown in the figure below:

Feeder Demand.png

The user may also set the Maximum and the Minimum flows allowed from the Feeder, as shown above, where the maximum flow allowed is 3600 t/h (default value).

Selecting Demand Options in Plant Model

Global Demand options are set on the FlwSolve Tab of the Plant Model.

Demand01a.png

  • User can select to block the Demand in Tear streams (recommended).
  • The amount available can be shown by selecting the ShowDemandAvail box. See the next heading for more information.
  • The tolerances used when testing whether to display condition warnings when a required demand flow is not being met can be set here. The screenshot above includes the two new fields in Build 137, SigDigits, an alternate method of setting the relative tolerance, and Abs, the absolute tolerance.

Setting up Demand in a Pipe

On the outlet streams, the user has to specify the Qm_Demand in the pipes, as shown below:

DemandPipe.png

  • The Qm_Avail.Source and Qm_Avail.Dest are only visible if the ShowDemandAvail tick box is selected in the PlantModel - FlwSolve tab page. (See the previous heading.) The Available source will show the maximum amount it has available, normally set by the Demand.Max in the Feeder(s).
  • In the pipe shown above, the user has set the Required Demand (Qm_Demand.Reqd) to 5 t/h
  • The Source has provided this demand, Qm_Demand.Source = 5 t/h.
  • There are no further Demands set downstream, and therefore Qm_Demand.Dest is not valid, i.e. a *.

The user may Block the Demand from perpetuating either up or downstream by selecting the Qm_Demand.Block tick box. This is useful as follows:

  1. To prevent the Demand from a Feeder from perpetuating downstream to a pipe where it is not required;
  2. To prevent the Demand from one of the outlet paths of a tank or tie from perpetuating downstream to where it is not required;
  3. To stop Demand in a recycle stream.

Setting up Demand in the Splitter Sub-Model

SysCAD 9.3 Build 137

On the GM tab of a Tie or Tank, the user must select Operation = 'Demand Mass Flow', as shown below:

GM Demand137.png

Notes:

  1. This total demand functionality is implemented in SysCAD 9.3 Build 137.21604.
  2. In the Tie shown here, user specifies the "total Mass Flow Required" and "flowrate for n-1 outlet streams", with one outlet stream being * (unspecified). The unspecified outlet stream is calculated: (15 - 5 - 7 = 3 t/h).
    • NOTE that when Demand.SpecifyTotal is used, (n-1) outlet streams flowrate specification is the maximum allowed, at least one outlet stream has to be unspecified to allow for one degree of freedom in the calculation.
    • any outlet stream QmReqd can be set to * (unspecified), if more than one outlet stream is set to *, the balancing flow will be equally divided between the unspecified streams.
    • For example, if the total is 15 t/h, and outlet1 is set to 7 t/h, Outlet2 and Outlet3 are set to *. When SysCAD is solved, Outlet2 and 3 will each have flow of (15-7)/2 = 4 t/h.
    • The default flow for each outlet stream is 0 t/h, please specify a value OR change to * if stream is to be unspecified.
  3. If total demand is used, the Source will provide this demand.
  4. If Demand.SpecifyTotal is NOT used, then the demand function will work as per 136 implementation, please see below.
  5. Please also see Demand MassFlow in the General Model


SysCAD 9.3 Build 136

On the GM tab of a Tie or Tank, the user must select Operation = 'Demand Mass Flow', as shown below:

GM Demand.png

Notes:

  1. This functionality is implemented in SysCAD 9.3 Build 136.
  2. In the Tie shown here, the user has set the Required Demands (QmReqd) for each of the three exiting streams to 5t/h, 3t/h and 7t/h respectively. ALL streams MUST have a Demand value set.
  3. The Source will provide this demand, Qm_Demand.Source = 15 t/h.
  4. If there are other Demands in pipes downstream of this Tie, they will be overwritten by these values.
  5. Please see Demand MassFlow in the General Model

Passing Demand set in Pipes through a Unit

  • The Demand value will automatically be passed through Tanks and Ties that do NOT have 'Split Flows' enabled.
  • If 'Split flows' IS enabled in a Tank or Tie, then on the GM tab the user MUST set the Operation to 'General' and:
    The split to any pipes that have Demand enabled MUST have QmMode set to (Demand);
    If the user requires a Phase or Species split to another pipe, then they must set the QmMode for that pipe individually.
    Please see the diagram below for an example:
    Demand in Units with Split Flow.png

In the Tie shown above:

  • Pipes P_4 and P_5 both have Demand values;
  • Pipe P_3 is required to take all of the gases from the unit, so the QmMode has been set to 'PhaseSplit' with 100% of the vapours exiting in this stream.

SysCAD will now meet the Demands in pipes P_4 and P_5.


NOTE: Not all unit models support passing of Demand logic through connected pipes.

Understanding Demand Logic

The basic functionality of Demand logic is to take the various downstream demand values and pass these values (with adjustments as necessary for side streams) upstream until a single Demand source is found which then adjusts its flow to meet the total demand requirement.

In a model such as a tie with multiple outlets, it will sum the demands of the outlet pipes that have demands specified and pass this result (with adjustments for any outlet streams that are not in demand mode). If the Tie has multiple inlets it will pass the demand value upstream on the inlet pipe that has a Demand feeder upstream. If more than one inlet pipe has an available Demand feeder, then an error message is given (there are effectively an infinite number of solutions because you could arbitrarily split the required flow between the two paths).

If there is a recycle within your Demand network, then there are potentially an infinite number of solutions because as you increase the flow at the demand feeder you can increase the recycle and still meet the demand requirements. It is recommended that the user Blocks any recycle paths in the demand network. This is usually performed automatically by selecting PlantModel.BlockInTears, as described above. It may be possible to move the location of the recycle Tear by selecting a pipe in the recycle that is not part of the demand path and changing "Tear.RqdType" to "ManualTear".

Not all unit models support Demand logic. Demand Values can not be calculated and passed correctly through some unit models such as separators with multiple inlets and outlets.

Tracing the demand values through the network

  • Pipes: To follow the Demand values upstream and downstream within a Demand network, SysCAD displays the demand values in the pipes. This is in a section with heading "General Demand" on the pipe and shows the demand value passed through that pipe.
  • Tie and Tank: When there is Demand logic detected, a Demand summary table is shown which is ideal for viewing all the outlet pipe demand values and the inlet pipes that have a demand source.
  • Models specifying demand required: In addition to pipes, some unit models can specify a Demand (for example Simple Heat Exchanger, Desuperheater, etc) these will have a display of Demand required, etc. These calculated requirements will override any downstream demands.
  • The first value seen (from the source direction) will be treated as an override of any downstream Qm_Demand.Reqd so you would get demand not met messages in downstream pipes/unit operations where the demand value is different.
  • Other models: Some unit models such as Desuperheater, also display information of the Demand Values passed through the model, even though that model is not specifying a Demand required value.

Example projects using Demand

The Demand Project is an example project distributed with SysCAD that shows the General Demand functionality used in a project.

Hints and Comments

  1. When setting a Demand value in pipes or units, the user must ensure that it is connected via the network to a single source of material that has Demand enabled (usually a Feeder), see Flow Requirements in a Feeder. If there is no connection to a feeder with Demand enabled, then the Demand functionality will not operate correctly. It is possible to have other feeders with fixed flows, but there must be ONE feeder in demand mode so that SysCAD can adjust its flowrate to meet the demand requirement.
  2. If the user sees the warning More than one demand source available then this means that a unit is either connected to 2 or more Feeders with Demand enabled, or a recycle is repeating a Demand. The user must block the demand from one of the Feeders to the unit or in the recycle, as each unit may only have a single Demand source available if it is to work correctly.
  3. The demand logic often works better if the QmReqd (Min) field in the Demand Feeder is a small number rather than zero. This is because some demand logic in models usually requires at least some flow to calculate the actual demand amount required.
  4. Demand rarely works in recycles and Tear streams, it is not intended for this purpose. The pipes with Tears are normally configured to block the Demand logic, see Selecting Demand Options in Plant Model. Therefore check that you have no recycles (look for Tear associated graphics symbol) between your required demand value and your demand source. Often the recycle Tear can be moved (by changing Tear.ReqdType to ManualTear) to another pipe in the recycle where the other pipe is not in the demand path.
  5. A non-zero total demand is required. SysCAD does not support a total demand target of zero.
  6. Check that the demand is not being set in multiple pipes in series (ie in a path). The first value seen (from the source direction) will be treated as an override of any downstream Qm_Demand.Reqd so you would get demand not met messages in downstream pipe where the demand value is different.