API 16d Sizing Help
API 16d Sizing Help
User Manual
Companion Tool for API Specification 16D, Second Edition, July 2004
Manual Revision History
10 23 Jan 2015 Changed description of the pressure columns in the Performance Table with respect
to MOP, condition 2.
09 10 Dec 2013 Improved the wording of override of wellbore pressure explanation. Added the
beginnings of a section on technical topics.
08 17 May 2011 Expanded explanations in the Performance Table
All rights reserved. No part of this work may be reproduced, stored in a retrieval system,
or transmitted by any means, electronic, mechanical, photocopying, recording, or
otherwise, without prior written permission from the publisher.
Contact the publisher, Interlink Systems, Inc.,
5116 Bissonnet #341,Bellaire, TX 77401
5 Projects............................................................................................................................................................ 9
The Program is designed to run under 32-bit and 64-bit Windows operating systems including Windows
2000, XP, Vista and 7. It should work properly under earlier operating systems back to Windows 95,
but that is not guaranteed. Other requirements (memory, hard disk, etc.) are very modest compared to
most Windows applications.
2 USER INTERFACE
This section describes features important to operating the software. Even if you are very comfortable
with Windows program design, it is a good idea to read the section on Numeric Entry Fields, as you will
be using them a lot and they have several helpful features.
1
Note: This program is published and supported by Interlink Systems, Inc. under a license agreement with API.
API no longer warrants or supports this software. Address all questions or comments to Interlink Systems, Inc.
Manual Version Date: 23 Jan 2014 Page 1
16D BOP Accumulator Sizing and Performance Tool
The use of a period or comma for the decimal point is controlled by the regional settings in Windows.
You cannot control this from the Program. When entering numbers, you must conform to the regional
settings selected for Windows. Thousands separators are optional when inputting a number, but, if
used, must be correct (Ex: 1000.5 or 1,000.5 are OK in the US but 1,00 is not).
You may also double click the unit part (which causes it to become highlighted) and then type in a new
unit. However, if you do this, the new unit must be recognized as a valid unit for this field or you will
get an error dialog box. Also, when you type in a new unit, the numeric part will not be scaled.
Floating format displays according to a built in set of rules and may include decimal points, and may
use engineering notation with exponents.
For example, assume you are entering the volume of a cylinder 10" long and 3" in diameter. Instead of
entering 70.69 cu-in, you can enter (0.25*pi*3^2)*10 cu-in. When you press Enter or move the
cursor to another field, the expression is evaluated.
3 GETTING STARTED
3.1 Parts of a Project
In general, a project consists of two parts: input data describing the stack and the environment, and a
project equipment list, which contains descriptions of the various pieces of equipment making up the
stack (valves, rams, connectors, etc.). Projects are stored in files with names of the form *.16D.
Example project files are provided with the program, representing the examples in the Appendix
(Accumulator Volumetric Design Examples) of API Specification 16D.
Any project must have an equipment list containing at least one piece of equipment. Equipment can be
entered from scratch or can be imported from an equipment library. For equipment that will appear in
more than one project, it is best to initially enter the equipment in a library and then import it to the
project as needed. See Equipment Libraries below for more information.
Some numerical typographical and printing errors exist in Annex C with the corrections as follows.
Page 67) Fluid Densities and Head Pressures: The sea water head pressure should be 3327 psig, not
3227 psig.
Page 81) Example 5, Liquid Volumes table, Condition 3: Total should be 398.0, not 557.3
Page 88) Example 7Performance Table: Gas and liquid volume columns are incorrect.
(continued)
Page 91) Example 8, Performance Table: Gas and liquid volume columns are incorrect.
The following list is correct:
3.3.1.1 Import All Equipment Items from a Library into the Project.
Create a new project (Menu: File / New Project).
Click the title bar of the new project so that it is highlighted.
Open the equipment list for the new, as yet unnamed project (Menu: Equipment / Edit Project
Equipment).
Import equipment from a library2 (Menu: Equipment / Import Eqpt from Library). When you
choose the library you want to import from, it will be opened, all equipment copied to the
project, and then closed, leaving the project and project equipment list open.
Close the Project Equipment list window.
Fill in data on the Project, Surface and/or Subsea, and Options tabs. Save the project after
filling in each tabbed page (Menu: File / Save).
Click the BOP Stack tab and add elements to the stack in the order that they will be operated
(order is not important for API stacks, only for rapid charge or discharge).
Save the project (Menu: File / Save).
Press the F9 key or click the Summary, Notes, or Performance tabs to calculate the results.
3.3.1.2 Import Only Selected Equipment Items from a Library into the Project
Open an equipment library file that will supply the equipment data (Menu: Equipment / Open
Library).
Create a new project (Menu: File / New Project).
Click the title bar of the new project so that it is highlighted.
Open the equipment list for the new, as yet unnamed project (Menu: Equipment / Edit Project
Equipment).
Use Copy-Paste or Drag-Drop to move equipment items from the library equipment list to the
project equipment list (see Copy from Another Library, below).
Close the Library window.
Close the Project Equipment list window.
Fill in data on the Project, Surface and/or Subsea, and Options tabs. Save the project after
fining in each tabbed page (Menu: File / Save).
2
Note: See the sections entitled EQUIPMENT LIBRARIES and Edit or Input by Hand
Click the BOP Stack tab and add elements to the stack in the order that they will be operated
(order is not important for API stacks, only for rapid charge or discharge).
Save the project (Menu: File / Save).
Press the F9 key or click the Summary, Notes, or Performance tabs to calculate the results.
Using this feature will affect every numeric field. Afterward, you will still probably need to set the units
of some fields since it may not pick the unit you actually want. Also, manually setting the units of
specific fields is the only way to use mixed units.
4 EQUIPMENT LIBRARIES
Equipment libraries are stored in files with names in the form *.16DLIB. Each file contains one or
more pieces of equipment (valve, ram, etc.) that can be used in a BOP stack. You may make your own
libraries, or you may use libraries created by equipment manufacturers (ask them) or others. An
example generic library is provided with the program.
The Equipment window has several command buttons that may appear, depending on the context.
The Help? button is always there. Clicking this button brings up a dialog with brief reminders of how to
use the library.
4.1.1 Comments
The Comments tab allows you to describe the library in any way you wish. Things like where the data
came from, who compiled it, how, when, special considerations or warnings, etc., should all be in this
comments section.
4.1.2 Equipment
The Equipment tab shows the pieces of equipment contained in the library. Click on a piece of
equipment, and its data will appear in the field to the right. To change any of that data, double click the
piece of equipment.
Note: See the Edit or Input by Hand section for the effect of changing descriptive data.
4.1.3 History
Each time you save a library file, you will be asked for a new version number and date, and a
description of what was changed. This information is stored with the library, and the descriptions
along with the version numbersappear in the list under the History tab. Over time, the History tab will
build up a listing of all changes made to the library so that you can associate a version number with a
specific set of changes.
4.2 Importing
To combine equipment libraries, there is a provision for copying the entire contents of a library into
another library or a project equipment list. This is referred to as importing a library.
To import an equipment library, the library (or project equipment list) that is to receive the imported
equipment must be open and highlighted. You then will be able to select Import Eqpt from Library from
the Equipment menu.
Import equipment from the library (Menu: Equipment / Import Eqpt from Library). When you
choose the library you want to import from, it will be opened, all equipment copied to the
project, and then closed, leaving the project and project equipment list open.
Close the Project equipment list window.
Save the project (Menu: File / Save).
You may edit the equipment data in any library. Simply select Equipment from the main menu and
then Edit Library. A dialog box allowing you to select the desired file will appear. Once you select the
file, it will be opened and the contents displayed in an Equipment Library window. Double click a piece
of equipment to change its parameters.
Important Note: If you edit a piece of equipment and change any item in the description section, you
are creating a new piece of equipment, not editing an existing one. After changing all or part of the
description, a piece of equipment containing the new description appears in the Equipment list. This is
not the case with the items in the technical data section, which are treated as changes to the same
piece of equipment.
Example: You begin with an Acme 5" valve with a 1 gallon actuator. Suppose you edit the valve and
change Acme to "Pinnacle". Pinnacle and Acme are not the same you have created a new valve
called a Pinnacle 5" valve with a volume of 1 gal. Suppose instead that you edit the Acme 5" valve and
change the volume to 1.3 gal. It is still an Acme 5" valve, since you made no changes to the
Description and only updated the volume.
Repeat as necessary.
5 PROJECTS
5.1 Project Data
Project data includes all data except the list of equipment. This section contains comments on some of
the data fields.
Other Design means a system in which the user specifies the equipment to be operated. The
program verifies sufficient fluid volume for each step in the stack sequence. It may have accumulators
on the surface or subsea, but not both. Rapid discharge systems also give the option of using rapid
charge.
Select options for calculation method (A, B, or C) and for precharge and number of bottles (calculated
or user input).
Calculation Methods (per Specification 16D): AIdeal Gas Isothermal; BReal Gas Isothermal; and C
Real Gas Adiabatic.
For all cases (API Stack and Other), the Wellbore Pressure value is used with the ram Closing Ratio to
determine Minimum Operating Pressure (MOP) of rams.
For an Other design Type of System, this is handled by creating a separate equipment item for each
drill pipe/tubular shear data case of the shear ram and entering the required shearing pressure in its
Minimum Component Operating Pressure field and entering an appropriate description under the
Submodel data field.
The different descriptions (i.e., in Submodel) will force the library editor to create different pieces of ram
equipment for each tubular entered. An example follows:
In the BOP stack list, add a stack component called Shear Ram (if it is not already there), and
select equipment X for it.
Run your calculation.
To see what it would do with tubular Y, double click the shear ram and change the equipment
field to Y.
Run your calculation again.
For an API Stack Type of System, Specification 16D does not require that the shearing pressure be
considered and therefore the Minimum Component Operating Pressure (which may contain shear
pressures) of all ram-type of equipment is not considered by the program for such designs. However, if
the user wishes to have the shearing pressure also considered in setting the MOP, enter the required
shearing pressure in the User specified minimum operating pressure data field on the BOP Stack
tab.
In the case of non-API stacks, you must place check marks in this section for the equipment that you
want to operate. If you want to open and close a piece of equipment but at different places in the
specified sequence, it will be necessary to define two different pieces of equipment: one with only an
opening volume and another with only a closing volume. Enter a descriptive phrase (i.e., Open only
and Close only) in the Submodel description to keep the two equipment pieces separate.
Requirement) and whether each FVR is met. An explanation of the information in each column is
included here.
Functional StepThis column indicates the state of the accumulator. For any line starting with
Condx 2,: this is the condition of the accumulator associated with operating the named stack
equipment item (see Bottle Press for more detail).
TempThis is the average temperature in the accumulator at the end of this step, when the
accumulator has been discharged to Bottle Pres.
Bottle PresThese two columns indicate the absolute and gauge pressure in the accumulator
at the end of this step. Note that in the case of Condition 2:, this pressure is normally the
MOP for the equipment item. The strategy of the program is to drain the accumulator to the
MOP (or until empty) and then see if enough fluid was supplied. The only place that cumulative
required volume is listed is in the Liquid Volumes table, FVR column.
The psig column shows surface equivalent pressure relative to the control fluid head for a
subsea accumulator and relative to 1 atm for surface accumulator.
Gas VolThe volume of gas present in the accumulator (total of all bottles) after being
discharged to Bottle Pres. 3
Liq VolThe amount of liquid actually remaining in the accumulator (total of all bottles) after
being discharged to Bottle Pres. 3
Gas DensThe density of the gas when the accumulator is discharged to Bottle Pres and is at
the listed Temp.
3
Prior to Revision 1.12 some cases would blindly calculate the pressure limited volume even if that drained the
accumulator past empty. This would result in Gas Vol > total accumulator volume, Liq Vol negative, and dV1 to 2
too large. This was corrected in Version 1.12.
Manual Version Date: 23 Jan 2014 Page 12
16D BOP Accumulator Sizing and Performance Tool
dV 1 to 3This row is associated with the row immediately above it and gives the volume of
fluid delivered by the accumulators when completely discharged (condition 1 to 3). (See
Surface and Subsea Actual and Surface and Subsea Adjusted below for more details).
Functional StepThis column indicates the state of the accumulator. Each equipment item in
the sequence gets two lines. The content of the two lines is given under the appropriate
column heading.
Surface and Subsea ActualFor Condition 1, these columns show the amount of fluid left in
the accumulator at the end of the step and occupy a single line. However, each equipment item
in the stack sequence and also the discharged condition (Condition 3) have two lines
associated with them.
The first line is the amount of fluid left in the accumulator at the end of the step (see
Condition 2 and 3 above).
The second line always begins with dV 1 to and it always shows the change in fluid
volume between Condition 1 and Condition 2 (see dV 1 to 2 and 3 above). Remember that
Condition 2 is when the accumulator has been discharged all the way to the MOP for the
equipment item.
Surface and Subsea AdjustedThese two columns indicate the Surface and Subsea Actual
delivered volume (dV, the volume change from condition 1 to condition 2 or 3) after being
divided by the volume factors, Fp or Fv. This is the delivered volume that API 16D allows you to
count in the total of available fluid.
TotalThis is the sum of the Surface and Subsea Adjusted columns. This is the total delivered
volume, counting both surface and subsea accumulators, that API 16D allows you to count as
available fluid. This must be greater than or equal to the volume that is actually required by the
equipment (FVR).
FVRThis is the amount of liquid required to complete this step in the stack sequence. This
includes the total amount of fluid needed for this stack equipment item and all of those that
precede it in the sequence.
OK? This will be Yes or No, depending on whether the accumulator supplies enough fluid to
complete this step.
You must enter project equipment before you can define the BOP stack. The step-by-step instruction
section above shows examples of how to enter project equipment items.
If you want to use these ending conditions as the starting conditions of another change, then press the
Copy To Start button.
7 TECHNICAL TOPICS
7.1 Minimum Operating Pressure (MOP)
MOP is defined and handled differently for Full API stacks as opposed to other design systems. You
can find information on this in sections 5.1.3.1, 5.1.3.2, and 5.1.3.4. There is a field to allow you to set
an MOP independently of the equipment; it is found on the BOP Stack tab.
8 CUSTOM PRINTING
There is a limited facility in the API 16D Sizing program for customized printouts. This section
describes the options available.
The Program will send output to a printer, but it also has other destinations, including file output to
HTML, RTF (rich text format), and plain text files. These can be modified in a word processor. For a
more automated approach that can be applied to multiple output cases, It is possible, although tedious,
to write software that will automatically modify these output files, taking out items that you do not want
and adding in items (like letterhead or logos) that you do want.
Alternatively, a custom PC application can be written to prepare fully customized output from the
project file itself that contains all of the information needed. The project file can even be used to input
data to custom software doing other types of calculations. Information that will help in such a program
development is in the Data File Structure section below.
To enable the Custom Print menu item, you must check the box, select the executable file using the
open dialog box that appears, and then press the Accept button. To change the name of a program
that is already there, uncheck the box and then check it again by clicking it twice. The Program uses
the string value as the lpFile parameter of a call to the Windows 32 API function ShellExecute.
Note: A suggested approach to obtaining data from a project file is using the WinAPI
GetPrivateProfileString and then processing the returned string to the desired floating point value,
including units.
To follow the description below, open a project, press F9 to calculate, and save the project. Then refer
to the project, looking at it or printing it with notepad so that you can see the sections, keys, and data.
Otherwise, the text below will be difficult to read.
Each of the tabs in the project window has a section in the file, e.g., [Surface], and the section name
can be depended upon not to change from project to project (or to only change in a predictable way).
Key names always bear a strong resemblance to the prompt for the data field, so it should normally not
be a problem telling what data fields go with what keys in the file.
The project equipment list is also found in the file. Its structure is a bit involved, so there is a
description below.
Finally, the file may contain information you do not need. For instance, the file will always have a
[Subsea] section. However, the project itself may not have a subsea stack and so the [Subsea] section
is irrelevant. Similarly, there may be equipment listed that is not used in the stack and that may no
longer even be part of the current equipment list.
Example: [Notes_memoTechnical_Warnings]
When reading a memo, the first key to read is LineCount. You must then read LineCount lines using
key names of the form LineN, where N is in the range 0..LineCount-1.
Each line has two features you must note. First of all, you must change each instance of / (slash
space) to (space). The convention is that any other white space (multiple spaces without slashes)
can be collapsed to a single space.
Also, if a line begins with a * then it is the beginning of a paragraph. Lines that do not begin with * are
logically continuations of the line above and may be concatenated to the end of the previous line and
word wrapped.
Each equipment item is in a section by itself with the section name [Eqpt_List_Item_N] where N is in
the range 1 to Qty. Each section contains data for one equipment item. All of the key names should
be relatively easy to follow except perhaps for EqptTag. EqptTag is an identifier for the piece of
equipment that is unique within the project. It is used in a stack sequence to identify the piece of
equipment associated with a particular stack component (see BOP Stack Sequence, below).
The [Seq_] section holds one key, named Qty, which tells you how many components are in the stack.
Each of the Qty stack components is in a section of its own named [Seq_DefaultSeq_Item_ N] where N
is in the range 1 to Qty. The numeric order 1..N is the order in which the components are operated in
the case of rapid discharge systems.
Each stack component section has two keys: Desc and EqptTag. The Desc key holds the description
of the stack component, such as Upper Pipe Ram. The EqptTag key holds a unique identifier that
allows you to cross reference this stack component with a particular piece of equipment in the project
equipment list.
9.7 Performance
The Performance tab holds two grid controls. Each grid is written in its own section where the section
name is in the form [Performance_nameofgrid].
A RowCount key that tells you how many rows to read. Each row is associated with a key of the form
RowN where N is in the range 1 to RowCount.
A ColCount key that tells you how many columns there are in each row. The columns are separated
by commas. Note that some cells may be blank, but there are always ColCount-1 commas in the row
and a comma never appears in the text for a cell, allowing you to blindly use the commas to separate
the columns.
9.8.1 File_Integrity_Check_Sum
This is a quantity computed from the data in the file. It is not a simple check sum, but is more akin to a
cyclic redundancy check. It is an extremely robust way to detect any changes to a file. It is included to
catch corruptions or manual changes to project or library files.
Never write to a project or library file. Otherwise, the program will warn you of the mismatch.
However, the program will read the file as best it can. So, if you make changes in a proper way, the
data will be read correctly by the program (after it yells in alarm at you) and the check sum will be
corrected when the file is saved.
9.8.2 Library_Version
Never used in a project file. Ignore it.
9.8.3 API_16D_Project_File
This section only contains one key that tells you the revision number of the program that wrote the data
file.
9.8.4 PageSetup
This contains the data that you input under the File / Page Setup menu item.
API_16D_Sizing.exe makes use of a small INI file to store some basic information about the operation
of the program. The file is stored in the location specified by the %APPDATA% environment variable.
This points to different locations depending on the operating system you are using. In Windows Vista
and 7, the whole path is usually:
C:\Users\{username}\AppData\Roaming\Interlink_Systems_ILS\ILS_16D_Tool
In Windows 2000 and XP it is usually
C:\Documents and Settings\{username}\Application Data\Interlink_Systems_ILS\ILS_16D_Tool
If the %APPDATA% environment variable is missing (as it might be in operating systems earlier than
Windows 2000) or the program cannot create the APPDATA folder as described above, the INI file is
written into the same folder as the executable.
The information in the INI file holds the location and size of the main (parent) window. It keeps track of
the folder that was last used to read or save a project. This folder becomes the starting folder for the
next project open or save as operation. It also remembers the most recently opened or edited
library and uses it as the default selection next time a library is called for. Finally, it stores the name of
the custom printing program.
The INI file is only a convenience for the user. The program does not depend on it. Deletion of this file
will not interfere with the proper functioning of the program. It will be recreated each time the program
terminates.