Coverage for backend/ahuora-compounds/ahuora_property_packages/saltwater/saltwater_extended.py: 67%

21 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-07-22 05:22 +0000

1# from .cryst_prop_pack import CrystParameterBlockData, CrystStateBlockData, CrystStateBlock 

2from .salt_water_property_package_VLE_V2 import SaltWaterParameterData, SaltWaterStateBlockData, _SaltWaterStateBlock 

3from idaes.core import declare_process_block_class 

4from ahuora_property_packages.base.flexible_state_block import FlexibleStateBlock, FlexibleStateBlockData 

5from pyomo.core.base.expression import Expression 

6from pyomo.environ import units as pyunits 

7 

8class _ExtendedSaltwaterStateBlock(FlexibleStateBlock, _SaltWaterStateBlock): 

9 pass 

10 

11 

12@declare_process_block_class("SaltwaterExtendedStateBlock", block_class=_ExtendedSaltwaterStateBlock) 

13class SaltwaterExtendedStateBlockData(SaltWaterStateBlockData, FlexibleStateBlockData): 

14 

15 def build(blk, *args): 

16 SaltWaterStateBlockData.build(blk, *args) 

17 FlexibleStateBlockData.build(blk, *args) 

18 

19 def add_extra_expressions(blk): 

20 super().add_extra_expressions() 

21 blk.add_component("temperature_bubble", Expression(expr=0 * pyunits.K)) 

22 blk.add_component("temperature_dew", Expression(expr=0 * pyunits.K)) 

23 

24 

25@declare_process_block_class("SaltwaterExtendedParameterBlock") 

26class SaltwaterExtendedParameterBlockData(SaltWaterParameterData): 

27 

28 

29 def build(self): 

30 super().build() 

31 self._state_block_class = SaltwaterExtendedStateBlock # noqa: F821