Class ElectricMotorDriver
java.lang.Object
neqsim.process.equipment.compressor.driver.DriverCurveBase
neqsim.process.equipment.compressor.driver.ElectricMotorDriver
- All Implemented Interfaces:
Serializable, DriverCurve
Electric motor driver model with VFD support.
Models electric motor performance including:
- Fixed speed or variable frequency drive (VFD) operation
- Constant torque or constant power speed ranges
- Part-load efficiency characteristics
- Motor temperature limits
VFD Operation Modes
- Constant Torque: Torque is constant up to base speed, power proportional to speed
- Constant Power: Above base speed, power is constant, torque decreases
Efficiency Characteristics
Electric motors have high efficiency at rated load (typically 90-97% for large motors) with efficiency dropping at part load due to fixed losses (core losses, friction).
Example Usage
ElectricMotorDriver motor = new ElectricMotorDriver(5000, 3600, 0.95); motor.setHasVFD(true); motor.setMinSpeedRatio(0.3); // 30% minimum speed with VFD double availablePower = motor.getAvailablePower(2500); // At 2500 RPM double efficiency = motor.getEfficiency(3000, 0.8); // At 80% load
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleBase speed for field weakening region (fraction of rated speed).private doublePart-load efficiency at 25% load (fraction of full load efficiency).private doublePart-load efficiency at 50% load (fraction of full load efficiency).private doublePart-load efficiency at 75% load (fraction of full load efficiency).private StringMotor efficiency class (IE1, IE2, IE3, IE4).private booleanWhether motor has a variable frequency drive.private doubleInsulation class temperature limit in Celsius.private doubleMaximum speed ratio (typically 1.2-1.5 with field weakening).private doubleMinimum speed ratio with VFD (fraction of rated speed).private static final longSerialization version UID.private doubleService factor (continuous overload capability).Fields inherited from class DriverCurveBase
altitude, ambientTemperature, designEfficiency, maxSpeed, minSpeed, ratedPower, ratedSpeed -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.ElectricMotorDriver(double ratedPowerKW, double designEfficiency) Constructor with rated power and efficiency.ElectricMotorDriver(double ratedPowerKW, double ratedSpeedRPM, double designEfficiency) Constructor with full parameters. -
Method Summary
Modifier and TypeMethodDescriptiondoubleGets the power derating factor due to ambient conditions.doublegetAvailablePower(double speed) Gets the available power at the specified speed.doublegetAvailableTorque(double speed) Gets the available torque at the specified speed.doubleGets the base speed ratio (transition to field weakening).Gets the type of driver.doublegetEfficiency(double speed, double loadFraction) Gets the driver efficiency at the specified speed and load.Gets the efficiency class.doublegetElectricalInput(double mechanicalPowerKW, double speed) Gets the electrical power input for given mechanical output.doublegetFuelConsumption(double powerOutput, double speed) Gets the fuel or energy consumption for the given power output.doubleGets the maximum speed ratio.doubleGets the minimum speed ratio.private doublegetPartLoadEfficiency(double loadFraction) Gets the part-load efficiency.doubleGets the service factor.booleanhasVFD()Checks if motor has VFD.private doubleinterpolate(double x, double x1, double x2, double y1, double y2) Linear interpolation helper.voidsetBaseSpeedRatio(double ratio) Sets the base speed ratio.voidsetEfficiencyClass(String efficiencyClass) Sets the efficiency class and updates efficiency characteristics.voidsetHasVFD(boolean hasVFD) Sets whether motor has VFD.voidsetMaxSpeedRatio(double ratio) Sets the maximum speed ratio.voidsetMinSpeedRatio(double ratio) Sets the minimum speed ratio for VFD operation.voidsetServiceFactor(double serviceFactor) Sets the service factor.Methods inherited from class DriverCurveBase
canSupplyPower, getAltitude, getAmbientTemperature, getDesignEfficiency, getMaxSpeed, getMinSpeed, getRatedPower, getRatedSpeed, setAltitude, setAmbientTemperature, setDesignEfficiency, setMaxSpeed, setMinSpeed, setRatedPower, setRatedSpeedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DriverCurve
getPowerMargin
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
hasVFD
private boolean hasVFDWhether motor has a variable frequency drive. -
minSpeedRatio
private double minSpeedRatioMinimum speed ratio with VFD (fraction of rated speed). -
baseSpeedRatio
private double baseSpeedRatioBase speed for field weakening region (fraction of rated speed). -
maxSpeedRatio
private double maxSpeedRatioMaximum speed ratio (typically 1.2-1.5 with field weakening). -
efficiencyClass
Motor efficiency class (IE1, IE2, IE3, IE4). -
serviceFactor
private double serviceFactorService factor (continuous overload capability). -
insulationTempLimit
private double insulationTempLimitInsulation class temperature limit in Celsius. -
efficiency75
private double efficiency75Part-load efficiency at 75% load (fraction of full load efficiency). -
efficiency50
private double efficiency50Part-load efficiency at 50% load (fraction of full load efficiency). -
efficiency25
private double efficiency25Part-load efficiency at 25% load (fraction of full load efficiency).
-
-
Constructor Details
-
ElectricMotorDriver
public ElectricMotorDriver()Default constructor. -
ElectricMotorDriver
public ElectricMotorDriver(double ratedPowerKW, double designEfficiency) Constructor with rated power and efficiency.- Parameters:
ratedPowerKW- rated mechanical output power in kWdesignEfficiency- design efficiency at rated conditions (0-1)
-
ElectricMotorDriver
public ElectricMotorDriver(double ratedPowerKW, double ratedSpeedRPM, double designEfficiency) Constructor with full parameters.- Parameters:
ratedPowerKW- rated mechanical output power in kWratedSpeedRPM- rated speed in RPMdesignEfficiency- design efficiency at rated conditions (0-1)
-
-
Method Details
-
getDriverType
-
getAvailablePower
public double getAvailablePower(double speed) Gets the available power at the specified speed.For gas turbines, this accounts for ambient temperature derating. For electric motors with VFD, this may be constant torque (power proportional to speed) or constant power.
- Parameters:
speed- operating speed in RPM- Returns:
- available power in kW
-
getAvailableTorque
public double getAvailableTorque(double speed) Gets the available torque at the specified speed.- Specified by:
getAvailableTorquein interfaceDriverCurve- Overrides:
getAvailableTorquein classDriverCurveBase- Parameters:
speed- operating speed in RPM- Returns:
- available torque in Nm
-
getEfficiency
public double getEfficiency(double speed, double loadFraction) Gets the driver efficiency at the specified speed and load.- Parameters:
speed- operating speed in RPMloadFraction- load as fraction of available power (0-1)- Returns:
- efficiency as fraction (0-1)
-
getPartLoadEfficiency
private double getPartLoadEfficiency(double loadFraction) Gets the part-load efficiency.- Parameters:
loadFraction- load as fraction of rated power (0-1)- Returns:
- efficiency (0-1)
-
interpolate
private double interpolate(double x, double x1, double x2, double y1, double y2) Linear interpolation helper.- Parameters:
x- the value to interpolate atx1- first x coordinatex2- second x coordinatey1- first y coordinatey2- second y coordinate- Returns:
- the interpolated y value at x
-
getAmbientDeratingFactor
public double getAmbientDeratingFactor()Gets the power derating factor due to ambient conditions.Returns a factor between 0 and 1 that is applied to the rated power to get the available power at current ambient conditions.
- Returns:
- derating factor (0-1)
-
getFuelConsumption
public double getFuelConsumption(double powerOutput, double speed) Gets the fuel or energy consumption for the given power output.For gas turbines, returns fuel gas consumption in kg/hr or kW. For electric motors, returns electrical power input in kW.
- Parameters:
powerOutput- power output in kWspeed- operating speed in RPM- Returns:
- fuel or energy consumption
-
getElectricalInput
public double getElectricalInput(double mechanicalPowerKW, double speed) Gets the electrical power input for given mechanical output.- Parameters:
mechanicalPowerKW- mechanical output power in kWspeed- operating speed in RPM- Returns:
- electrical input power in kW
-
hasVFD
public boolean hasVFD()Checks if motor has VFD.- Returns:
- true if motor has VFD
-
setHasVFD
public void setHasVFD(boolean hasVFD) Sets whether motor has VFD.- Parameters:
hasVFD- true to enable VFD operation
-
getMinSpeedRatio
public double getMinSpeedRatio()Gets the minimum speed ratio.- Returns:
- minimum speed as fraction of rated speed
-
setMinSpeedRatio
public void setMinSpeedRatio(double ratio) Sets the minimum speed ratio for VFD operation.- Parameters:
ratio- minimum speed as fraction of rated speed (0-1)
-
getBaseSpeedRatio
public double getBaseSpeedRatio()Gets the base speed ratio (transition to field weakening).- Returns:
- base speed as fraction of rated speed
-
setBaseSpeedRatio
public void setBaseSpeedRatio(double ratio) Sets the base speed ratio.- Parameters:
ratio- base speed as fraction of rated speed
-
getMaxSpeedRatio
public double getMaxSpeedRatio()Gets the maximum speed ratio.- Returns:
- maximum speed as fraction of rated speed
-
setMaxSpeedRatio
public void setMaxSpeedRatio(double ratio) Sets the maximum speed ratio.- Parameters:
ratio- maximum speed as fraction of rated speed
-
getServiceFactor
public double getServiceFactor()Gets the service factor.- Returns:
- service factor
-
setServiceFactor
public void setServiceFactor(double serviceFactor) Sets the service factor.- Parameters:
serviceFactor- service factor (typically 1.0-1.25)
-
getEfficiencyClass
Gets the efficiency class.- Returns:
- efficiency class string (IE1, IE2, IE3, IE4)
-
setEfficiencyClass
Sets the efficiency class and updates efficiency characteristics.- Parameters:
efficiencyClass- efficiency class (IE1, IE2, IE3, IE4)
-