Class FieldDevelopmentDesignOrchestrator

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

public class FieldDevelopmentDesignOrchestrator extends Object implements Serializable
Orchestrator for field development design workflows.

This class provides a unified, coordinated workflow for process simulation and mechanical design in field development projects. It manages:

  • Design phase management (Concept, FEED, Detail)
  • TORG (Technical Requirements Document) application
  • Design case execution (Normal, Maximum, Upset, etc.)
  • Design validation and compliance checking
  • Report generation

Usage Example:


// Create process system
ProcessSystem process = new ProcessSystem();
process.add(separator);
process.add(compressor);

// Create orchestrator
FieldDevelopmentDesignOrchestrator orchestrator =
    new FieldDevelopmentDesignOrchestrator(process, "MyProject");

// Configure for FEED phase
orchestrator.setDesignPhase(DesignPhase.FEED);

// Load and apply TORG
orchestrator.loadTorg("PROJECT-001", new CsvTorgDataSource("path/to/torg.csv"));

// Run complete design workflow
orchestrator.runCompleteDesignWorkflow();

// Check results
if (orchestrator.getValidationResult().isValid()) {
  System.out.println("Design passed validation");
  orchestrator.generateReport("output/design_report.pdf");
}

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

  • Constructor Details

    • FieldDevelopmentDesignOrchestrator

      public FieldDevelopmentDesignOrchestrator(ProcessSystem processSystem, String projectId)
      Create a new orchestrator for the given process system.
      Parameters:
      processSystem - the process system to design
      projectId - unique project identifier
      Throws:
      IllegalArgumentException - if processSystem is null
  • Method Details

    • setDesignPhase

      public FieldDevelopmentDesignOrchestrator setDesignPhase(DesignPhase phase)
      Set the design phase.
      Parameters:
      phase - the design phase
      Returns:
      this instance for chaining
    • getDesignPhase

      public DesignPhase getDesignPhase()
      Get current design phase.
      Returns:
      current design phase
    • addDesignCase

      public FieldDevelopmentDesignOrchestrator addDesignCase(DesignCase designCase)
      Add a design case to evaluate.
      Parameters:
      designCase - the design case to add
      Returns:
      this instance for chaining
    • setDesignCases

      public FieldDevelopmentDesignOrchestrator setDesignCases(List<DesignCase> cases)
      Set design cases to evaluate.
      Parameters:
      cases - list of design cases
      Returns:
      this instance for chaining
    • getDesignCases

      public List<DesignCase> getDesignCases()
      Get configured design cases.
      Returns:
      list of design cases
    • addTorgDataSource

      public FieldDevelopmentDesignOrchestrator addTorgDataSource(TorgDataSource dataSource)
      Add a TORG data source.
      Parameters:
      dataSource - the data source
      Returns:
      this instance for chaining
    • loadTorg

      public boolean loadTorg(String torgProjectId)
      Load TORG from configured data sources.
      Parameters:
      torgProjectId - the TORG project ID to load
      Returns:
      true if loaded successfully
    • loadTorg

      public boolean loadTorg(String torgProjectId, TorgDataSource dataSource)
      Load TORG and apply to process system.
      Parameters:
      torgProjectId - the TORG project ID to load
      dataSource - the data source to load from
      Returns:
      true if loaded and applied successfully
    • getTorgManager

      public TorgManager getTorgManager()
      Get the TORG manager.
      Returns:
      TORG manager instance
    • getActiveTorg

      public TechnicalRequirementsDocument getActiveTorg()
      Get the active TORG.
      Returns:
      active TORG or null if not loaded
    • runCompleteDesignWorkflow

      public boolean runCompleteDesignWorkflow()
      Run the complete design workflow.

      This method executes the following steps in order:

      1. Initialize workflow (create run ID, clear previous results)
      2. Run process simulation
      3. Apply TORG standards to equipment
      4. Execute mechanical design calculations
      5. Validate design against requirements
      6. Generate results summary
      Returns:
      true if workflow completed successfully
    • initializeWorkflow

      private void initializeWorkflow()
      Initialize the workflow.
    • runProcessSimulation

      private boolean runProcessSimulation()
      Run process simulation for all design cases.
      Returns:
      true if simulation successful
    • applyTorgToProcess

      private void applyTorgToProcess()
      Apply TORG standards to the process.
    • runMechanicalDesign

      private boolean runMechanicalDesign()
      Run mechanical design calculations.
      Returns:
      true if calculations successful
    • validateDesign

      private void validateDesign()
      Validate the design against requirements.
    • validateEquipment

      private void validateEquipment(ProcessEquipmentInterface equipment)
      Validate a single equipment item.
      Parameters:
      equipment - the equipment to validate
    • validateDetailedDesign

      private void validateDetailedDesign(ProcessEquipmentInterface equipment, MechanicalDesign mechDesign)
      Validate detailed design requirements.
      Parameters:
      equipment - the equipment
      mechDesign - the mechanical design
    • validateStandardsCompliance

      private void validateStandardsCompliance()
      Validate standards compliance.
    • validateTorgCompliance

      private void validateTorgCompliance()
      Validate TORG compliance.
    • generateResultsSummary

      private void generateResultsSummary()
      Generate results summary.
    • getSystemMechanicalDesign

      public SystemMechanicalDesign getSystemMechanicalDesign()
      Get the system mechanical design instance.
      Returns:
      system mechanical design or null if not yet run
    • getValidationResult

      public DesignValidationResult getValidationResult()
      Get the validation result.
      Returns:
      validation result
    • getWorkflowHistory

      Get workflow execution history.
      Returns:
      list of workflow steps
    • getCaseResults

      Get design case results.
      Returns:
      map of design case to results
    • getProcessSystem

      public ProcessSystem getProcessSystem()
      Get the process system.
      Returns:
      process system
    • getProjectId

      public String getProjectId()
      Get the project ID.
      Returns:
      project ID
    • getRunId

      public UUID getRunId()
      Get the run ID.
      Returns:
      run ID or null if not yet run
    • generateDesignReport

      public String generateDesignReport()
      Generate a design report.
      Returns:
      formatted design report