Class DesignSpecification
java.lang.Object
neqsim.process.design.DesignSpecification
Builder class for standardized equipment design specification.
This class provides a fluent API for configuring equipment design parameters in a consistent way across all equipment types. It integrates with company technical requirements (TR) documents and design standards.
Example usage:
DesignSpecification.forSeparator("20-VA-01").setKFactor(0.08).setDiameter(3.0, "m")
.setLength(8.0, "m").setMaterial("316L").setStandard("ASME-VIII").applyTo(separator);
- Version:
- 1.0
- Author:
- NeqSim Development Team
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateDesignSpecification(String equipmentName, String equipmentType) Private constructor - use factory methods. -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyTo(ProcessEquipmentInterface equipment) Apply this specification to the given equipment.private voidapplyToHeater(Heater heater) private voidapplyToPipeline(PipeBeggsAndBrills pipeline) private voidapplyToSeparator(Separator separator) private voidapplyToThreePhaseSeparator(ThreePhaseSeparator separator) private voidapplyToValve(ThrottlingValve valve) private doubleconvertToMeters(double value, String unit) static DesignSpecificationforCompressor(String name) Create design specification for a compressor.static DesignSpecificationCreate design specification for a heater or cooler.static DesignSpecificationforPipeline(String name) Create design specification for a pipeline.static DesignSpecificationforSeparator(String name) Create design specification for a separator.static DesignSpecificationforThreePhaseSeparator(String name) Create design specification for a three-phase separator.static DesignSpecificationCreate design specification for a valve.Get all design parameters.Get the design standard.Get the equipment name.Get the equipment type.Get the material grade.Get all operating limits.doubleGet the safety factor.setCv(double cv) Set the valve flow coefficient (Cv).setDiameter(double diameter, String unit) Set the separator internal diameter.setKFactor(double kFactor) Set the gas load factor (K-factor) for a separator.Set the separator length.setMaterial(String grade) Set the material grade for the equipment.setMaxDuty(double duty, String unit) Set the maximum design duty for a heater or cooler.setMaxValveOpening(double maxOpening) Set the maximum valve opening percentage.setMaxVelocity(double velocity) Set the maximum design velocity for the pipeline.setPipeDiameter(double diameter, String unit) Set the pipeline internal diameter.setPipeLength(double length, String unit) Set the pipeline length.setSafetyFactor(double factor) Set the safety factor for sizing.setStandard(String standard) Set the design standard.setTRDocument(String company, String trDoc) Set the company technical requirements document.setWallThickness(double thickness, String unit) Set the wall thickness for the pipeline.
-
Field Details
-
equipmentName
-
equipmentType
-
designParameters
-
designParameterUnits
-
operatingLimits
-
materialGrade
-
designStandard
-
trDocument
-
companyStandard
-
safetyFactor
private double safetyFactor
-
-
Constructor Details
-
DesignSpecification
-
-
Method Details
-
forSeparator
Create design specification for a separator.- Parameters:
name- equipment name/tag- Returns:
- new DesignSpecification configured for separators
-
forThreePhaseSeparator
Create design specification for a three-phase separator.- Parameters:
name- equipment name/tag- Returns:
- new DesignSpecification configured for three-phase separators
-
forValve
Create design specification for a valve.- Parameters:
name- equipment name/tag- Returns:
- new DesignSpecification configured for valves
-
forPipeline
Create design specification for a pipeline.- Parameters:
name- equipment name/tag- Returns:
- new DesignSpecification configured for pipelines
-
forHeater
Create design specification for a heater or cooler.- Parameters:
name- equipment name/tag- Returns:
- new DesignSpecification configured for heaters/coolers
-
forCompressor
Create design specification for a compressor.- Parameters:
name- equipment name/tag- Returns:
- new DesignSpecification configured for compressors
-
setMaterial
Set the material grade for the equipment.- Parameters:
grade- material grade (e.g., "316L", "SA-516-70", "X65")- Returns:
- this specification for chaining
-
setStandard
Set the design standard.- Parameters:
standard- design standard code (e.g., "ASME-VIII", "DNV-OS-F101", "API-5L")- Returns:
- this specification for chaining
-
setTRDocument
Set the company technical requirements document.- Parameters:
company- company name (e.g., "Equinor", "Shell")trDoc- TR document reference (e.g., "TR2000", "DEP-31.38.01.11")- Returns:
- this specification for chaining
-
setSafetyFactor
Set the safety factor for sizing.- Parameters:
factor- safety factor (typically 1.1-1.3)- Returns:
- this specification for chaining
-
setKFactor
Set the gas load factor (K-factor) for a separator.- Parameters:
kFactor- Souders-Brown coefficient in m/s- Returns:
- this specification for chaining
-
setDiameter
Set the separator internal diameter.- Parameters:
diameter- diameter valueunit- unit (e.g., "m", "mm", "inch")- Returns:
- this specification for chaining
-
setLength
Set the separator length.- Parameters:
length- length valueunit- unit (e.g., "m", "mm", "ft")- Returns:
- this specification for chaining
-
setCv
Set the valve flow coefficient (Cv).- Parameters:
cv- flow coefficient in US gpm/sqrt(psi)- Returns:
- this specification for chaining
-
setMaxValveOpening
Set the maximum valve opening percentage.- Parameters:
maxOpening- maximum opening (0-100%)- Returns:
- this specification for chaining
-
setPipeDiameter
Set the pipeline internal diameter.- Parameters:
diameter- diameter valueunit- unit (e.g., "m", "mm", "inch")- Returns:
- this specification for chaining
-
setPipeLength
Set the pipeline length.- Parameters:
length- length valueunit- unit (e.g., "m", "km", "ft")- Returns:
- this specification for chaining
-
setMaxVelocity
Set the maximum design velocity for the pipeline.- Parameters:
velocity- velocity in m/s- Returns:
- this specification for chaining
-
setWallThickness
Set the wall thickness for the pipeline.- Parameters:
thickness- thickness valueunit- unit (e.g., "m", "mm", "inch")- Returns:
- this specification for chaining
-
setMaxDuty
Set the maximum design duty for a heater or cooler.- Parameters:
duty- duty valueunit- unit (e.g., "kW", "MW", "BTU/hr")- Returns:
- this specification for chaining
-
applyTo
Apply this specification to the given equipment.This method configures the equipment with all the design parameters and operating limits defined in this specification.
- Parameters:
equipment- the equipment to configure- Throws:
IllegalArgumentException- if equipment type doesn't match specification
-
applyToSeparator
-
applyToThreePhaseSeparator
-
applyToValve
-
applyToPipeline
-
applyToHeater
-
convertToMeters
-
getEquipmentName
-
getEquipmentType
-
getDesignParameters
-
getOperatingLimits
-
getSafetyFactor
public double getSafetyFactor()Get the safety factor.- Returns:
- safety factor
-
getMaterialGrade
-
getDesignStandard
Get the design standard.- Returns:
- design standard or null if not set
-