Class BarrierEnvelope
java.lang.Object
neqsim.process.mechanicaldesign.subsea.BarrierEnvelope
- All Implemented Interfaces:
Serializable
Represents a well barrier envelope per NORSOK D-010 Section 5.
A barrier envelope is an ordered collection of barrier elements that together form a pressure-containing boundary between the reservoir and the environment. Per NORSOK D-010, every well must maintain at least two independent barrier envelopes (primary and secondary) at all times.
For production wells (NORSOK D-010 Table 20):
- Primary: tubing, DHSV, tubing hanger, Xmas tree
- Secondary: production casing, casing cement, wellhead, casing hanger
For injection wells (NORSOK D-010 Tables 36-37):
- Primary: tubing, packer, ISV, tubing hanger, Xmas tree
- Secondary: production casing, casing cement, wellhead, casing hanger
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<BarrierElement> Ordered list of barrier elements forming this envelope.private final StringEnvelope name (e.g., "Primary", "Secondary").private static final long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddElement(BarrierElement element) Add a barrier element to this envelope.intGet the number of elements in this envelope.Get all elements in this envelope (unmodifiable).Get all elements of a specific type.Get failed elements in this envelope.intGet the number of functional (intact or degraded) elements.getName()Get the envelope name.intGet the number of verified elements.booleanCheck if a specific element type exists in this envelope.booleanisIntact()Check if this envelope is intact (all elements functional).booleanmeetsMinimum(int minElements) Check if this envelope has the minimum required elements.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
name
Envelope name (e.g., "Primary", "Secondary"). -
elements
Ordered list of barrier elements forming this envelope.
-
-
Constructor Details
-
BarrierEnvelope
Create a barrier envelope.- Parameters:
name- envelope name (e.g., "Primary", "Secondary")
-
-
Method Details
-
addElement
Add a barrier element to this envelope.- Parameters:
element- the barrier element
-
getName
-
getElements
Get all elements in this envelope (unmodifiable).- Returns:
- list of barrier elements
-
getElementCount
public int getElementCount()Get the number of elements in this envelope.- Returns:
- element count
-
getFunctionalElementCount
public int getFunctionalElementCount()Get the number of functional (intact or degraded) elements.- Returns:
- count of functional elements
-
getVerifiedElementCount
public int getVerifiedElementCount()Get the number of verified elements.- Returns:
- count of verified elements
-
isIntact
public boolean isIntact()Check if this envelope is intact (all elements functional).- Returns:
- true if all elements are functional
-
meetsMinimum
public boolean meetsMinimum(int minElements) Check if this envelope has the minimum required elements.Per NORSOK D-010, each envelope must have at least 2 independent elements.
- Parameters:
minElements- minimum number of functional elements required- Returns:
- true if enough functional elements exist
-
hasElementType
Check if a specific element type exists in this envelope.- Parameters:
type- element type to check for- Returns:
- true if at least one element of this type exists
-
getElementsByType
Get all elements of a specific type.- Parameters:
type- element type to search for- Returns:
- list of matching elements
-
getFailedElements
Get failed elements in this envelope.- Returns:
- list of failed elements
-
toString
-