Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions src/libecalc/domain/process/compressor/core/train/stage.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
)
from libecalc.domain.process.compressor.core.train.utils.numeric_methods import find_root
from libecalc.domain.process.entities.process_units.compressor.compressor import Compressor
from libecalc.domain.process.entities.process_units.liquid_remover.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.mixer.mixer import Mixer
from libecalc.domain.process.entities.process_units.pressure_modifier.pressure_modifier import (
DifferentialPressureModifier,
Expand Down Expand Up @@ -89,12 +89,6 @@ def set_temperature(self, inlet_stream_stage: FluidStream) -> FluidStream:
"""Cool the inlet stream to the required temperature."""
return self.temperature_setter.set_temperature(inlet_stream_stage)

def remove_liquid(self, inlet_stream_stage: FluidStream) -> FluidStream:
"""Remove liquid from the inlet stream if required."""
if self.liquid_remover:
return self.liquid_remover.remove_liquid(inlet_stream_stage)
return inlet_stream_stage

def modify_pressure(self, inlet_stream_stage: FluidStream) -> FluidStream:
"""Choke the inlet stream if a differential pressure control valve is defined."""
if self.pressure_modifier:
Expand Down Expand Up @@ -160,7 +154,9 @@ def evaluate(

# Then the stream passes through the LiquidRemover (if defined),
if self.liquid_remover is not None:
inlet_stream_after_liquid_remover = self.remove_liquid(inlet_stream_after_temperature_setter)
inlet_stream_after_liquid_remover = self.liquid_remover.propagate_stream(
inlet_stream_after_temperature_setter
)
else:
inlet_stream_after_liquid_remover = inlet_stream_after_temperature_setter

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from libecalc.domain.process.process_system.process_unit import ProcessUnit
from libecalc.domain.process.value_objects.fluid_stream import FluidService, FluidStream
from libecalc.domain.process.value_objects.fluid_stream.constants import ThermodynamicConstants


class LiquidRemover(ProcessUnit):
def __init__(self, fluid_service: FluidService):
self._fluid_service = fluid_service

def propagate_stream(self, inlet_stream: FluidStream) -> FluidStream:
"""
Removes liquid from the fluid stream.

Args:
inlet_stream: The fluid stream to be scrubbed.

Returns:
FluidStream: A new FluidStream with liquid removed.
"""
if inlet_stream.vapor_fraction_molar < ThermodynamicConstants.PURE_VAPOR_THRESHOLD:
new_fluid = self._fluid_service.remove_liquid(inlet_stream.fluid)
return inlet_stream.with_new_fluid(new_fluid)
else:
return inlet_stream

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
from libecalc.domain.process.compressor.core.train.simplified_train.simplified_train import CompressorTrainSimplified
from libecalc.domain.process.compressor.core.train.stage import CompressorTrainStage
from libecalc.domain.process.entities.process_units.compressor.compressor import Compressor
from libecalc.domain.process.entities.process_units.liquid_remover.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.mixer.mixer import Mixer
from libecalc.domain.process.entities.process_units.pressure_modifier.pressure_modifier import (
DifferentialPressureModifier,
Expand Down
2 changes: 1 addition & 1 deletion tests/libecalc/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from libecalc.domain.process.compressor.core.train.compressor_train_common_shaft import CompressorTrainCommonShaft
from libecalc.domain.process.compressor.core.train.stage import CompressorTrainStage
from libecalc.domain.process.entities.process_units.compressor.compressor import Compressor
from libecalc.domain.process.entities.process_units.liquid_remover.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.mixer.mixer import Mixer
from libecalc.domain.process.entities.process_units.pressure_modifier.pressure_modifier import (
DifferentialPressureModifier,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
)
from libecalc.domain.process.compressor.core.train.stage import CompressorTrainStage
from libecalc.domain.process.entities.process_units.compressor.compressor import Compressor
from libecalc.domain.process.entities.process_units.liquid_remover.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.rate_modifier.rate_modifier import RateModifier
from libecalc.domain.process.entities.process_units.temperature_setter.temperature_setter import TemperatureSetter
from libecalc.domain.process.entities.shaft import Shaft, SingleSpeedShaft, VariableSpeedShaft
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from ecalc_neqsim_wrapper.thermo import STANDARD_PRESSURE_BARA, STANDARD_TEMPERATURE_KELVIN
from libecalc.domain.process.entities.process_units.liquid_remover.liquid_remover import LiquidRemover
from libecalc.domain.process.entities.process_units.liquid_remover import LiquidRemover
from libecalc.domain.process.value_objects.fluid_stream import FluidComposition
from libecalc.domain.process.value_objects.fluid_stream.fluid_model import EoSModel, FluidModel
from libecalc.domain.process.value_objects.fluid_stream.fluid_stream import FluidStream
Expand Down Expand Up @@ -31,7 +31,7 @@ def test_liquid_remover_removes_liquid(fluid_service):
fluid_properties=fluid.properties,
)
remover = LiquidRemover(fluid_service=fluid_service)
outlet_stream = remover.remove_liquid(inlet_stream)
outlet_stream = remover.propagate_stream(inlet_stream)

assert inlet_stream.vapor_fraction_molar < 1.0
assert outlet_stream.vapor_fraction_molar == 1.0