Class EquipmentDesignReport
java.lang.Object
neqsim.process.mechanicaldesign.EquipmentDesignReport
- All Implemented Interfaces:
Serializable
Generates a combined equipment design report covering mechanical, electrical, and motor design.
This class aggregates the results from:
MechanicalDesign— process vessel/equipment sizing, wall thickness, weightsElectricalDesign— motor selection, VFD, cable, switchgear, transformerMotorMechanicalDesign— motor foundation, vibration, cooling, bearings, noise
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
| 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 Summary
FieldsModifier and TypeFieldDescriptionprivate doubleInstallation altitude in meters.private doubleAmbient temperature in Celsius.private doubleCable length from MCC to motor in meters.private ElectricalDesignElectrical design.private ProcessEquipmentInterfaceThe process equipment.private doubleSupply frequency in Hz.private StringGas group for Ex-rating (IIA, IIB, IIC).private intHazardous zone (-1 = safe, 0, 1, 2).Report issues and warnings.private MechanicalDesignMechanical design (may already exist on equipment).private MotorMechanicalDesignMotor mechanical design.private intMotor number of poles.private doubleMotor sizing margin factor.private StringMotor standard: "IEC" or "NEMA".private doubleSupply voltage in volts.private booleanWhether report has been generated.private static final longSerialization version UID.private booleanWhether to use a VFD.private StringReport verdict. -
Constructor Summary
ConstructorsConstructorDescriptionEquipmentDesignReport(ProcessEquipmentInterface equipment) Constructor with process equipment. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidEvaluate overall design verdict based on all checks.voidGenerate the complete design report.Gets the electrical design.intGets the hazardous area zone.Gets the list of issues and warnings.Gets the mechanical design.Gets the motor mechanical design.doubleGets the supply voltage.Gets the verdict.booleanChecks if the report has been generated.booleanisUseVFD()Gets whether VFD is used.voidsetAltitudeM(double altitudeM) Sets the installation altitude.voidsetAmbientTemperatureC(double ambientTemperatureC) Sets the ambient temperature.voidsetCableLengthM(double cableLengthM) Sets the cable length from MCC to motor.voidsetFrequencyHz(double frequencyHz) Sets the supply frequency.voidsetGasGroup(String gasGroup) Sets the gas group for Ex classification.voidsetHazardousZone(int hazardousZone) Sets the hazardous area zone.voidsetMotorPoles(int motorPoles) Sets the motor number of poles.voidsetMotorSizingMargin(double margin) Sets the motor sizing margin.voidsetMotorStandard(String motorStandard) Sets the motor standard.voidsetRatedVoltageV(double ratedVoltageV) Sets the supply voltage.voidsetUseVFD(boolean useVFD) Sets whether to use a VFD.toJson()Serialize the complete design report to JSON.Generate a summary map for load list integration.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
equipment
The process equipment. -
mechanicalDesign
Mechanical design (may already exist on equipment). -
electricalDesign
Electrical design. -
motorMechanicalDesign
Motor mechanical design. -
useVFD
private boolean useVFDWhether to use a VFD. -
ratedVoltageV
private double ratedVoltageVSupply voltage in volts. -
frequencyHz
private double frequencyHzSupply frequency in Hz. -
hazardousZone
private int hazardousZoneHazardous zone (-1 = safe, 0, 1, 2). -
gasGroup
Gas group for Ex-rating (IIA, IIB, IIC). -
ambientTemperatureC
private double ambientTemperatureCAmbient temperature in Celsius. -
altitudeM
private double altitudeMInstallation altitude in meters. -
motorStandard
Motor standard: "IEC" or "NEMA". -
motorPoles
private int motorPolesMotor number of poles. -
motorSizingMargin
private double motorSizingMarginMotor sizing margin factor. -
cableLengthM
private double cableLengthMCable length from MCC to motor in meters. -
reportGenerated
private boolean reportGeneratedWhether report has been generated. -
verdict
Report verdict. -
issues
-
-
Constructor Details
-
EquipmentDesignReport
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
Serialize the complete design report to JSON.- Returns:
- comprehensive JSON string with mechanical, electrical, and motor design data
-
toLoadListEntry
-
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
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
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
Gets the verdict.- Returns:
- "FEASIBLE", "FEASIBLE_WITH_WARNINGS", or "NOT_FEASIBLE"
-
getIssues
-
getMechanicalDesign
Gets the mechanical design.- Returns:
- mechanical design, or null
-
getElectricalDesign
Gets the electrical design.- Returns:
- electrical design, or null
-
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
-