Class ElectricalDesign
java.lang.Object
neqsim.process.electricaldesign.ElectricalDesign
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
CompressorElectricalDesign, HeatExchangerElectricalDesign, PipelineElectricalDesign, PumpElectricalDesign, SeparatorElectricalDesign
Base class for electrical design of process equipment.
Mirrors the MechanicalDesign pattern. Each piece of
process equipment can have an associated electrical design that sizes motors, VFDs, cables,
switchgear, and transformers based on the process duty.
- Version:
- 1.0
- Author:
- Even Solbraa
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate doubleprivate Stringprivate booleanprivate ElectricalCableprivate doubleprivate doubleprivate doubleprivate HazardousAreaClassificationprivate Stringprivate ElectricalMotorprivate doubleprivate Stringprivate intprivate ElectricalCableprivate doubleprivate ProcessEquipmentInterfaceThe process equipment this electrical design belongs to.private doubleprivate doubleprivate static final longSerialization version UID.private doubleprivate Switchgearprivate Transformerprivate booleanprivate VariableFrequencyDrive -
Constructor Summary
ConstructorsConstructorDescriptionElectricalDesign(ProcessEquipmentInterface processEquipment) Constructor for ElectricalDesign. -
Method Summary
Modifier and TypeMethodDescriptionvoidRun the electrical design calculation.doubleGet apparent power in kVA.doubleGet the cable derating factor.Get the cable standard.Get the control cable.doubleGet the diversity factor for load list contribution.doubleGet electrical input power in kW.doubleGet supply frequency in Hz.doubleCalculate the full-load current in amperes.Get the hazardous area classification.Get the hazardous area classification standard.getMotor()Get the electrical motor.doubleGet the motor sizing margin.Get the motor standard.intGet number of phases.Get the power cable.doubleGet the power factor (cos phi).Get the process equipment.protected doubleGet shaft power from the process equipment.doubleGet rated voltage in volts.doubleGet reactive power in kVAR.doubleGet shaft power in kW.doubleCalculate the starting current in amperes.Get the switchgear.doubleGet total electrical losses (motor + VFD) in kW.Get the transformer.getVfd()Get the variable frequency drive.booleanCheck if equipment is continuous duty.booleanisUseVFD()Check if VFD is used.voidRead design specifications from data sources.voidsetApparentPowerKVA(double apparentPowerKVA) Set apparent power in kVA.voidsetCableDeratingFactor(double cableDeratingFactor) Set the cable derating factor.voidsetCableStandard(String cableStandard) Set the cable standard.voidsetContinuousDuty(boolean continuousDuty) Set continuous duty flag.voidsetControlCable(ElectricalCable controlCable) Set the control cable.voidsetDiversityFactor(double diversityFactor) Set the diversity factor for load list contribution.voidsetElectricalInputKW(double electricalInputKW) Set electrical input power in kW.voidsetFrequencyHz(double frequencyHz) Set supply frequency in Hz.voidsetHazArea(HazardousAreaClassification hazArea) Set the hazardous area classification.voidsetHazAreaStandard(String hazAreaStandard) Set the hazardous area classification standard.voidsetMotor(ElectricalMotor motor) Set the electrical motor.voidsetMotorSizingMargin(double motorSizingMargin) Set the motor sizing margin.voidsetMotorStandard(String motorStandard) Set the motor standard.voidsetPhases(int phases) Set number of phases.voidsetPowerCable(ElectricalCable powerCable) Set the power cable.voidsetPowerFactor(double powerFactor) Set the power factor (cos phi).voidsetRatedVoltageV(double ratedVoltageV) Set rated voltage in volts.voidsetReactivePowerKVAR(double reactivePowerKVAR) Set reactive power in kVAR.voidsetShaftPowerKW(double shaftPowerKW) Set shaft power in kW.voidsetSwitchgear(Switchgear switchgear) Set the switchgear.voidsetTransformer(Transformer transformer) Set the transformer.voidsetUseVFD(boolean useVFD) Set whether VFD is used.voidSet the variable frequency drive.toJson()Serialize the electrical design to JSON.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
processEquipment
The process equipment this electrical design belongs to. -
shaftPowerKW
private double shaftPowerKW -
electricalInputKW
private double electricalInputKW -
apparentPowerKVA
private double apparentPowerKVA -
reactivePowerKVAR
private double reactivePowerKVAR -
powerFactor
private double powerFactor -
ratedVoltageV
private double ratedVoltageV -
frequencyHz
private double frequencyHz -
phases
private int phases -
motor
-
vfd
-
powerCable
-
controlCable
-
switchgear
-
transformer
-
hazArea
-
motorSizingMargin
private double motorSizingMargin -
cableDeratingFactor
private double cableDeratingFactor -
diversityFactor
private double diversityFactor -
continuousDuty
private boolean continuousDuty -
useVFD
private boolean useVFD -
motorStandard
-
cableStandard
-
hazAreaStandard
-
-
Constructor Details
-
ElectricalDesign
Constructor for ElectricalDesign.- Parameters:
processEquipment- the process equipment this design belongs to
-
-
Method Details
-
calcDesign
public void calcDesign()Run the electrical design calculation.Sizes the motor, optional VFD, cables, and switchgear based on the process equipment's shaft power requirement.
-
readDesignSpecifications
public void readDesignSpecifications()Read design specifications from data sources.Subclasses can override to load equipment-specific electrical specifications.
-
getProcessShaftPowerKW
protected double getProcessShaftPowerKW()Get shaft power from the process equipment.Default returns the manually set shaftPowerKW value. Equipment-specific subclasses should override this to read from the process equipment directly.
- Returns:
- shaft power in kW
-
getFullLoadCurrentA
public double getFullLoadCurrentA()Calculate the full-load current in amperes.- Returns:
- full-load current in A
-
getStartingCurrentA
public double getStartingCurrentA()Calculate the starting current in amperes.- Returns:
- starting current in A
-
getTotalElectricalLossesKW
public double getTotalElectricalLossesKW()Get total electrical losses (motor + VFD) in kW.- Returns:
- total electrical losses in kW
-
toJson
Serialize the electrical design to JSON.- Returns:
- JSON string with all electrical design data
-
getProcessEquipment
Get the process equipment.- Returns:
- the process equipment
-
getShaftPowerKW
public double getShaftPowerKW()Get shaft power in kW.- Returns:
- shaft power in kW
-
setShaftPowerKW
public void setShaftPowerKW(double shaftPowerKW) Set shaft power in kW.- Parameters:
shaftPowerKW- shaft power in kW
-
getElectricalInputKW
public double getElectricalInputKW()Get electrical input power in kW.- Returns:
- electrical input power in kW
-
setElectricalInputKW
public void setElectricalInputKW(double electricalInputKW) Set electrical input power in kW.- Parameters:
electricalInputKW- electrical input power in kW
-
getApparentPowerKVA
public double getApparentPowerKVA()Get apparent power in kVA.- Returns:
- apparent power in kVA
-
setApparentPowerKVA
public void setApparentPowerKVA(double apparentPowerKVA) Set apparent power in kVA.- Parameters:
apparentPowerKVA- apparent power in kVA
-
getReactivePowerKVAR
public double getReactivePowerKVAR()Get reactive power in kVAR.- Returns:
- reactive power in kVAR
-
setReactivePowerKVAR
public void setReactivePowerKVAR(double reactivePowerKVAR) Set reactive power in kVAR.- Parameters:
reactivePowerKVAR- reactive power in kVAR
-
getPowerFactor
public double getPowerFactor()Get the power factor (cos phi).- Returns:
- power factor
-
setPowerFactor
public void setPowerFactor(double powerFactor) Set the power factor (cos phi).- Parameters:
powerFactor- power factor
-
getRatedVoltageV
public double getRatedVoltageV()Get rated voltage in volts.- Returns:
- rated voltage in V
-
setRatedVoltageV
public void setRatedVoltageV(double ratedVoltageV) Set rated voltage in volts.- Parameters:
ratedVoltageV- rated voltage in V
-
getFrequencyHz
public double getFrequencyHz()Get supply frequency in Hz.- Returns:
- frequency in Hz
-
setFrequencyHz
public void setFrequencyHz(double frequencyHz) Set supply frequency in Hz.- Parameters:
frequencyHz- frequency in Hz
-
getPhases
public int getPhases()Get number of phases.- Returns:
- number of phases (1 or 3)
-
setPhases
public void setPhases(int phases) Set number of phases.- Parameters:
phases- number of phases (1 or 3)
-
getMotor
-
setMotor
-
getVfd
Get the variable frequency drive.- Returns:
- the VFD, or null if not used
-
setVfd
Set the variable frequency drive.- Parameters:
vfd- the VFD
-
getPowerCable
-
setPowerCable
Set the power cable.- Parameters:
powerCable- the power cable
-
getControlCable
-
setControlCable
Set the control cable.- Parameters:
controlCable- the control cable
-
getSwitchgear
-
setSwitchgear
Set the switchgear.- Parameters:
switchgear- the switchgear
-
getTransformer
Get the transformer.- Returns:
- the transformer, or null if not applicable
-
setTransformer
Set the transformer.- Parameters:
transformer- the transformer
-
getHazArea
Get the hazardous area classification.- Returns:
- hazardous area classification
-
setHazArea
Set the hazardous area classification.- Parameters:
hazArea- hazardous area classification
-
getMotorSizingMargin
public double getMotorSizingMargin()Get the motor sizing margin.- Returns:
- motor sizing margin (e.g. 1.10 for 10%)
-
setMotorSizingMargin
public void setMotorSizingMargin(double motorSizingMargin) Set the motor sizing margin.- Parameters:
motorSizingMargin- motor sizing margin (e.g. 1.10 for 10%)
-
getCableDeratingFactor
public double getCableDeratingFactor()Get the cable derating factor.- Returns:
- cable derating factor
-
setCableDeratingFactor
public void setCableDeratingFactor(double cableDeratingFactor) Set the cable derating factor.- Parameters:
cableDeratingFactor- cable derating factor
-
getDiversityFactor
public double getDiversityFactor()Get the diversity factor for load list contribution.- Returns:
- diversity factor (0-1)
-
setDiversityFactor
public void setDiversityFactor(double diversityFactor) Set the diversity factor for load list contribution.- Parameters:
diversityFactor- diversity factor (0-1)
-
isContinuousDuty
public boolean isContinuousDuty()Check if equipment is continuous duty.- Returns:
- true if continuous duty (S1)
-
setContinuousDuty
public void setContinuousDuty(boolean continuousDuty) Set continuous duty flag.- Parameters:
continuousDuty- true for continuous duty (S1)
-
isUseVFD
public boolean isUseVFD()Check if VFD is used.- Returns:
- true if VFD is used
-
setUseVFD
public void setUseVFD(boolean useVFD) Set whether VFD is used.- Parameters:
useVFD- true to use VFD
-
getMotorStandard
-
setMotorStandard
Set the motor standard.- Parameters:
motorStandard- motor standard ("IEC" or "NEMA")
-
getCableStandard
-
setCableStandard
Set the cable standard.- Parameters:
cableStandard- cable standard
-
getHazAreaStandard
Get the hazardous area classification standard.- Returns:
- hazardous area standard
-
setHazAreaStandard
Set the hazardous area classification standard.- Parameters:
hazAreaStandard- hazardous area standard
-