Class WellMechanicalDesignDataSource

java.lang.Object
neqsim.process.mechanicaldesign.subsea.WellMechanicalDesignDataSource
All Implemented Interfaces:
Serializable

public class WellMechanicalDesignDataSource extends Object implements Serializable
Loads well design parameters from CSV standards databases.

This data source queries NORSOK D-010, API RP 90, API TR 5C3, and ISO 16530 entries from the standards CSV files for well integrity, casing design, and barrier verification parameters.

It follows the established NeqSim mechanical design pattern: CSV -> DataSource -> Calculator -> MechanicalDesign -> JSON.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

  • Constructor Details

    • WellMechanicalDesignDataSource

      public WellMechanicalDesignDataSource()
      Default constructor.
  • Method Details

    • loadNorskD010DesignFactors

      public void loadNorskD010DesignFactors(WellDesignCalculator calculator, boolean isInjectionWell)
      Load NORSOK D-010 design factors into the calculator.

      Reads burst, collapse, tension, and triaxial design factors from the standards database. If the database is unavailable, the calculator retains its hardcoded NORSOK D-010 defaults.

      Parameters:
      calculator - the well design calculator to configure
      isInjectionWell - true if loading injection-specific design factors
    • loadApiRp90Parameters

      public Map<String,Double> loadApiRp90Parameters()
      Load API RP 90 MAASP parameters.
      Returns:
      map of MAASP parameters (safetyFactor, collapseFactor, pressureTolerance, decayTestDuration, maxDecayRate)
    • loadBarrierRequirements

      public Map<String,Double> loadBarrierRequirements()
      Load NORSOK D-010 barrier requirements.
      Returns:
      map of barrier requirements
    • loadIso16530Requirements

      public Map<String,Double> loadIso16530Requirements()
      Load ISO 16530 lifecycle requirements.
      Returns:
      map of lifecycle parameters
    • getAppliedStandards

      public List<String> getAppliedStandards()
      Get the list of applied standards codes.
      Returns:
      list of standard references
    • clearAppliedStandards

      public void clearAppliedStandards()
      Clear the applied standards tracking list.
    • applySpecValue

      private void applySpecValue(Map<String,double[]> specs, String specName, WellDesignCalculator calculator, String target)
      Apply a specification value from the database to the calculator.
      Parameters:
      specs - the specification map from CSV
      specName - CSV specification name
      calculator - the calculator to update
      target - which calculator field to set ("burstDF", "collapseDF", "tensionDF", "vmeDF")
    • getNorsokSource

      private StandardBasedCsvDataSource getNorsokSource()
      Get or create the NORSOK CSV data source.
      Returns:
      the data source, or null if unavailable
    • getApiSource

      private StandardBasedCsvDataSource getApiSource()
      Get or create the API CSV data source.
      Returns:
      the data source, or null if unavailable
    • getIsoSource

      private StandardBasedCsvDataSource getIsoSource()
      Get or create the ISO CSV data source.
      Returns:
      the data source, or null if unavailable