Class EngineeringDeliverablesPackage

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

public class EngineeringDeliverablesPackage extends Object implements Serializable
Generates the full engineering deliverables package for a field development study.

Given a ProcessSystem and a StudyClass, this class generates all required deliverables and bundles them into a single structured output. The deliverable set is controlled by the study class:

  • Class A (FEED/Detail): PFD, thermal utilities, alarm/trip schedule, spare parts, fire scenarios, noise assessment
  • Class B (Concept/Pre-FEED): PFD, thermal utilities, fire scenarios
  • Class C (Screening): PFD only

Usage:


EngineeringDeliverablesPackage pkg =
    new EngineeringDeliverablesPackage(process, StudyClass.CLASS_A);
pkg.generate();
String json = pkg.toJson();
String pfd = pkg.getPfdDot();

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

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • logger

      private static final org.apache.logging.log4j.Logger logger
    • processSystem

      private final ProcessSystem processSystem
      The process system to generate deliverables for.
    • studyClass

      private final StudyClass studyClass
      Study class that determines which deliverables are generated.
    • pfdDot

      private String pfdDot
      PFD in Graphviz DOT format.
    • thermalUtilities

      private ThermalUtilitySummary thermalUtilities
      Thermal utility summary.
    • alarmTripSchedule

      private AlarmTripScheduleGenerator alarmTripSchedule
      Alarm/trip schedule generator.
    • sparePartsInventory

      private SparePartsInventory sparePartsInventory
      Spare parts inventory.
    • fireScenarioJson

      private String fireScenarioJson
      Fire scenario results as JSON (from FireProtectionDesign).
    • noiseAssessmentJson

      private String noiseAssessmentJson
      Noise assessment results as JSON.
    • instrumentSchedule

      private InstrumentScheduleGenerator instrumentSchedule
      Instrument schedule generator.
    • referenceDesignationGenerator

      private ReferenceDesignationGenerator referenceDesignationGenerator
      IEC 81346 reference designation generator.
    • statusMap

      Generation status for each deliverable.
    • generated

      private boolean generated
      Whether generation has been run.
  • Constructor Details

    • EngineeringDeliverablesPackage

      public EngineeringDeliverablesPackage(ProcessSystem processSystem, StudyClass studyClass)
      Create a deliverables package for the given process system and study class.
      Parameters:
      processSystem - the process system (must have been run)
      studyClass - the study class determining required deliverables
      Throws:
      IllegalArgumentException - if processSystem is null
  • Method Details

    • generate

      public void generate()
      Generate all required deliverables for the configured study class.

      Each deliverable is generated independently; a failure in one does not prevent others from being generated. Check individual status via getStatusMap().

    • generatePfd

      private void generatePfd()
      Generate the process flow diagram.
    • generateThermalUtilities

      private void generateThermalUtilities()
      Generate the thermal utility summary.
    • generateAlarmTripSchedule

      private void generateAlarmTripSchedule()
      Generate the alarm/trip schedule.
    • generateSparePartsInventory

      private void generateSparePartsInventory()
      Generate the spare parts inventory.
    • generateFireScenarios

      private void generateFireScenarios()
      Generate fire scenario assessment.
    • generateNoiseAssessment

      private void generateNoiseAssessment()
      Generate noise assessment.
    • generateInstrumentSchedule

      private void generateInstrumentSchedule()
      Generate instrument schedule with live measurement devices.
    • generateReferenceDesignationSchedule

      private void generateReferenceDesignationSchedule()
      Generate IEC 81346 reference designation schedule for all equipment. Auto-assigns functional, product and location designations.
    • getSuccessCount

      public int getSuccessCount()
      Get the number of successfully generated deliverables.
      Returns:
      count of successful deliverables
    • isComplete

      public boolean isComplete()
      Check if all required deliverables were generated successfully.
      Returns:
      true if all succeeded
    • isGenerated

      public boolean isGenerated()
      Check if generation has been run.
      Returns:
      true if generate() has been called
    • getStudyClass

      public StudyClass getStudyClass()
      Get the study class.
      Returns:
      study class
    • getPfdDot

      public String getPfdDot()
      Get the PFD in Graphviz DOT format.
      Returns:
      DOT string or null if not generated
    • getThermalUtilities

      public ThermalUtilitySummary getThermalUtilities()
      Get the thermal utility summary.
      Returns:
      thermal utility summary or null if not generated/required
    • getAlarmTripSchedule

      public AlarmTripScheduleGenerator getAlarmTripSchedule()
      Get the alarm/trip schedule generator.
      Returns:
      alarm/trip schedule or null if not generated/required
    • getSparePartsInventory

      public SparePartsInventory getSparePartsInventory()
      Get the spare parts inventory.
      Returns:
      spare parts inventory or null if not generated/required
    • getFireScenarioJson

      public String getFireScenarioJson()
      Get the fire scenario assessment JSON.
      Returns:
      fire scenario JSON or null if not generated/required
    • getNoiseAssessmentJson

      public String getNoiseAssessmentJson()
      Get the noise assessment JSON.
      Returns:
      noise assessment JSON or null if not generated/required
    • getInstrumentSchedule

      public InstrumentScheduleGenerator getInstrumentSchedule()
      Get the instrument schedule generator.
      Returns:
      instrument schedule or null if not generated/required
    • getReferenceDesignationGenerator

      public ReferenceDesignationGenerator getReferenceDesignationGenerator()
      Get the IEC 81346 reference designation generator.
      Returns:
      reference designation generator or null if not generated/required
    • getStatusMap

      Get the generation status map.
      Returns:
      map of deliverable type to generation status
    • getFailedDeliverables

      public List<StudyClass.DeliverableType> getFailedDeliverables()
      Get a list of deliverable types that failed generation.
      Returns:
      list of failed deliverable types
    • toJson

      public String toJson()
      Produce a complete JSON report of all generated deliverables.
      Returns:
      JSON string with all deliverable outputs
    • toString

      public String toString()
      Overrides:
      toString in class Object