Class OffshoreEnergySystem
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.powergeneration.OffshoreEnergySystem
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface
Offshore energy system integrating multiple power sources with dispatch logic.
Models the energy balance of an offshore installation combining:
- Wind farm power generation (variable)
- Gas turbine backup power (dispatchable)
- Battery energy storage (time-shifting)
- Solar panels (supplementary)
- Process power demand (compressors, pumps, etc.)
Dispatch Strategy
The dispatch logic follows a priority order:
- Use wind power first (zero marginal cost)
- Discharge battery if wind insufficient
- Start gas turbine for remaining deficit
- Charge battery with excess wind power
- Curtail excess wind if battery full
CO2 Emissions Tracking
Tracks CO2 emissions from gas turbine usage vs. wind power, enabling comparison of power supply scenarios for offshore platforms.
Usage Example
OffshoreEnergySystem energy = new OffshoreEnergySystem("Platform Power");
// Configure wind farm
WindFarm wind = new WindFarm("Offshore Wind", 20);
wind.setRatedPowerPerTurbine(15.0e6);
energy.setWindFarm(wind);
// Configure gas turbine backup
energy.setGasTurbineCapacity(50.0e6); // 50 MW
energy.setGasTurbineEfficiency(0.35);
// Configure battery storage
BatteryStorage battery = new BatteryStorage("BESS", 100.0e6 * 3600);
energy.setBatteryStorage(battery);
// Set power demand
energy.setTotalPowerDemand(200.0e6); // 200 MW
energy.run();
double windFraction = energy.getWindPowerFraction();
double co2Saved = energy.getCO2Avoided();
- Version:
- 1.0
- Author:
- esol
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleBattery power delivered [W].private BatteryStorageBattery storage system.private doubleCO2 avoided by using wind instead of gas [kg/hr].private doubleCO2 emission factor for gas turbine [kg CO2 / kWh].private doubleCO2 emissions from gas turbine [kg/hr].History of hourly dispatch for time-series analysis.private doubleGas fuel consumption rate [kg/hr].private doubleNatural gas LHV [MJ/kg].private doubleGas turbine rated capacity [W].private doubleGas turbine electrical efficiency.private doubleGas turbine minimum load fraction [0-1].private doubleGas turbine power delivered [W].private doubleTotal power deficit (unmet demand) [W].private static final longSerialization version UID.private SolarPanelSolar panel system.private doubleSolar power delivered [W].private doubleTime step for battery charge/discharge [hours].private doubleTotal power demand [W].private WindFarmWind farm for renewable power generation.private doubleWind power curtailed [W].private doubleWind power delivered to load [W].private doubleWind power used to charge battery [W].Fields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidClear dispatch history.doubleGet annual CO2 avoided if system runs continuously [tonnes/year].doubleGet battery power delivered [W].Get battery storage.doubleGet CO2 avoided by using renewables [kg/hr].doubleGet CO2 emissions [kg/hr].Get dispatch history for time-series analysis.doubleGet gas fuel consumption [kg/hr].doubleGet gas turbine capacity [W].doubleGet gas turbine power delivered [W].doubleGet unmet power demand [W].doubleGet solar power delivered [W].doubleGet total power delivered [W].doubleGet total power demand [W].Get wind farm.doubleGet wind power curtailed [W].doubleGet wind power delivered [W].doubleGet fraction of total power from wind.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidrunHourlyDispatch(double[] windSpeeds) Run hourly dispatch simulation over wind speed time series.voidsetBatteryStorage(BatteryStorage battery) Set battery storage system.voidsetCO2EmissionFactor(double factor) Set CO2 emission factor [kg CO2 / kWh].voidsetGasTurbineCapacity(double capacity) Set gas turbine rated capacity [W].voidsetGasTurbineEfficiency(double efficiency) Set gas turbine efficiency [0-1].voidsetGasTurbineMinLoad(double minLoad) Set gas turbine minimum load fraction [0-1].voidsetSolarPanel(SolarPanel solar) Set solar panel system.voidsetTimeStepHours(double hours) Set time step for dispatch [hours].voidsetTotalPowerDemand(double demand) Set total power demand [W].voidsetWindFarm(WindFarm windFarm) Set wind farm.Methods inherited from class ProcessEquipmentBaseClass
addCapacityConstraint, addController, copy, displayResult, equals, getAvailableMargin, getAvailableMarginPercent, getBottleneckConstraint, getCapacityConstraints, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMassBalance, getMaxUtilization, getMaxUtilizationPercent, getMechanicalDesign, getMinimumFlow, getPressure, getPressure, getProperty, getReferenceDesignation, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, getUtilizationSummary, hashCode, initElectricalDesign, initializeDefaultConstraints, initInstrumentDesign, initMechanicalDesign, isActive, isActive, isCapacityAnalysisEnabled, isCapacityExceeded, isFailed, isHardLimitExceeded, isNearCapacityLimit, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setReferenceDesignation, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solved, toJson, toJsonMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagNumber, setName, setTagNumberMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NamedInterface
getName, getTagName, getTagNumber, setName, setTagName, setTagNumberMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getElectricalDesign, getEquipmentState, getExergyChange, getExergyDestruction, getExergyDestruction, getFluid, getInletStreams, getInstrumentDesign, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletStreams, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, needRecalculation, validateSetupMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
windFarm
Wind farm for renewable power generation. -
gasTurbineCapacity
private double gasTurbineCapacityGas turbine rated capacity [W]. -
gasTurbineEfficiency
private double gasTurbineEfficiencyGas turbine electrical efficiency. -
gasTurbineMinLoad
private double gasTurbineMinLoadGas turbine minimum load fraction [0-1]. -
batteryStorage
Battery storage system. -
solarPanel
Solar panel system. -
totalPowerDemand
private double totalPowerDemandTotal power demand [W]. -
co2EmissionFactor
private double co2EmissionFactorCO2 emission factor for gas turbine [kg CO2 / kWh]. -
gasLHV
private double gasLHVNatural gas LHV [MJ/kg]. -
windPowerDelivered
private double windPowerDeliveredWind power delivered to load [W]. -
gasTurbinePowerDelivered
private double gasTurbinePowerDeliveredGas turbine power delivered [W]. -
batteryPowerDelivered
private double batteryPowerDeliveredBattery power delivered [W]. -
solarPowerDelivered
private double solarPowerDeliveredSolar power delivered [W]. -
windPowerCurtailed
private double windPowerCurtailedWind power curtailed [W]. -
windPowerToCharge
private double windPowerToChargeWind power used to charge battery [W]. -
powerDeficit
private double powerDeficitTotal power deficit (unmet demand) [W]. -
co2Emissions
private double co2EmissionsCO2 emissions from gas turbine [kg/hr]. -
co2Avoided
private double co2AvoidedCO2 avoided by using wind instead of gas [kg/hr]. -
fuelConsumption
private double fuelConsumptionGas fuel consumption rate [kg/hr]. -
timeStepHours
private double timeStepHoursTime step for battery charge/discharge [hours]. -
dispatchHistory
-
-
Constructor Details
-
OffshoreEnergySystem
public OffshoreEnergySystem()Default constructor. -
OffshoreEnergySystem
-
-
Method Details
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Parameters:
id- UUID
-
runHourlyDispatch
public void runHourlyDispatch(double[] windSpeeds) Run hourly dispatch simulation over wind speed time series.- Parameters:
windSpeeds- array of hourly wind speeds [m/s]
-
getWindPowerFraction
public double getWindPowerFraction()Get fraction of total power from wind.- Returns:
- wind power fraction [0-1]
-
getCO2Emissions
public double getCO2Emissions()Get CO2 emissions [kg/hr].- Returns:
- CO2 emissions from gas turbine [kg/hr]
-
getCO2Avoided
public double getCO2Avoided()Get CO2 avoided by using renewables [kg/hr].- Returns:
- CO2 avoided [kg/hr]
-
getAnnualCO2Avoided
public double getAnnualCO2Avoided()Get annual CO2 avoided if system runs continuously [tonnes/year].- Returns:
- annual CO2 avoided [tonnes/year]
-
getFuelConsumption
public double getFuelConsumption()Get gas fuel consumption [kg/hr].- Returns:
- fuel consumption [kg/hr]
-
getTotalPowerDelivered
public double getTotalPowerDelivered()Get total power delivered [W].- Returns:
- total power delivered
-
getWindPowerDelivered
public double getWindPowerDelivered()Get wind power delivered [W].- Returns:
- wind power [W]
-
getGasTurbinePowerDelivered
public double getGasTurbinePowerDelivered()Get gas turbine power delivered [W].- Returns:
- gas turbine power [W]
-
getBatteryPowerDelivered
public double getBatteryPowerDelivered()Get battery power delivered [W].- Returns:
- battery power [W]
-
getSolarPowerDelivered
public double getSolarPowerDelivered()Get solar power delivered [W].- Returns:
- solar power [W]
-
getWindPowerCurtailed
public double getWindPowerCurtailed()Get wind power curtailed [W].- Returns:
- curtailed wind power [W]
-
getPowerDeficit
public double getPowerDeficit()Get unmet power demand [W].- Returns:
- power deficit [W]
-
getDispatchHistory
-
clearDispatchHistory
public void clearDispatchHistory()Clear dispatch history. -
setWindFarm
-
getWindFarm
-
setBatteryStorage
Set battery storage system.- Parameters:
battery- battery storage object
-
getBatteryStorage
-
setSolarPanel
Set solar panel system.- Parameters:
solar- solar panel object
-
setGasTurbineCapacity
public void setGasTurbineCapacity(double capacity) Set gas turbine rated capacity [W].- Parameters:
capacity- gas turbine capacity [W]
-
getGasTurbineCapacity
public double getGasTurbineCapacity()Get gas turbine capacity [W].- Returns:
- gas turbine capacity [W]
-
setGasTurbineEfficiency
public void setGasTurbineEfficiency(double efficiency) Set gas turbine efficiency [0-1].- Parameters:
efficiency- gas turbine efficiency
-
setGasTurbineMinLoad
public void setGasTurbineMinLoad(double minLoad) Set gas turbine minimum load fraction [0-1].- Parameters:
minLoad- minimum load fraction
-
setTotalPowerDemand
public void setTotalPowerDemand(double demand) Set total power demand [W].- Parameters:
demand- total power demand [W]
-
getTotalPowerDemand
public double getTotalPowerDemand()Get total power demand [W].- Returns:
- total power demand [W]
-
setCO2EmissionFactor
public void setCO2EmissionFactor(double factor) Set CO2 emission factor [kg CO2 / kWh].- Parameters:
factor- emission factor
-
setTimeStepHours
public void setTimeStepHours(double hours) Set time step for dispatch [hours].- Parameters:
hours- time step size
-