Class VariableFrequencyDrive
java.lang.Object
neqsim.process.electricaldesign.components.VariableFrequencyDrive
- All Implemented Interfaces:
Serializable
Model of a Variable Frequency Drive (VFD) for motor speed control.
Supports sizing based on motor ratings, efficiency estimation, harmonic distortion calculation per IEEE 519, and different topology types (2-level, 3-level, multi-level, AFE).
- Version:
- 1.0
- Author:
- Even Solbraa
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringprivate doubleprivate Stringprivate doubleprivate booleanprivate booleanprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate Stringprivate doubleprivate doubleprivate booleanprivate static final longSerialization version UID.private doubleprivate Stringprivate double -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleestimateCost(double powerKW, double voltageV) Estimate VFD cost in USD.private doubleestimateWeight(double powerKW, double voltageV) Estimate VFD weight.Get cooling method.doublegetEfficiency(double loadFraction, double speedFraction) Get VFD efficiency at a given load and speed fraction.doubleGet VFD efficiency in percent.doublegetElectricalInputKW(double motorInputKW) Get electrical input power including VFD losses.Get enclosure rating.doubleGet estimated cost in USD.doubleGet heat dissipation in kW.doubleGet input power factor.doubleGet input voltage in V.doubleGet maximum output frequency in Hz.doubleGet maximum speed as percent of rated.doubleGet minimum output frequency in Hz.doubleGet minimum speed as percent of rated.doubleGet output voltage in V.Get pulse configuration.doubleGet rated current in A.doubleGet rated power in kW.doubleGet total harmonic distortion of current in percent.Get the topology type.doubleGet weight in kg.booleanCheck if VFD has active front-end rectifier.booleanCheck if an input filter is required.private voidselectTopology(double powerKW, double voltageV) Select VFD topology based on power and voltage.voidsetCoolingMethod(String coolingMethod) Set cooling method.private voidSet efficiency based on VFD topology.voidsetEfficiencyPercent(double efficiencyPercent) Set VFD efficiency in percent.voidsetEnclosureRating(String enclosureRating) Set enclosure rating.voidsetHasActiveRectifier(boolean hasActiveRectifier) Set whether VFD has active front-end rectifier.voidsetInputPowerFactor(double inputPowerFactor) Set input power factor.voidsetInputVoltageV(double inputVoltageV) Set input voltage in V.voidsetMaxOutputFrequencyHz(double maxOutputFrequencyHz) Set maximum output frequency in Hz.voidsetMaxSpeedPercent(double maxSpeedPercent) Set maximum speed as percent of rated.voidsetMinOutputFrequencyHz(double minOutputFrequencyHz) Set minimum output frequency in Hz.voidsetMinSpeedPercent(double minSpeedPercent) Set minimum speed as percent of rated.voidsetOutputVoltageV(double outputVoltageV) Set output voltage in V.voidsetPulseConfiguration(String pulseConfiguration) Set pulse configuration.voidsetRatedCurrentA(double ratedCurrentA) Set rated current in A.voidsetRatedPowerKW(double ratedPowerKW) Set rated power in kW.voidsetRequiresInputFilter(boolean requiresInputFilter) Set whether an input filter is required.voidsetThdCurrentPercent(double thdCurrentPercent) Set total harmonic distortion of current in percent.voidsetTopologyType(String topologyType) Set the topology type.voidsizeVFD(ElectricalMotor motor) Size the VFD based on motor parameters.toJson()Serialize VFD data to JSON.toMap()Convert VFD data to a map.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
ratedPowerKW
private double ratedPowerKW -
ratedCurrentA
private double ratedCurrentA -
inputVoltageV
private double inputVoltageV -
outputVoltageV
private double outputVoltageV -
maxOutputFrequencyHz
private double maxOutputFrequencyHz -
minOutputFrequencyHz
private double minOutputFrequencyHz -
efficiencyPercent
private double efficiencyPercent -
inputPowerFactor
private double inputPowerFactor -
topologyType
-
hasActiveRectifier
private boolean hasActiveRectifier -
thdCurrentPercent
private double thdCurrentPercent -
requiresInputFilter
private boolean requiresInputFilter -
pulseConfiguration
-
minSpeedPercent
private double minSpeedPercent -
maxSpeedPercent
private double maxSpeedPercent -
hasFieldWeakeningRegion
private boolean hasFieldWeakeningRegion -
heatDissipationKW
private double heatDissipationKW -
coolingMethod
-
weightKg
private double weightKg -
estimatedCostUSD
private double estimatedCostUSD -
enclosureRating
-
-
Constructor Details
-
VariableFrequencyDrive
public VariableFrequencyDrive()
-
-
Method Details
-
sizeVFD
Size the VFD based on motor parameters.Selects VFD ratings, topology, harmonic characteristics, and cost based on the motor's rated power and voltage.
- Parameters:
motor- the motor this VFD drives
-
selectTopology
private void selectTopology(double powerKW, double voltageV) Select VFD topology based on power and voltage.- Parameters:
powerKW- rated power in kWvoltageV- rated voltage in V
-
setEfficiencyByTopology
private void setEfficiencyByTopology()Set efficiency based on VFD topology. -
getElectricalInputKW
public double getElectricalInputKW(double motorInputKW) Get electrical input power including VFD losses.- Parameters:
motorInputKW- motor electrical input power in kW- Returns:
- total electrical input in kW
-
getEfficiency
public double getEfficiency(double loadFraction, double speedFraction) Get VFD efficiency at a given load and speed fraction.- Parameters:
loadFraction- load fraction (0-1)speedFraction- speed fraction (0-1)- Returns:
- efficiency in percent
-
estimateWeight
private double estimateWeight(double powerKW, double voltageV) Estimate VFD weight.- Parameters:
powerKW- rated power in kWvoltageV- rated voltage in V- Returns:
- weight in kg
-
estimateCost
private double estimateCost(double powerKW, double voltageV) Estimate VFD cost in USD.- Parameters:
powerKW- rated power in kWvoltageV- rated voltage in V- Returns:
- estimated cost in USD
-
toJson
-
toMap
-
getRatedPowerKW
public double getRatedPowerKW()Get rated power in kW.- Returns:
- rated power in kW
-
setRatedPowerKW
public void setRatedPowerKW(double ratedPowerKW) Set rated power in kW.- Parameters:
ratedPowerKW- rated power in kW
-
getRatedCurrentA
public double getRatedCurrentA()Get rated current in A.- Returns:
- rated current in A
-
setRatedCurrentA
public void setRatedCurrentA(double ratedCurrentA) Set rated current in A.- Parameters:
ratedCurrentA- rated current in A
-
getInputVoltageV
public double getInputVoltageV()Get input voltage in V.- Returns:
- input voltage in V
-
setInputVoltageV
public void setInputVoltageV(double inputVoltageV) Set input voltage in V.- Parameters:
inputVoltageV- input voltage in V
-
getOutputVoltageV
public double getOutputVoltageV()Get output voltage in V.- Returns:
- output voltage in V
-
setOutputVoltageV
public void setOutputVoltageV(double outputVoltageV) Set output voltage in V.- Parameters:
outputVoltageV- output voltage in V
-
getMaxOutputFrequencyHz
public double getMaxOutputFrequencyHz()Get maximum output frequency in Hz.- Returns:
- max output frequency in Hz
-
setMaxOutputFrequencyHz
public void setMaxOutputFrequencyHz(double maxOutputFrequencyHz) Set maximum output frequency in Hz.- Parameters:
maxOutputFrequencyHz- max output frequency in Hz
-
getMinOutputFrequencyHz
public double getMinOutputFrequencyHz()Get minimum output frequency in Hz.- Returns:
- min output frequency in Hz
-
setMinOutputFrequencyHz
public void setMinOutputFrequencyHz(double minOutputFrequencyHz) Set minimum output frequency in Hz.- Parameters:
minOutputFrequencyHz- min output frequency in Hz
-
getEfficiencyPercent
public double getEfficiencyPercent()Get VFD efficiency in percent.- Returns:
- efficiency percent
-
setEfficiencyPercent
public void setEfficiencyPercent(double efficiencyPercent) Set VFD efficiency in percent.- Parameters:
efficiencyPercent- efficiency percent
-
getInputPowerFactor
public double getInputPowerFactor()Get input power factor.- Returns:
- input power factor
-
setInputPowerFactor
public void setInputPowerFactor(double inputPowerFactor) Set input power factor.- Parameters:
inputPowerFactor- input power factor
-
getTopologyType
-
setTopologyType
Set the topology type.- Parameters:
topologyType- topology type (2-level, 3-level, Multi-level)
-
isHasActiveRectifier
public boolean isHasActiveRectifier()Check if VFD has active front-end rectifier.- Returns:
- true if AFE is present
-
setHasActiveRectifier
public void setHasActiveRectifier(boolean hasActiveRectifier) Set whether VFD has active front-end rectifier.- Parameters:
hasActiveRectifier- true for AFE
-
getThdCurrentPercent
public double getThdCurrentPercent()Get total harmonic distortion of current in percent.- Returns:
- THD-i in percent
-
setThdCurrentPercent
public void setThdCurrentPercent(double thdCurrentPercent) Set total harmonic distortion of current in percent.- Parameters:
thdCurrentPercent- THD-i in percent
-
isRequiresInputFilter
public boolean isRequiresInputFilter()Check if an input filter is required.- Returns:
- true if input filter is required
-
setRequiresInputFilter
public void setRequiresInputFilter(boolean requiresInputFilter) Set whether an input filter is required.- Parameters:
requiresInputFilter- true if input filter is required
-
getPulseConfiguration
Get pulse configuration.- Returns:
- pulse configuration (6-pulse, 12-pulse, 18-pulse, AFE)
-
setPulseConfiguration
Set pulse configuration.- Parameters:
pulseConfiguration- pulse configuration
-
getHeatDissipationKW
public double getHeatDissipationKW()Get heat dissipation in kW.- Returns:
- heat dissipation in kW
-
getCoolingMethod
-
setCoolingMethod
Set cooling method.- Parameters:
coolingMethod- cooling method
-
getWeightKg
public double getWeightKg()Get weight in kg.- Returns:
- weight in kg
-
getEstimatedCostUSD
public double getEstimatedCostUSD()Get estimated cost in USD.- Returns:
- estimated cost in USD
-
getEnclosureRating
-
setEnclosureRating
Set enclosure rating.- Parameters:
enclosureRating- IP enclosure rating
-
getMinSpeedPercent
public double getMinSpeedPercent()Get minimum speed as percent of rated.- Returns:
- min speed percent
-
setMinSpeedPercent
public void setMinSpeedPercent(double minSpeedPercent) Set minimum speed as percent of rated.- Parameters:
minSpeedPercent- min speed percent
-
getMaxSpeedPercent
public double getMaxSpeedPercent()Get maximum speed as percent of rated.- Returns:
- max speed percent
-
setMaxSpeedPercent
public void setMaxSpeedPercent(double maxSpeedPercent) Set maximum speed as percent of rated.- Parameters:
maxSpeedPercent- max speed percent
-