Class HostFacility
java.lang.Object
neqsim.process.fielddevelopment.tieback.HostFacility
- All Implemented Interfaces:
Serializable
Represents an existing host facility with available capacity for tie-backs.
A host facility is an existing offshore installation (platform, FPSO, or onshore terminal) that can receive production from satellite fields. This class captures the key parameters needed for tie-back screening:
- Location: Geographic coordinates for distance calculations
- Capacity: Processing limits for gas, oil, water, and liquids
- Utilization: Current production levels relative to capacity
- Tie-in requirements: Pressure and temperature constraints
Example Usage
// Create a platform with spare gas capacity
HostFacility platform = HostFacility.builder("Troll A").location(60.6, 3.7).waterDepth(330)
.gasCapacity(40.0, "MSm3/d").gasUtilization(0.85).minTieInPressure(80).maxTieInPressure(150)
.build();
// Check spare capacity
double spareGas = platform.getSpareGasCapacity(); // ~6 MSm3/d
// Check if discovery can be accommodated
if (platform.canAcceptGasRate(2.0)) {
System.out.println("Tieback feasible");
}
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilder for HostFacility.static enumType of host facility. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleMaximum gas processing capacity in MSm3/d.private doubleCurrent gas utilization (0-1).private doubleLatitude in decimal degrees (positive = North).private doubleMaximum total liquid capacity in m3/d (oil + water + condensate).private doubleCurrent liquid utilization (0-1).private doubleLongitude in decimal degrees (positive = East).private doubleMaximum tie-in pressure in bara.private doubleMaximum tie-in temperature in Celsius.private doubleMinimum tie-in pressure in bara.private Stringprivate doubleMaximum oil processing capacity in bbl/d.private doubleCurrent oil utilization (0-1).private Stringprivate ProcessSystemOptional detailed process model for capacity analysis.private static final longprivate HostFacility.FacilityTypeprivate doubleMaximum water handling capacity in m3/d.private doubleWater depth in meters.private doubleCurrent water utilization (0-1). -
Constructor Summary
ConstructorsConstructorDescriptionHostFacility(String name) Creates a new host facility with the specified name. -
Method Summary
Modifier and TypeMethodDescriptionstatic HostFacility.BuilderCreates a builder for constructing a HostFacility.booleancanAcceptGasRate(double additionalRateMSm3d) Checks if the facility can accept additional gas production.booleancanAcceptOilRate(double additionalRateBopd) Checks if the facility can accept additional oil production.doubledistanceToKm(double targetLatitude, double targetLongitude) Calculates the great-circle distance to another location.doubleGets the gas capacity.doubleGets the gas utilization.doubleGets the latitude.doubleGets the longitude.doubleGets the maximum tie-in pressure.doubleGets the minimum tie-in pressure.getName()Gets the facility name.doubleGets the oil capacity.doubleGets the oil utilization.Gets the operator name.Gets the associated process system.doubleGets spare gas capacity.doubleGets spare liquid capacity.doubleGets spare oil capacity.doubleGets spare water capacity.getType()Gets the facility type.doubleGets the water capacity.doubleGets the water depth.doubleGets the water utilization.booleanisPressureAcceptable(double arrivalPressureBara) Checks if tie-in pressure is within acceptable range.voidsetGasCapacityMSm3d(double gasCapacityMSm3d) Sets the gas capacity.voidsetGasUtilization(double gasUtilization) Sets the gas utilization.voidsetLatitude(double latitude) Sets the latitude.voidsetLongitude(double longitude) Sets the longitude.voidsetMaxTieInPressureBara(double maxTieInPressureBara) Sets the maximum tie-in pressure.voidsetMinTieInPressureBara(double minTieInPressureBara) Sets the minimum tie-in pressure.voidSets the facility name.voidsetOilCapacityBopd(double oilCapacityBopd) Sets the oil capacity.voidsetOilUtilization(double oilUtilization) Sets the oil utilization.voidsetOperator(String operator) Sets the operator name.voidsetProcessSystem(ProcessSystem processSystem) Sets the associated process system.voidSets the facility type.voidsetWaterCapacityM3d(double waterCapacityM3d) Sets the water capacity.voidsetWaterDepthM(double waterDepthM) Sets the water depth.voidsetWaterUtilization(double waterUtilization) Sets the water utilization.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
name
-
operator
-
type
-
latitude
private double latitudeLatitude in decimal degrees (positive = North). -
longitude
private double longitudeLongitude in decimal degrees (positive = East). -
waterDepthM
private double waterDepthMWater depth in meters. -
gasCapacityMSm3d
private double gasCapacityMSm3dMaximum gas processing capacity in MSm3/d. -
gasUtilization
private double gasUtilizationCurrent gas utilization (0-1). -
oilCapacityBopd
private double oilCapacityBopdMaximum oil processing capacity in bbl/d. -
oilUtilization
private double oilUtilizationCurrent oil utilization (0-1). -
waterCapacityM3d
private double waterCapacityM3dMaximum water handling capacity in m3/d. -
waterUtilization
private double waterUtilizationCurrent water utilization (0-1). -
liquidCapacityM3d
private double liquidCapacityM3dMaximum total liquid capacity in m3/d (oil + water + condensate). -
liquidUtilization
private double liquidUtilizationCurrent liquid utilization (0-1). -
minTieInPressureBara
private double minTieInPressureBaraMinimum tie-in pressure in bara. -
maxTieInPressureBara
private double maxTieInPressureBaraMaximum tie-in pressure in bara. -
maxTieInTemperatureC
private double maxTieInTemperatureCMaximum tie-in temperature in Celsius. -
processSystem
Optional detailed process model for capacity analysis.
-
-
Constructor Details
-
HostFacility
Creates a new host facility with the specified name.- Parameters:
name- facility name
-
-
Method Details
-
builder
Creates a builder for constructing a HostFacility.- Parameters:
name- facility name- Returns:
- new builder instance
-
getSpareGasCapacity
public double getSpareGasCapacity()Gets spare gas capacity.- Returns:
- spare gas capacity in MSm3/d
-
getSpareOilCapacity
public double getSpareOilCapacity()Gets spare oil capacity.- Returns:
- spare oil capacity in bbl/d
-
getSpareWaterCapacity
public double getSpareWaterCapacity()Gets spare water capacity.- Returns:
- spare water capacity in m3/d
-
getSpareLiquidCapacity
public double getSpareLiquidCapacity()Gets spare liquid capacity.- Returns:
- spare liquid capacity in m3/d
-
canAcceptGasRate
public boolean canAcceptGasRate(double additionalRateMSm3d) Checks if the facility can accept additional gas production.- Parameters:
additionalRateMSm3d- additional gas rate in MSm3/d- Returns:
- true if capacity is available
-
canAcceptOilRate
public boolean canAcceptOilRate(double additionalRateBopd) Checks if the facility can accept additional oil production.- Parameters:
additionalRateBopd- additional oil rate in bbl/d- Returns:
- true if capacity is available
-
distanceToKm
public double distanceToKm(double targetLatitude, double targetLongitude) Calculates the great-circle distance to another location.- Parameters:
targetLatitude- target latitude in degreestargetLongitude- target longitude in degrees- Returns:
- distance in kilometers
-
isPressureAcceptable
public boolean isPressureAcceptable(double arrivalPressureBara) Checks if tie-in pressure is within acceptable range.- Parameters:
arrivalPressureBara- expected arrival pressure at host- Returns:
- true if pressure is acceptable
-
getName
-
setName
-
getOperator
-
setOperator
Sets the operator name.- Parameters:
operator- operator name
-
getType
-
setType
Sets the facility type.- Parameters:
type- facility type
-
getLatitude
public double getLatitude()Gets the latitude.- Returns:
- latitude in degrees
-
setLatitude
public void setLatitude(double latitude) Sets the latitude.- Parameters:
latitude- latitude in degrees
-
getLongitude
public double getLongitude()Gets the longitude.- Returns:
- longitude in degrees
-
setLongitude
public void setLongitude(double longitude) Sets the longitude.- Parameters:
longitude- longitude in degrees
-
getWaterDepthM
public double getWaterDepthM()Gets the water depth.- Returns:
- water depth in meters
-
setWaterDepthM
public void setWaterDepthM(double waterDepthM) Sets the water depth.- Parameters:
waterDepthM- water depth in meters
-
getGasCapacityMSm3d
public double getGasCapacityMSm3d()Gets the gas capacity.- Returns:
- gas capacity in MSm3/d
-
setGasCapacityMSm3d
public void setGasCapacityMSm3d(double gasCapacityMSm3d) Sets the gas capacity.- Parameters:
gasCapacityMSm3d- gas capacity in MSm3/d
-
getGasUtilization
public double getGasUtilization()Gets the gas utilization.- Returns:
- gas utilization (0-1)
-
setGasUtilization
public void setGasUtilization(double gasUtilization) Sets the gas utilization.- Parameters:
gasUtilization- gas utilization (0-1)
-
getOilCapacityBopd
public double getOilCapacityBopd()Gets the oil capacity.- Returns:
- oil capacity in bbl/d
-
setOilCapacityBopd
public void setOilCapacityBopd(double oilCapacityBopd) Sets the oil capacity.- Parameters:
oilCapacityBopd- oil capacity in bbl/d
-
getOilUtilization
public double getOilUtilization()Gets the oil utilization.- Returns:
- oil utilization (0-1)
-
setOilUtilization
public void setOilUtilization(double oilUtilization) Sets the oil utilization.- Parameters:
oilUtilization- oil utilization (0-1)
-
getMinTieInPressureBara
public double getMinTieInPressureBara()Gets the minimum tie-in pressure.- Returns:
- minimum tie-in pressure in bara
-
setMinTieInPressureBara
public void setMinTieInPressureBara(double minTieInPressureBara) Sets the minimum tie-in pressure.- Parameters:
minTieInPressureBara- minimum tie-in pressure in bara
-
getMaxTieInPressureBara
public double getMaxTieInPressureBara()Gets the maximum tie-in pressure.- Returns:
- maximum tie-in pressure in bara
-
setMaxTieInPressureBara
public void setMaxTieInPressureBara(double maxTieInPressureBara) Sets the maximum tie-in pressure.- Parameters:
maxTieInPressureBara- maximum tie-in pressure in bara
-
getWaterCapacityM3d
public double getWaterCapacityM3d()Gets the water capacity.- Returns:
- water capacity in m3/d
-
setWaterCapacityM3d
public void setWaterCapacityM3d(double waterCapacityM3d) Sets the water capacity.- Parameters:
waterCapacityM3d- water capacity in m3/d
-
getWaterUtilization
public double getWaterUtilization()Gets the water utilization.- Returns:
- water utilization (0-1)
-
setWaterUtilization
public void setWaterUtilization(double waterUtilization) Sets the water utilization.- Parameters:
waterUtilization- water utilization (0-1)
-
getProcessSystem
Gets the associated process system.- Returns:
- process system or null
-
setProcessSystem
Sets the associated process system.- Parameters:
processSystem- process system for detailed analysis
-
toString
-