Class TopsidePipingMechanicalDesign
java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesign
neqsim.process.mechanicaldesign.pipeline.PipelineMechanicalDesign
neqsim.process.mechanicaldesign.pipeline.TopsidePipingMechanicalDesign
- All Implemented Interfaces:
Serializable
Mechanical design class for topside (offshore platform and onshore facility) piping.
<p> This class provides mechanical design capabilities for topside process piping
including: </p> <ul> <li>Wall thickness per ASME B31.3 Process
Piping</li> <li>Erosional velocity per API RP 14E</li> <li>Pipe support
spacing per NORSOK L-002</li> <li>Flow-induced vibration (FIV) screening</li>
<li>Acoustic-induced vibration (AIV) analysis</li> <li>Thermal expansion stress
analysis</li> </ul>
<h2>Usage Example</h2>
<pre>
// Create topside piping
TopsidePiping pipe = new TopsidePiping("HP Gas Header", stream);
pipe.setDiameter(0.2032); // 8 inch
pipe.setLength(50.0);
pipe.run();
// Get and configure mechanical design
TopsidePipingMechanicalDesign design = pipe.getTopsideMechanicalDesign();
design.setMaxOperationPressure(100.0);
design.setMaxOperationTemperature(80.0 + 273.15);
design.setMaterialGrade("A106-B");
design.setDesignStandardCode("ASME-B31.3");
design.setCompanySpecificDesignStandards("Equinor");
// Load standards and calculate
design.readDesignSpecifications();
design.calcDesign();
// Get results
String json = design.toJson();
boolean velocityOk = design.getCalculator().isVelocityCheckPassed();
double supportSpacing = design.getCalculator().getSupportSpacing();
</pre>- Version:
- 1.0
- Author:
- ASMF
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleCalculated support spacing in meters.Data source for loading design parameters.private doubleInstallation temperature in Kelvin.private doubleMinimum operating temperature in Kelvin.private intNumber of 90-degree elbows.private intNumber of expansion loops.private intNumber of calculated supports.private intNumber of tees.private intNumber of valves.private StringPipe schedule.private static final longSerialization version UID.private StringService type for this piping.Topside-specific calculator.Fields inherited from class PipelineMechanicalDesign
designStandardCode, innerDiameterFields inherited from class MechanicalDesign
costEstimate, designStandard, maxDesignCv, maxDesignDuty, maxDesignGassVolumeFlow, maxDesignOilVolumeFlow, maxDesignPower, maxDesignPressureDrop, maxDesignVelocity, maxDesignVolumeFlow, maxDesignWaterVolumeFlow, minDesignDuty, minDesignGassVolumeFLow, minDesignOilFLow, minDesignPower, minDesignVolumeFLow, minDesignWaterVolumeFLow, moduleHeight, moduleLength, moduleWidth, outerDiameter, tantanLength, wallThickness, weightElectroInstrument, weightNozzle, weightPiping, weightStructualSteel, weightVessel, weigthInternals, weigthVesselShell -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for TopsidePipingMechanicalDesign. -
Method Summary
Modifier and TypeMethodDescriptionvoidcalcDesign.doubleGet calculated support spacing.doubleGet installation temperature.doubleGet minimum operation temperature.intGet number of 90-degree elbows.intGet number of supports.intGet number of tees.intGet number of valves.Get pipe schedule.Get service type.Get the topside-specific calculator.private voidInitialize the topside-specific calculator.private voidInitialize parameters from the connected equipment.voidreadDesignSpecifications.voidsetInstallationTemperature(double installationTemperature) Set installation temperature.voidsetMinOperationTemperature(double minOperationTemperature) Set minimum operation temperature.voidsetNumberOfElbows90(int numberOfElbows90) Set number of 90-degree elbows.voidsetNumberOfTees(int numberOfTees) Set number of tees.voidsetNumberOfValves(int numberOfValves) Set number of valves.voidsetPipeSchedule(String pipeSchedule) Set pipe schedule.voidsetServiceType(String serviceType) Set service type.toJson()Export mechanical design data to JSON format.Methods inherited from class PipelineMechanicalDesign
getCalculator, getDataSource, getDesignStandardCode, getLocationClass, getMAOP, getMaterialGrade, getPipelineLength, getTestPressure, isDesignSafe, loadDesignFactorsFromDatabase, loadFromDatabase, loadMaterialFromDatabase, main, setDesignStandardCode, setLocationClass, setMaterialGrade, setPipelineLengthMethods inherited from class MechanicalDesign
addDesignDataSource, calculateCostEstimate, costEstimateToJson, displayResults, equals, generateBillOfMaterials, getApplicableStandards, getBareModuleCost, getCompanySpecificDesignStandards, getConstrutionMaterial, getCorrosionAllowance, getCostEstimate, getDefaultLiquidDensity, getDefaultLiquidViscosity, getDesignCorrosionAllowance, getDesignDataSources, getDesignJointEfficiency, getDesignLimitData, getDesignMaxPressureLimit, getDesignMaxTemperatureLimit, getDesignMinPressureLimit, getDesignMinTemperatureLimit, getDesignStandard, getDuty, getGrassRootsCost, getHeatTransferArea, getInnerDiameter, getInstallationManHours, getJointEfficiency, getLastMarginResult, getMaterialDesignStandard, getMaterialPipeDesignStandard, getMaxAllowableStress, getMaxDesignCv, getMaxDesignGassVolumeFlow, getMaxDesignOilVolumeFlow, getMaxDesignPressure, getMaxDesignPressureDrop, getMaxDesignVelocity, getMaxDesignVolumeFlow, getMaxDesignWaterVolumeFlow, getMaxOperationPressure, getMaxOperationTemperature, getMinDesignGassVolumeFLow, getMinDesignOilFLow, getMinDesignPressure, getMinDesignVolumeFLow, getMinDesignWaterVolumeFLow, getMinOperationPressure, getModuleHeight, getModuleLength, getModuleWidth, getOuterDiameter, getPower, getPressureMarginFactor, getProcessEquipment, getPurchasedEquipmentCost, getRecommendedStandards, getResponse, getTantanLength, getTensileStrength, getTotalModuleCost, getVolumeTotal, getWallThickness, getWeightElectroInstrument, getWeightNozzle, getWeightPiping, getWeightStructualSteel, getWeightTotal, getWeightVessel, getWeigthInternals, getWeigthVesselShell, hasDesignStandard, hashCode, initMechanicalDesign, isHasSetCompanySpecificDesignStandards, setCompanySpecificDesignStandards, setConstrutionMaterial, setCorrosionAllowance, setCostEstimateCepci, setCostEstimateLocationFactor, setCostEstimateMaterial, setDefaultLiquidDensity, setDefaultLiquidViscosity, setDesign, setDesignDataSource, setDesignDataSources, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandards, setHasSetCompanySpecificDesignStandards, setInnerDiameter, setJointEfficiency, setMaterialDesignStandard, setMaterialPipeDesignStandard, setMaxDesignCv, setMaxDesignDuty, setMaxDesignGassVolumeFlow, setMaxDesignOilVolumeFlow, setMaxDesignPower, setMaxDesignPressureDrop, setMaxDesignVelocity, setMaxDesignVolumeFlow, setMaxDesignWaterVolumeFlow, setMaxOperationPressure, setMaxOperationTemperature, setMinDesignDuty, setMinDesignGassVolumeFLow, setMinDesignOilFLow, setMinDesignPower, setMinDesignVolumeFLow, setMinDesignWaterVolumeFLow, setMinOperationPressure, setModuleHeight, setModuleLength, setModuleWidth, setOuterDiameter, setPressureMarginFactor, setProcessEquipment, setTantanLength, setTensileStrength, setWallThickness, setWeightElectroInstrument, setWeightNozzle, setWeightPiping, setWeightStructualSteel, setWeightTotal, setWeightVessel, setWeigthInternals, setWeigthVesselShell, toCompactJson, validateOperatingEnvelope, validateOperatingEnvelope
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
topsideCalculator
Topside-specific calculator. -
dataSource
Data source for loading design parameters. -
serviceType
Service type for this piping. -
pipeSchedule
Pipe schedule. -
minOperationTemperature
private double minOperationTemperatureMinimum operating temperature in Kelvin. -
installationTemperature
private double installationTemperatureInstallation temperature in Kelvin. -
numberOfElbows90
private int numberOfElbows90Number of 90-degree elbows. -
numberOfTees
private int numberOfTeesNumber of tees. -
numberOfValves
private int numberOfValvesNumber of valves. -
numberOfExpansionLoops
private int numberOfExpansionLoopsNumber of expansion loops. -
calculatedSupportSpacing
private double calculatedSupportSpacingCalculated support spacing in meters. -
numberOfSupports
private int numberOfSupportsNumber of calculated supports.
-
-
Constructor Details
-
TopsidePipingMechanicalDesign
Constructor for TopsidePipingMechanicalDesign.- Parameters:
equipment- aProcessEquipmentInterfaceobject
-
-
Method Details
-
initializeCalculator
private void initializeCalculator()Initialize the topside-specific calculator. -
initializeFromEquipment
private void initializeFromEquipment()Initialize parameters from the connected equipment. -
readDesignSpecifications
public void readDesignSpecifications()readDesignSpecifications.
- Overrides:
readDesignSpecificationsin classPipelineMechanicalDesign
-
calcDesign
-
getTopsideCalculator
Get the topside-specific calculator.- Returns:
- topside calculator
-
toJson
Export mechanical design data to JSON format.This method creates a
MechanicalDesignResponseobject and serializes it to JSON using Gson. The JSON includes equipment identification, weight breakdown, design conditions, dimensions, and materials information.Usage example:
MechanicalDesign mecDesign = separator.getMechanicalDesign(); mecDesign.calcDesign(); String json = mecDesign.toJson();- Overrides:
toJsonin classPipelineMechanicalDesign- Returns:
- JSON string representation of the mechanical design
-
getServiceType
-
setServiceType
Set service type.- Parameters:
serviceType- service type
-
getPipeSchedule
-
setPipeSchedule
Set pipe schedule.- Parameters:
pipeSchedule- pipe schedule
-
getMinOperationTemperature
public double getMinOperationTemperature()Get minimum operation temperature.- Overrides:
getMinOperationTemperaturein classMechanicalDesign- Returns:
- minimum operation temperature in Kelvin
-
setMinOperationTemperature
public void setMinOperationTemperature(double minOperationTemperature) Set minimum operation temperature.- Overrides:
setMinOperationTemperaturein classMechanicalDesign- Parameters:
minOperationTemperature- minimum operation temperature in Kelvin
-
getInstallationTemperature
public double getInstallationTemperature()Get installation temperature.- Returns:
- installation temperature in Kelvin
-
setInstallationTemperature
public void setInstallationTemperature(double installationTemperature) Set installation temperature.- Parameters:
installationTemperature- installation temperature in Kelvin
-
getNumberOfElbows90
public int getNumberOfElbows90()Get number of 90-degree elbows.- Returns:
- number of elbows
-
setNumberOfElbows90
public void setNumberOfElbows90(int numberOfElbows90) Set number of 90-degree elbows.- Parameters:
numberOfElbows90- number of elbows
-
getNumberOfTees
public int getNumberOfTees()Get number of tees.- Returns:
- number of tees
-
setNumberOfTees
public void setNumberOfTees(int numberOfTees) Set number of tees.- Parameters:
numberOfTees- number of tees
-
getNumberOfValves
public int getNumberOfValves()Get number of valves.- Returns:
- number of valves
-
setNumberOfValves
public void setNumberOfValves(int numberOfValves) Set number of valves.- Parameters:
numberOfValves- number of valves
-
getCalculatedSupportSpacing
public double getCalculatedSupportSpacing()Get calculated support spacing.- Returns:
- support spacing in meters
-
getNumberOfSupports
public int getNumberOfSupports()Get number of supports.- Returns:
- number of supports
-