The following table contains a list of simulation parameters used with MATLAB.
Variable |
Type |
Description |
simulation_parameters.generators(i).emissions_factor_CO |
double |
grams per unit of fuel (i.e. g/L, g/kg, or g/m3 depending on fuel) |
simulation_parameters.generators(i).emissions_factor_NOx |
double |
|
simulation_parameters.generators(i).emissions_factor_PM |
double |
|
simulation_parameters.generators(i).emissions_factor_UHC |
double |
|
simulation_parameters.generators(i).emissions_sulfur_PM_ratio |
double |
|
simulation_parameters.generators(i).fuel.carbon_content |
double |
The mass based carbon content of the fuel [%] |
simulation_parameters.generators(i).fuel.cost |
double |
cost per unit, i.e. $/L |
simulation_parameters.generators(i).fuel.density |
double |
kg/m3 |
simulation_parameters.generators(i).fuel. initial_fuel_available |
double |
Total fuel available [L] if limit_consumption is true |
simulation_parameters.generators(i).fuel.limit_consumption |
bool |
Indicates if consumption should be limited [T/F] |
simulation_parameters.generators(i).fuel.lower_heating_value |
double |
MJ/kg |
simulation_parameters.generators(i).fuel.name |
string |
|
simulation_parameters.generators(i).fuel.sulfur_content |
double |
The mass based sulfur content of the fuel [%] |
simulation_parameters.generators(i).fuel_curve_intercept |
double |
The no-load fuel consumption of the generator divided by its rated capacity [L/hr/kW_rated] |
simulation_parameters.generators(i).fuel_curve_slope |
double |
The marginal fuel consumption of the generator [L/hr/kW_output] |
simulation_parameters.generators(i).lifetime_in_hours |
double |
Lifetime of the generator in operating hours [hr] |
simulation_parameters.generators(i).minimum_load |
double |
% |
simulation_parameters.generators(i).minimum_runtime |
double |
Minimum amount of time the unit must run [minutes] |
simulation_parameters.generators(i). use_nonlinear_fuel_curve |
bool |
Nonlinear fuel curve equation: nonlinear_x2 * x^2 + nonlinear_x1 * x + nonlinear_x0 = Q
where Q = fuel consumption in l/hr and x = power_output / generator_capacity [0,1] |
simulation_parameters.generators(i).nonlinear_x0 |
double |
|
simulation_parameters.generators(i).nonlinear_x1 |
double |
|
simulation_parameters.generators(i).nonlinear_x2 |
double |
|
simulation_parameters.generators(i).rated_capacity |
double |
Rated capacity of the generator in kW |
simulation_parameters.generators(i).component_number |
int |
Unique index that is constant across all simulations |
simulation_parameters.generators(i).cost.capital |
double |
Generator initial capital cost |
simulation_parameters.generators(i).cost. operation_and_maintenance |
double |
Generator O&M [cost/hr] |
simulation_parameters.generators(i).cost.replacement |
double |
Replacelemt cost |
simulation_parameters.generators(i).is_AC |
bool |
Is the generator on the AC or DC bus in the schematic? |
simulation_parameters.generators(i).name |
string |
|
simulation_parameters.primary_loads(i).name |
string |
|
simulation_parameters.primary_loads(i).peak_load |
double |
kW, peak for the year |
simulation_parameters.primary_loads(i).is_AC |
bool |
Is this load on the AC bus or DC bus? |
simulation_parameters.pvs(i).name |
string |
|
simulation_parameters.pvs(i).component_number |
int |
Unique index that is constant across all simulations in each run |
simulation_parameters.pvs(i).cost.capital |
double |
PV initial capital cost |
simulation_parameters.pvs(i).cost.operation_and_maintenance |
double |
PV maintenance cost, per year |
simulation_parameters.pvs(i).cost.replacement |
double |
PV replacement cost |
simulation_parameters.pvs(i).is_AC |
bool |
Is the PV on the AC bus or the DC bus? |
simulation_parameters.pvs(i).lifetime_in_years |
double |
|
simulation_parameters.pvs(i).rated_capacity |
double |
PV capacity, kWp DC |
simulation_parameters.pvs(i).solar_forecast |
long |
An 8760 vector of solar production values |
simulation_parameters.wind_turbines(i).name |
string |
|
simulation_parameters.wind_turbines(i).component_number |
int |
Unique index that is constant across all simulations in each run |
simulation_parameters.wind_turbines(i).cost.capital |
double |
Wind Turbine initial capital cost |
simulation_parameters.wind_turbines(i).cost.operation_and_maintenance |
double |
Wind Turbine maintenance cost, per year |
simulation_parameters.wind_turbines(i).cost.replacement |
double |
Wind Turbine replacement cost |
simulation_parameters.wind_turbines(i).is_AC |
bool |
Is the Wind Turbine on the AC bus or the DC bus? |
simulation_parameters.wind_turbines(i).power_curve |
Nx1 matrix<int> |
The power curve for the wind turbine. |
simulation_parameters.wind_turbines(i).rated_power simulation_parameters.wind_turbines(i).quantity |
double double |
Wind Turbine rated power KW Wind Turbine quantity in search space KW |
simulation_parameters.batteries(i).name |
string |
|
simulation_parameters.batteries(i).component_number |
int |
Unique index that is constant across all simulations |
simulation_parameters.batteries(i).cost.capital |
double |
Battery initial capital cost |
simulation_parameters.batteries(i).cost.operation_and_maintenance |
double |
Maintenance cost per year |
simulation_parameters.batteries(i).cost.replacement |
double |
Battery replacement cost |
simulation_parameters.batteries(i).is_AC |
bool |
On the AC bus or the DC bus? |
simulation_parameters.batteries(i).nominal_voltage |
double |
volts |
simulation_parameters.batteries(i).nominal_capacity |
double |
kWh nominal |
simulation_parameters.batteries(i).minimum_state_of_charge |
double |
% |
simulation_parameters.batteries(i).fractional_charge_efficiency |
double |
Equals the square-root of the roundtrip efficiency |
simulation_parameters.batteries(i).fractional_discharge_efficiency |
double |
|
simulation_parameters.batteries(i).wear_cost |
double |
Estimated cost per kWh for economic dispatch decisions |
simulation_parameters.batteries(i). battery_bank_maximum_absolute_soc |
double |
kWh |
simulation_parameters.batteries(i). battery_bank_minimum_absolute_soc |
double |
kWh |
simulation_parameters.batteries(i).dedicated_converter. rectifier_capacity |
double |
kW |
simulation_parameters.batteries(i).dedicated_converter. inverter_capacity |
double |
kW |
simulation_parameters.batteries(i).dedicated_converter. lifetime_in_years |
double |
years |
simulation_parameters.batteries(i).dedicated_converter. has_efficiency_tables |
bool |
If true, use efficiency tables to calculate converter losses. If false, use scalar vales rectifier_efficiency and inverter_efficiency |
simulation_parameters.batteries(i).dedicated_converter. inverter_efficiency_table |
matrix Nx2 |
First column is power level in kW, second column is corresponding efficiency in % |
simulation_parameters.batteries(i).dedicated_converter. rectifier_efficiency_table |
matrix Nx2 |
|
simulation_parameters.batteries(i).dedicated_converter. rectifier_efficiency |
double |
% |
simulation_parameters.batteries(i).dedicated_converter. inverter_efficiency |
double |
% |
simulation_parameters.batteries(i).has_dedicated_converter |
bool |
If false, do not apply the dedicated converter model |
simulation_parameters.converters(i).name |
string |
|
simulation_parameters.converters(i).component_number |
int |
Unique index that is constant across all simulations |
simulation_parameters.converters(i).cost.capital |
double |
Converter initial capital cost |
simulation_parameters.converters(i).cost. operation_and_maintenance |
double |
Maintenance cost per year |
simulation_parameters.converters(i).cost.replacement |
double |
Cost to replace converter at end of lifetime |
simulation_parameters.converters(i).inverter_capacity |
double |
kW, maximum output power of inverter |
simulation_parameters.converters(i).rectifier_capacity |
double |
kW, maximum output power of rectifier |
simulation_parameters.converters(i).inverter_efficiency |
double |
Inverting efficiency, % |
simulation_parameters.converters(i).rectifier_efficiency |
double |
Rectifying efficiency, % |
simulation_parameters.converters(i).lifetime_in_years |
double |
After specified duration, the replacement cost is incurred |
simulation_parameters.converters(i). able_to_parallel_with_ac_generator |
bool |
If false, inverter does not have grid-following capability, and can't operate simultaneously with the grid or AC generators. |
simulation_parameters.emissions.emissions_penalty_CO |
double |
Tariff for carbon monoxide emission per ton |
simulation_parameters.emissions.emissions_penalty_CO2 |
double |
Tariff for carbon dioxide emission per ton |
simulation_parameters.emissions.emissions_penalty_NOx |
double |
Tariff for nitrogen oxides emission per ton |
simulation_parameters.emissions.emissions_penalty_PM |
double |
Tariff per ton of particluate matter emitted |
simulation_parameters.emissions.emissions_penalty_SO2 |
double |
Tariff per ton of sulfur dioxide emission |
simulation_parameters.emissions.emissions_penalty_UHC |
double |
Tariff per ton of unburned hydrocarbon emitted |
simulation_parameters.emissions.max_emissions_CO |
double |
Limit on carbon monoxide emissions (kg/yr) |
simulation_parameters.emissions.max_emissions_CO2 |
double |
Limit on carbon dioxide emissions (kg/yr) |
simulation_parameters.emissions.max_emissions_NOx |
double |
Limit on emission of nitrogen oxides (kg/yr) |
simulation_parameters.emissions.max_emissions_PM |
double |
Limit on particulate matter emissions (kg/yr) |
simulation_parameters.emissions.max_emissions_SO2 |
double |
Limit on sulphur dioxide emissions (kg/yr) |
simulation_parameters.emissions.max_emissions_UHC |
double |
Limit on unburned hydrocarbon emission (kg/yr) |
simulation_parameters.emissions.use_max_emissions_CO |
bool |
Is the carbon monoxide emission limit used? |
simulation_parameters.emissions.use_max_emissions_CO2 |
bool |
Is the carbon dioxide emission limit enforced? |
simulation_parameters.emissions.use_max_emissions_NOx |
bool |
Is the nitrogen oxide emission limit in use? |
simulation_parameters.emissions.use_max_emissions_PM |
bool |
Is the particulate matter emission limit used? |
simulation_parameters.emissions.use_max_emissions_SO2 |
bool |
Use the limit on emission of sulfur oxides? |
simulation_parameters.emissions.use_max_emissions_UHC |
bool |
Is the unburned hydrocarbons limit enforced? |
simulation_parameters.operating_reserve.peak_load_requirement |
double |
Required operating reserve as a percentage of the annual peak load (%) |
simulation_parameters.operating_reserve.solar_requirement |
double |
Required operating reserve as a percentage of solar pv power output in the current timestep (%) |
simulation_parameters.operating_reserve.timestep_requirement |
double |
Required operating reserve as a percentage of the load in the current timestep (%) |
simulation_parameters.operating_reserve.wind_requirement |
double |
Required operating reserve as a percentage of wind turbine power output in the current timestep (%) |
Total operating reserve required in each time step is the sum of the above quantities and is provided in simulation_state.ac_bus.operating_capacity_requested and simulation_state.dc_bus.operating_capacity_requested.
simulation_parameters. maximum_annual_capacity_shortage |
double |
If the capacity shortage as a % of cumulative total operating capacity requested over the year is greater than specified here, the system is infeasible (%) |
simulation_parameters. minimum_renewable_fraction |
double |
Simulations that have cumulative renewable production fraction of total load supplied less than specified here are infeasible. |
simulation_parameters. timestep_size_in_seconds |
int |
Number of seconds per simulation time step |
simulation_parameters.number_of_timesteps |
int |
Time steps in the one-year simulation |
simulation_parameters.has_generator |
bool |
True if the system includes one or more generators |
simulation_parameters.has_battery |
bool |
True if there are one or more batteries in the system |
simulation_parameters.has_pv |
bool |
True if the system includes PV |
simulation_parameters.has_wind_turbine |
bool |
True if the system includes a wind turbine |
simulation_parameters.has_converter |
bool |
True if the microgrid includes a system converter |
simulation_parameters.grids(i).technical_model.model_type |
"SCHEDULED" |
If model_type is set to the string "SCHEDULED", the grid prices use scheduled (time-of-use) rates |
simulation_parameters.grids(i).technical_model.demand_rate(j).demand_rate |
double |
Charge for the peak grid purchases (kW) that occur each month while this demand rate is in effect, cost per kW (i.e. $/kW) |
simulation_parameters.grids(i).technical_model.demand_rate(j).grid_label |
string |
Descriptive name of demand rate |
simulation_parameters.grids(i).technical_model.demand_rate(j).grid_state |
GridState (see definition below) |
Several options that the user can choose to adjust the operation of the system when this demand rate is in effect |
simulation_parameters.grids(i).technical_model.demand_rate_index |
Nx1 matrix<int> |
List of the scheduled demand rates for all time steps in the simulation. The length of the list equals the number of time steps in the simulation. The number is the index of the demand rate in the demand_rate list |
simulation_parameters.grids(i).technical_model.grid_rate(j).grid_label |
string |
Descriptive name of rate |
simulation_parameters.grids(i).technical_model.grid_rate(j).grid_state |
GridState (see definition below) |
Several options that the user can choose to adjust the operation of the system when this rate is in effect |
simulation_parameters.grids(i).technical_model.grid_rate(j).power_price |
double |
Cost per kWh of purchasing energy from the grid while this rate is in effect |
simulation_parameters.grids(i).technical_model.grid_rate(j).sellback_rate |
double |
Revenue per kWh (i.e. $/kWh) for grid sales while this rate is in effect |
simulation_parameters.grids(i).technical_model.grid_rate_index |
Nx1 matrix<int> |
List of the scheduled rates for all time steps in the simulation. The length of the list equals the number of time steps in the simulation. The number is the index of the rate in the grid_rate list |
simulation_parameters.grids(i).technical_model.consumption_rates.rate_name |
char |
Name of the rate |
simulation_parameters.grids(i).technical_model.consumption_rates.rate_bands.upper_limit |
double |
Upper limit for tiered rate. 'NaN' if no tiers |
simulation_parameters.grids(i).technical_model.consumption_rates.rate_bands.rate_amount |
double |
Consumption rate |
simulation_parameters.grids(i).technical_model.consumption_rates.tou_period.from_day_of_week |
double |
ToU - From day of the week (ToU - Time of Use) |
simulation_parameters.grids(i).technical_model.consumption_rates.tou_period.from_hour |
double |
ToU - From hour |
simulation_parameters.grids(i).technical_model.consumption_rates.period.from_minute |
double |
ToU - From minute |
simulation_parameters.grids(i).technical_model.consumption_rates.tou_period.to_day_of_week |
double |
ToU - To day of the week |
simulation_parameters.grids(i).technical_model.consumption_rates.tou_period.to_hour |
double |
ToU - To hour |
simulation_parameters.grids(i).technical_model.consumption_rates.tou_period.to_minute |
double |
ToU - To minute |
simulation_parameters.grids(i).technical_model.consumption_rates.season.from_month |
double |
Season - From month |
simulation_parameters.grids(i).technical_model.consumption_rates.season.from_day_of_week |
double |
Season - From day of the week |
simulation_parameters.grids(i).technical_model.consumption_rates.season.to_month |
double |
Season - To month |
simulation_parameters.grids(i).technical_model.consumption_rates.season.to_day |
double |
Season - To day |
simulation_parameters.grids(i).technical_model.consumption_rates.charge_type |
char |
Type of Consumption rate. Possible charge types: BUY, SELL, NET, BUY_IMPORT, SELL_EXPORT |
simulation_parameters.grids(i).technical_model.demand_rates.rate_name |
char |
Name of the rate |
simulation_parameters.grids(i).technical_model.demand_rates.rate_bands.upper_limit |
double |
Upper limit for tiered rate. 'NaN' if no tiers |
simulation_parameters.grids(i).technical_model.demand_rates.rate_bands.rate_amount |
double |
Consumption rate |
simulation_parameters.grids(i).technical_model.demand_rates.tou_period.from_day_of_week |
double |
ToU - From day of the week |
simulation_parameters.grids(i).technical_model.demand_rates.tou_period.from_hour |
double |
ToU - From hour |
simulation_parameters.grids(i).technical_model.demand_rates.tou_period.from_minute |
double |
ToU - From minute |
simulation_parameters.grids(i).technical_model.demand_rates.tou_period.to_day_of_week |
double |
ToU - To day of the week |
simulation_parameters.grids(i).technical_model.demand_rates.tou_period.to_hour |
double |
ToU - To hour |
simulation_parameters.grids(i).technical_model.demand_rates.tou_period.to_minute |
double |
ToU - To minute |
simulation_parameters.grids(i).technical_model.demand_rates.season.from_month |
double |
Season - From month |
simulation_parameters.grids(i).technical_model.demand_rates.season.from_day_of_week |
double |
Season - From day of the week |
simulation_parameters.grids(i).technical_model.demand_rates.season.to_month |
double |
Season - To month |
simulation_parameters.grids(i).technical_model.demand_rates.season.to_day |
double |
Season - To day |
simulation_parameters.grids(i).technical_model.demand_rates.charge_type. |
char |
Type of Demand rate. Possible charge type: Demand |
simulation_parameters.grids(i).technical_model.fixed_rates.rate_name |
char |
Name of the rate |
simulation_parameters.grids(i).technical_model.fixed_rates.rate_bands.upper_limit |
double |
Upper limit for tiered rate. 'NaN' if no tiers |
simulation_parameters.grids(i).technical_model.fixed_rates.rate_bands.rate_amount |
double |
Consumption rate |
simulation_parameters.grids(i).technical_model.fixed_rates.tou_period.from_day_of_week |
double |
ToU - From day of the week |
simulation_parameters.grids(i).technical_model.fixed_rates.tou_period.from_hour |
double |
ToU - From hour |
simulation_parameters.grids(i).technical_model.fixed_rates.tou_period.from_minute |
double |
ToU - From minute |
simulation_parameters.grids(i).technical_model.fixed_rates.tou_period.to_day_of_week |
double |
ToU - To day of the week |
simulation_parameters.grids(i).technical_model.fixed_rates.tou_period.to_hour |
double |
ToU - To hour |
simulation_parameters.grids(i).technical_model.fixed_rates.tou_period.to_minute |
double |
ToU - To minute |
simulation_parameters.grids(i).technical_model.fixed_rates.season.from_month |
double |
Season - From month |
simulation_parameters.grids(i).technical_model.fixed_rates.season.from_day_of_week |
double |
Season - From day of the week |
simulation_parameters.grids(i).technical_model.fixed_rates.season.to_month |
double |
Season - To month |
simulation_parameters.grids(i).technical_model.fixed_rates.season.to_day |
double |
Season - To day |
simulation_parameters.grids(i).technical_model.fixed_rates.charge_type. |
char |
Type of Fixed rate. Possible charge type: Fixed |
simulation_parameters.grids(i).technical_model.minimum_rates.rate_name |
char |
Name of the rate |
simulation_parameters.grids(i).technical_model.minimum_rates.rate_bands.upper_limit |
double |
Upper limit for tiered rate. 'NaN' if no tiers |
simulation_parameters.grids(i).technical_model.minimum_rates.rate_bands.rate_amount |
double |
Consumption rate |
simulation_parameters.grids(i).technical_model.minimum_rates.tou_period.from_day_of_week |
double |
ToU - From day of the week |
simulation_parameters.grids(i).technical_model.minimum_rates.tou_period.from_hour |
double |
ToU - From hour |
simulation_parameters.grids(i).technical_model.minimum_rates.tou_period.from_minute |
double |
ToU - From minute |
simulation_parameters.grids(i).technical_model.minimum_rates.tou_period.to_day_of_week |
double |
ToU - To day of the week |
simulation_parameters.grids(i).technical_model.minimum_rates.tou_period.to_hour |
double |
ToU - To hour |
simulation_parameters.grids(i).technical_model.minimum_rates.tou_period.to_minute |
double |
ToU - To minute |
simulation_parameters.grids(i).technical_model.minimum_rates.season.from_month |
double |
Season - From month |
simulation_parameters.grids(i).technical_model.minimum_rates.season.from_day_of_week |
double |
Season - From day of the week |
simulation_parameters.grids(i).technical_model.minimum_rates.season.to_month |
double |
Season - To month |
simulation_parameters.grids(i).technical_model.minimum_rates.season.to_day |
double |
Season - To day |
simulation_parameters.grids(i).technical_model.minimum_rates.charge_type. |
char |
Type of Minimum rate. Possible charge type: Minimum |
simulation_parameters.grids(i).technical_model.tax_rates.rate_name |
char |
Name of the rate |
simulation_parameters.grids(i).technical_model.tax_rates.rate_bands.upper_limit |
double |
Upper limit for tiered rate. 'NaN' if no tiers |
simulation_parameters.grids(i).technical_model.tax_rates.rate_bands.rate_amount |
double |
Consumption rate |
simulation_parameters.grids(i).technical_model.tax_rates.tou_period.from_day_of_week |
double |
ToU - From day of the week |
simulation_parameters.grids(i).technical_model.tax_rates.tou_period.from_hour |
double |
ToU - From hour |
simulation_parameters.grids(i).technical_model.tax_rates.tou_period.from_minute |
double |
ToU - From minute |
simulation_parameters.grids(i).technical_model.tax_rates.tou_period.to_day_of_week |
double |
ToU - To day of the week |
simulation_parameters.grids(i).technical_model.tax_rates.tou_period.to_hour |
double |
ToU - To hour |
simulation_parameters.grids(i).technical_model.tax_rates.tou_period.to_minute |
double |
ToU - To minute |
simulation_parameters.grids(i).technical_model.tax_rates.season.from_month |
double |
Season - From month |
simulation_parameters.grids(i).technical_model.tax_rates.season.from_day_of_week |
double |
Season - From day of the week |
simulation_parameters.grids(i).technical_model.tax_rates.season.to_month |
double |
Season - To month |
simulation_parameters.grids(i).technical_model.tax_rates.season.to_day |
double |
Season - To day |
simulation_parameters.grids(i).technical_model.tax_rates.charge_type. |
char |
Type of Tax rate. Possible charge type: Tax |
All of the values in simulation_parameters are read-only.
See also