modelGenericStorageHyst
Extends from GenericStorage_base (Partial class for highly adaptable but non-physical model for all kinds of energy storages).
Information
1. Purpose of model
Highly adaptable but non-physical model for all kinds of energy storages. Has a hysteresis for when the storage is full and empty. Recommended for storage models with losses.
2. Level of detail, physical effects considered, and physical insight
(no remarks)
3. Limits of validity
(no remarks)
4. Interfaces
P_set: input for electric power in [W] -Grid side setpoint power (Positive = load request, negative = unload request) [W]
P_is: output for electric power in [W]- Grid side power (Positive = loading, negative = unloading) [W]
5. Nomenclature
(no remarks)
6. Governing Equations
(no remarks)
7. Remarks for Usage
Boolean parameter use_PowerRateLimiter can deactive block 'PowerRateLimiter'. This might lead to faster calculation results if power rate limitation is not needed.
PlantDynamics: Set T_plant to 0 in StorageParameters to deactivate first order block
8. Validation
Tested in check model "TransiEnt.Storage.Base.Check.TestGenericStorage"
9. References
(no remarks)
10. Version History
Model extended from base class by Carsten Bode (c.bode@tuhh.de), Nov 2018
Model adapted by Oliver Schülting (oliver.schuelting@tuhh.de), April 2018: added first order plant dynamics block which can be deactivated.
Model adapted by Anne Senkel (anne.senkel@tuhh.de),March 2020: Hysteresis can be used when storage is empty as well.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| GenericStorageParameters | params (from GenericStorage_base) | Record of generic storage parameters | |
| Boolean | use_PowerRateLimiter (from GenericStorage_base) | true | Use Power Rate Limitation |
| Real | Nd_powerRateLimiter (from GenericStorage_base) | 1/simCenter.Td | The higher Nd, the closer y follows u in the power rate limiter |
| SI.Time | T_plant (from GenericStorage_base) | params.T_plant | first order plant dynamic |
| Boolean | use_plantDynamic (from GenericStorage_base) | false | choose if first order plant dynamic is used |
| Boolean | use_inverterEfficiency (from GenericStorage_base) | false | choose if efficiency curve of inverter is used for loading and unloading |
| Real[:,:] | efficiencyCurve_inverter (from GenericStorage_base) | [0, 0; 0.5, 70.6425; 1, 84.9247; 1.5, 89.6817; 2, 92.0574; 2.5, 93.4807; 3, 94.4276; 3.5, 95.1024; 4, 95.6072; 4.5, 95.9985; 5, 96.3104; 5.5, 96.5646; 6, 96.7756; 6.5, 96.9532; 7, 97.1046; 7.5, 97.2351; 8, 97.3486; 8.5, 97.4481; 9, 97.536; 9.5, 97.614; 10, 97.6836; 10.5, 97.7461; 11, 97.8024; 11.5, 97.8533; 12, 97.8995; 12.5, 97.9416; 13, 97.98; 13.5, 98.0151; 14, 98.0473; 14.5, 98.077; 15, 98.1043; 15.5, 98.1294; 16, 98.1527; 16.5, 98.1742; 17, 98.1941; 17.5, 98.2125; 18, 98.2296; 18.5, 98.2455; 19, 98.2603; 19.5, 98.274; 20, 98.2868; 20.5, 98.2986; 21, 98.3097; 21.5, 98.3199; 22, 98.3295; 22.5, 98.3384; 23, 98.3466; 23.5, 98.3543; 24, 98.3614; 24.5, 98.368; 25, 98.3741; 25.5, 98.3797; 26, 98.3849; 26.5, 98.3897; 27, 98.3942; 27.5, 98.3982; 28, 98.4019; 28.5, 98.4053; 29, 98.4084; 29.5, 98.4112; 30, 98.4137; 30.5, 98.416; 31, 98.418; 31.5, 98.4197; 32, 98.4212; 32.5, 98.4225; 33, 98.4236; 33.5, 98.4245; 34, 98.4253; 34.5, 98.4258; 35, 98.4261; 35.5, 98.4263; 36, 98.4264; 36.5, 98.4262; 37, 98.426; 37.5, 98.4256; 38, 98.425; 38.5, 98.4243; 39, 98.4235; 39.5, 98.4226; 40, 98.4216; 40.5, 98.4204; 41, 98.4192; 41.5, 98.4178; 42, 98.4163; 42.5, 98.4148; 43, 98.4131; 43.5, 98.4114; 44, 98.4096; 44.5, 98.4077; 45, 98.4057; 45.5, 98.4036; 46, 98.4014; 46.5, 98.3992; 47, 98.3969; 47.5, 98.3946; 48, 98.3921; 48.5, 98.3897; 49, 98.3871; 49.5, 98.3845; 50, 98.3818; 50.5, 98.3791; 51, 98.3763; 51.5, 98.3735; 52, 98.3706; 52.5, 98.3676; 53, 98.3646; 53.5, 98.3616; 54, 98.3585; 54.5, 98.3554; 55, 98.3522; 55.5, 98.349; 56, 98.3457; 56.5, 98.3424; 57, 98.3391; 57.5, 98.3357; 58, 98.3323; 58.5, 98.3288; 59, 98.3253; 59.5, 98.3218; 60, 98.3182; 60.5, 98.3146; 61, 98.311; 61.5, 98.3074; 62, 98.3037; 62.5, 98.3; 63, 98.2962; 63.5, 98.2924; 64, 98.2886; 64.5, 98.2848; 65, 98.281; 65.5, 98.2771; 66, 98.2732; 66.5, 98.2692; 67, 98.2653; 67.5, 98.2613; 68, 98.2573; 68.5, 98.2533; 69, 98.2492; 69.5, 98.2451; 70, 98.2411; 70.5, 98.2369; 71, 98.2328; 71.5, 98.2287; 72, 98.2245; 72.5, 98.2203; 73, 98.2161; 73.5, 98.2119; 74, 98.2076; 74.5, 98.2033; 75, 98.1991; 75.5, 98.1948; 76, 98.1904; 76.5, 98.1861; 77, 98.1818; 77.5, 98.1774; 78, 98.173; 78.5, 98.1686; 79, 98.1642; 79.5, 98.1598; 80, 98.1554; 80.5, 98.1509; 81, 98.1464; 81.5, 98.142; 82, 98.1375; 82.5, 98.133; 83, 98.1285; 83.5, 98.1239; 84, 98.1194; 84.5, 98.1148; 85, 98.1103; 85.5, 98.1057; 86, 98.1011; 86.5, 98.0965; 87, 98.0919; 87.5, 98.0873; 88, 98.0826; 88.5, 98.078; 89, 98.0733; 89.5, 98.0687; 90, 98.064; 90.5, 98.0593; 91, 98.0546; 91.5, 98.0499; 92, 98.0452; 92.5, 98.0405; 93, 98.0358; 93.5, 98.031; 94, 98.0263; 94.5, 98.0215; 95, 98.0168; 95.5, 98.012; 96, 98.0072; 96.5, 98.0024; 97, 97.9976; 97.5, 97.9928; 98, 97.988; 98.5, 97.9832; 99, 97.9784; 99.5, 97.9735; 100, 97.9687]/100 | |
| Boolean | stationaryLossOnlyIfInactive (from GenericStorage_base) | false | |
| Real | relDeltaEnergyHystFull | 0.001 | Relative energy change for the hysteresis to determine if storage is full |
| Real | relDeltaEnergyHystEmpty | 0.001 | Relative energy change for the hysteresis to determine if storage is full |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerIn | P_set (from GenericStorage_base) | Grid side setpoint power (Positive = load request, negative = unload request) | |
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerOut | P_is (from GenericStorage_base) | Grid side power (Positive = loading, negative = unloading) | |
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerOut | P_max_load_is (from GenericStorage_base) |