Class ConceptEvaluator
This class is the primary entry point for the Field Development Engine. It coordinates all
screening analyses (flow assurance, safety, emissions, economics) and aggregates results into a
comprehensive ConceptKPIs object for decision support.
Evaluation Workflow
The evaluator runs the following analyses:
- Production KPIs: Calculate plateau rate, field life, and recovery estimates
- Flow Assurance: Screen hydrate, wax, corrosion, and other risks
- Safety: Assess blowdown requirements, ESD complexity, and H2S considerations
- Emissions: Calculate CO2 emissions and intensity
- Economics: Estimate CAPEX, OPEX, and unit costs
- Scoring: Generate technical, economic, and environmental scores
Scoring System
The evaluator calculates normalized scores (0-1) for concept comparison:
- Technical Score (35%): Based on flow assurance and safety outcomes
- Economic Score (40%): Based on CAPEX relative to baseline
- Environmental Score (25%): Based on CO2 intensity
Usage Examples
Full Evaluation
ConceptEvaluator evaluator = new ConceptEvaluator();
ConceptKPIs kpis = evaluator.evaluate(concept);
// Access individual reports
FlowAssuranceReport fa = kpis.getFlowAssuranceReport();
EconomicsEstimator.EconomicsReport econ = kpis.getEconomicsReport();
// Check warnings
kpis.getWarnings().forEach((category, message) -> {
System.out.println("WARNING: " + message);
});
// Get overall score
System.out.println("Overall Score: " + kpis.getOverallScore());
Evaluation with Custom Facility
FacilityConfig facility =
FacilityBuilder.builder().addBlock(BlockConfig.of(BlockType.INLET_SEPARATION))
.addBlock(BlockConfig.of(BlockType.TEG_DEHYDRATION)).build();
ConceptKPIs kpis = evaluator.evaluate(concept, facility);
Quick Screening (Reduced Fidelity)
ConceptKPIs quickKpis = evaluator.quickScreen(concept); // Note: Safety assessment not included in quick screen
Thread Safety
This class is stateless and thread-safe. Multiple concepts can be evaluated concurrently using the same evaluator instance, though thermodynamic database operations may require synchronization.
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final EconomicsEstimatorEconomics estimator for CAPEX/OPEX calculations.private final EmissionsTrackerEmissions tracker for CO2 calculations.private final FlowAssuranceScreenerFlow assurance screener for hydrate, wax, and corrosion assessment.private final SafetyScreenerSafety screener for blowdown, ESD, and H2S assessment. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new concept evaluator with default screeners.ConceptEvaluator(FlowAssuranceScreener flowAssuranceScreener, SafetyScreener safetyScreener, EmissionsTracker emissionsTracker, EconomicsEstimator economicsEstimator) Creates a concept evaluator with custom screeners. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddWarnings(ConceptKPIs.Builder builder, FlowAssuranceReport faReport, SafetyReport safetyReport, EmissionsTracker.EmissionsReport emissionsReport) private voidcalculateProductionKPIs(ConceptKPIs.Builder builder, FieldConcept concept) private voidcalculateScores(ConceptKPIs.Builder builder, FlowAssuranceReport faReport, SafetyReport safetyReport, EmissionsTracker.EmissionsReport emissionsReport, EconomicsEstimator.EconomicsReport economicsReport) evaluate(FieldConcept concept) Evaluates a concept with auto-generated facility configuration.evaluate(FieldConcept concept, FacilityConfig facilityConfig) Evaluates a concept with a provided facility configuration.quickScreen(FieldConcept concept) Performs quick screening without full facility evaluation.
-
Field Details
-
flowAssuranceScreener
Flow assurance screener for hydrate, wax, and corrosion assessment. -
safetyScreener
Safety screener for blowdown, ESD, and H2S assessment. -
emissionsTracker
Emissions tracker for CO2 calculations. -
economicsEstimator
Economics estimator for CAPEX/OPEX calculations.
-
-
Constructor Details
-
ConceptEvaluator
public ConceptEvaluator()Creates a new concept evaluator with default screeners.This is the recommended constructor for typical usage. Each screener is instantiated with default parameters suitable for screening-level analysis.
-
ConceptEvaluator
public ConceptEvaluator(FlowAssuranceScreener flowAssuranceScreener, SafetyScreener safetyScreener, EmissionsTracker emissionsTracker, EconomicsEstimator economicsEstimator) Creates a concept evaluator with custom screeners.Use this constructor when you need to customize screener behavior, such as using different cost factors or risk thresholds.
- Parameters:
flowAssuranceScreener- custom flow assurance screenersafetyScreener- custom safety screeneremissionsTracker- custom emissions trackereconomicsEstimator- custom economics estimator
-
-
Method Details
-
evaluate
Evaluates a concept with auto-generated facility configuration.The facility configuration is automatically generated based on the concept's reservoir properties and processing requirements. This is suitable for initial screening when detailed facility design is not yet available.
- Parameters:
concept- field concept to evaluate (must not be null)- Returns:
- comprehensive concept KPIs including all screening results
- See Also:
-
evaluate
Evaluates a concept with a provided facility configuration.Use this method when you have a specific facility design to evaluate, such as when comparing different processing configurations for the same reservoir.
- Parameters:
concept- field concept to evaluate (must not be null)facilityConfig- facility configuration defining process blocks- Returns:
- comprehensive concept KPIs including all screening results
-
quickScreen
Performs quick screening without full facility evaluation.This method provides a faster, lower-fidelity evaluation that skips safety screening and uses simplified facility assumptions. It's useful for:
- Initial concept filtering before detailed analysis
- Rapid sensitivity studies with many variations
- Early-phase feasibility checks
Note: The results are marked with a "fidelity" note indicating reduced accuracy. Safety reports are not included in quick screening.
- Parameters:
concept- field concept to screen- Returns:
- concept KPIs with reduced fidelity (no safety assessment)
-
calculateProductionKPIs
-
calculateScores
private void calculateScores(ConceptKPIs.Builder builder, FlowAssuranceReport faReport, SafetyReport safetyReport, EmissionsTracker.EmissionsReport emissionsReport, EconomicsEstimator.EconomicsReport economicsReport) -
addWarnings
private void addWarnings(ConceptKPIs.Builder builder, FlowAssuranceReport faReport, SafetyReport safetyReport, EmissionsTracker.EmissionsReport emissionsReport)
-