Class ElectricalMotor
java.lang.Object
neqsim.process.electricaldesign.components.ElectricalMotor
- All Implemented Interfaces:
Serializable
Model of an electric motor for process equipment.
Supports IEC and NEMA sizing standards, efficiency classes IE1-IE4 per IEC 60034-30-1, hazardous area Ex ratings, and part-load performance estimation.
- Version:
- 1.0
- Author:
- Even Solbraa
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringprivate Stringprivate doubleprivate Stringprivate doubleprivate Stringprivate Stringprivate doubleprivate Stringprivate static final double[]Standard IEC motor rated power steps in kW.private Stringprivate doubleprivate intprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate static final longSerialization version UID.private doubleprivate Stringprivate doubleprivate Stringprivate double -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleestimateCost(double powerKW) Estimate motor cost in USD.private doubleestimateEfficiency(double powerKW, int motorPoles, String iecClass) Estimate motor efficiency based on power, poles, and efficiency class.private StringestimateFrameSize(double powerKW, int motorPoles, String standard) Estimate IEC frame size designation.private doubleestimatePowerFactor(double powerKW) Estimate power factor at full load based on motor size.private doubleestimateSlip(double powerKW) Estimate motor slip based on power rating.private doubleestimateWeight(double powerKW) Estimate motor weight in kg.Get the duty type per IEC.doublegetEfficiencyAtLoad(double loadFraction) Get efficiency at a given load fraction.Get the efficiency class per IEC 60034-30-1.doubleGet full-load efficiency in percent.Get the enclosure type.doubleGet estimated cost in USD.Get Ex protection type.Get IEC/NEMA frame size.doubleGet the frequency in Hz.Get gas group.Get the insulation class.doubleGet locked rotor current multiplier.intgetPoles()Get number of poles.doublegetPowerFactorAtLoad(double loadFraction) Get power factor at a given load fraction.doubleGet full-load power factor.doubleGet rated current in amperes.doubleGet the rated power in kW.doubleGet rated speed in RPM.doubleGet the rated voltage in volts.doubleGet the service factor.Get the starting method.doubleGet starting torque as percent of full-load torque.Get temperature class.doubleGet motor weight in kg.private doubleselectStandardPower(double requiredPowerKW) Select the next standard IEC motor power rating above the required power.voidsetDutyType(String dutyType) Set the duty type per IEC.voidsetEfficiencyClass(String efficiencyClass) Set the efficiency class per IEC 60034-30-1.voidsetEfficiencyPercent(double efficiencyPercent) Set full-load efficiency in percent.voidsetEnclosureType(String enclosureType) Set the enclosure type.voidsetEstimatedCostUSD(double estimatedCostUSD) Set estimated cost in USD.voidsetExProtection(String exProtection) Set Ex protection type.voidsetFrameSize(String frameSize) Set IEC/NEMA frame size.voidsetFrequencyHz(double frequencyHz) Set the frequency in Hz.voidsetGasGroup(String gasGroup) Set gas group.voidsetInsulationClass(String insulationClass) Set the insulation class.voidsetLockedRotorCurrentMultiplier(double lockedRotorCurrentMultiplier) Set locked rotor current multiplier.voidsetPoles(int poles) Set number of poles.voidsetPowerFactorFL(double powerFactorFL) Set full-load power factor.voidsetRatedCurrentA(double ratedCurrentA) Set rated current in amperes.voidsetRatedPowerKW(double ratedPowerKW) Set the rated power in kW.voidsetRatedSpeedRPM(double ratedSpeedRPM) Set rated speed in RPM.voidsetRatedVoltageV(double ratedVoltageV) Set the rated voltage in volts.voidsetServiceFactor(double serviceFactor) Set the service factor.voidsetStartingMethod(String startingMethod) Set the starting method.voidsetStartingTorquePercent(double startingTorquePercent) Set starting torque as percent of full-load torque.voidsetTemperatureClass(String temperatureClass) Set temperature class.voidsetWeightKg(double weightKg) Set motor weight in kg.voidSize the motor based on required shaft power.toJson()Serialize motor data to JSON.toMap()Convert motor data to a map.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
IEC_STANDARD_POWERS_KW
private static final double[] IEC_STANDARD_POWERS_KWStandard IEC motor rated power steps in kW. Motors are selected as the next size up from the required power. -
ratedPowerKW
private double ratedPowerKW -
ratedVoltageV
private double ratedVoltageV -
ratedCurrentA
private double ratedCurrentA -
ratedSpeedRPM
private double ratedSpeedRPM -
poles
private int poles -
frequencyHz
private double frequencyHz -
efficiencyPercent
private double efficiencyPercent -
powerFactorFL
private double powerFactorFL -
efficiencyClass
-
frameSize
-
enclosureType
-
insulationClass
-
dutyType
-
serviceFactor
private double serviceFactor -
lockedRotorCurrentMultiplier
private double lockedRotorCurrentMultiplier -
startingMethod
-
startingTorquePercent
private double startingTorquePercent -
exProtection
-
temperatureClass
-
gasGroup
-
weightKg
private double weightKg -
estimatedCostUSD
private double estimatedCostUSD
-
-
Constructor Details
-
ElectricalMotor
public ElectricalMotor()
-
-
Method Details
-
sizeMotor
Size the motor based on required shaft power.Selects the next standard IEC motor size above the required power multiplied by the sizing margin, and estimates efficiency, power factor, weight, and cost.
- Parameters:
shaftPowerKW- required shaft power in kWmargin- sizing margin (e.g. 1.10 for 10% margin)standard- motor standard ("IEC" or "NEMA")
-
selectStandardPower
private double selectStandardPower(double requiredPowerKW) Select the next standard IEC motor power rating above the required power.- Parameters:
requiredPowerKW- required power in kW- Returns:
- next standard motor power rating in kW
-
estimateSlip
private double estimateSlip(double powerKW) Estimate motor slip based on power rating.- Parameters:
powerKW- motor power in kW- Returns:
- estimated slip fraction
-
estimateEfficiency
Estimate motor efficiency based on power, poles, and efficiency class.Based on IEC 60034-30-1 minimum efficiency values for 4-pole machines at 50 Hz.
- Parameters:
powerKW- motor power in kWmotorPoles- number of polesiecClass- efficiency class (IE1-IE4)- Returns:
- estimated efficiency in percent
-
estimatePowerFactor
private double estimatePowerFactor(double powerKW) Estimate power factor at full load based on motor size.- Parameters:
powerKW- motor power in kW- Returns:
- estimated power factor
-
estimateFrameSize
-
estimateWeight
private double estimateWeight(double powerKW) Estimate motor weight in kg.- Parameters:
powerKW- motor power in kW- Returns:
- estimated weight in kg
-
estimateCost
private double estimateCost(double powerKW) Estimate motor cost in USD.- Parameters:
powerKW- motor power in kW- Returns:
- estimated cost in USD
-
getEfficiencyAtLoad
public double getEfficiencyAtLoad(double loadFraction) Get efficiency at a given load fraction.Motors typically have peak efficiency around 75% load.
- Parameters:
loadFraction- load fraction (0-1)- Returns:
- efficiency in percent at the given load
-
getPowerFactorAtLoad
public double getPowerFactorAtLoad(double loadFraction) Get power factor at a given load fraction.- Parameters:
loadFraction- load fraction (0-1)- Returns:
- power factor at the given load
-
toJson
-
toMap
-
getRatedPowerKW
public double getRatedPowerKW()Get the rated power in kW.- Returns:
- rated power in kW
-
setRatedPowerKW
public void setRatedPowerKW(double ratedPowerKW) Set the rated power in kW.- Parameters:
ratedPowerKW- rated power in kW
-
getRatedVoltageV
public double getRatedVoltageV()Get the rated voltage in volts.- Returns:
- rated voltage in V
-
setRatedVoltageV
public void setRatedVoltageV(double ratedVoltageV) Set the rated voltage in volts.- Parameters:
ratedVoltageV- rated voltage in V
-
getRatedCurrentA
public double getRatedCurrentA()Get rated current in amperes.- Returns:
- rated current in A
-
setRatedCurrentA
public void setRatedCurrentA(double ratedCurrentA) Set rated current in amperes.- Parameters:
ratedCurrentA- rated current in A
-
getRatedSpeedRPM
public double getRatedSpeedRPM()Get rated speed in RPM.- Returns:
- rated speed in RPM
-
setRatedSpeedRPM
public void setRatedSpeedRPM(double ratedSpeedRPM) Set rated speed in RPM.- Parameters:
ratedSpeedRPM- rated speed in RPM
-
getPoles
public int getPoles()Get number of poles.- Returns:
- number of poles (2, 4, 6, 8)
-
setPoles
public void setPoles(int poles) Set number of poles.- Parameters:
poles- number of poles (2, 4, 6, 8)
-
getFrequencyHz
public double getFrequencyHz()Get the frequency in Hz.- Returns:
- frequency in Hz
-
setFrequencyHz
public void setFrequencyHz(double frequencyHz) Set the frequency in Hz.- Parameters:
frequencyHz- frequency in Hz
-
getEfficiencyPercent
public double getEfficiencyPercent()Get full-load efficiency in percent.- Returns:
- efficiency in percent
-
setEfficiencyPercent
public void setEfficiencyPercent(double efficiencyPercent) Set full-load efficiency in percent.- Parameters:
efficiencyPercent- efficiency in percent
-
getPowerFactorFL
public double getPowerFactorFL()Get full-load power factor.- Returns:
- power factor at full load
-
setPowerFactorFL
public void setPowerFactorFL(double powerFactorFL) Set full-load power factor.- Parameters:
powerFactorFL- power factor at full load
-
getEfficiencyClass
Get the efficiency class per IEC 60034-30-1.- Returns:
- efficiency class (IE1, IE2, IE3, IE4)
-
setEfficiencyClass
Set the efficiency class per IEC 60034-30-1.- Parameters:
efficiencyClass- efficiency class (IE1, IE2, IE3, IE4)
-
getFrameSize
-
setFrameSize
Set IEC/NEMA frame size.- Parameters:
frameSize- frame size
-
getEnclosureType
Get the enclosure type.- Returns:
- enclosure type (TEFC, TENV, ODP, etc.)
-
setEnclosureType
Set the enclosure type.- Parameters:
enclosureType- enclosure type
-
getInsulationClass
-
setInsulationClass
Set the insulation class.- Parameters:
insulationClass- insulation class (B, F, H)
-
getDutyType
-
setDutyType
Set the duty type per IEC.- Parameters:
dutyType- duty type (S1, S2, S3, etc.)
-
getServiceFactor
public double getServiceFactor()Get the service factor.- Returns:
- service factor (1.0 for IEC, 1.15 for NEMA)
-
setServiceFactor
public void setServiceFactor(double serviceFactor) Set the service factor.- Parameters:
serviceFactor- service factor
-
getLockedRotorCurrentMultiplier
public double getLockedRotorCurrentMultiplier()Get locked rotor current multiplier.- Returns:
- multiplier relative to full-load current
-
setLockedRotorCurrentMultiplier
public void setLockedRotorCurrentMultiplier(double lockedRotorCurrentMultiplier) Set locked rotor current multiplier.- Parameters:
lockedRotorCurrentMultiplier- multiplier relative to full-load current
-
getStartingMethod
Get the starting method.- Returns:
- starting method (DOL, Star-Delta, Soft-Start, VFD)
-
setStartingMethod
Set the starting method.- Parameters:
startingMethod- starting method
-
getStartingTorquePercent
public double getStartingTorquePercent()Get starting torque as percent of full-load torque.- Returns:
- starting torque percent
-
setStartingTorquePercent
public void setStartingTorquePercent(double startingTorquePercent) Set starting torque as percent of full-load torque.- Parameters:
startingTorquePercent- starting torque percent
-
getExProtection
-
setExProtection
Set Ex protection type.- Parameters:
exProtection- Ex protection designation (e.g. "Ex d IIB T3")
-
getTemperatureClass
-
setTemperatureClass
Set temperature class.- Parameters:
temperatureClass- temperature class (T1-T6)
-
getGasGroup
-
setGasGroup
Set gas group.- Parameters:
gasGroup- gas group (IIA, IIB, IIC)
-
getWeightKg
public double getWeightKg()Get motor weight in kg.- Returns:
- weight in kg
-
setWeightKg
public void setWeightKg(double weightKg) Set motor weight in kg.- Parameters:
weightKg- weight in kg
-
getEstimatedCostUSD
public double getEstimatedCostUSD()Get estimated cost in USD.- Returns:
- estimated cost in USD
-
setEstimatedCostUSD
public void setEstimatedCostUSD(double estimatedCostUSD) Set estimated cost in USD.- Parameters:
estimatedCostUSD- estimated cost in USD
-