Class EquipmentDesignReport

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

public class EquipmentDesignReport extends Object implements Serializable
Generates a combined equipment design report covering mechanical, electrical, and motor design.

This class aggregates the results from:

The report is equipment-agnostic and works with any process equipment that has mechanical and/or electrical design requirements (compressors, pumps, fans, agitators, etc.).

Standards coverage

Standards referenced in equipment design report
Discipline Standards
Mechanical ASME VIII, API 617/610/521, NORSOK P-001/P-002
Electrical IEC 60034, IEC 60502, IEC 61439, IEEE 841, NORSOK E-001
Motor mech. IEC 60034-14, ISO 10816-3, ISO 281, NORSOK S-002
Safety IEC 60079 (ATEX/IECEx), IEC 61936

Usage example

// After running a compressor
Compressor comp = new Compressor("export", feed);
comp.run();

EquipmentDesignReport report = new EquipmentDesignReport(comp);
report.setUseVFD(true);
report.setRatedVoltageV(6600);
report.setHazardousZone(1);
report.setAmbientTemperatureC(45.0);
report.setAltitudeM(500.0);
report.generateReport();

String json = report.toJson();
Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • equipment

      private ProcessEquipmentInterface equipment
      The process equipment.
    • mechanicalDesign

      private MechanicalDesign mechanicalDesign
      Mechanical design (may already exist on equipment).
    • electricalDesign

      private ElectricalDesign electricalDesign
      Electrical design.
    • motorMechanicalDesign

      private MotorMechanicalDesign motorMechanicalDesign
      Motor mechanical design.
    • useVFD

      private boolean useVFD
      Whether to use a VFD.
    • ratedVoltageV

      private double ratedVoltageV
      Supply voltage in volts.
    • frequencyHz

      private double frequencyHz
      Supply frequency in Hz.
    • hazardousZone

      private int hazardousZone
      Hazardous zone (-1 = safe, 0, 1, 2).
    • gasGroup

      private String gasGroup
      Gas group for Ex-rating (IIA, IIB, IIC).
    • ambientTemperatureC

      private double ambientTemperatureC
      Ambient temperature in Celsius.
    • altitudeM

      private double altitudeM
      Installation altitude in meters.
    • motorStandard

      private String motorStandard
      Motor standard: "IEC" or "NEMA".
    • motorPoles

      private int motorPoles
      Motor number of poles.
    • motorSizingMargin

      private double motorSizingMargin
      Motor sizing margin factor.
    • cableLengthM

      private double cableLengthM
      Cable length from MCC to motor in meters.
    • reportGenerated

      private boolean reportGenerated
      Whether report has been generated.
    • verdict

      private String verdict
      Report verdict.
    • issues

      private List<String> issues
      Report issues and warnings.
  • Constructor Details

    • EquipmentDesignReport

      public EquipmentDesignReport(ProcessEquipmentInterface equipment)
      Constructor with process equipment.
      Parameters:
      equipment - the process equipment to generate design report for
  • Method Details

    • generateReport

      public void generateReport()
      Generate the complete design report.

      Runs mechanical design (if not already done), electrical design, and motor mechanical design. Aggregates results and generates verdict.

    • evaluateVerdict

      private void evaluateVerdict()
      Evaluate overall design verdict based on all checks.
    • toJson

      public String toJson()
      Serialize the complete design report to JSON.
      Returns:
      comprehensive JSON string with mechanical, electrical, and motor design data
    • toLoadListEntry

      public Map<String,Object> toLoadListEntry()
      Generate a summary map for load list integration.
      Returns:
      map with key electrical load parameters
    • setUseVFD

      public void setUseVFD(boolean useVFD)
      Sets whether to use a VFD.
      Parameters:
      useVFD - true to use VFD
    • isUseVFD

      public boolean isUseVFD()
      Gets whether VFD is used.
      Returns:
      true if VFD is used
    • setRatedVoltageV

      public void setRatedVoltageV(double ratedVoltageV)
      Sets the supply voltage.
      Parameters:
      ratedVoltageV - voltage in volts
    • getRatedVoltageV

      public double getRatedVoltageV()
      Gets the supply voltage.
      Returns:
      voltage in volts
    • setFrequencyHz

      public void setFrequencyHz(double frequencyHz)
      Sets the supply frequency.
      Parameters:
      frequencyHz - frequency in Hz
    • setHazardousZone

      public void setHazardousZone(int hazardousZone)
      Sets the hazardous area zone.
      Parameters:
      hazardousZone - zone (-1=safe, 0, 1, or 2)
    • getHazardousZone

      public int getHazardousZone()
      Gets the hazardous area zone.
      Returns:
      zone number
    • setGasGroup

      public void setGasGroup(String gasGroup)
      Sets the gas group for Ex classification.
      Parameters:
      gasGroup - gas group (IIA, IIB, IIC)
    • setAmbientTemperatureC

      public void setAmbientTemperatureC(double ambientTemperatureC)
      Sets the ambient temperature.
      Parameters:
      ambientTemperatureC - ambient temperature in Celsius
    • setAltitudeM

      public void setAltitudeM(double altitudeM)
      Sets the installation altitude.
      Parameters:
      altitudeM - altitude in meters
    • setMotorStandard

      public void setMotorStandard(String motorStandard)
      Sets the motor standard.
      Parameters:
      motorStandard - "IEC" or "NEMA"
    • setMotorPoles

      public void setMotorPoles(int motorPoles)
      Sets the motor number of poles.
      Parameters:
      motorPoles - number of poles (2, 4, 6, 8)
    • setMotorSizingMargin

      public void setMotorSizingMargin(double margin)
      Sets the motor sizing margin.
      Parameters:
      margin - sizing margin (e.g. 1.10 for 10%)
    • setCableLengthM

      public void setCableLengthM(double cableLengthM)
      Sets the cable length from MCC to motor.
      Parameters:
      cableLengthM - cable length in meters
    • getVerdict

      public String getVerdict()
      Gets the verdict.
      Returns:
      "FEASIBLE", "FEASIBLE_WITH_WARNINGS", or "NOT_FEASIBLE"
    • getIssues

      public List<String> getIssues()
      Gets the list of issues and warnings.
      Returns:
      list of issues
    • getMechanicalDesign

      public MechanicalDesign getMechanicalDesign()
      Gets the mechanical design.
      Returns:
      mechanical design, or null
    • getElectricalDesign

      public ElectricalDesign getElectricalDesign()
      Gets the electrical design.
      Returns:
      electrical design, or null
    • getMotorMechanicalDesign

      public MotorMechanicalDesign getMotorMechanicalDesign()
      Gets the motor mechanical design.
      Returns:
      motor mechanical design, or null
    • isReportGenerated

      public boolean isReportGenerated()
      Checks if the report has been generated.
      Returns:
      true if report generated