primaryBarrierElements
private int primaryBarrierElements
Number of well barrier elements in primary barrier.
Serializable, Runnable, ProcessEquipmentInterface, TwoPortInterface, ProcessElementInterface, SimulationInterface, NamedInterface
Represents a subsea well including wellbore, casing, tubing and completion. The well uses an
internal AdiabaticTwoPhasePipe to model tubing flow performance (VLP), and provides well
design properties for mechanical design and cost estimation.
SubseaWell well = new SubseaWell("Producer-1", reservoirStream);
well.setWellType(SubseaWell.WellType.OIL_PRODUCER);
well.setMeasuredDepth(3800.0);
well.setTrueVerticalDepth(3200.0);
well.setWaterDepth(350.0);
well.setCompletionType(SubseaWell.CompletionType.CASED_PERFORATED);
well.setTubingDiameter(0.1397); // 5.5 inch
well.getPipeline().setDiameter(0.1397);
well.getPipeline().setLength(3800.0);
well.run();
// Mechanical design and cost
well.initMechanicalDesign();
WellMechanicalDesign design = (WellMechanicalDesign) well.getMechanicalDesign();
design.calcDesign();
design.calculateCostEstimate();
String report = design.toJson();
static enum static enum static enum private doubleprivate SubseaWell.CompletionTypeprivate doubleprivate doubleprivate doubleprivate booleandoubleprivate doubleprivate doubleprivate doubledoubleprivate doubleprivate doubleprivate doubleprivate doubleprivate WellMechanicalDesign(package private) AdiabaticTwoPhasePipeprivate intprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate SubseaWell.RigTypeprivate intprivate static final longprivate doubleprivate doubleprivate doubleprivate Stringprivate doubleprivate doubleprivate doubleprivate SubseaWell.WellTypeinStream, outStreamconditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportcalcIdentifier, calculateSteadyState, timenameSubseaWell(String name,
StreamInterface instream) doubledoubledoubledoubledoubledoubledoubledoubledoubledoubledoubleintpipeline.intdoubledoubledoubledoubledoubledoubledoubleintdoubledoubledoubledoubledoubledoublebooleanhasDHSV()voidbooleanbooleanstatic voidvoidvoidsetCompletionDays(double completionDays) voidsetCompletionType(SubseaWell.CompletionType completionType) voidsetConductorDepth(double conductorDepth) voidsetConductorOD(double conductorOD) voidsetDrillingDays(double drillingDays) voidsetHasDHSV(boolean hasDHSV) voidsetIntermediateCasingDepth(double intermediateCasingDepth) voidsetIntermediateCasingOD(double intermediateCasingOD) voidsetKickOffPoint(double kickOffPoint) voidsetMaxBottomholeTemperature(double maxBottomholeTemperature) voidsetMaxInclination(double maxInclination) voidsetMaxWellheadPressure(double maxWellheadPressure) voidsetMeasuredDepth(double measuredDepth) voidsetPrimaryBarrierElements(int count) voidsetProductionCasingDepth(double productionCasingDepth) voidsetProductionCasingOD(double productionCasingOD) voidsetProductionLinerDepth(double productionLinerDepth) voidsetProductionLinerOD(double productionLinerOD) voidsetReservoirPressure(double reservoirPressure) voidsetReservoirTemperature(double reservoirTemperature) voidsetRigDayRate(double rigDayRate) voidsetRigType(SubseaWell.RigType rigType) voidsetSecondaryBarrierElements(int count) voidsetSurfaceCasingDepth(double surfaceCasingDepth) voidsetSurfaceCasingOD(double surfaceCasingOD) voidsetTrueVerticalDepth(double trueVerticalDepth) voidsetTubingDiameter(double diameterM) voidsetTubingGrade(String tubingGrade) voidsetTubingOD(double tubingOD) voidsetTubingWeight(double tubingWeight) voidsetWaterDepth(double waterDepth) voidsetWellType(SubseaWell.WellType wellType) getInletPressure, getInletStream, getInletStreams, getInletTemperature, getMassBalance, getOutletPressure, getOutletStream, getOutletStreams, getOutletTemperature, setInletPressure, setInletStream, setInletTemperature, setOutletPressure, setOutletPressure, setOutletStream, setOutletTemperature, setOutletTemperature, toJson, toJson, validateSetupaddCapacityConstraint, addController, copy, displayResult, equals, getAvailableMargin, getAvailableMarginPercent, getBottleneckConstraint, getCapacityConstraints, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMaxUtilization, getMaxUtilizationPercent, getMinimumFlow, getPressure, getPressure, getProperty, getReferenceDesignation, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, getUtilizationSummary, hashCode, initElectricalDesign, initializeDefaultConstraints, initInstrumentDesign, isActive, isActive, isCapacityAnalysisEnabled, isCapacityExceeded, isFailed, isHardLimitExceeded, isNearCapacityLimit, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setReferenceDesignation, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solvedgetCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimegetName, getTagNumber, setName, setTagNumberclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitgetName, getTagName, getTagNumber, setName, setTagName, setTagNumbergetCapacityDuty, getCapacityMax, getElectricalDesign, getEquipmentState, getExergyChange, getExergyDestruction, getExergyDestruction, getFluid, getInstrumentDesign, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, needRecalculationgetCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimegetInStream, getOutStream, setOutPressure, setOutPressure, setOutTemperature, setOutTemperaturename - Name of wellinstream - a StreamInterface objectpipeline.AdiabaticTwoPhasePipe objectinitMechanicalDesign in interface ProcessEquipmentInterfaceinitMechanicalDesign in class ProcessEquipmentBaseClassgetMechanicalDesign in interface ProcessEquipmentInterfacegetMechanicalDesign in class ProcessEquipmentBaseClassIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.
id - UUIDwellType - well typecompletionType - completion typemeasuredDepth - measured depthtrueVerticalDepth - true vertical depthwaterDepth - water depthkickOffPoint - kick-off point depthmaxInclination - max inclinationconductorOD - conductor ODconductorDepth - conductor depthsurfaceCasingOD - surface casing ODsurfaceCasingDepth - surface casing depthintermediateCasingOD - intermediate casing ODintermediateCasingDepth - intermediate casing depthproductionCasingOD - production casing ODproductionCasingDepth - production casing depthproductionLinerOD - production liner ODproductionLinerDepth - production liner depthtubingOD - tubing ODdiameterM - tubing diameter in meterstubingWeight - tubing weighttubingGrade - tubing grade (e.g., "L80", "P110", "13Cr")drillingDays - drilling dayscompletionDays - completion daysrigDayRate - rig day ratehasDHSV - true if DHSV installedcount - primary barrier element countcount - secondary barrier element countmaxWellheadPressure - max wellhead pressuremaxBottomholeTemperature - max bottomhole temperaturereservoirPressure - reservoir pressurereservoirTemperature - reservoir temperature