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
- easy array definition
- 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
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | MaximumDifferentTypesOfPowerPlants | max(powerPlantInstancesRecord[:].nPowerPlants) | |
| Integer | MaximumDifferentTypesOfElectricalStorages | max(electricalStorageInstancesRecord[:].nElectricalStorages) | |
| Integer | MaximumDifferentTypesOfPtG | max(DifferentTypesOfPowerToGasPlants) | |
| Integer | MaximumDifferentTypesOfElectricHeaters | max(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.Pressure | p_min_operating_PowerPlants | 1e5 | gas pressure threshold at which powerplants turn off |
| SI.Pressure | p_min_operating_PowerPlants_backin | 2e5 | gas pressure threshold at which powerplants turn back on after turning off |
| SI.Pressure | p_min_operating_localDemand | 1e5 | gas pressure threshold at which local consumers turn off |
| SI.Pressure | p_min_operating_localDemand_backin | 2e5 | gas 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] | Region | 1:nRegions | Define Region Numbers |
| Integer | nRegions | 3 | Number of regions |
| Modelica.Units.SI.MassFlowRate | m_flow_small | 0.1 | small leakage mass flow for numerical stability |
| TILMedia.VLEFluidTypes.BaseVLEFluid | medium_CO2 | simCenter.gasModel1 | CO2 model to be used |
| TILMedia.VLEFluidTypes.BaseVLEFluid | medium | simCenter.gasModel1 | Gas model to be used |
| TILMedia.VLEFluidTypes.BaseVLEFluid | medium_Hydrogen | simCenter.gasModel3 | Hydrogen model to be used |
| Helper Paramters | |||
| Integer | NumberOfPowerplantsOverAllRegions | sum(DifferentTypesOfPowerPlants) | |
| Integer | NumberOfElectricalStoragesOverAllRegions | sum(DifferentTypesOfElectricalStorages) | |
| Integer | NumberOfPowerToGasPlantsOverAllRegions | sum(DifferentTypesOfPowerToGasPlants) | |
| Integer | NumberOfElectricalHeatersOverAllRegions | sum(DifferentTypesOfElectricHeater) | |
| GasGrid | |||
| Modelica.Units.SI.Pressure[nRegions] | p_gasGrid_desired | fill(simCenter.p_amb_const + simCenter.p_eff_2, nRegions) | desired gas grid pressure in region |
| Modelica.Units.SI.PressureDifference[nRegions] | p_gasGrid_desired_bandwidth | fill(0, nRegions) | band width around p_gasGrid_desired in which the set value varies depending on the SOC of the gas storage |
| Boolean | useOneGasPortOnly | true | true: one gas port per region, false: 6 gas ports per region one for each technology |
| Integer | n_gasPort | if useOneGasPortOnly then 1 else 6 | |
| Boolean | useImportExportBoundary | fill(false, nRegions) | useOneGasPortOnly has to be turned on for this |
| Real[nRegions] | junctionVolume | fill(10676.7, nRegions) | Volume of accumulating central gas volume if useOneGasPortOnly |
| Technology Parametrization › Heating Grid | |||
| Modelica.Units.NonSI.Temperature_degC[nRegions] | T_supply_max_districtHeating | fill(149, nRegions) | |
| Modelica.Units.NonSI.Temperature_degC[nRegions] | T_return_min_districtHeating | fill(49, nRegions) | |
| Records.InstancesRecords.HeatingGridSystemStorageInstancesRecord | heatingGridSystemStorageInstancesRecord | fill(Records.InstancesRecords.HeatingGridSystemStorageInstancesRecord(nHeatingGrid = 0), nRegions) | Always disabled, under developmeent |
| Technology Parametrization › Powerplants | |||
| Integer | slackBoundaryPosition | {1, 1} | Indices [nRegion, power plant number in region] for powerplant position to act as an epp slack boundary |
| Records.InstancesRecords.PowerPlantInstancesRecord[nRegions] | powerPlantInstancesRecord | powerPlantInstancesRecordRegionInfo | Power plant parametrization |
| Technology Parametrization › Power To Gas | |||
| Boolean[nRegions] | useHydrogenFromPtGInPowerPlants | fill(false, nRegions) | Hydrogen from PtG is fed directly into powerplants |
| Boolean[nRegions] | useVariableHydrogenFraction | fill(false, nRegions) | if PtG is methanation: H2 fractrion in gas output is controlled |
| Integer[nRegions] | usageOfWasteHeatOfPtG | fill(1, nRegions) | Waste heat usage of PtG: 1=No usage, 2=CO2 Desorption, 3=DistrictHeating(currently disabled) |
| Records.InstancesRecords.PowerToGasInstancesRecord | powerToGasInstancesRecord | powerToGasInstancesRecordRegionInfo | PtG system parametrization |
| Local Demand and Ren. Production tables › Local Demand | |||
| String | localElectricDemand_pathToTable | localElectricDemand_pathToTable_info | Absolute path to table |
| Real | localElectricDemand_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localGasDemand_pathToTable | localGasDemand_pathToTable_info | Absolute path to table |
| Real | localGasDemand_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localSolarthermalProduction_pathToTable | localSolarthermalProduction_pathToTable_info | Absolute path to table |
| Real | localSolarthermalProduction_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localTemperature_pathToTable | localTemperature_pathToTable_info | Absolute path to table |
| Real | localTemperature_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localHeatDemand_pathToTable | localHeatDemand_pathToTable_info | Absolute path to table |
| Real | localHeatDemand_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| Real[nRegions] | splitHeatingDemand_localHeating | fill(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 | |||
| String | localBiogasProduction_pathToTable | localBiogasProduction_pathToTable_info | Absolute path to table |
| Real | localBiogasProduction_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localWindOffshoreProduction_pathToTable | localWindOffshoreProduction_pathToTable_info | Absolute path to table |
| Real | localWindOffshoreProduction_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localBiomassProduction_pathToTable | localBiomassProduction_pathToTable_info | Absolute path to table |
| Real | localBiomassProduction_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localPhotovoltaicProduction_pathToTable | localPhotovoltaicProduction_pathToTable_info | Absolute path to table |
| Real | localPhotovoltaicProduction_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| String | localWindOnshoreProduction_pathToTable | localWindOnshoreProduction_pathToTable_info | Absolute path to table |
| Real | localWindOnshoreProduction_constantMultiplier | fill(1.0, nRegions) | Multiply output with constant factor |
| Technology Parametrization › Electrical Storages | |||
| Records.InstancesRecords.ElectricalStorageInstancesRecord[nRegions] | electricalStorageInstancesRecord | electricalStorageInstancesRecordRegionInfo | Electrical Storage parametrization |
| Technology Parametrization › Gas Storages | |||
| Records.InstancesRecords.GasStorageInstancesRecord[nRegions] | gasStorageInstancesRecord | gasStorageInstancesRecordRegionInfo | Gas Storage parametrization |
| Technology Parametrization › Local Demand | |||
| Records.InstancesRecords.LocalDemandInstancesRecord[nRegions] | localDemandInstancesRecord | localDemandInstancesRecordRegionInfo | Local demand parametrization |
| Technology Parametrization › Local Renewable Production | |||
| Records.InstancesRecords.LocalRenewableProductionInstancesRecord[nRegions] | localRenewableProductionInstancesRecord | fill(Records.InstancesRecords.LocalRenewableProductionInstancesRecord(), nRegions) | Local renewable production parametrization |
| Technology Parametrization › CO2System | |||
| Records.InstancesRecords.CO2SystemInstancesRecord[nRegions] | cO2SystemInstancesRecord | cO2SystemInstancesRecordRegionInfo | CO2 system parametrization |
| Import of external data sources › Matlab-script created matrices | |||
| Integer[nRegions_info] | Region_info (from ExternalDataImport) | 1:nRegions_info | List of regions |
| Integer | SimulationCounter_info (from ExternalDataImport) | 99 | Data set identifier |
| Integer | nRegions_info (from ExternalDataImport) | 4 | Number of regions in data set |
| Real | scaleFactorGasStorageCap_info (from ExternalDataImport) | 1 | Scale factor for gas storage capacities |
| Real | scaleFactorGasStoragePower_info (from ExternalDataImport) | 1 | Scale factor for gas storage max in/outflow |
| String | input_table_path_info (from ExternalDataImport) | TransiEnt.SystemGeneration.Superstructure.Types.SUPERSTRUCTURE_TABLES | Environment variable |
| String | input_data_path_info (from ExternalDataImport) | TransiEnt.SystemGeneration.Superstructure.Types.SUPERSTRUCTURE_INPUT | Environment 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 | |||
| String | localElectricDemand_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} | |
| String | localGasDemand_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} | |
| String | localSolarthermalProduction_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} | |
| String | localTemperature_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} | |
| String | localHeatDemand_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 | |||
| String | localBiogasProduction_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} | |
| String | localWindOffshoreProduction_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} | |
| String | localBiomassProduction_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} | |
| String | localPhotovoltaicProduction_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} | |
| String | localWindOnshoreProduction_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
| Type | Name | Default | Description |
|---|---|---|---|
| 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.RealOutput | f_grid |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| TransiEnt.SimCenter | simCenter | ||
| Modelica.Blocks.Sources.RealExpression | expression_f_grid | ||
| Modelica.Blocks.Sources.RealExpression | zero | ||
| Components.Records.ControllerInputGeneration | controllerInputGeneration | ||
| Components.Superstructure[nRegions] | superstructure |
Contents
| Name | Description |
|---|---|