Class ElectrolyzerMechanicalDesign
java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesign
neqsim.process.mechanicaldesign.electrolyzer.ElectrolyzerMechanicalDesign
- All Implemented Interfaces:
Serializable
Mechanical design for water electrolyzers (PEM and alkaline).
Covers stack configuration, membrane/electrode area sizing, power consumption estimation, balance-of-plant equipment sizing, and weight/cost estimation. Applicable to both PEM (proton-exchange-membrane) and alkaline electrolyzers.
- Version:
- 1.0
- Author:
- esol
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleCell active area in cm2 per cell.private intNumber of cells per stack.private doubleCell voltage in V.private doubleCurrent density in A/cm2.private doubleDesign pressure in bara.private StringElectrolyzer type: "PEM" or "ALKALINE".private static final doubleFaraday constant in C/mol.private doubleHydrogen production rate in kg/hr.private doubleModule footprint in m2.private static final doubleMolar mass of hydrogen in kg/mol.private static final doubleMolar mass of water in kg/mol.private intNumber of stacks.private static final longSerialization version UID.private doubleSpecific energy consumption in kWh/kgH2.private doubleStack efficiency (HHV basis).private doubleStack operating pressure in bara.private doubleStack operating temperature in Celsius.private doubleEstimated stack weight in kg.private doubleTotal membrane area in m2.private doubleTotal power consumption in kW.private doubleEstimated total system weight in kg (including BOP).private doubleWater consumption in kg/hr.Fields inherited from class MechanicalDesign
costEstimate, designStandard, innerDiameter, maxDesignCv, maxDesignDuty, maxDesignGassVolumeFlow, maxDesignOilVolumeFlow, maxDesignPower, maxDesignPressureDrop, maxDesignVelocity, maxDesignVolumeFlow, maxDesignWaterVolumeFlow, minDesignDuty, minDesignGassVolumeFLow, minDesignOilFLow, minDesignPower, minDesignVolumeFLow, minDesignWaterVolumeFLow, moduleHeight, moduleLength, moduleWidth, outerDiameter, tantanLength, wallThickness, weightElectroInstrument, weightNozzle, weightPiping, weightStructualSteel, weightVessel, weigthInternals, weigthVesselShell -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for ElectrolyzerMechanicalDesign. -
Method Summary
Modifier and TypeMethodDescriptionvoidcalcDesign.intGets the number of cells per stack.doubleGets the current density.Gets the electrolyzer type.doubleGets the H2 production rate.doubleGets the module footprint.intGets the number of stacks.doubleGets the specific energy consumption.doubleGets the stack efficiency (HHV basis).doubleGets the stack weight.doubleGets the total membrane area.doubleGets the total power consumption.doubleGets the total system weight.doubleGets the water consumption rate.voidsetCellActiveArea(double area) Sets the cell active area.voidsetCurrentDensity(double currentDensity) Sets the current density.voidsetElectrolyzerType(String type) Sets the electrolyzer type.voidsetH2ProductionRateKgHr(double rate) Sets the H2 production rate target.voidsetStackPressure(double pressure) Sets the stack operating pressure.Methods inherited from class MechanicalDesign
addDesignDataSource, calculateCostEstimate, costEstimateToJson, displayResults, equals, generateBillOfMaterials, getApplicableStandards, getBareModuleCost, getCompanySpecificDesignStandards, getConstrutionMaterial, getCorrosionAllowance, getCostEstimate, getDefaultLiquidDensity, getDefaultLiquidViscosity, getDesignCorrosionAllowance, getDesignDataSources, getDesignJointEfficiency, getDesignLimitData, getDesignMaxPressureLimit, getDesignMaxTemperatureLimit, getDesignMinPressureLimit, getDesignMinTemperatureLimit, getDesignStandard, getDuty, getGrassRootsCost, getHeatTransferArea, getInnerDiameter, getInstallationManHours, getJointEfficiency, getLastMarginResult, getMaterialDesignStandard, getMaterialPipeDesignStandard, getMaxAllowableStress, getMaxDesignCv, getMaxDesignGassVolumeFlow, getMaxDesignOilVolumeFlow, getMaxDesignPressure, getMaxDesignPressureDrop, getMaxDesignVelocity, getMaxDesignVolumeFlow, getMaxDesignWaterVolumeFlow, getMaxOperationPressure, getMaxOperationTemperature, getMinDesignGassVolumeFLow, getMinDesignOilFLow, getMinDesignPressure, getMinDesignVolumeFLow, getMinDesignWaterVolumeFLow, getMinOperationPressure, getMinOperationTemperature, getModuleHeight, getModuleLength, getModuleWidth, getOuterDiameter, getPower, getPressureMarginFactor, getProcessEquipment, getPurchasedEquipmentCost, getRecommendedStandards, getResponse, getTantanLength, getTensileStrength, getTotalModuleCost, getVolumeTotal, getWallThickness, getWeightElectroInstrument, getWeightNozzle, getWeightPiping, getWeightStructualSteel, getWeightTotal, getWeightVessel, getWeigthInternals, getWeigthVesselShell, hasDesignStandard, hashCode, initMechanicalDesign, isHasSetCompanySpecificDesignStandards, readDesignSpecifications, setCompanySpecificDesignStandards, setConstrutionMaterial, setCorrosionAllowance, setCostEstimateCepci, setCostEstimateLocationFactor, setCostEstimateMaterial, setDefaultLiquidDensity, setDefaultLiquidViscosity, setDesign, setDesignDataSource, setDesignDataSources, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandards, setHasSetCompanySpecificDesignStandards, setInnerDiameter, setJointEfficiency, setMaterialDesignStandard, setMaterialPipeDesignStandard, setMaxDesignCv, setMaxDesignDuty, setMaxDesignGassVolumeFlow, setMaxDesignOilVolumeFlow, setMaxDesignPower, setMaxDesignPressureDrop, setMaxDesignVelocity, setMaxDesignVolumeFlow, setMaxDesignWaterVolumeFlow, setMaxOperationPressure, setMaxOperationTemperature, setMinDesignDuty, setMinDesignGassVolumeFLow, setMinDesignOilFLow, setMinDesignPower, setMinDesignVolumeFLow, setMinDesignWaterVolumeFLow, setMinOperationPressure, setMinOperationTemperature, setModuleHeight, setModuleLength, setModuleWidth, setOuterDiameter, setPressureMarginFactor, setProcessEquipment, setTantanLength, setTensileStrength, setWallThickness, setWeightElectroInstrument, setWeightNozzle, setWeightPiping, setWeightStructualSteel, setWeightTotal, setWeightVessel, setWeigthInternals, setWeigthVesselShell, toCompactJson, toJson, validateOperatingEnvelope, validateOperatingEnvelope
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
FARADAY
private static final double FARADAYFaraday constant in C/mol.- See Also:
-
MW_WATER
private static final double MW_WATERMolar mass of water in kg/mol.- See Also:
-
MW_H2
private static final double MW_H2Molar mass of hydrogen in kg/mol.- See Also:
-
electrolyzerType
Electrolyzer type: "PEM" or "ALKALINE". -
cellVoltage
private double cellVoltageCell voltage in V. -
currentDensity
private double currentDensityCurrent density in A/cm2. -
cellActiveArea
private double cellActiveAreaCell active area in cm2 per cell. -
cellsPerStack
private int cellsPerStackNumber of cells per stack. -
numberOfStacks
private int numberOfStacksNumber of stacks. -
stackEfficiency
private double stackEfficiencyStack efficiency (HHV basis). -
totalPowerKW
private double totalPowerKWTotal power consumption in kW. -
specificEnergyKWhPerKg
private double specificEnergyKWhPerKgSpecific energy consumption in kWh/kgH2. -
h2ProductionRateKgHr
private double h2ProductionRateKgHrHydrogen production rate in kg/hr. -
totalMembraneArea
private double totalMembraneAreaTotal membrane area in m2. -
stackPressure
private double stackPressureStack operating pressure in bara. -
stackTemperatureC
private double stackTemperatureCStack operating temperature in Celsius. -
designPressure
private double designPressureDesign pressure in bara. -
stackWeightKg
private double stackWeightKgEstimated stack weight in kg. -
totalSystemWeightKg
private double totalSystemWeightKgEstimated total system weight in kg (including BOP). -
waterConsumptionKgHr
private double waterConsumptionKgHrWater consumption in kg/hr. -
moduleFootprintM2
private double moduleFootprintM2Module footprint in m2.
-
-
Constructor Details
-
ElectrolyzerMechanicalDesign
Constructor for ElectrolyzerMechanicalDesign.- Parameters:
equipment- the electrolyzer equipment
-
-
Method Details
-
calcDesign
-
getElectrolyzerType
-
setElectrolyzerType
Sets the electrolyzer type.- Parameters:
type- "PEM" or "ALKALINE"
-
getCurrentDensity
public double getCurrentDensity()Gets the current density.- Returns:
- current density in A/cm2
-
setCurrentDensity
public void setCurrentDensity(double currentDensity) Sets the current density.- Parameters:
currentDensity- current density in A/cm2
-
getCellsPerStack
public int getCellsPerStack()Gets the number of cells per stack.- Returns:
- cells per stack
-
getNumberOfStacks
public int getNumberOfStacks()Gets the number of stacks.- Returns:
- number of stacks
-
getTotalPowerKW
public double getTotalPowerKW()Gets the total power consumption.- Returns:
- power in kW
-
getSpecificEnergyKWhPerKg
public double getSpecificEnergyKWhPerKg()Gets the specific energy consumption.- Returns:
- kWh per kg H2
-
getStackEfficiency
public double getStackEfficiency()Gets the stack efficiency (HHV basis).- Returns:
- efficiency (0-1)
-
getH2ProductionRateKgHr
public double getH2ProductionRateKgHr()Gets the H2 production rate.- Returns:
- rate in kg/hr
-
setH2ProductionRateKgHr
public void setH2ProductionRateKgHr(double rate) Sets the H2 production rate target.- Parameters:
rate- rate in kg/hr
-
getTotalMembraneArea
public double getTotalMembraneArea()Gets the total membrane area.- Returns:
- area in m2
-
getWaterConsumptionKgHr
public double getWaterConsumptionKgHr()Gets the water consumption rate.- Returns:
- rate in kg/hr
-
getTotalSystemWeightKg
public double getTotalSystemWeightKg()Gets the total system weight.- Returns:
- weight in kg
-
setCellActiveArea
public void setCellActiveArea(double area) Sets the cell active area.- Parameters:
area- area in cm2
-
setStackPressure
public void setStackPressure(double pressure) Sets the stack operating pressure.- Parameters:
pressure- pressure in bara
-
getStackWeightKg
public double getStackWeightKg()Gets the stack weight.- Returns:
- stack weight in kg
-
getModuleFootprintM2
public double getModuleFootprintM2()Gets the module footprint.- Returns:
- footprint in m2
-