Package neqsim.process.fielddevelopment.evaluation


package neqsim.process.fielddevelopment.evaluation
Concept evaluation and batch processing for field development.

This package contains the main orchestration classes for concept-level evaluation. It coordinates the various screening tools to produce comprehensive KPIs for field development concepts.

Key Classes

  • ConceptEvaluator - Main evaluation orchestrator that runs all screeners and aggregates results
  • ConceptKPIs - Immutable container holding all screening results (flow assurance, economics, emissions, safety)
  • BatchConceptRunner - Parallel batch processing for comparing multiple concepts

Evaluation Workflow

  1. Create a FieldConcept with reservoir, wells, and infrastructure
  2. Optionally create a FacilityConfig for detailed equipment definition
  3. Use ConceptEvaluator to run all screenings
  4. Access results through ConceptKPIs

Single Concept Evaluation

// Create evaluator
ConceptEvaluator evaluator = new ConceptEvaluator();

// Evaluate concept
ConceptKPIs kpis = evaluator.evaluate(concept);

// Access individual reports
FlowAssuranceReport fa = kpis.getFlowAssuranceReport();
EconomicsEstimator.EconomicsReport econ = kpis.getEconomicsReport();
EmissionsTracker.EmissionsReport emissions = kpis.getEmissionsReport();
SafetyScreener.SafetyReport safety = kpis.getSafetyReport();

// Get summary
System.out.println(kpis.getSummary());

Batch Concept Comparison

// Create multiple concepts
List<FieldConcept> concepts =
    Arrays.asList(createPlatformConcept(), createFPSOConcept(), createSubseaConcept());

// Run batch evaluation
BatchConceptRunner runner = new BatchConceptRunner();
Map<String, ConceptKPIs> results = runner.runAll(concepts);

// Compare results
results.forEach((name, kpis) -> {
  System.out.printf("%s: CAPEX=%.0f MUSD, CO2=%.1f kg/boe%n", name,
      kpis.getEconomicsReport().getTotalCapexMUSD(),
      kpis.getEmissionsReport().getCo2IntensityKgPerBoe());
});

// Rank by CAPEX
List<ConceptKPIs> ranked =
    runner.rankBy(results, kpis -> kpis.getEconomicsReport().getTotalCapexMUSD());

Thread Safety

ConceptEvaluator is stateless and thread-safe. BatchConceptRunner uses an ExecutorService for parallel evaluation but requires single-threaded execution when thermodynamic database operations are involved.

Since:
3.0
See Also: