Class WellScheduler.WellRecord
java.lang.Object
neqsim.process.util.fielddevelopment.WellScheduler.WellRecord
- All Implemented Interfaces:
Serializable
- Enclosing class:
WellScheduler
Well record for availability and production tracking.
Maintains the complete history of a well's status and production, along with scheduled interventions.
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate WellScheduler.WellStatusprivate doubleprivate Stringprivate final List<WellScheduler.Intervention> private static final longprivate final Map<LocalDate, WellScheduler.WellStatus> private final String -
Constructor Summary
ConstructorsConstructorDescriptionWellRecord(String wellName, double initialPotential, String rateUnit) Creates a new well record. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddIntervention(WellScheduler.Intervention intervention) Adds a scheduled intervention.doublecalculateAvailability(LocalDate startDate, LocalDate endDate) Calculates availability over a period.doubleGets the current production potential.Gets the current well status.getInterventionsInRange(LocalDate startDate, LocalDate endDate) Gets interventions within a date range.doubleGets the original production potential.Gets the rate unit.Gets the scheduled interventions.getStatusOn(LocalDate date) Gets the status on a specific date.Gets the well name.voidrecordProduction(LocalDate date, double rate) Records production for a date.voidsetCurrentPotential(double potential) Sets the current production potential.voidsetStatus(WellScheduler.WellStatus status, LocalDate date) Sets the current well status and records it in history.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
wellName
-
statusHistory
-
productionHistory
-
scheduledInterventions
-
currentPotential
private double currentPotential -
originalPotential
private double originalPotential -
rateUnit
-
currentStatus
-
-
Constructor Details
-
WellRecord
-
-
Method Details
-
getWellName
-
getCurrentPotential
public double getCurrentPotential()Gets the current production potential.- Returns:
- current potential rate
-
setCurrentPotential
public void setCurrentPotential(double potential) Sets the current production potential.- Parameters:
potential- new potential rate
-
getOriginalPotential
public double getOriginalPotential()Gets the original production potential.- Returns:
- original potential rate
-
getRateUnit
-
getCurrentStatus
Gets the current well status.- Returns:
- current status
-
setStatus
Sets the current well status and records it in history.- Parameters:
status- new statusdate- date of status change
-
getStatusOn
Gets the status on a specific date.- Parameters:
date- date to check- Returns:
- status on that date, or current status if not found
-
getScheduledInterventions
Gets the scheduled interventions.- Returns:
- unmodifiable list of interventions
-
addIntervention
Adds a scheduled intervention.- Parameters:
intervention- intervention to schedule
-
recordProduction
Records production for a date.- Parameters:
date- production daterate- production rate
-
calculateAvailability
-
getInterventionsInRange
public List<WellScheduler.Intervention> getInterventionsInRange(LocalDate startDate, LocalDate endDate) Gets interventions within a date range.- Parameters:
startDate- start of rangeendDate- end of range- Returns:
- list of interventions overlapping the range
-