modelSuperstructures_PortfolioMask

Mask for array of superstructures using this portfolio's technology definitions

Extends from TransiEnt.Basics.Icons.SuperstructureIcon, ExternalDataImport (Record of the external data import logic to create InstanceRecords automatically).

Information

1. Purpose of model

A mask for superstructures allowing

  1. easy array definition
  2. manual parametrization of this portfolio's records.

2. Level of detail, physical effects considered, and physical insight

(no remarks)

3. Limits of validity

(no remarks)

4. Interfaces

Outputs:

  • epp: complex electric power port
  • gasPort: gas port
  • f_grid: output current grid frequency at first superstructure epp
  • P_renewable: output current renewable power
  • P_max_unload_storage: output current electrical storage maximum unload power
  • P_max_load_storage: output current electrical storage maximum load power
  • P_storage_is: output current electrical storage power
  • P_PowerToGasPlant_is: output current power to gas plants consumed power
  • P_PowerPlant_max: output current powerplant relative potential power output
  • P_PowerPlant_is: output current powerplant power in each region
  • P_ElectricalHeater_max: output current potential of local heating grid power to heat
  • P_DAC: output current direct air capture power consumption

Inputs:

  • P_curtailment: input current curtailment of renewables setpoint
  • P_set_ElectricalHeater: input local heating grid power to heat setpoint
  • P_set_ElectricalStorage: input current electrical storage setpoint power
  • P_set_PowerPlant: input current power plant setpoint power
  • P_set_PtG: input current power to gas setpoint power


5. Nomenclature

(no remarks)

6. Governing Equations

(no remarks)

7. Remarks for Usage

(no remarks)

8. Validation

(no remarks)

9. References

(no remarks)

10. Version History

Model created by Jon Babst (babst@xrg-simulation.de) on 03.09.2021.

Parameters

