ethos_penalps.mass_balance#
Module Contents#
Classes#
Attributes#
- ethos_penalps.mass_balance.logger#
- class ethos_penalps.mass_balance.MassBalance(commodity: ethos_penalps.data_classes.Commodity, stream_handler: ethos_penalps.stream_handler.StreamHandler, time_data: ethos_penalps.time_data.TimeData, input_to_output_conversion_factor: numbers.Number, main_output_stream: ethos_penalps.stream.ContinuousStream | ethos_penalps.stream.BatchStream, main_input_stream: ethos_penalps.stream.ContinuousStream | ethos_penalps.stream.BatchStream, optional_input_stream_list: list[ethos_penalps.stream.ContinuousStream | ethos_penalps.stream.BatchStream], state_data_container: ethos_penalps.simulation_data.container_simulation_data.ProductionProcessStateContainer, process_step_name: str)#
- standard_mass_unit#
- standard_time_unit#
A mass balance realizes three functions. - Connection of input and output streams. - Integration of storage for mass - Conversion of commodities
- set_continuous_operation_rate_for_parallel_input_and_output_stream_with_storage() ethos_penalps.stream.ContinuousStreamState#
- set_batch_stream_for_parallel_input_and_output_with_storage() ethos_penalps.stream.BatchStreamState#
- get_output_stream_mass_without_storage() numbers.Number#
- set_continuous_input_stream_according_to_output_stream_with_storage(operation_rate: numbers.Number = float('inf')) ethos_penalps.stream.ContinuousStreamState#
- set_batch_input_stream_according_to_output_stream_with_storage() ethos_penalps.stream.BatchStreamState#
- determine_next_stream_end_time_from_previous_input_streams() datetime.datetime#
- determine_next_stream_start_time_from_previous_input_streams() datetime.datetime#
- determine_required_batch_end_time_to_fulfill_storage() datetime.datetime#
- convert_output_to_input_mass(output_mass: numbers.Number) numbers.Number#
- convert_input_to_output_mass(input_mass: numbers.Number) numbers.Number#
- determine_required_input_rate(output_stream_state: ethos_penalps.stream.ContinuousStreamState, input_to_output_conversion_factor: numbers.Number)#
- reevaluate_storage_level_according_to_adapted_input_stream() ethos_penalps.stream.BatchStreamState | ethos_penalps.stream.ContinuousStreamState#
- create_storage(current_storage_level: numbers.Number = 0, minimum_storage_level_at_start_time_of_production_branch: numbers.Number = 0, maximum_storage_level_at_start_time_of_production_branch: numbers.Number | None = None) ethos_penalps.storage.Storage#
Each process step requires a storage currently. Currently storage level must be 0 at start
- Returns:
_description_
- Return type:
_type_
- add_main_input_stream_name(input_stream_name: str)#
- add_main_output_stream_name(output_stream_name: str)#
- get_input_stream_name() str#
- get_output_stream_name() str#
- check_input_and_output_stream_mass_balance()#
- determine_missing_mass_for_output_stream()#
- check_if_production_branch_is_fulfilled()#
- check_if_production_branch_is_fulfilled_with_over_production() bool#
- check_if_output_stream_can_be_supplied_directly_from_storage()#
- determine_if_input_stream_is_bigger_than_output() bool#