Professional Documents
Culture Documents
Drum Boiler
Drum Boiler
®
DYNSIM 5.3.2
DrumBoiler
December 2016
All terms mentioned in this documentation that are known to be trademarks or service marks have
been appropriately capitalized. Schneider Electric Software, LLC. cannot attest to the accuracy of
this information. Use of a term in this documentation should not be regarded as affecting the
validity of any trademark or service mark
ActiveFactory, ArchestrA, ARPM, AssayCentral, Autonomous, Avantis, Avantis.PRO,
Connoisseur, CrudeManager, CrudeSuite, DATACON, DATAPREP, DT Analyst, DYNSIM,
DYNSIM Power, Esscor, EYESIM, Factelligence, FactorySuite, FactorySuite A², Foxboro,
Foxboro Evo, FSIM Plus, HEXTRAN, Hot Links, I/A Series, IMPACT, IMServ, InBatch,
InControl, Industrial Portal, IndustrialSQL Server, InFusion, INPLANT, InSQL, IntelaTrac,
InTouch, IPact, Invensys, Logic Validator, MBM, NETOPT, PIPEPHASE, PRO/II,
PROVISION, QI Analyst, ROMeo, SCADAlarm, SIM4ME, SimCentral, SimSci, SimSci-Esscor,
Skelta, Skelta BPM.NET, Skelta Sharepoint, Skelta Sharepoint Accelerator, Spiral Software,
SuiteVoyager, TACITE, Tactical Batch, The Simulator, TRISIM Plus, VISUAL FLARE,
VISUAL FLOW, VISUAL FLOW SUITE, VISUAL NETWORK, Visual Solutions,
VOYAGER, WindowMaker, WindowViewer, Wonderware, Wonderware InTouch, and ZI ZHI
are trademarks of Schneider Electric SE, its subsidiaries and affiliated companies.
Although precaution has been taken in the preparation of this documentation, Schneider Electric
Software, LLC assumes no responsibility for errors or omissions. The information in this
documentation is subject to change without notice and does not represent a commitment on the
part of Schneider Electric Software, LLC. The software described in this documentation is
furnished under a license agreement. This software may be used or copied only in accordance
with the terms of such license agreement.
ArchestrA, Avantis, DYNSIM, EYESIM, Foxboro, Foxboro Evo, I/A Series, InBatch, InduSoft,
IntelaTrac, InTouch, PIPEPHASE, PRO/II, PROVISION, ROMeo, Schneider Electric, SIM4ME,
SimCentral, SimSci, Skelta, SmartGlance, Spiral Software, VISUAL FLARE, WindowMaker,
WindowViewer, and Wonderware are trademarks of Schneider Electric SE, its subsidiaries, and
affiliated companies. An extensive listing of Schneider Electric Software, LLC trademarks can be
found at: http://software.schneider-electric.com/legal/trademarks/. All other brands may be
trademarks of their respective owners.
http://software.schneider-electric.com/
.
Contents
Table of Contents
Introduction 5
Overview .......................................................................................................... 5
Summary of Classes ....................................................................................... 5
Class Hierarchy ............................................................................................... 5
BoilerDC 6
Introduction .................................................................................................... 6
Fundamentals ................................................................................................ 6
Single-Phase vs. Two-Phase .................................................................... 6
Boiler Circulation Pumps ........................................................................... 8
Boiler Circulation Pump Surge .................................................................. 9
Boiler Circulation Pump Burp .................................................................. 10
Configuring Recircs ................................................................................. 11
Configuring Drains .................................................................................. 12
Boiler Object Connections ...................................................................... 14
Boundary Specifications ......................................................................... 14
Available Malfunctions ............................................................................ 14
Examples ...................................................................................................... 14
Example 1 ............................................................................................... 14
Example 2 ............................................................................................... 17
Data Entry Window Usage .......................................................................... 25
Parameter Table - BoilerDC ........................................................................ 26
BoilerSepar34
Introduction .................................................................................................. 34
Fundamentals .............................................................................................. 34
State Pressure Calculation ..................................................................... 34
Enthalpy Calculation ............................................................................... 35
Mass, Void Fraction, and Volume Calculations ...................................... 36
Drum Level Calculations ......................................................................... 38
Metal Temperature Calculation ............................................................... 39
Specifying Geometry ............................................................................... 40
Specifying Design Operation Conditions ................................................ 42
Configuring Startup Blowdowns .............................................................. 42
Configuring Continuous Blowdowns ....................................................... 44
Configuring Vents.................................................................................... 45
Configuring Relief Valves ........................................................................ 46
Configuring Boiler Object Connections ................................................... 47
Configuring Flows that Exit from the Downcomer ................................... 47
Boundary Specifications ......................................................................... 48
Available Malfunctions ............................................................................ 48
Examples ...................................................................................................... 49
Example 1 ............................................................................................... 49
Example 2 ............................................................................................... 54
Data Entry Window Usage .......................................................................... 59
Parameter Table - BoilerSepar ................................................................... 60
FAQ ............................................................................................................... 84
BoilerSurf 85
Introduction .................................................................................................. 85
Fundamentals .............................................................................................. 85
Single-Phase vs. Two-Phase .................................................................. 85
Contents
Introduction
Overview
The DrumBoiler library provides models for simulating a drum/separator, downcomer and
waterwall system. The model objects include: BoilerDC, BoilerSepar, BoilerSurf.
These three models form a system and must be used together. There must always be at least one
BoilerSepar in the system. It must have at least one BoilerDC and BoilerSurf connected to it.
Alternatively, the boiler drum may be modeled using model objects from the NetSolve and
OnceThroughBoiler libraries. The DrumBoiler library objects provide superior shrink and swell
response during heating and pressurization.
Summary of Classes
Library/Class
NetSolve/Pump
NetSolve/Valve
Class Hierarchy
ModelObject
|_____________ BoilerDC
|_____________ BoilerSepar
|_____________ BoilerSurf
BoilerDC
BoilerDC
Introduction
BoilerDC extends ModelObject
The BoilerDC class models a downcomer (or group of downcomers) in a drum boiler system. The
downcomer brings water from the boiler drum to the base of the furnace waterwalls. This class
simulates the following:
• The fluid volume and metal mass of the downcomer piping (including filling/draining and
heat transfer)
The solution of the BoilerDC algorithm is coordinated with the BoilerSepar and BoilerSurf
classes, and must be properly configured into a DrumBoiler system for a complete solution.
Fundamentals
Single-Phase vs. Two-Phase
The BoilerDC class models the volume of piping that conveys liquid from the BoilerSepar (at its
top) to the any number of BoilerSurf objects (at its bottom). Boiling/evaporation may occur in this
volume. The BoilerDC calculates the formation of steam bubbles in the downcomer and the steam
bubble void fraction in the downcomer. In the diagram below, the single-phase region is denoted
by “1p” and the two-phase region is denoted by “2p”.
The rate that steam moves from the downcomer to the BoilerSepar is given by
The pressure at the bottom of the downcomer is then calculated from the head of the single phase
and two phase lengths of the downcomer.
Any number of pumps may be configured. Set the size of the NBCP paramvector to the desired
number of pumps to be configured. All pumps are at the same elevation and each pump has its
own isolation valve.
The downcomer does not calculate the circulation flow rate. The BoilerSurf objects each calculate
their own circulation flow rate and the downcomer sums them all.
Dpbcwp = k0 + k1 * w + k2 * w2
k0 = K0bcp1 * R / 144
k1 = K0bcp2 * 3.117
k2 = K0bcp3 * 1400 / R
where
• Specify the speed of each boiler circ pump using the NBCP[i].
• Specify the boiler circ pump isolation valve area using ABCPSV[i].
• Set the minimum circulation rate parameter Kwwrmn2 in each BoilerSurf object based on the
number of boiler circ pumps in service. See the BoilerSurf class documentation.
Boiler C
• Specify the surge flow (when the pump is started) using KSurge.
• Specify the boiler circ pump un-surge rate coefficient with all pumps off. This controls how
much of the “surge” flow returns to the drum.
The BoilerDC does not inherently produce this effect. It can be configured to produce this effect
with some additional logic blocks and the use of KSurgeMx. See the Example 2.
Configuring Recircs
The BoilerDC class contains built-in economizer recirculation valves. These built-in recircs
neither require nor use a flow object. The pressure driving each recirculation flow reflects the
head of single phase liquid and two-phase mixture present in the downcomer as well as the head
from the boiler circ pumps in service.
Any number of these recircs may be configured. Set the NECRV parameter to the desired number
of recirc valves to be configured. There are two methods to configure the recirc flow coefficients.
Each recirc flow may be configured using a different method. The 2 configuration methods are
described below. Each recirc may be configured to exit the downcomer from a unique elevation
and discharge to a unique elevation. Set the KECDCEL and KECRCEL parameters respectively
for each recirc.
Note that KECDCEL and KECRCEL are measured from the drum/dc interface to the recirc line.
The recircs must be configured in the following order: OVECRV and then JECRV.
• Any recirc may be directly connected to a valve object using the OVECRV[i] parameter
where I is the index in the drain array.
• Mass flow through this recirc will be lost from the simulation model if not used elsewhere.
• The flow coefficient may be calculated by the user and assigned to the JECRV[i] parameter,
where I is the index in the vent array.
• NECRV must be equal to or larger than the size of OVECRV. If NECRV is larger than the
size of OVECRV, the user must specify the remainder drains with JECRV.
• Mass flow through this drain will be lost from the simulation model if not used elsewhere.
• The recirc mass flow must be introduced into the economizer inlet header using a boundary
header and a Type = 5 flow.
Configuring Drains
The BoilerDC class contains built-in drains to ambient. These built-in drains neither require nor
use a flow object. The pressure driving each drain flow reflects the head of single-phase liquid
and two-phase mixture present in the downcomer as well as the head from the boiler circ pumps in
service. This flow is removed from the simulation unless the user configures objects to conserve
this flow.
Any number of these drains may be configured. Set the NDRAIN parameter to the desired
number of drains to be configured. There are two methods to configure the drain flow
coefficients. Each drain flow may be configured using a different method. The 2 configuration
methods are described below. Each drain may be configured to exit the downcomer from a unique
elevation and discharge to a unique pressure. Set the KDRAINEL and PDRAIN parameters
respectively for each drain.
Note that KDRAINEL is measured from the drum/dc interface to the drain.
The drains must be configured in the following order: OVDRAIN and then JDRAIN.
• Any drain may be directly connected to a valve object using the OVDRAIN[i] parameter
where I is the index in the drain array.
• Mass flow through this drain will be lost from the simulation model.
• The flow coefficient may be calculated by the user and assigned to the JDRAIN[i] parameter,
where I is the index in the vent array.
• NDRAIN must be equal to or larger than the size of OVDRAIN. If NDRAIN is larger than
the size of OVDRAIN, the user must specify the remainder drains with JDRAIN.
• Mass flow through this drain will be lost from the simulation model.
• If it is desired to conserve the drain mass flow it must be introduced into a header or tank
using a boundary header and a Type = 5 flow.
Guidelines for configuring BoilerDC object connections to other BoilerDrum library objects
• Use the OSURF array to specify the BoilerSurf objects that this BoilerDC object supplies.
• Each BoilerDC object must have at least one BoilerSurf object specified in OSURF.
Boundary Specifications
There are no boundary conditions that can be specified for this object.
Available Malfunctions
There are no malfunctions are available for this object.
Examples
Example 1
The following example is the downcomer from a natural circulation boiler.
This example has no boiler circ pumps. The downcomer has two drains and two economizer
recirc valves.
The example does not contain the parameter table for every model object:
• Only valve VECR_R is shown in detail as representative of both econ recirc valves in this
example.
BOILERDC: DWNCMR
Example downcomer
Drains
Economizer Recirculation
Geometry Specifications
Object-Object Configuration
MOVI: VECR_R
Example econ recirc valve (VECR_L similar)
(lb/sec)/sqrt(psi-
K 2.3507 Flow coefficient (VWO)
lb/ft3)
VALVES: VDC_DRAIN1
Example downcomer drain valve (VDC_DRAIN2 similar)
(lb/sec)/sqrt(psi-
K 2.17 Flow coefficient (VWO)
lb/ft3)
Example 2
The following example is the downcomer from a forced circulation boiler.
This example has 4 boiler circ pumps. They are configured to “burp” and use logic blocks to
model the “burp”. The pump burp model reproduces drum level burp diagram in the
Fundamentals section. The pump burp model uses latches and timers to remove a certain amount
of water from drum (via a drain) so that the drum level permanently drops for each burp.
This example has one economizer recirc valve and two drains that are used to remove flow for
waterwall leak malfunctions.
The example does not contain the parameter table for every model object:
• Only motor MPBC_A is shown in detail as representative of all the pumps in this example.
• Only valve VBC_A is shown in detail as representative of all the pump isolation valves in this
example.
• Only latch SR_BWCP_A and timer TM_BURP_A are shown in detail as representative of all
the burp latches and timers in this example.
• The waterwalls XWWA and XWWB (BoilerSurf) and drum DRUM (BoilerSepar) objects are
not shown. See Example 2 of those classes.
• The pump burp drain flow FBURP object is not shown. See Example 2 of BoilerSepar class.
BOILERDC: DNCMR
Example downcomer
(lb/sec)/sqrt(psi-
KSURGE 2000 BCWP surge rate coeff
lb/ft3)
Pump A speed
NBCP[0] EQUATION Equation:
MPBC_A.SPEEDNORM
Equation:
MPBC_B.SPEEDNORM
Pump C speed
NBCP[2] EQUATION Equation:
MPBC_C.SPEEDNORM
Pump D speed
NBCP[3] EQUATION Equation:
MPBC_D.SPEEDNORM
Drains
Economizer Recirculation
Geometry Specifications
Object-Object Configuration
MOTOR: MPBC_A
Example boiler circ pump motor (MPBC_B, MPBC_C, MPBC_D similar)
MOVI: VBC_A
Example boiler circ pump isolation valve (VBC_B, VBC_C, VBC_D similar)
(lb/sec)/sqrt(psi-
K 135.42 Flow coefficient (VWO)
lb/ft3)
VALVES: VERC
Example boiler circ pump recirc valve
(lb/sec)/sqrt(psi-
K 14.4 Flow coefficient (VWO)
lb/ft3)
STATIC_FLOAT: KWWTUBELK
Value 0.663
CUSTOMMALFANALOG: MALF_WWLK_A
Example waterwall leak malfunction (MALF_WWLK_B similar)
DYNAMIC_INT: NUM_PMP_BURPD
Number of pumps burped. A burped pump is a pump that has been started.
STATIC_FLOAT: SURGETBL
STATIC_FLOAT: BURPDRNTBL
LATCH: SR_BWCP_A
Example boiler circ pump burp latch (SR_BWCP_B, SR_BWCP_C, SR_BWCP_D similar)
Reset signal
RESET EQUATION Equation: (Drum.VBDP < 100)
and (either drum vent open)
TIMER: TM_BURP_A
Example boiler circ pump burp timer (TM_BURP_B, TM_BURP_C, TM_BURP_D similar)
Type of Timer
TYPE 1
(1 = Pulse)
LATCH: SR_BWCP_ALL
This latch turns off the surge after all BCPs are burped
Reset signal
TIMER: TM_BURP_ALL
Example boiler circ pump burp timer
Type of Timer
TYPE 3
(3 = On Delay)
Start signal
START EQUATION
Equation: (NUM_PMP_BURPD > 3.5)
NSFLOW: FBURP
Example pump burp flow. This flow exits the DRUM object and goes to a drain boundary header. It is not
shown in the diagram above.
SUM: SUM_NUM_PMP_BURPD
Calculates the number of pumps burped. It is not shown in the diagram above.
IN 4 Input
IN[0] SR_BWCP_A.OUT
IN[1] SR_BWCP_B.OUT
IN[2] SR_BWCP_C.OUT
IN[3] SR_BWCP_D.OUT
Valve area
lbm/
sec)
downcomer
Drains
Description UOM Eq Arr Sort Dft Dft
Parameter
OK Size Out
Name
Cls Val
valve
Economizer Recirculation
Description UOM Eq Arr Sort Dft Dft
Parameter
Name OK Size Out
Cls Val
sec RV
Recrv Elev avg econ density over lb/ Yes NEC No DF 0.0
distance Kecrcel
ft3 RV
volume filled
sec
sec
sec
/sec
sec
lb
Geometry Specification
Description UOM Eq Arr Sort Dft Dft
Parameter
OK Size Out
Name
Cls Val
Object-Object Configuration
Description UOM Eq Arr Sort Dft Dft
Parameter
Name OK Size Out
Cls Val
Legend:
Dft Val A value here indicates the parameter’s default value. If the parameter is static, no value
indicates that the parameter is optional unless otherwise noted.
Arr Siz A value here if indicates the size of the array. No value indicates that the parameter is not a
vector.
Please refer to the Netsolve Fundamentals section for pressure node base parameters, flow
device base parameters, and parameters associated with the flash or reaction submodel.
BoilerSepar
Introduction
BoilerSepar extends NSHeader
The BoilerSepar class models the drum separator in a drum boiler system. The drum separator
model includes evaporation / condensation directly from / to the liquid pool, condensation to both
the shell and internal metal, and bubbling of the pool, with pool level swell accounting for
bubbles. The drum separator, together with its downcomers and surfaces, acts as a closed system,
calculating its own pressure, including vapor and non-condensables partials. This class simulates
the following:
• The fluid volume and metal mass of the drum separator (including filling/draining and heat
transfer)
• Compressible State
• State
The solution of the BoilerSepar algorithm is coordinated with the BoilerDC and BoilerSurf
classes, and must be properly configured into a DrumBoiler system for a complete solution.
Fundamentals
The boiler drum model computes drum pressure, pool volume (level) and enthalpy, and steam and
metal temperatures under all operating conditions. It also computes pool void fraction under
transient conditions such as rapid depressurization.
The Boiler Drum model uses a compressible state pressure calculation. The change in drum
pressure is calculated from an energy balance on the steam given by:
dTbd
dPv
= dt =
(Wrxs + Fbdi + Fdcvx + Fbdfl − FsteamTot )* Hfg + Qsub − Qsm
dt dTsat
(Kbdc + Cps * RvSat *Vbds )* dTsat
dP dP
FsteamTot = sum of steam flows leaving drum (to superheaters, relief valves, etc.)
Qsub = heat transfer from liquid entering drum cooling to saturation liquid enthalpy
and heat transfer from downcomer and surface flashing
Qsm = heat transfer, steam to metal (including sat conn if present) (internal variable)
A small amount of boiler drum metal is lumped with the steam to prevent numerical instabilities at
low pressures. The partial pressure of air is also calculated with assumed inward leakage when the
partial pressure of steam is below atmospheric. Total pressure is the sum of partial pressures of air
and steam.
Enthalpy Calculation
The drum separator model includes evaporation / condensation directly from / to the liquid pool,
condensation to both the shell and internal metal, bubbling of the pool, and pool level swell.
dH Wbdi ( Hbdi − H ) + Wbdpi ( HlSat1 − H ) + Fbdcon( HlSat − H ) − Fbdfl ⋅ Hfg + Qsub − Qlm
=
dt Mbdpw
dMbdpw
= Wbdi + Wbdpi + Fbdcon − Fbdfl − Wdc
dt
where: Wdc = Flow from boiler drum to downcomer (water exit flow through downcomers,
blow down valves, economizer recirculation, etc.)
Drum level is then found from pool volume and pool geometry.
Drum metal temperatures are calculated at various places consistent with predicting measured
temperatures and energy losses to the surroundings. The locations of various drum metal
temperatures, coefficients and heat flows are shown below.
The drum metal consists of a number of concentric shells equal to the value of the NODES
parameter. In the diagram above, NODES = 2 (and NODESP1 = 3). The thickness fraction of
each node is given by THICKFRAC and defaults to equal thickness for each node. The drum
metal shells have both an upper portion and lower portion. Heat transfer is calculated from the
fluid to the inner shell, between shells, and from the outer shell to ambient. Heat transfer is also
calculated between the upper protion and the lower portion of each shell. The drum metal also has
an internal portion that is assumed to be in equalibrium with the vapor temperature.
The Riser and Saturated Connecter masses are optional. If Kbdmrc and Kbdmsc (the thermal
capacitances) are greater than zero, then the Riser and Saturated Connecter will exist, respectively.
If the optional masses exist, then heat transfer is calculated from the outer shell to the mass, fluid
to the mass, and from the mass to ambient.
Specifying Geometry
The BoilerSepar class geometry is a horizontal cylinder. The user may specify the Kbdr, Len,
Thk, and Volumecor parameters. If the user does not specify them, defaults will be used. The
BoilerSepar class does not use the D parameter (like the other NetSolve headers and tanks).
The drum diameter (in inches) and wall thickness (in feet) are calculated as follows:
If Thk is specified
D = (Kbdr * 12 + Thk) * 2
Wallthick = Thk / 12
Else
D = Kbdr * 12 * 2
Wallthick = 0.6
Drum Length
If Len is specified
Kdbl= Len
Else
Kbdl = 100.0
The internal volume available to steam, not occupied by internal metal, (in ft3) is calculated as
follows:
where internal volume = PI * Kbdr * Kbdr * Kbdl. Volumecor must be greater than 0.33 and may
be greater than unity.
Drum shell metal mass is calculated as a cylindrical shell. The end caps are assumed flat plates.
Riser and Saturated Connector masses, if specified, will each be limited to no more than one half
of the total drum mass, so as not to dominate the drum.
• Specify the boiler drum steam fraction of total internal volume, VOLUMECOR, if the default
is not acceptable.
• Specify the separator mass factor, SEPMASFAC, if the default is not acceptable.
• Specify the drum cylinder wall thickness fraction per node, THICFRAC[i], for every node if
equal thickness is not desired.
• Specify boiler drum riser connector metal themal capacity (mass * Cp), KBDMRC, if a riser
connector is present.
• Specify boiler drum saturated connector metal themal capacity (mass * Cp), KBDMSC, if a
saturated connector is present.
The BoilerSepar class has two important design parameters, Fdesign and Pdesign.
Fdesign - this is the design drum steam exit flowrate. This parameter will internally default to
1000 lb/sec if not specified. It is used to:
• Calculate the minimum waterwall recirculation rate (assumed 60% of the Fdesign)
Pdesign - this is the design drum pressure. The BoilerSepar class cannot exceed 3200 psia
• Ensure that the operating conditions are always have a circulation ratio is greater or equal to
4. The total flow through the BoilerDC and through the BoilerSurf objects should be at least
4 times the exiting steam flow. If your operating conditions are below this, consider using the
FlashTank object instead.
The BoilerSepar class contains built-in startup blowdown drains. These built-in drains neither
require nor use a flow object. The pressure driving each drain flow reflects the head of single-
phase liquid in the drum. This flow is removed from the simulation unless the user configures
objects to conserve this flow.
Any number of these drains may be configured. Set the NBLOSTART parameter to the desired
number of drain valves to be configured. There are two methods to configure the drain flow
coefficients. Each drain flow may be configured using a different method. The two configuration
methods are described below. All drains exit from the drum / downcomer interface and may be
configured to discharge to a unique pressure. Set the PBLOSTART.
The recircs must be configured in the following order: OVBLOSTART and then JBLOSTART.
• Any drain may be directly connected to a valve object using the OVBLOSTART[i] parameter
where I is the index in the drain array.
• Mass flow through this drain will be lost from the simulation model.
• The flow coefficient may be calculated by the user and assigned to the JBLOSTART[i]
parameter, where I is the index in the vent array.
• Mass flow through this drain will be lost from the simulation model.
• If it is desired to conserve the drain mass flow it must be introduced into a header or tank
using a boundary header and a Type = 5 flow.
Any number of these drains may be configured. Set the NBLOCON parameter to the desired
number of drain valves to be configured. There are two methods to configure the drain flow
coefficients. Each drain flow may be configured using a different method. The two configuration
methods are described below. All drains exit from the drum / downcomer interface and may be
configured to discharge to a unique pressure. Set the PBLOCON.
The recircs must be configured in the following order: OVBLOCON and then JBLOCON.
• Any drain may be directly connected to a valve object using the OVBLOCON[i] parameter
where I is the index in the drain array.
• Mass flow through this drain will be lost from the simulation model.
• The flow coefficient may be calculated by the user and assigned to the JBLOCON[i]
parameter, where I is the index in the vent array.
• NBLOCON must be equal to or larger than the size of OVBLOCON. If NBLOCON is larger
than the size of OVBLOCON, the user must specify the remainder drains with JBLOCON.
• Mass flow through this drain will be lost from the simulation model.
• If it is desired to conserve the drain mass flow it must be introduced into a header or tank
using a boundary header and a Type = 5 flow.
Configuring Vents
The BoilerSepar class contains built-in vents to ambient. These built-in vents neither require nor
use a flow object. Any number of these vents may be configured. Set the NVENT parameter to
the desired number of vents to be configured. There are two methods to configure the vent flow
coefficients. Each vent flow may be configured using a different method. The two configuration
methods are described below, with an example that contains one vent of each type. The vents are
internally configured to be at the top of the drum.
The vents must be configured in the following order: OVVENT and then JVENT.
• Any vent may be directly connected to a valve object using the OVVENT[i] parameter where
I is the index in the vent array.
• Mass flow through this vent will be lost from the simulation model.
• The flow coefficient may be calculated by the user and assigned to the JVENT[i] parameter,
where I is the index in the vent array.
• NVENT must be equal to or larger than the size of OVVENT. If NVENT is larger than the
size of OVVENT, the user must specify the remainder vents with JVENT.
• Mass flow through this vent will be lost from the simulation model.
• Any number of relief valves may be configured on a single drum. The number of relief
valves is determined by the number of KRELIEF[] array elements defined.
• The following must be set for each relief valve: KRELIEF (full open flow coefficient),
KRELPOP (popping pressure), and KRELRES (reset pressure).
• Setting the SRELGAG switch to 1 will force the relief valve closed, regardless of pressure or
power pop switch position. SRELGAG overrides SRELPOP.
• Setting the SRELPOP (power pop) switch to 1 will cause the relief valve to open regardless of
pressure, but not if SRELGAG is set.
• The ARELIEF (current normalized area) and FBDRV (current mass flow of all relief valves)
are calculated by the algorithm.
The BoilerSepar class will auto size the relief valves based on Fdesign, Pdesign, and the number
of valves specified. If the user sets one of the following parameters to -1, then it will be auto
configured: KRELIEF, KRELPOP, KRELRES.
• Specify the number of relief valves and set the elements of KRELIEF to -1 for auto flow
coefficient sizing.
The BoilerSepar drum object supplies fluid to any number of BoilerDC downcomer objects and
receives fluid from any number of BoilerSepar waterwall surface objects. The user must
configure each drum with the downcomers it supplies and the surfaces that supply it. Use the
ODC array to specify the BoilerDC objects that this BoilerSepar object supplies. Use the OSURF
array to specify the BoilerSurf objects that supply this BoilerSepar object.
• Use the ODC array to specify the names of the BoilerDC objects that this BoilerSepar object
supplies.
• Each BoilerSepar object must have at least one BoilerDC object specified in ODC.
• Use the OSURF array to specify the BoilerSurf objects that supply this BoilerSepar object.
• Each BoilerSepar object must have at least one BoilerSurf object specified in OSURF.
• Any flows that exit the downcomer must be listed first in the OFX array. All flows that exit
the drum normally follow.
• For every flow that exits the downcomer in the OFX array, create an entry in the ODCFX
array. Set this entry to the name of the downcomer object from which the flow exits.
• For every flow that exits the downcomer in the OFX array, be sure to set it entry in the LX
array to the proper negative value (distance below the bottom of the drum).
Boundary Specifications
The following boundary conditions can be independently specified for the BoilerSepar:
• ZSTARTP – when true forces PV = PDESIGN, holding drum pressure constant. This is used
for initializing the BoilerSepar to full load.
• ZSTARTF – when true forces VBDP = 0.5*KBDVEQ, holding drum level constant. This is
used for initializing the BoilerSepar to full load.
For more information on how to use the ZSTARTP and ZSTARTF parameters, see the
DrumBoiler Library Documentation.
The following boundary condition parameters can be specified but are not used by the
BoilerSepar:
Available Malfunctions
The following malfunctions are available for this object:
The header object may be configured to leak. By default, header leaks are disabled to maximize
network solution speed.
• Set the JLEAK to the maximum desired leak flow coefficient. Note that head is ignored in
the leak flow calculation.
• Since the pressure solution is a state, enabling leak malfunctions will have no adverse effect
on the complicate the network solution speed.
Examples
Example 1
The following example is the drum from a natural circulation boiler. The drum has seven relief
valves, one blowdown valve, and four vent valves.
The example does not contain the parameter table for every model object:
• Only valve VDRUM_BD is shown in detail. None of the other drain valves is shown in this
example.
• Only valve VDC_DRUM1 is shown in detail as representative of all vent valves in this
example.
BOILERSEPAR: DRUM
Example drum
Fluid Properties
Geometry Specification
Object Connection
Object-ObjectConnection
Reference to downcomers
ODC 1 size
attached to separator
to separator
Relief Valves
(lb/sec)/sqrt(psi-
KRELIEF[0] 0.1204
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[1] 0.1204
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[2] 0.1204
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[3] 0.1204
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[4] 0.1204
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[5] 0.1204
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[6] 0.1204
lb/ft3)
Startup Blowdowns
PBLOSTART[0] PAMB
Vent Valves
JVENT[0] 1.52
JVENT[1] 1.52
JVENT[2] 1.52
JVENT[3] 1.52
OVVENT[0] VDRUM1
OVVENT[1] VDRUM2
OVVENT[2] VDRUM3
OVVENT[3] VDRUM4
VALVES: VDRUM_BD
Example drum blowdown drain valve
(lb/sec)/sqrt(psi-
K 0.17 Flow coefficient (VWO)
lb/ft3)
VALVES: VDRUM1
Example drum vent valve (VDRUM2, VDRUM3, VDRUM4 similar)
(lb/sec)/sqrt(psi-
K 1.52 Flow coefficient (VWO)
lb/ft3)
Example 2
The following example is the drum from a forced circulation boiler. The drum has two vent flows
with two valves, one continuous blowdown flow with two valves, and two drain valve flows with
five valves.
The example does not contain the parameter table for every model object:
• The waterwalls XWWA and XWWB (BoilerSurf) and drum DNCMR (BoilerDC) objects are
not shown. See Example 2 of those classes.
• The economizer heat exchangers HXECONA and HXECONB (HxOTB) objects are not
shown in this example.
BOILERSEPAR: DRUM
Example drum
Fluid Properties
Geometry Specification
Object Connection
Object-ObjectConnection
flow paths
Reference to downcomers
ODC 1 size
attached to separator
Relief Valves
(lb/sec)/sqrt(psi-
KRELIEF[0] 0.53
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[1] 0.53
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[2] 0.83
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[3] 0.83
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[4] 0.83
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[5] 0.83
lb/ft3)
(lb/sec)/sqrt(psi-
KRELIEF[6] 0.83
lb/ft3)
MOVI: VCDV
Example center drum valve in FCDV flow path
(lb/sec)/sqrt(psi-
K 0.2 Flow coefficient (VWO)
lb/ft3)
MOVI: VEDV
Example end drum vent valve in FEDV flow path
(lb/sec)/sqrt(psi-
K 0.2 Flow coefficient (VWO)
lb/ft3)
lbm/
sec
lbm
Boundary Conditions
Description UOM Eq Arr Size Sort Dft Dft
Parameter
Name OK Out
Cls Val
0 = State
-1 = Boundary, user
defined
-3 = Enthalpy is forced
to Sat vapor or higher
0 = auto configure
-1 = boundary
pressure (Set Pb)
-2 = state pressure
Condensation / Evaporation
Description UOM Eqt Array Sort Dft Dft
Parameter
OK Size Out
Name
Cls Val
Continuous Blowdowns
Description UOM Eqt Array Sort Dft Dft
Parameter
OK Size Out
Name
Cls Val
Pressure at normal
operating conditions,
max load. Do NOT
use pressure vessel
design limits
0 = to DC
1 = to Separ
Dynamic Tuning
Description UOM Eq Arr Size Sort Dft Dft
Parameter
Name OK Out
Cls Val
0 = incompressible
1 = compressible
Fluid Properties
lbm-
Geometric Specification
Description UOM Eq Arr Size Sort Dft Dft
Parameter
OK Out
Name
Cls Val
lbm-
Geometry Specification (Also use Len and Thk from NSHEADER base class)
Malfunctions
Description UOM Eq Arr Size Sort Dft Dft
Parameter
OK Out
Name
Cls Val
0 = Leak malfunction
is possible
1 = Leak malfunction
will never operate on
this object
Mass Balance
Description UOM Eq Arr Size Sort Dft Dft
Parameter
Name OK Out
Cls Val
sec
sec
sec
sec
sec
H.T.
sec
Model Setup/First Time Initialization to Full Load Conditions (Do Not Use, Not
Yet Implemented)
Description UOM Eqt Array Sort Dft Dft
Parameter
OK Size Out
Name
Cls Val
flow
sec
Object Connections
Object-Object Connections
tion
/sec
tion
Relief Valves
Description UOM Eqt Array Sort Dft Dft
Parameter
OK Size Out
Name
Cls Val
temperature
corresponding to Pv
psi
psi
psi
psi
psi
psi
Vent Valves
Description UOM Eqt Array Sort Dft Dft
Parameter
Name OK Size Out
Cls Val
Legend:
Dft Val A value here indicates the parameter’s default value. If the parameter is static, no value
indicates that the parameter is optional unless otherwise noted.
Arr Siz A value here if indicates the size of the array. No value indicates that the parameter is not a
vector.
Please refer to the Netsolve Fundamentals section for pressure node base parameters, flow
device base parameters, and parameters associated with the flash or reaction submodel.
FAQ
A. Use the ZSTARTP and ZSTARTF parameters of the BoilerSepar object. Use the ZSTRTFLO
and VSTRTFLO parameters of the BoilerSurf objects – see BoilerSurf documentation.
When ZSTARTP is true, the drum vapor pressure PV is forced to PDESIGN and drum enthalpy H
is forced to HlSat for PDESIGN.
DYNSIM still calculates the change in drum pressure dP based on the energy input from the
waterwalls. This allows the user adjust the waterwall energy input so that dP is zero and the drum
boiler system is at steady state.
When ZSTARTF is true, the drum level is forced to be 50% full. This allows the drum boiler
system to operate while the user establishes a mass balance in and out of the drum.
Q. I experience a sudden pressure drop in my BoilerSepar object when everything else (fuel flow,
feedwater flow, steam flow) is steady. What happened?
A. This can happened if the circulation rate in the waterwalls is too low. The DrumBoiler system
can become unstable if the circulation rate is less than 4 (the total flow through all of the
BoilerSurf objects divided by the exiting steam flow). If your configuration has a circulation rate
less than 4, consider using the FlashTank with HxOTB objects instead of the DrumBoiler library
objects. See the BoilerSurf documentation for information about how to adjust the circulation
flowrate. See DrumBoiler library documentation for a discussion of circulation rate.
This can also be alleviated by setting the KBDCOND parameter to 0. This will disable a certain
condensation calculation inside the pressure/temperature solution.
BoilerSurf
Introduction
BoilerSurf extends ModelObject
The BoilerSurf class models the boiler heat exchanging surfaces (or waterwalls) in a drum boiler
system. The base of the boiler waterwalls receives water from the boiler drum through the
downcomer. This class simulates the following:
• The formation and rise of bubbles in the boiling section of the waterwalls
The solution of the BoilerSurf algorithm is coordinated with the BoilerSepar and BoilerDC
classes, and must be properly configured into a DrumBoiler system for a complete solution.
Fundamentals
Control volume coordinate system oriented along the length of the tube. In this case, the
coordinate system is oriented vertically.
The furnace waterwalls are modeled as a predetermined number of parallel tubes. Each tube is
divided into a predetermined number of control volumes. Control volumes are generally selected
so that each node is of constant cross sectional area, tube thickness, etc. The following equations
are valid for each control volume.
Control volume coordinate system oriented along the length of the tube. In this case, the
coordinate system is oriented at an angle.
The tube metal energy equations are written for each control volume as:
Qwwg = Heat transfer from gas to metal heat (radiative and convective)
where:
On the tube side fluid, the mass and energy balance equations depend on whether the fluid is
subcooled liquid or two phase. For control volumes containing subcooled liquid, the energy
balance is written as:
The mass balance assumes incompressible fluid but accounts for thermal expansion or contraction
of the liquid by calculating:
For the two phase control volumes, the energy balance is written as:
Qwwml ∂Rv dΡ
+ RvVg i Α iα i − RvVgΑα − ΑLα
dα Hfg ∂Ρ dt
=
dt RvΑL
where:
Compressibility is important in the two phase region thus the rate of change of mass is written as:
dM 2 p ∂M 2 p dα ∂M 2 p dΡ
= +
dt ∂α dt ∂Ρ dt
∂M 2 p
= (Rv − R )ΑL
∂α
∂M 2 p ∂Pv ∂R
= α + (1 − α ) AL
∂P ∂P ∂P
where:
dM 2 p
= rate of change of overall mass (liquid and vapor)
dt
For all two phase control volumes, dM2p/dt is summed to account for compressibility and thermal
expansion or contraction effects in the two phase region.
The mass and energy balances described above require that Wwwr, Vg, and Lsc (location of the
boiling boundary) be known. The flow of liquid through the subcooled region is the bulk flow
rate Wwwr through the water walls. In the two phase region, liquid and steam velocities are
assumed to be related by the bubble velocity, Velbub, according to:
Vg = Vel + Velbub
Wwwr − αRvVelbub
Vel =
Α[(1 − α )R + αRv]
where
thereby leaving bulk flow rate, Wwwr, and boiling boundary location, Lsc, to be determined.
To calculate Wwwr and Lsc, first express the pressure difference from the bottom of the
waterwalls to the top, ∆Pwwt, as the sum of five pressure losses due to:
∆P2pd = flow squared pressure drop along two phase length (psid)
First pressure loss, the static head of the subcooled length, ∆Pscst, is given by:
Nsc
Rsci ∆Zi
∆Pscst = ∑
i =1 144
where:
Second pressure loss, the flow squared pressure drop along subcooled length, ∆Pscd, is given by:
2
Nsc JsciWwwr
∆Pscd = ∑
i =1 Rsci Ai
2
Third pressure loss, the static head of two phase length, ∆P2pst, is given by:
N2p
R2 pi ∆Zi
∆P2pst = ∑
i =1 144
R2pi = α i Rv + (1 − α i )R
where:
Fourth pressure loss, the flow squared pressure drop along two phase length, ∆P2pd, is given by:
dPf
N2p Φ i2
∆P2pd = ∑
i =1
dL
R2 pi A 2i
Φ i2 = 1 + Xrxi * ( R / Rv − 1)
Fifth pressure loss, the acceleration pressure drop along two phase length, ∆P2pa, is given by:
N2p
Xrxi − Xrxi −1
∆P2pa = ∑
i =1 KconAi2
The term ∆Pwwt is a function of downcomer conditions and the circulating water pumps.
In general, the terms on the right-hand side of the equation can be written as:
Since the Hsci (i=1, Nsc) are states, a second equation relating Lsc and Wwwr is needed.
The second equation is found by recognizing that the enthalpy at the outlet of the last subcooled
control volume should equate to the enthalpy of saturated liquid at the local pressure, or
conversely:
The pressure at the boiling boundary Pwwb should equal drum pressure, Pbd, plus the pressure
losses across the two phase length. This is expressed as:
This forms two equations and two unknowns, Wwwr and Lsc. To solve, they are first recast in the
form:
It should be noted that the boiling boundary disappears and the G2 equation is dropped when all
control volumes are subcooled. This results in a single equation for dWwwr/dt. These equations
are solved for each parallel tube simulated.
Specifying Geometry
Control volume coordinate system oriented along the length of the tube. In this case, the
coordinate system is oriented at an angle.
• Specify, Kwwsln[i], the water wall node length for each node, i.
• Specify, Kwwsht[i], the water wall node height for each node, i.
• Specify the tube wall thickness, Kwallthk. All tubes and all nodes are this thickness.
• Specify the tube wall diameter, Ktubediam. All tubes and all nodes are this diameter.
• Specify the wall span, Kwallspan. This is the width of the furnace wall span in feet.
• Each node length, Kwwsln[i], must be greater than or equal to twice the minimum two phase
length, Kwwltr.
• Each node height, Kwwsln[i], must be greater than or equal to the node height, Kwwsht[i].
• The tube diameter, Ktubediam, must be greater than 2.1 times the tube wall thickness,
Kwallthk.
Because each node has a configurable length and height, it is possible to configure some of the
nodes at an angle and some vertical as shown below.
If the above conditions are satisfied, then the Reverse flow, Wwwrev, is given by:
If the Minimum circulation rate, Kwwrmn2, is specified, then reverse flow will not be calculated.
Reverse flow functions similarly to Kscmin, minimum circulation used in dHsc calculation, in that
it ensures thermal communication between BoilerSurf nodes when there is no flow.
where
KaFlow = the flow area of all tubes in the object (ft2) – calculated by preprocessor
Kamult Flow area multiplier of last This simulates the unheated portion of the last segment
segment that returns to the drum.
Kawwpfac Sensitivity scalar on dAww This is the soda can effect. Reduce pressure and bubbles
for Dpbd form. Increase pressure and bubbles disappear. The
larger the scalar, the greater the formation of steam
bubbles for a given increase in drum pressure.
Kawwfac Gain on dAww Simple scalar. The larger the scalar, the faster the
formation of steam bubbles from heating.
Kl2p Two phase boundary Simple scalar. The smaller the scalar, the slower the
movement damping factor change in movement of the two phase boundary. Use to
increase stability.
Kwwltr Minimum two phase length This is the minimum length of boiling in the tube.
Flashing in the tube or drum occurs to ensure this
minimum. Twice this factor is the minimum length of the
subcooled section. The two phase section is not allowed
Kwwrmn Minimum circ rate where This is the minimum flow rate used for change in
friction factor is modified pressure calculations that affect the change in two phase
length, dL2p. The flow rate, Wwwr, is allowed to be less
than Kwwrmn
Kwwrmn2 Minimum circulation rate This is the minimum flow rate. The flow rate, Wwwr, is
limited to this value.
Kwwkma Metal to ambient UA heat Simple scalar. The larger the scalar, the more the heat
loss factor loss to ambient for a given temp difference.
KReset Resets ERROR message These ERROR messages are written when Aww >
counter Kawwlim. After a predetermined number of messages
have been written, no more will be written.
Kwworif Orifice pressure loss A non-zero value will result in a non-zero value for the
coefficient orifice pressure drop, dPorif, and increase the overall
pressure drop across the waterwalls. Tune Kwworif at
full load.
Kscmin Minimum circulation used in This minimum value ensures thermal communication
dHsc calculation between BoilerSurf nodes when there is no flow.
Kwwrevd Design reverse flow rate Design reverse flow rate at design uncovered length,
Kwwucdr. To disable reverse flow, set this to zero.
Kwwucdr Uncovered length at design If there is no forward flow and there is an uncovered
reverse flow length, then the reverse flow is the design reverse flow
scaled by the ratio of uncovered length to design
uncovered length.
Kmwwucfg Scale factor on sensitivity of As the uncovered length decreases, liquid is drawn from
dMwwuc to dLwwuc the boiler drum pool. The larger the scalar, the more the
liquid is removed from the boiler drum pool for a given in
dLwwuc.
Kwwccor Array of scale factor on ww This scales the heat transfer from metal to liquid,
node size - both mass and Qwwml, and metal to ambient, Qwwma, and the rate of
UA change of metal temp, dTwwm. The larger the scalar, the
greater the value of Qwwml and Qwwma for a given
temp difference but the smaller change in dTwwm.
Kmassmult Multiplier for metal mass Simple scalar. The larger the scalar, the greater the
applied to all segments calculated mass of each segment (node).
Kuascale Multiplier on theoretical Simple scalar. The larger the scalar, the greater the heat
conduction for tube to fluid transfer to each segment (node).
Kfricfact Tube friction factor This affects the pressure drop through the waterwalls and
the fluid flow rate. A greater friction factor means a
larger pressure drop and a smaller fluid flow rate.
Kwallspan Wall span - enter 0 for tube This value is used to calculate the mass per unit length of
bundles waterwall tube.
Boundary Specifications
There are no boundary conditions that can be specified for this object. BoilerSurf uses the Tamb
of its BoilerSepar.
Available Malfunctions
There are no preconfigured malfunctions are available for this object; however, it is possible to
configure a tube leak malfunction by specifying Kleak and Aleak parameters. Either use a
CustomAnalogMalf object to drive Aleak or use a Simple Valve object to drive Aleak.
• Set ALEAK, the normalized leak area. Either set ALEAK = “CustomAnalogMalf.Out” or set
ALEAK = “ValveS.A”.
• Connect the leak flow rate WLEAK to the furnace. This is not done automatically. It must be
configured manually. See the Furnace documentation for examples.
Examples
Example 1
This example has no boiler circ pumps. The downcomer has two drains and two economizer
recirc valves.
The example does not contain the parameter table for every model object:
• The downcomer DWNCMR (BoilerDC) and drum DRUM (BoilerSepar) objects are not
shown. See Example 1 of those classes.
• Only surfaces LEFT_WW and FRONT_WW are shown in detail as representative of all four
surfaces in this example. Surface RIGHT_WW is similar to LEFT_WW and surface
REAR_WW is similar to FRONT_WW.
• The surface FRONT_WW contains a tube leak malfunction. The parameter ALEAK is
connected to the point MALF[31] through an equation. The value and effect of MALF[31]
varies as follows:
value effect
=1 leak at
maximum
BOILERSURF: LEFT_WW
Example waterwall left side surface
Geometric Specification
Number of tubes
KTUBENUM 203
side wall
BOILERSURF: FRONT_WW
Example waterwall front side surface
Geometric Specification
Number of tubes
KTUBENUM 327
front wall and rear wall
Example 2
The following example is the downcomer from a forced circulation boiler.
This example has 4 boiler circ pumps. They are configured to “burp” and use logic blocks to
model the “burp”. The pump burp model reproduces drum level burp diagram in the
Fundamentals section. The pump burp model uses latches and timers to remove a certain amount
of water from drum (via a drain) so that the drum level permanently drops for each burp.
This example has one economizer recirc valve and two drains that are used to remove flow for
waterwall leak malfunctions.
The example does not contain the parameter table for every model object:
• None of the motors, valves, latches, timers, or flow paths is shown in this example.
• The downcomer DNCMR (BoilerDC) and drum DRUM (BoilerSepar) objects are not shown.
See Example 2 of those classes.
BOILERSURF: XWWA
Example waterwall A side surface
Gain on dAww
KAWWFAC 2
enhance drum swell
Geometric Specification
Number of tubes
KTUBENUM 985
total tubes for A side
KWWSHT[0] 34.9 ft
KWWSHT[1] 52 ft
KWWSHT[2] 30 ft
KWWSHT[3] 32 ft
KWWSHT[4] 54 ft
KWWSLN[0] 34.9 ft
KWWSLN[1] 52 ft
KWWSLN[2] 30 ft
KWWSLN[3] 32 ft
KWWSLN[4] 54 ft
sec
psi
lbm
SHT
tion
Fluid States
Description UOM Eq Arr Size Sort Dft Dft
Parameter
OK Out
Name
Cls Val
tion SHT
/sec
sec
sec
lbm SHT
sec
Geometry Specification
Description UOM Eq Arr Size Sort Dft Dft
Parameter
OK Out
Name
Cls Val
SHT
Legend:
Dft Val A value here indicates the parameter’s default value. If the parameter is static, no value
indicates that the parameter is optional unless otherwise noted.
Arr Siz A value here if indicates the size of the array. No value indicates that the parameter is not a
vector.
Please refer to the Netsolve Fundamentals section for pressure node base parameters, flow
device base parameters, and parameters associated with the flash or reaction submodel.
FAQ
Q. During startup I am having trouble establishing natural circulation flow through the
boiler when I begin to fire. How can I address this?
A. Set KwwRMN and KwwRMN2 to ensure proper minimum flow rate during startup. This is
important for low recirculation rate conditions.
http://iom.invensys.com
Email: iom.support@invensys.com
Website: http://support.ips.invensys.com