TypeNameDefaultDescription
IntegerMaximumDifferentTypesOfPowerPlantsmax(powerPlantInstancesRecord[:].nPowerPlants)
IntegerMaximumDifferentTypesOfElectricalStoragesmax(electricalStorageInstancesRecord[:].nElectricalStorages)
IntegerMaximumDifferentTypesOfPtGmax(DifferentTypesOfPowerToGasPlants)
IntegerMaximumDifferentTypesOfElectricHeatersmax(DifferentTypesOfElectricHeater)
Integer[nRegions]DifferentTypesOfPowerPlants{powerPlantInstancesRecord[i].nPowerPlants for i in 1:nRegions}Amount of different power plant types
Integer[nRegions]DifferentTypesOfElectricalStorages{electricalStorageInstancesRecord[i].nElectricalStorages for i in 1:nRegions} Amount of different electrical storage types
Integer[nRegions]DifferentTypesOfPowerToGasPlants{powerToGasInstancesRecord[i].nPowerToGasPlants for i in 1:nRegions}Amount of different power to gas plant types
Integer[nRegions]DifferentTypesOfCHPPlants{heatingGridSystemStorageInstancesRecord[i].nHeatingGrid*heatingGridSystemStorageInstancesRecord[i].heatingGridSystemStorageRecord.CHP_quantity for i in 1:nRegions} Amount of different CHP plant types
Integer[nRegions]DifferentTypesOfElectricHeater{heatingGridSystemStorageInstancesRecord[i].nHeatingGrid*heatingGridSystemStorageInstancesRecord[i].heatingGridSystemStorageRecord.ElHeater_quantity for i in 1:nRegions}Amount of different electrical heater types
Integer[nRegions]DifferentTypesOfGasBoiler{heatingGridSystemStorageInstancesRecord[i].nHeatingGrid*heatingGridSystemStorageInstancesRecord[i].heatingGridSystemStorageRecord.GasBoiler_quantity for i in 1:nRegions}Amount of different gas boiler types
Integer[nRegions]DifferentTypesOfGasStorage{gasStorageInstancesRecord[i].nGasStorages for i in 1:nRegions}Amount of different gas storage types
SI.Pressurep_min_operating_PowerPlants1e5gas pressure threshold at which powerplants turn off
SI.Pressurep_min_operating_PowerPlants_backin2e5gas pressure threshold at which powerplants turn back on after turning off
SI.Pressurep_min_operating_localDemand1e5gas pressure threshold at which local consumers turn off
SI.Pressurep_min_operating_localDemand_backin2e5gas pressure threshold at which powerplants turn back on after turning off
String[nRegions_info]file_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_data_path_info) + "Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".mat") for i in 1:nRegions_info}
Integer[2]dim_PowerPlants_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".PowerPlants")Dimensions of PowerPlants matrix
Integer[2]dim_CHPPlants_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".CHPPlants")Dimensions of CHPPlants matrix
Integer[2]dim_ElectricalStorages_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".ElectricalStorages")Dimensions of ElectricalStorages matrix
Integer[2]dim_PowerToGasPlants_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".PowerToGasPlants")Dimensions of PowerToGasPlants matrix
Integer[2]dim_ElectricHeater_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".ElectricHeater")Dimensions of ElectricHeater matrix
Integer[2]dim_GasStorages_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".GasStorages")Dimensions of GasStorage matrix
Integer[2]dim_GasBoiler_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".GasBoiler")Dimensions of GasBoiler matrix
Integer[2]dim_GeneralInformation_info (from ExternalDataImport)Modelica.Utilities.Streams.readMatrixSize(file_info[1], "Region" + String(Region_info[1]) + ".GeneralInformation")Dimensions of GeneralInformation matrix
Real[nRegions_info,dim_PowerPlants_info[1],dim_PowerPlants_info[2]]InformationRegion_PowerPlants (from ExternalDataImport){if LoadInformationPowerPlants_info[i] == false then zeros(dim_PowerPlants_info[1], dim_PowerPlants_info[2]) else Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".PowerPlants", dim_PowerPlants_info[1], dim_PowerPlants_info[2]) for i in 1:nRegions_info}
Real[nRegions_info,:,:]InformationRegion_CHPPlants (from ExternalDataImport){if LoadInformationCHPPlants_info[i] == false then zeros(dim_CHPPlants_info[1], dim_CHPPlants_info[2]) else Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".CHPPlants", dim_CHPPlants_info[1], dim_CHPPlants_info[2]) for i in 1:nRegions_info}
Real[nRegions_info,dim_ElectricalStorages_info[1],dim_ElectricalStorages_info[2]]InformationRegion_ElectricalStorages (from ExternalDataImport){if LoadInformationElectricalStorages_info[i] == false then zeros(dim_ElectricalStorages_info[1], dim_ElectricalStorages_info[2]) else Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".ElectricalStorages", dim_ElectricalStorages_info[1], dim_ElectricalStorages_info[2]) for i in 1:nRegions_info}
Real[nRegions_info,dim_PowerToGasPlants_info[1],dim_PowerToGasPlants_info[2]]InformationRegion_PowerToGasPlants (from ExternalDataImport){if LoadInformationPowerToGasPlants_info[i] == false then zeros(dim_PowerToGasPlants_info[1], dim_PowerToGasPlants_info[2]) else Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".PowerToGasPlants", dim_PowerToGasPlants_info[1], dim_PowerToGasPlants_info[2]) for i in 1:nRegions_info}
Real[nRegions_info,dim_ElectricHeater_info[1],dim_ElectricHeater_info[2]]InformationRegion_ElectricHeater (from ExternalDataImport){if LoadInformationElectricalHeater_info[i] == false then zeros(dim_ElectricHeater_info[1], dim_ElectricHeater_info[2]) else Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".ElectricHeater", dim_ElectricHeater_info[1], dim_ElectricHeater_info[2]) for i in 1:nRegions_info}
Real[nRegions_info,dim_GasStorages_info[1],dim_GasStorages_info[2]]InformationRegion_GasStorages_raw (from ExternalDataImport){if LoadInformationGasStorage_info[i] == false then zeros(dim_GasStorages_info[1], dim_GasStorages_info[2]) else Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".GasStorages", dim_GasStorages_info[1], dim_GasStorages_info[2]) for i in 1:nRegions_info}
Real[nRegions_info,:,:]InformationRegion_GasStorages (from ExternalDataImport){if LoadInformationGasStorage_info[i] == false then InformationRegion_GasStorages_raw[i, :, :] else cat(2, InformationRegion_GasStorages_raw[i, :, 1:3], scaleFactorGasStorageCap_info*[InformationRegion_GasStorages_raw[i, :, 4]], scaleFactorGasStoragePower_info*InformationRegion_GasStorages_raw[i, :, 5:6], InformationRegion_GasStorages_raw[i, :, 7:9], scaleFactorGasStorageCap_info*[InformationRegion_GasStorages_raw[i, :, 10]], InformationRegion_GasStorages_raw[i, :, 11:dim_GasStorages_info[2]]) for i in 1:nRegions_info}
Real[nRegions_info,dim_GasBoiler_info[1],dim_GasBoiler_info[2]]InformationRegion_GasBoiler (from ExternalDataImport){if LoadInformationGasBoiler_info[i] == false then zeros(dim_GasBoiler_info[1], dim_GasBoiler_info[2]) else Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".GasBoiler", dim_GasBoiler_info[1], dim_GasBoiler_info[2]) for i in 1:nRegions_info}
Real[nRegions_info,dim_GeneralInformation_info[1],dim_GeneralInformation_info[2]]InformationRegion_GeneralInformation (from ExternalDataImport){Modelica.Utilities.Streams.readRealMatrix(file_info[i], "Region" + String(Region_info[i]) + ".GeneralInformation", dim_GeneralInformation_info[1], dim_GeneralInformation_info[2]) for i in 1:nRegions_info}
Integer[nRegions_info]DifferentTypesOfPowerPlants_info (from ExternalDataImport){if LoadInformationPowerPlants_info[i] == true then TransiEnt.Basics.Functions.real2integer(max(InformationRegion_PowerPlants[i, :, 2])) else 0 for i in 1:nRegions_info}Amount of different power plant types
Integer[nRegions_info]DifferentTypesOfElectricalStorages_info (from ExternalDataImport){if LoadInformationElectricalStorages_info[i] == true then TransiEnt.Basics.Functions.real2integer(max(InformationRegion_ElectricalStorages[i, :, 2])) else 0 for i in 1:nRegions_info} Amount of different electrical storage types
Integer[nRegions_info]DifferentTypesOfCHPPlants_info (from ExternalDataImport){if LoadInformationCHPPlants_info[i] == true then TransiEnt.Basics.Functions.real2integer(max(InformationRegion_CHPPlants[i, :, 2])) else 0 for i in 1:nRegions_info} Amount of different CHP plant types
General
Integer[nRegions]Region1:nRegionsDefine Region Numbers
IntegernRegions3Number of regions
Modelica.Units.SI.MassFlowRatem_flow_small0.1small leakage mass flow for numerical stability
TILMedia.VLEFluidTypes.BaseVLEFluidmedium_CO2simCenter.gasModel1CO2 model to be used
TILMedia.VLEFluidTypes.BaseVLEFluidmediumsimCenter.gasModel1Gas model to be used
TILMedia.VLEFluidTypes.BaseVLEFluidmedium_HydrogensimCenter.gasModel3Hydrogen model to be used
Helper Paramters
IntegerNumberOfPowerplantsOverAllRegionssum(DifferentTypesOfPowerPlants)
IntegerNumberOfElectricalStoragesOverAllRegionssum(DifferentTypesOfElectricalStorages)
IntegerNumberOfPowerToGasPlantsOverAllRegionssum(DifferentTypesOfPowerToGasPlants)
IntegerNumberOfElectricalHeatersOverAllRegionssum(DifferentTypesOfElectricHeater)
GasGrid
Modelica.Units.SI.Pressure[nRegions]p_gasGrid_desiredfill(simCenter.p_amb_const + simCenter.p_eff_2, nRegions)desired gas grid pressure in region
Modelica.Units.SI.PressureDifference[nRegions]p_gasGrid_desired_bandwidthfill(0, nRegions)band width around p_gasGrid_desired in which the set value varies depending on the SOC of the gas storage
BooleanuseOneGasPortOnlytruetrue: one gas port per region, false: 6 gas ports per region one for each technology
Integern_gasPortif useOneGasPortOnly then 1 else 6
BooleanuseImportExportBoundaryfill(false, nRegions)useOneGasPortOnly has to be turned on for this
Real[nRegions]junctionVolumefill(10676.7, nRegions)Volume of accumulating central gas volume if useOneGasPortOnly
Technology Parametrization › Heating Grid
Modelica.Units.NonSI.Temperature_degC[nRegions]T_supply_max_districtHeatingfill(149, nRegions)
Modelica.Units.NonSI.Temperature_degC[nRegions]T_return_min_districtHeatingfill(49, nRegions)
Records.InstancesRecords.HeatingGridSystemStorageInstancesRecordheatingGridSystemStorageInstancesRecordfill(Records.InstancesRecords.HeatingGridSystemStorageInstancesRecord(nHeatingGrid = 0), nRegions)Always disabled, under developmeent
Technology Parametrization › Powerplants
IntegerslackBoundaryPosition{1, 1}Indices [nRegion, power plant number in region] for powerplant position to act as an epp slack boundary
Records.InstancesRecords.PowerPlantInstancesRecord[nRegions]powerPlantInstancesRecordpowerPlantInstancesRecordRegionInfoPower plant parametrization
Technology Parametrization › Power To Gas
Boolean[nRegions]useHydrogenFromPtGInPowerPlantsfill(false, nRegions)Hydrogen from PtG is fed directly into powerplants
Boolean[nRegions]useVariableHydrogenFractionfill(false, nRegions)if PtG is methanation: H2 fractrion in gas output is controlled
Integer[nRegions]usageOfWasteHeatOfPtGfill(1, nRegions)Waste heat usage of PtG: 1=No usage, 2=CO2 Desorption, 3=DistrictHeating(currently disabled)
Records.InstancesRecords.PowerToGasInstancesRecordpowerToGasInstancesRecordpowerToGasInstancesRecordRegionInfoPtG system parametrization
Local Demand and Ren. Production tables › Local Demand
StringlocalElectricDemand_pathToTablelocalElectricDemand_pathToTable_infoAbsolute path to table
ReallocalElectricDemand_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalGasDemand_pathToTablelocalGasDemand_pathToTable_infoAbsolute path to table
ReallocalGasDemand_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalSolarthermalProduction_pathToTablelocalSolarthermalProduction_pathToTable_infoAbsolute path to table
ReallocalSolarthermalProduction_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalTemperature_pathToTablelocalTemperature_pathToTable_infoAbsolute path to table
ReallocalTemperature_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalHeatDemand_pathToTablelocalHeatDemand_pathToTable_infoAbsolute path to table
ReallocalHeatDemand_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
Real[nRegions]splitHeatingDemand_localHeatingfill(1, nRegions)Fraction of table data values referring to local heating compared to local heating grid
Local Demand and Ren. Production tables › Local Renewable Production
StringlocalBiogasProduction_pathToTablelocalBiogasProduction_pathToTable_infoAbsolute path to table
ReallocalBiogasProduction_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalWindOffshoreProduction_pathToTablelocalWindOffshoreProduction_pathToTable_infoAbsolute path to table
ReallocalWindOffshoreProduction_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalBiomassProduction_pathToTablelocalBiomassProduction_pathToTable_infoAbsolute path to table
ReallocalBiomassProduction_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalPhotovoltaicProduction_pathToTablelocalPhotovoltaicProduction_pathToTable_infoAbsolute path to table
ReallocalPhotovoltaicProduction_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
StringlocalWindOnshoreProduction_pathToTablelocalWindOnshoreProduction_pathToTable_infoAbsolute path to table
ReallocalWindOnshoreProduction_constantMultiplierfill(1.0, nRegions)Multiply output with constant factor
Technology Parametrization › Electrical Storages
Records.InstancesRecords.ElectricalStorageInstancesRecord[nRegions]electricalStorageInstancesRecordelectricalStorageInstancesRecordRegionInfoElectrical Storage parametrization
Technology Parametrization › Gas Storages
Records.InstancesRecords.GasStorageInstancesRecord[nRegions]gasStorageInstancesRecordgasStorageInstancesRecordRegionInfoGas Storage parametrization
Technology Parametrization › Local Demand
Records.InstancesRecords.LocalDemandInstancesRecord[nRegions]localDemandInstancesRecordlocalDemandInstancesRecordRegionInfoLocal demand parametrization
Technology Parametrization › Local Renewable Production
Records.InstancesRecords.LocalRenewableProductionInstancesRecord[nRegions]localRenewableProductionInstancesRecordfill(Records.InstancesRecords.LocalRenewableProductionInstancesRecord(), nRegions)Local renewable production parametrization
Technology Parametrization › CO2System
Records.InstancesRecords.CO2SystemInstancesRecord[nRegions]cO2SystemInstancesRecordcO2SystemInstancesRecordRegionInfoCO2 system parametrization
Import of external data sources › Matlab-script created matrices
Integer[nRegions_info]Region_info (from ExternalDataImport)1:nRegions_infoList of regions
IntegerSimulationCounter_info (from ExternalDataImport)99Data set identifier
IntegernRegions_info (from ExternalDataImport)4Number of regions in data set
RealscaleFactorGasStorageCap_info (from ExternalDataImport)1Scale factor for gas storage capacities
RealscaleFactorGasStoragePower_info (from ExternalDataImport)1Scale factor for gas storage max in/outflow
Stringinput_table_path_info (from ExternalDataImport)TransiEnt.SystemGeneration.Superstructure.Types.SUPERSTRUCTURE_TABLESEnvironment variable
Stringinput_data_path_info (from ExternalDataImport)TransiEnt.SystemGeneration.Superstructure.Types.SUPERSTRUCTURE_INPUTEnvironment variable
Import of external data sources › General
Boolean[nRegions_info]LoadInformationPowerPlants_info (from ExternalDataImport)fill(true, nRegions_info)true, if power plants exist in region
Boolean[nRegions_info]LoadInformationElectricalStorages_info (from ExternalDataImport)fill(true, nRegions_info)true, if electrical storages exist in region
Boolean[nRegions_info]LoadInformationPowerToGasPlants_info (from ExternalDataImport)fill(true, nRegions_info)true, if power to gas plants exist in region
Boolean[nRegions_info]LoadInformationGasStorage_info (from ExternalDataImport)fill(true, nRegions_info)true, if gas storages exist in region
Boolean[nRegions_info]LoadInformationCHPPlants_info (from ExternalDataImport)fill(false, nRegions_info)true, if CHP plants exist in region
Boolean[nRegions_info]LoadInformationElectricalHeater_info (from ExternalDataImport)fill(false, nRegions_info)true, if electrical heater exist in region
Boolean[nRegions_info]LoadInformationGasBoiler_info (from ExternalDataImport)fill(false, nRegions_info)true, if gas boiler exist in region
DataTables-previous
Integer[nRegions_info]DifferentTypesOfPowerToGasPlants_info (from ExternalDataImport){if LoadInformationPowerToGasPlants_info[i] == true then TransiEnt.Basics.Functions.real2integer(max(InformationRegion_PowerToGasPlants[i, :, 2])) else 0 for i in 1:nRegions_info}Amount of different power to gas plant types
Integer[nRegions_info]DifferentTypesOfElectricHeater_info (from ExternalDataImport){if LoadInformationElectricalHeater_info[i] == true then TransiEnt.Basics.Functions.real2integer(max(InformationRegion_ElectricHeater[i, :, 2])) else 0 for i in 1:nRegions_info}Amount of different electrical heater types
Integer[nRegions_info]DifferentTypesOfGasBoiler_info (from ExternalDataImport){if LoadInformationGasBoiler_info[i] == true then TransiEnt.Basics.Functions.real2integer(max(InformationRegion_GasBoiler[i, :, 2])) else 0 for i in 1:nRegions_info}Amount of different gas boiler types
Import of external data sources › InstanceRecord Creation
Config_info.Records.InstancesRecords.ElectricalStorageInstancesRecord[nRegions_info]electricalStorageInstancesRecordRegionInfo (from ExternalDataImport){Config_info.Records.InstancesRecords.ElectricalStorageInstancesRecord(nElectricalStorages = DifferentTypesOfElectricalStorages_info[i], electricalStorageType = {Config_info.ElectricalStorageType(integer(max(InformationRegion_ElectricalStorages[i, j, 13], 1))) for j in 1:DifferentTypesOfElectricalStorages_info[i]}, electricalStorageRecord = {Config_info.Records.ElectricalStorageRecord(E_start = InformationRegion_ElectricalStorages[i, j, 10], E_max = InformationRegion_ElectricalStorages[i, j, 8], E_min = InformationRegion_ElectricalStorages[i, j, 9], P_max_unload = InformationRegion_ElectricalStorages[i, j, 5], P_max_load = InformationRegion_ElectricalStorages[i, j, 4], P_grad_max = InformationRegion_ElectricalStorages[i, j, 11], eta_unload = InformationRegion_ElectricalStorages[i, j, 7], eta_load = InformationRegion_ElectricalStorages[i, j, 6], selfDischargeRate = InformationRegion_ElectricalStorages[i, j, 12]) for j in 1:DifferentTypesOfElectricalStorages_info[i]}) for i in 1:nRegions_info}
Config_info.Records.InstancesRecords.GasStorageInstancesRecord[nRegions_info]gasStorageInstancesRecordRegionInfo (from ExternalDataImport){Config_info.Records.InstancesRecords.GasStorageInstancesRecord(gasStorageRecord = Config_info.Records.GasStorageRecord(Volume = InformationRegion_GasStorages[i, 1, 4], m_gas_start = InformationRegion_GasStorages[i, 1, 10], m_flow_nom = InformationRegion_GasStorages[i, 1, 5], Vgeo_per_mMax = InformationRegion_GasStorages[i, 1, 4], m_flow_inMax = InformationRegion_GasStorages[i, 1, 5], m_flow_outMax = InformationRegion_GasStorages[i, 1, 6], GasStrorageTypeNo = InformationRegion_GasStorages[i, 1, 11])) for i in 1:nRegions_info}
Config_info.Records.InstancesRecords.PowerPlantInstancesRecord[nRegions_info]powerPlantInstancesRecordRegionInfo (from ExternalDataImport){Config_info.Records.InstancesRecords.PowerPlantInstancesRecord(nPowerPlants = max(DifferentTypesOfPowerPlants_info[i], 1), powerPlantType = {Config_info.PowerPlantType(integer(InformationRegion_PowerPlants[i, j, 10])) for j in 1:DifferentTypesOfPowerPlants_info[i]}, powerPlantRecord = {Config_info.Records.PowerPlantRecord(P_el_n = InformationRegion_PowerPlants[i, j, 4], P_min_star = InformationRegion_PowerPlants[i, j, 6], P_grad_max_star = InformationRegion_PowerPlants[i, j, 7], t_startup = if dim_PowerPlants_info[2] >= 13 then InformationRegion_PowerPlants[i, j, 13] else 0, CO2_Deposition_Rate = InformationRegion_PowerPlants[i, j, 11], quantity = if InformationRegion_PowerPlants[i, j, 10] == 3 then 1 else integer(InformationRegion_PowerPlants[i, j, 4]/1000e6) + 1, eta_total = InformationRegion_PowerPlants[i, j, 5], P_init_set = InformationRegion_PowerPlants[i, j, 9] + 1e-3) for j in 1:DifferentTypesOfPowerPlants_info[i]}) for i in 1:nRegions_info}
Config_info.Records.InstancesRecords.LocalDemandInstancesRecord[nRegions_info]localDemandInstancesRecordRegionInfo (from ExternalDataImport){Config_info.Records.InstancesRecords.LocalDemandInstancesRecord(localDemandRecord = Config_info.Records.LocalDemandRecord(Fraction = {InformationRegion_GeneralInformation[i, 1, k] for k in 6:15}, Q_demand_annual = InformationRegion_GeneralInformation[i, 1, 16]*3500*3600, volume_junction = InformationRegion_GeneralInformation[i, 1, 21], HeatPumpAndSolarSole_COP_n = InformationRegion_GeneralInformation[i, 1, 22], HeatPumpSole_COP_n = InformationRegion_GeneralInformation[i, 1, 22], HeatPumpAndSolar_COP_n = InformationRegion_GeneralInformation[i, 1, 23], HeatPump_COP_n = InformationRegion_GeneralInformation[i, 1, 23], gasboiler_eta = InformationRegion_GeneralInformation[i, 1, 24], electricBoiler_eta = InformationRegion_GeneralInformation[i, 1, 25])) for i in 1:nRegions_info}
Config_info.Records.InstancesRecords.CO2SystemInstancesRecord[nRegions_info]cO2SystemInstancesRecordRegionInfo (from ExternalDataImport){Config_info.Records.InstancesRecords.CO2SystemInstancesRecord(cO2SystemRecord = Config_info.Records.CO2SystemRecord(DirectAirCapture_EnergyDemandThermal = if dim_PowerToGasPlants_info[2] >= 22 then InformationRegion_PowerToGasPlants[i, 1, 22] else 7.92e6, DirectAirCapture_EnergyDemandElectrical = if dim_PowerToGasPlants_info[2] >= 22 then InformationRegion_PowerToGasPlants[i, 1, 21] else 2.52e6, m_start_CO2_storage = InformationRegion_PowerToGasPlants[i, 1, 20])) for i in 1:nRegions_info}
Config_info.Records.InstancesRecords.PowerToGasInstancesRecord[nRegions_info]powerToGasInstancesRecordRegionInfo (from ExternalDataImport){if DifferentTypesOfPowerToGasPlants_info[i] > 0 then Config_info.Records.InstancesRecords.PowerToGasInstancesRecord(nPowerToGasPlants = DifferentTypesOfPowerToGasPlants_info[i], powerToGasType = Config_info.PowerToGasType(integer(max(InformationRegion_PowerToGasPlants[i, 1, 12], 1))), powerToGasRecord = Config_info.Records.PowerToGasRecord(WasteHeatUsage_V_storage = InformationRegion_PowerToGasPlants[i, 1, 4]*0.22923*48/(4.18*(105 - 20))/959, MethanationPlant_m_flow_n_Hydrogen = InformationRegion_PowerToGasPlants[i, 1, 4]*InformationRegion_PowerToGasPlants[i, 1, 5]/(141.79e6 - 219972), P_el_n = InformationRegion_PowerToGasPlants[i, 1, 4], eta_n = InformationRegion_PowerToGasPlants[i, 1, 5], max_storage = InformationRegion_PowerToGasPlants[i, 1, 6]*1000, P_el_min_rel = InformationRegion_PowerToGasPlants[i, 1, 7], complexityLevelMethanation = integer(InformationRegion_PowerToGasPlants[i, 1, 8]), p_Start = InformationRegion_PowerToGasPlants[i, 1, 9]*1e5, m_flow_internaldemand_constant = InformationRegion_PowerToGasPlants[i, 1, 14], p_minLow_constantDemand = InformationRegion_PowerToGasPlants[i, 1, 15], p_minLow = InformationRegion_PowerToGasPlants[i, 1, 16], p_minHigh = InformationRegion_PowerToGasPlants[i, 1, 17], p_maxLow = InformationRegion_PowerToGasPlants[i, 1, 18], p_maxHigh = InformationRegion_PowerToGasPlants[i, 1, 19])) else Config_info.Records.InstancesRecords.PowerToGasInstancesRecord(nPowerToGasPlants = 0) for i in 1:nRegions_info}
Config_info.Records.InstancesRecords.HeatingGridSystemStorageInstancesRecord[nRegions_info]heatingGridInstancesRecordRegionInfo (from ExternalDataImport){if (DifferentTypesOfCHPPlants_info[i] > 0 or DifferentTypesOfElectricHeater_info[i] > 0 or DifferentTypesOfGasBoiler_info[i] > 0) then Config_info.Records.InstancesRecords.HeatingGridSystemStorageInstancesRecord(nHeatingGrid = 1, heatingGridSystemStorageRecord = Config_info.Records.HeatingGridSystemStorageRecord(Q_flow_max = InformationRegion_GeneralInformation[i, 1, 5]*InformationRegion_GeneralInformation[i, 1, 16], ElHeater_quantity = integer(InformationRegion_ElectricHeater[i, 1, 3]), ElHeater_Q_el_n = InformationRegion_ElectricHeater[i, 1, 4], ElHeater_eta_n = InformationRegion_ElectricHeater[i, 1, 5], CHP_quantity = integer(InformationRegion_CHPPlants[i, 1, 3]), CHP_P_el_n = InformationRegion_CHPPlants[i, 1, 4], CHP_Q_flow_n = InformationRegion_CHPPlants[i, 1, 5], CHP_meritOrder = integer(InformationRegion_CHPPlants[i, 1, 6]), CHP_Q_flow_init = InformationRegion_CHPPlants[i, 1, 7], GasBoiler_Q_flow_n = InformationRegion_GasBoiler[i, 1, 4], GasBoiler_eta_n = InformationRegion_GasBoiler[i, 1, 5], GasBoiler_quantity = integer(InformationRegion_GasBoiler[i, 1, 3]))) else Config_info.Records.InstancesRecords.HeatingGridSystemStorageInstancesRecord(nHeatingGrid = 0) for i in 1:nRegions_info}Always deactivated, still in development
Import of external data sources › Local Demand Profile Path
StringlocalElectricDemand_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "LoadProfiles/ElectricalDemandProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalGasDemand_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "LoadProfiles/GasDemandProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalSolarthermalProduction_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "SolarthermalProduction/SolarthermalProductionProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalTemperature_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "Temperature/TemperatureProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalHeatDemand_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "HeatDemandProfiles/HeatDemandProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
Import of external data sources › Local Renewable Production Profile Path
StringlocalBiogasProduction_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "BioProduction/BiogasProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalWindOffshoreProduction_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "WindOffshoreProduction/RenewableWindOffshoreProductionProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalBiomassProduction_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "BioProduction/RenewableBioProductionProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalPhotovoltaicProduction_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "PVProduction/RenewablePVProductionProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}
StringlocalWindOnshoreProduction_pathToTable_info (from ExternalDataImport){TransiEnt.Basics.Functions.fullPathName(Modelica.Utilities.System.getEnvironmentVariable(input_table_path_info) + "WindProduction/RenewableWindProductionProfile_Region" + String(Region_info[i]) + "_" + String(SimulationCounter_info, significantDigits = 35) + ".txt") for i in 1:nRegions_info}

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInput[nRegions,MaximumDifferentTypesOfPowerPlants]P_set_PowerPlant
TransiEnt.Basics.Interfaces.Electrical.ElectricPowerIn[nRegions,MaximumDifferentTypesOfElectricalStorages]P_set_ElectricalStorage
Modelica.Blocks.Interfaces.RealInput[nRegions]P_set_PtG
Modelica.Blocks.Interfaces.RealInput[nRegions]P_set_curtailment
Modelica.Blocks.Interfaces.RealInput[nRegions]P_set_ElectricalHeater
TransiEnt.Basics.Interfaces.Electrical.ComplexPowerPort[nRegions]epp
TransiEnt.Basics.Interfaces.Gas.RealGasPortIn[nRegions,n_gasPort]gasPortIn
Modelica.Blocks.Interfaces.RealOutput[nRegions,MaximumDifferentTypesOfPowerPlants]P_PowerPlant_max
Modelica.Blocks.Interfaces.RealOutput[nRegions]P_PowerPlant_is
Modelica.Blocks.Interfaces.RealOutput[nRegions]P_DAC
Modelica.Blocks.Interfaces.RealOutput[nRegions]P_PowerToGasPlant_is
Modelica.Blocks.Interfaces.RealOutput[nRegions]P_ElectricalHeater_max
Modelica.Blocks.Interfaces.RealOutput[nRegions]P_surplus_region
Modelica.Blocks.Interfaces.RealOutput[nRegions]P_renewable
Modelica.Blocks.Interfaces.RealOutput[nRegions,MaximumDifferentTypesOfElectricalStorages]P_max_unload_storage
Modelica.Blocks.Interfaces.RealOutput[nRegions,MaximumDifferentTypesOfElectricalStorages]P_max_load_storage
Modelica.Blocks.Interfaces.RealOutput[nRegions,MaximumDifferentTypesOfElectricalStorages]P_storage_is
Modelica.Blocks.Interfaces.RealOutputf_grid

Components

TypeNameDefaultDescription
TransiEnt.SimCentersimCenter
Modelica.Blocks.Sources.RealExpressionexpression_f_grid
Modelica.Blocks.Sources.RealExpressionzero
Components.Records.ControllerInputGenerationcontrollerInputGeneration
Components.Superstructure[nRegions]superstructure

Contents

NameDescription
Config