Class EngineeringDeliverablesPackage
java.lang.Object
neqsim.process.mechanicaldesign.EngineeringDeliverablesPackage
- All Implemented Interfaces:
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classStatus of a single deliverable generation. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AlarmTripScheduleGeneratorAlarm/trip schedule generator.private StringFire scenario results as JSON (from FireProtectionDesign).private booleanWhether generation has been run.private InstrumentScheduleGeneratorInstrument schedule generator.private static final org.apache.logging.log4j.Loggerprivate StringNoise assessment results as JSON.private StringPFD in Graphviz DOT format.private final ProcessSystemThe process system to generate deliverables for.private ReferenceDesignationGeneratorIEC 81346 reference designation generator.private static final longprivate SparePartsInventorySpare parts inventory.Generation status for each deliverable.private final StudyClassStudy class that determines which deliverables are generated.private ThermalUtilitySummaryThermal utility summary. -
Constructor Summary
ConstructorsConstructorDescriptionEngineeringDeliverablesPackage(ProcessSystem processSystem, StudyClass studyClass) Create a deliverables package for the given process system and study class. -
Method Summary
Modifier and TypeMethodDescriptionvoidgenerate()Generate all required deliverables for the configured study class.private voidGenerate the alarm/trip schedule.private voidGenerate fire scenario assessment.private voidGenerate instrument schedule with live measurement devices.private voidGenerate noise assessment.private voidGenerate the process flow diagram.private voidGenerate IEC 81346 reference designation schedule for all equipment.private voidGenerate the spare parts inventory.private voidGenerate the thermal utility summary.Get the alarm/trip schedule generator.Get a list of deliverable types that failed generation.Get the fire scenario assessment JSON.Get the instrument schedule generator.Get the noise assessment JSON.Get the PFD in Graphviz DOT format.Get the IEC 81346 reference designation generator.Get the spare parts inventory.Get the generation status map.Get the study class.intGet the number of successfully generated deliverables.Get the thermal utility summary.booleanCheck if all required deliverables were generated successfully.booleanCheck if generation has been run.toJson()Produce a complete JSON report of all generated deliverables.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
logger
private static final org.apache.logging.log4j.Logger logger -
processSystem
The process system to generate deliverables for. -
studyClass
Study class that determines which deliverables are generated. -
pfdDot
PFD in Graphviz DOT format. -
thermalUtilities
Thermal utility summary. -
alarmTripSchedule
Alarm/trip schedule generator. -
sparePartsInventory
Spare parts inventory. -
fireScenarioJson
Fire scenario results as JSON (from FireProtectionDesign). -
noiseAssessmentJson
Noise assessment results as JSON. -
instrumentSchedule
Instrument schedule generator. -
referenceDesignationGenerator
IEC 81346 reference designation generator. -
statusMap
private final Map<StudyClass.DeliverableType, EngineeringDeliverablesPackage.DeliverableStatus> statusMapGeneration status for each deliverable. -
generated
private boolean generatedWhether generation has been run.
-
-
Constructor Details
-
EngineeringDeliverablesPackage
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
-
getPfdDot
Get the PFD in Graphviz DOT format.- Returns:
- DOT string or null if not generated
-
getThermalUtilities
Get the thermal utility summary.- Returns:
- thermal utility summary or null if not generated/required
-
getAlarmTripSchedule
Get the alarm/trip schedule generator.- Returns:
- alarm/trip schedule or null if not generated/required
-
getSparePartsInventory
Get the spare parts inventory.- Returns:
- spare parts inventory or null if not generated/required
-
getFireScenarioJson
Get the fire scenario assessment JSON.- Returns:
- fire scenario JSON or null if not generated/required
-
getNoiseAssessmentJson
Get the noise assessment JSON.- Returns:
- noise assessment JSON or null if not generated/required
-
getInstrumentSchedule
Get the instrument schedule generator.- Returns:
- instrument schedule or null if not generated/required
-
getReferenceDesignationGenerator
Get the IEC 81346 reference designation generator.- Returns:
- reference designation generator or null if not generated/required
-
getStatusMap
public Map<StudyClass.DeliverableType, EngineeringDeliverablesPackage.DeliverableStatus> getStatusMap()Get the generation status map.- Returns:
- map of deliverable type to generation status
-
getFailedDeliverables
Get a list of deliverable types that failed generation.- Returns:
- list of failed deliverable types
-
toJson
Produce a complete JSON report of all generated deliverables.- Returns:
- JSON string with all deliverable outputs
-
toString
-