Coverage for backend/ahuora-compounds/ahuora_property_packages/modular/modular_extended.py: 63%
25 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +0000
1from ahuora_property_packages.base.flexible_state_block import FlexibleStateBlock, FlexibleStateBlockData
2from pyomo.environ import Expression
4from idaes.core import declare_process_block_class
5from idaes.models.properties.modular_properties.base.generic_property import (
6 _GenericStateBlock,
7 GenericParameterData,
8 GenericStateBlockData,
9)
10import idaes.models.properties.modular_properties.base.utility as utility
12# increase max iterations for estimating values for bubble, dew, and
13# critical point initialization (ie. temperature_bubble, temperature_dew)
14utility.MAX_ITER = 1000
17class _ExtendedGenericStateBlock(FlexibleStateBlock,_GenericStateBlock):
18 pass
21@declare_process_block_class(
22 "GenericExtendedStateBlock", block_class=_ExtendedGenericStateBlock
23)
24class GenericExtendedStateBlockData(GenericStateBlockData, FlexibleStateBlockData):
26 def build(blk, *args):
27 GenericStateBlockData.build(blk, *args)
28 FlexibleStateBlockData.build(blk, *args)
30 def add_extra_expressions(blk):
31 super().add_extra_expressions()
33 # add vapor_frac expression
34 def rule_vapor_frac(blk):
35 if "Vap" not in blk.phase_list:
36 # No vapor phase
37 return 0
38 return blk.phase_frac["Vap"]
40 blk.vapor_frac = Expression(expr=rule_vapor_frac)
43@declare_process_block_class("GenericExtendedParameterBlock")
44class GenericExtendedParameterData(GenericParameterData):
45 def build(self):
46 super().build()
47 self._state_block_class = GenericExtendedStateBlock # noqa: F821