Coverage for backend/django/flowsheetInternals/unitops/config/objects/turbine_config.py: 100%
11 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-06-23 21:51 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-06-23 21:51 +0000
1from common.config_types import *
2from common.config_utils import *
3from ..spec_helpers import *
4from ..reusable_config.turbine_ports_config import turbine_ports
6# Define the properties as dicts for the default turbine:
8deltaP_inverted = PropertyType(displayName="Pressure Drop", type="numeric", unitType="pressure")
9efficiency_isentropic = PropertyType(
10 displayName="Isentropic Efficiency", type="numeric", unitType="ratio"
11)
12work_mechanical = PropertyType(
13 displayName="Mechanical Work", type="numeric", unitType="heatflow"
14)
15efficiency_motor = PropertyType(
16 displayName="Motor Efficiency",
17 value=1,
18 type="numeric",
19 unit="dimensionless",
20 unitType="ratio",
21)
22work_electrical = PropertyType(
23 displayName="Electrical Work",
24 value=0,
25 type="numeric",
26 unit="kW",
27 unitType="heatflow",
28)
29properties_default = {
30 "deltaP_inverted": deltaP_inverted,
31 "efficiency_isentropic": efficiency_isentropic,
32 "work_mechanical": work_mechanical,
33 "efficiency_motor": efficiency_motor,
34 "work_electrical": work_electrical,
35}
37turbine_config: ObjectType = ObjectType(
38 displayType="Turbine",
39 displayName="Turbine",
40 ports=turbine_ports,
41 propertyPackagePorts=default_property_package_ports(),
42 graphicObject=unitop_graphic(),
43 properties=properties_default,
44 propertySetGroups={
45 "default": PropertySetType(
46 type="stateVars",
47 displayName="Properties",
48 stateVars=("work_mechanical", "efficiency_isentropic", "efficiency_motor"),
49 )
50 },
51 keyProperties=["deltaP_inverted"],
52 # Practically identical to a compressor.
53 # An expander is called a turbine in IDAES.
54 idaes_adapter=UnitModelAdapter(
55 args=ArgAdapter({
56 "property_package": PropertyPackageAdapter(),
57 "power_property_package": ConstantSchemaAdapter(PowerPPArgSchema()),
58 "dynamic": ConstantArg(False),
59 "calculation_method": ConstantArg("isentropic"),
60 }),
61 ),
62)