utilitylca.models.steam_net namespace¶
Submodules¶
utilitylca.models.steam_net.steam_distribution_conventional module¶
- class utilitylca.models.steam_net.steam_distribution_conventional.steam_net(*args, **kwargs)[source]¶
Bases:
SimModel- calculate_model(**params)[source]¶
needed_pressure: steam pressure in bar heat: transfered heat in W makeup_factor: factor of the amount of make up water default= 0.02 net_pressure: steam net pressure in bar
- description = 'This SiModIn model can be used to calculate the temperature dependent impact of process heat from steam. The model generates two products, the desdired steam at defined condensing temperature and the network steam. This is needed to have a fixed pipe heat capacity.The model considers physical, dissipative and pressure losses in the steam network.'¶
- init_model(init_arg=None, **params)[source]¶
Abstract method to initiate the model.
- Parameters:
**model_params – Parameters for the simulation Model.
- parameters = {'Tamb': parameter(name='Tamb', val=None, default=20, min=0, max=30, description='Ambient temperature in °C. Must be between 0 and 30 °C.', reference=None), 'environment_media': parameter(name='environment_media', val=None, default='air', min=None, max=None, description='Environment media for heat loss calculation. Must be either "air" or "water".', reference=None), 'heat': parameter(name='heat', val=None, default=1000000.0, min=None, max=None, description='Transferred heat at process in W.', reference=None), 'heat_capacity_pipe_network': parameter(name='heat_capacity_pipe_network', val=None, default=20000000.0, min=None, max=None, description='Heat capacity of the pipe network in W.', reference=None), 'insulation_thickness': parameter(name='insulation_thickness', val=None, default=0.1, min=None, max=None, description='Insulation thickness in m. Must be a positive value.', reference='https://doi.org/10.1016/j.applthermaleng.2016.03.010'), 'leakage_factor': parameter(name='leakage_factor', val=None, default=0.075, min=0, max=1, description='Factor of the amount of steam leakage. Must be between 0 and 1.', reference='https://invenoeng.com/steam-system-thermal-cycle-efficiency-a-important-benchmark-in-the-steam-system/'), 'mains': parameter(name='mains', val=None, default=[4, 8, 16, 40], min=None, max=None, description='Main pressures in bar. Must be a list of positive values.', reference=None), 'makeup_factor': parameter(name='makeup_factor', val=None, default=0.05, min=0, max=1, description='Factor of the amount of make up water. Must be between 0 and 1.', reference=None), 'max_pressure': parameter(name='max_pressure', val=None, default=130, min=10, max=200, description='Maximum pressure in bar.', reference=None), 'needed_temperature': parameter(name='needed_temperature', val=None, default=230, min=100, max=230, description='Needed temperature of the steam at the point of use in °C. Must be larger than 100 °C.', reference=None), 'pipe_depth': parameter(name='pipe_depth', val=None, default=2, min=None, max=None, description='Depth of the pipe in m. Must be a positive value.', reference=None), 'pipe_length': parameter(name='pipe_length', val=None, default=1000, min=None, max=None, description='Length of the pipe in m. Must be a positive value.', reference=None), 'wind_velocity': parameter(name='wind_velocity', val=None, default=3, min=None, max=None, description='Wind velocity in m/s. Must be a positive value.', reference=None)}¶
self.name = name self.ureg=pint.UnitRegistry() # check and create parameter dict: self.params = model_params for _, p in self.__class__.parameters.items():
- if p.name not in model_params and p.default == None:
- raise Exception(
f’’’The parameter {p.name} is not defined. it mus be passed as parameter in the __init__ method or be defined as default parameter in the class definition.’’’ )
- elif p.name not in model_params and p.default != None:
self.params[p.name]= p.default
undefined_params= [p for p in model_params if p not in self.__class__.parameters] if len(undefined_params) >0:
- raise Warning(
f’’’The parameters {list(undefined_params)} are not defined for this model. No validy check possible for this parameter. Please check if the parameter name is correct and if it is defined in the model class definition.’’’ )
self.location = ‘GLO’ #self.init_model(init_arg, **model_params) #self.define_flows() self.converges= False
- recalculate_model(**params)[source]¶
Method to recalculate the model based on the parameters provided. Executes a new initialising and calculation of the model. Might be overwritten if a better and faster way to recalculate the model is possible.
- reference = {'author': 'Hannes Schneider', 'doi': 'tba', 'key': '', 'license': 'tba', 'location': '', 'title': 'tba', 'type': 'misc', 'url': 'https://github.com/HaSchneider', 'year': '2025'}¶