Class InstrumentDesign
java.lang.Object
neqsim.process.instrumentdesign.InstrumentDesign
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
CompressorInstrumentDesign, HeatExchangerInstrumentDesign, PipelineInstrumentDesign, SeparatorInstrumentDesign, ValveInstrumentDesign
Base class for instrument design of process equipment.
Mirrors the ElectricalDesign and
MechanicalDesign patterns. Each piece of process
equipment can have an associated instrument design that determines which instruments are
required, their specifications, I/O requirements, and estimated costs.
The instrument design follows ISA-5.1 for instrument identification and tagging, IEC 61508 / IEC 61511 for safety instrumented systems (SIS), and ISA-18.2 for alarm management.
- Version:
- 1.0
- Author:
- Even Solbraa
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intDefault SIL level for safety instruments.private StringHazardous area zone classification for the equipment location.private booleanWhether to include safety instrumented function (SIF) instruments.private InstrumentListThe list of instruments for this equipment.private StringDesign standard for instrumentation (e.g.private ProcessEquipmentInterfaceThe process equipment this instrument design belongs to.private StringExplosion protection concept (e.g.private static final longSerialization version UID. -
Constructor Summary
ConstructorsConstructorDescriptionInstrumentDesign(ProcessEquipmentInterface processEquipment) Constructor for InstrumentDesign. -
Method Summary
Modifier and TypeMethodDescriptionvoidRun the instrument design calculation.intGet default SIL level for safety instruments.doubleGet the total estimated instrument cost in USD.Get hazardous area zone.Get the instrument list.Get instrument standard.Get the process equipment.Get explosion protection concept.intGet the total I/O count for this equipment.booleanCheck if safety instruments are included.voidRead design specifications from data sources.voidsetDefaultSilLevel(int defaultSilLevel) Set default SIL level for safety instruments.voidsetHazardousAreaZone(String hazardousAreaZone) Set hazardous area zone.voidsetIncludeSafetyInstruments(boolean includeSafetyInstruments) Set whether to include safety instruments.voidsetInstrumentStandard(String instrumentStandard) Set instrument standard.voidsetProtectionConcept(String protectionConcept) Set explosion protection concept.toJson()Serialize the instrument design to JSON.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
processEquipment
The process equipment this instrument design belongs to. -
instrumentList
The list of instruments for this equipment. -
hazardousAreaZone
Hazardous area zone classification for the equipment location. -
protectionConcept
Explosion protection concept (e.g. "Ex d", "Ex e", "Ex ia"). -
instrumentStandard
Design standard for instrumentation (e.g. "IEC", "ISA"). -
includeSafetyInstruments
private boolean includeSafetyInstrumentsWhether to include safety instrumented function (SIF) instruments. -
defaultSilLevel
private int defaultSilLevelDefault SIL level for safety instruments.
-
-
Constructor Details
-
InstrumentDesign
Constructor for InstrumentDesign.- Parameters:
processEquipment- the process equipment this design belongs to
-
-
Method Details
-
calcDesign
public void calcDesign()Run the instrument design calculation.Determines the required instruments based on the equipment type and process conditions. Subclasses override this to add equipment-specific instruments.
-
readDesignSpecifications
public void readDesignSpecifications()Read design specifications from data sources.Subclasses can override to load equipment-specific instrument specifications.
-
getInstrumentList
-
getTotalIOCount
public int getTotalIOCount()Get the total I/O count for this equipment.- Returns:
- total I/O count
-
getEstimatedCostUSD
public double getEstimatedCostUSD()Get the total estimated instrument cost in USD.- Returns:
- estimated cost in USD
-
toJson
Serialize the instrument design to JSON.- Returns:
- JSON string with all instrument design data
-
getProcessEquipment
Get the process equipment.- Returns:
- the process equipment
-
getHazardousAreaZone
Get hazardous area zone.- Returns:
- hazardous area zone classification
-
setHazardousAreaZone
Set hazardous area zone.- Parameters:
hazardousAreaZone- hazardous area zone classification
-
getProtectionConcept
-
setProtectionConcept
Set explosion protection concept.- Parameters:
protectionConcept- protection concept (e.g. "Ex ia", "Ex d")
-
getInstrumentStandard
-
setInstrumentStandard
Set instrument standard.- Parameters:
instrumentStandard- instrument standard (e.g. "IEC", "ISA")
-
isIncludeSafetyInstruments
public boolean isIncludeSafetyInstruments()Check if safety instruments are included.- Returns:
- true if SIF instruments are included
-
setIncludeSafetyInstruments
public void setIncludeSafetyInstruments(boolean includeSafetyInstruments) Set whether to include safety instruments.- Parameters:
includeSafetyInstruments- true to include SIF instruments
-
getDefaultSilLevel
public int getDefaultSilLevel()Get default SIL level for safety instruments.- Returns:
- SIL level (1-3)
-
setDefaultSilLevel
public void setDefaultSilLevel(int defaultSilLevel) Set default SIL level for safety instruments.- Parameters:
defaultSilLevel- SIL level (1-3)
-