Class FieldConcept
java.lang.Object
neqsim.process.fielddevelopment.concept.FieldConcept
- All Implemented Interfaces:
Serializable
Main field concept definition for rapid field development screening.
A FieldConcept encapsulates all the high-level inputs needed to screen a development option:
- Reservoir fluid characteristics
- Well configuration
- Infrastructure and distances
This concept-first modeling approach enables rapid iteration during early field development phases (concept selection, FEED) where decisions must be made with limited data but need physical consistency.
Example Usage
FieldConcept concept = FieldConcept.builder("Marginal Gas Tieback")
.reservoir(ReservoirInput.richGas().gor(1200).co2Percent(2.5).waterCut(0.1).build())
.wells(WellsInput.builder().producerCount(4).thp(120).ratePerWell(1.5e6, "Sm3/d").build())
.infrastructure(InfrastructureInput.builder().tiebackLength(35).waterDepth(350).build())
.build();
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilder for FieldConcept. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Stringprivate final Stringprivate final InfrastructureInputprivate final Stringprivate final ReservoirInputprivate static final longprivate final WellsInput -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic FieldConcept.BuilderCreates a new builder for FieldConcept.booleanstatic FieldConceptgasTieback(String name) Creates a simple gas tieback concept with default parameters.static FieldConceptgasTieback(String name, double tiebackKm, int wellCount, double ratePerWellMSm3d) Creates a simple gas tieback concept with defaults.getId()getName()Gets the production rate unit.Generates a summary string for this concept.doubleGets the tieback length in km.doubleGets the total production rate from all wells.doubleGets the water depth in meters.getWells()inthashCode()booleanChecks if this concept has water injection.booleanChecks if this is a subsea tieback concept.booleanChecks if this concept requires CO2 removal.booleanChecks if this concept requires dehydration.booleanChecks if this concept requires H2S removal.booleanChecks if this concept requires H2S treatment.static FieldConceptoilDevelopment(String name) Creates a simple oil development concept with default parameters.static FieldConceptoilDevelopment(String name, int wellCount, double ratePerWellBopd, double waterCut) Creates a simple oil development concept with defaults.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
id
-
name
-
description
-
reservoir
-
wells
-
infrastructure
-
-
Constructor Details
-
FieldConcept
-
-
Method Details
-
builder
Creates a new builder for FieldConcept.- Parameters:
name- concept name- Returns:
- new builder instance
-
gasTieback
public static FieldConcept gasTieback(String name, double tiebackKm, int wellCount, double ratePerWellMSm3d) Creates a simple gas tieback concept with defaults.- Parameters:
name- concept nametiebackKm- tieback distance in kmwellCount- number of wellsratePerWellMSm3d- rate per well in MSm3/d- Returns:
- configured FieldConcept
-
oilDevelopment
public static FieldConcept oilDevelopment(String name, int wellCount, double ratePerWellBopd, double waterCut) Creates a simple oil development concept with defaults.- Parameters:
name- concept namewellCount- number of wellsratePerWellBopd- rate per well in bopdwaterCut- water cut fraction- Returns:
- configured FieldConcept
-
gasTieback
Creates a simple gas tieback concept with default parameters.- Parameters:
name- concept name- Returns:
- configured FieldConcept
-
oilDevelopment
Creates a simple oil development concept with default parameters.- Parameters:
name- concept name- Returns:
- configured FieldConcept
-
getId
-
getName
-
getDescription
-
getReservoir
-
getWells
-
getInfrastructure
-
getTotalProductionRate
public double getTotalProductionRate()Gets the total production rate from all wells.- Returns:
- total rate in the well's rate unit
-
getProductionRateUnit
-
needsCO2Removal
public boolean needsCO2Removal()Checks if this concept requires CO2 removal.- Returns:
- true if CO2 > 2%
-
needsH2STreatment
public boolean needsH2STreatment()Checks if this concept requires H2S treatment.- Returns:
- true if H2S > 0.5%
-
needsH2SRemoval
public boolean needsH2SRemoval()Checks if this concept requires H2S removal.- Returns:
- true if H2S > 50 ppm (0.005%)
-
hasWaterInjection
public boolean hasWaterInjection()Checks if this concept has water injection.- Returns:
- true if water injection wells present
-
needsDehydration
public boolean needsDehydration()Checks if this concept requires dehydration.- Returns:
- true if exporting gas that requires dehydration
-
isSubseaTieback
public boolean isSubseaTieback()Checks if this is a subsea tieback concept.- Returns:
- true if subsea
-
getWaterDepth
public double getWaterDepth()Gets the water depth in meters.- Returns:
- water depth
-
getTiebackLength
public double getTiebackLength()Gets the tieback length in km.- Returns:
- tieback length
-
getSummary
Generates a summary string for this concept.- Returns:
- summary description
-
toString
-
equals
-
hashCode
-