ahuora-builder 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. ahuora_builder/__init__.py +0 -0
  2. ahuora_builder/arc_manager.py +33 -0
  3. ahuora_builder/build_state.py +57 -0
  4. ahuora_builder/custom/PIDController.py +494 -0
  5. ahuora_builder/custom/PySMOModel.py +178 -0
  6. ahuora_builder/custom/SimpleEffectivenessHX_DH.py +727 -0
  7. ahuora_builder/custom/__init__.py +0 -0
  8. ahuora_builder/custom/add_initial_dynamics.py +35 -0
  9. ahuora_builder/custom/custom_compressor.py +107 -0
  10. ahuora_builder/custom/custom_cooler.py +33 -0
  11. ahuora_builder/custom/custom_heat_exchanger.py +183 -0
  12. ahuora_builder/custom/custom_heat_exchanger_1d.py +258 -0
  13. ahuora_builder/custom/custom_heater.py +41 -0
  14. ahuora_builder/custom/custom_pressure_changer.py +34 -0
  15. ahuora_builder/custom/custom_pump.py +107 -0
  16. ahuora_builder/custom/custom_separator.py +371 -0
  17. ahuora_builder/custom/custom_tank.py +133 -0
  18. ahuora_builder/custom/custom_turbine.py +132 -0
  19. ahuora_builder/custom/custom_valve.py +300 -0
  20. ahuora_builder/custom/custom_variable.py +29 -0
  21. ahuora_builder/custom/direct_steam_injection.py +371 -0
  22. ahuora_builder/custom/energy/__init__.py +0 -0
  23. ahuora_builder/custom/energy/acBus.py +280 -0
  24. ahuora_builder/custom/energy/ac_property_package.py +279 -0
  25. ahuora_builder/custom/energy/battery.py +170 -0
  26. ahuora_builder/custom/energy/bus.py +182 -0
  27. ahuora_builder/custom/energy/energy_mixer.py +195 -0
  28. ahuora_builder/custom/energy/energy_splitter.py +228 -0
  29. ahuora_builder/custom/energy/grid.py +173 -0
  30. ahuora_builder/custom/energy/hydro.py +169 -0
  31. ahuora_builder/custom/energy/link.py +137 -0
  32. ahuora_builder/custom/energy/load.py +155 -0
  33. ahuora_builder/custom/energy/mainDistributionBoard.py +257 -0
  34. ahuora_builder/custom/energy/power_property_package.py +253 -0
  35. ahuora_builder/custom/energy/solar.py +176 -0
  36. ahuora_builder/custom/energy/storage.py +230 -0
  37. ahuora_builder/custom/energy/storage_wrapper +0 -0
  38. ahuora_builder/custom/energy/tests/__init__.py +0 -0
  39. ahuora_builder/custom/energy/tests/test_bus.py +44 -0
  40. ahuora_builder/custom/energy/tests/test_energy_mixer.py +46 -0
  41. ahuora_builder/custom/energy/tests/test_mdb.py +49 -0
  42. ahuora_builder/custom/energy/transformer.py +187 -0
  43. ahuora_builder/custom/energy/transformer_property_package.py +267 -0
  44. ahuora_builder/custom/energy/transmissionLine.py +228 -0
  45. ahuora_builder/custom/energy/wind.py +206 -0
  46. ahuora_builder/custom/hda_ideal_VLE.py +1341 -0
  47. ahuora_builder/custom/hda_reaction.py +182 -0
  48. ahuora_builder/custom/heat_exchanger_1d_wrapper.py +31 -0
  49. ahuora_builder/custom/integration_block.py +106 -0
  50. ahuora_builder/custom/inverted.py +81 -0
  51. ahuora_builder/custom/performance_curves.py +1 -0
  52. ahuora_builder/custom/reactions/__init__.py +0 -0
  53. ahuora_builder/custom/reactions/hda_stoich.py +10 -0
  54. ahuora_builder/custom/simple_separator.py +680 -0
  55. ahuora_builder/custom/tests/__init__.py +0 -0
  56. ahuora_builder/custom/tests/test_SimpleEffectivenessHX_DH.py +91 -0
  57. ahuora_builder/custom/tests/test_custom_tank.py +70 -0
  58. ahuora_builder/custom/tests/test_direct_steam_injection.py +41 -0
  59. ahuora_builder/custom/tests/test_simple_separator.py +46 -0
  60. ahuora_builder/custom/tests/test_waterpipe.py +46 -0
  61. ahuora_builder/custom/thermal_utility_systems/desuperheater.py +624 -0
  62. ahuora_builder/custom/thermal_utility_systems/header.py +889 -0
  63. ahuora_builder/custom/thermal_utility_systems/simple_heat_pump.py +567 -0
  64. ahuora_builder/custom/thermal_utility_systems/steam_header.py +353 -0
  65. ahuora_builder/custom/thermal_utility_systems/steam_user.py +944 -0
  66. ahuora_builder/custom/thermal_utility_systems/temp.py +349 -0
  67. ahuora_builder/custom/thermal_utility_systems/tests/test_desuperheater.py +142 -0
  68. ahuora_builder/custom/thermal_utility_systems/tests/test_header.py +998 -0
  69. ahuora_builder/custom/thermal_utility_systems/tests/test_ntu_hx.py +129 -0
  70. ahuora_builder/custom/thermal_utility_systems/tests/test_simple_heat_pump.py +120 -0
  71. ahuora_builder/custom/thermal_utility_systems/tests/test_steam_header.py +703 -0
  72. ahuora_builder/custom/thermal_utility_systems/tests/test_steam_user.py +277 -0
  73. ahuora_builder/custom/thermal_utility_systems/tests/test_waterpipe.py +36 -0
  74. ahuora_builder/custom/thermal_utility_systems/tests/test_willans_turbine.py +253 -0
  75. ahuora_builder/custom/thermal_utility_systems/willans_turbine.py +804 -0
  76. ahuora_builder/custom/translator.py +129 -0
  77. ahuora_builder/custom/updated_pressure_changer.py +1404 -0
  78. ahuora_builder/custom/valve_wrapper.py +38 -0
  79. ahuora_builder/custom/water_tank_with_units.py +456 -0
  80. ahuora_builder/diagnostics/__init__.py +0 -0
  81. ahuora_builder/diagnostics/infeasibilities.py +40 -0
  82. ahuora_builder/diagnostics/tests/__init__.py +0 -0
  83. ahuora_builder/diagnostics/tests/test_infeasibilities.py +28 -0
  84. ahuora_builder/flowsheet_manager.py +542 -0
  85. ahuora_builder/flowsheet_manager_type.py +20 -0
  86. ahuora_builder/generate_python_file.py +440 -0
  87. ahuora_builder/methods/BlockContext.py +84 -0
  88. ahuora_builder/methods/__init__.py +0 -0
  89. ahuora_builder/methods/adapter.py +355 -0
  90. ahuora_builder/methods/adapter_library.py +549 -0
  91. ahuora_builder/methods/adapter_methods.py +80 -0
  92. ahuora_builder/methods/expression_parsing.py +105 -0
  93. ahuora_builder/methods/load_unit_model.py +147 -0
  94. ahuora_builder/methods/slice_manipulation.py +7 -0
  95. ahuora_builder/methods/tests/__init__.py +0 -0
  96. ahuora_builder/methods/tests/test_expression_parsing.py +15 -0
  97. ahuora_builder/methods/units_handler.py +129 -0
  98. ahuora_builder/ml_wizard.py +101 -0
  99. ahuora_builder/port_manager.py +20 -0
  100. ahuora_builder/properties_manager.py +44 -0
  101. ahuora_builder/property_package_manager.py +78 -0
  102. ahuora_builder/solver.py +38 -0
  103. ahuora_builder/tear_manager.py +98 -0
  104. ahuora_builder/tests/__init__.py +0 -0
  105. ahuora_builder/tests/test_generate_python_file/__init__.py +0 -0
  106. ahuora_builder/tests/test_generate_python_file/configurations/compressor_generated.py +63 -0
  107. ahuora_builder/tests/test_generate_python_file/configurations/heat_exchanger_generated.py +70 -0
  108. ahuora_builder/tests/test_generate_python_file/configurations/pump_generated.py +84 -0
  109. ahuora_builder/tests/test_generate_python_file/configurations/recycle_generated.py +73 -0
  110. ahuora_builder/tests/test_generate_python_file/test_generate_python_file.py +108 -0
  111. ahuora_builder/tests/test_solver/__init__.py +0 -0
  112. ahuora_builder/tests/test_solver/configurations/BT_PR.json +59 -0
  113. ahuora_builder/tests/test_solver/configurations/BT_PR_solved.json +59 -0
  114. ahuora_builder/tests/test_solver/configurations/bus.json +99 -0
  115. ahuora_builder/tests/test_solver/configurations/bus_solved.json +50 -0
  116. ahuora_builder/tests/test_solver/configurations/compound_separator.json +377 -0
  117. ahuora_builder/tests/test_solver/configurations/compound_separator_solved.json +374 -0
  118. ahuora_builder/tests/test_solver/configurations/compressor.json +38 -0
  119. ahuora_builder/tests/test_solver/configurations/compressor_solved.json +68 -0
  120. ahuora_builder/tests/test_solver/configurations/constraints.json +44 -0
  121. ahuora_builder/tests/test_solver/configurations/constraints_solved.json +59 -0
  122. ahuora_builder/tests/test_solver/configurations/control.json +39 -0
  123. ahuora_builder/tests/test_solver/configurations/control_solved.json +68 -0
  124. ahuora_builder/tests/test_solver/configurations/dynamic_tank.json +733 -0
  125. ahuora_builder/tests/test_solver/configurations/dynamic_tank_solved.json +846 -0
  126. ahuora_builder/tests/test_solver/configurations/elimination.json +39 -0
  127. ahuora_builder/tests/test_solver/configurations/elimination_solved.json +68 -0
  128. ahuora_builder/tests/test_solver/configurations/expressions.json +68 -0
  129. ahuora_builder/tests/test_solver/configurations/expressions_solved.json +104 -0
  130. ahuora_builder/tests/test_solver/configurations/header.json +1192 -0
  131. ahuora_builder/tests/test_solver/configurations/header_solved.json +761 -0
  132. ahuora_builder/tests/test_solver/configurations/heat_exchanger.json +63 -0
  133. ahuora_builder/tests/test_solver/configurations/heat_exchanger_solved.json +104 -0
  134. ahuora_builder/tests/test_solver/configurations/heat_pump.json +137 -0
  135. ahuora_builder/tests/test_solver/configurations/heat_pump_solved.json +104 -0
  136. ahuora_builder/tests/test_solver/configurations/machine_learning.json +2156 -0
  137. ahuora_builder/tests/test_solver/configurations/machine_learning_solved.json +266 -0
  138. ahuora_builder/tests/test_solver/configurations/mass_flow_tear.json +77 -0
  139. ahuora_builder/tests/test_solver/configurations/mass_flow_tear_solved.json +68 -0
  140. ahuora_builder/tests/test_solver/configurations/milk_heater.json +521 -0
  141. ahuora_builder/tests/test_solver/configurations/milk_heater_solved.json +311 -0
  142. ahuora_builder/tests/test_solver/configurations/mixer.json +44 -0
  143. ahuora_builder/tests/test_solver/configurations/mixer_solved.json +86 -0
  144. ahuora_builder/tests/test_solver/configurations/optimization.json +62 -0
  145. ahuora_builder/tests/test_solver/configurations/optimization_solved.json +59 -0
  146. ahuora_builder/tests/test_solver/configurations/propane_heat_pump.json +167 -0
  147. ahuora_builder/tests/test_solver/configurations/propane_heat_pump_solved.json +158 -0
  148. ahuora_builder/tests/test_solver/configurations/propane_recycle.json +141 -0
  149. ahuora_builder/tests/test_solver/configurations/propane_recycle_solved.json +104 -0
  150. ahuora_builder/tests/test_solver/configurations/pump.json +64 -0
  151. ahuora_builder/tests/test_solver/configurations/pump_solved.json +59 -0
  152. ahuora_builder/tests/test_solver/configurations/pump_unit_conversions.json +63 -0
  153. ahuora_builder/tests/test_solver/configurations/recycle.json +49 -0
  154. ahuora_builder/tests/test_solver/configurations/recycle_solved.json +50 -0
  155. ahuora_builder/tests/test_solver/configurations/sb_vapor_frac.json +29 -0
  156. ahuora_builder/tests/test_solver/configurations/sb_vapor_frac_solved.json +29 -0
  157. ahuora_builder/tests/test_solver/configurations/solar.json +67 -0
  158. ahuora_builder/tests/test_solver/configurations/solar_solved.json +50 -0
  159. ahuora_builder/tests/test_solver/configurations/vapor_frac_target.json +67 -0
  160. ahuora_builder/tests/test_solver/configurations/vapor_frac_target_solved.json +68 -0
  161. ahuora_builder/tests/test_solver/test_solve_models.py +250 -0
  162. ahuora_builder/timing.py +65 -0
  163. ahuora_builder/types/__init__.py +1 -0
  164. ahuora_builder/unit_model_manager.py +48 -0
  165. ahuora_builder-0.1.0.dist-info/METADATA +14 -0
  166. ahuora_builder-0.1.0.dist-info/RECORD +167 -0
  167. ahuora_builder-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,39 @@
1
+ {
2
+ "id": 0,
3
+ "name": "test_elimination",
4
+ "description": "tests complex elimination including elimination order",
5
+ "dynamic": false,
6
+ "property_packages": [],
7
+ "unit_models": [
8
+ {
9
+ "id": 3,
10
+ "name": "Compressor-1",
11
+ "type": "compressor",
12
+ "args": {
13
+ "property_package": -1
14
+ },
15
+ "properties": {
16
+ "deltaP": { "data": [ { "id": 1, "value": 50000 } ], "unit": "Pa" },
17
+ "efficiency_isentropic": { "data": [ { "id": 2, "value": 0.9 } ], "unit": null }
18
+ },
19
+ "ports": {
20
+ "inlet": {
21
+ "id": 1,
22
+ "properties": {
23
+ "pressure": { "data": [ { "id": 3, "value": 101325 } ], "unit": "Pa" },
24
+ "enth_mol": { "data": [ { "id": 4, "value": 4000, "guess": true } ], "unit": "J/mol" },
25
+ "flow_mol": { "data": [ { "id": 5, "value": 1, "guess": true } ], "unit": "mol/s" },
26
+ "flow_mass": { "data": [ { "id": 6, "value": 1, "controlled": 5 } ], "unit": "kg/s" }
27
+ }
28
+ },
29
+ "outlet": {
30
+ "id": 2,
31
+ "properties": {
32
+ "enth_mol": { "data": [ { "id": 7, "value": 6000, "controlled": 4 } ], "unit": "J/mol" }
33
+ }
34
+ }
35
+ }
36
+ }
37
+ ],
38
+ "arcs": []
39
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "id": 0,
3
+ "properties": [
4
+ {
5
+ "id": 1,
6
+ "name": "fs.Compressor-1_3.control_volume.deltaP[0.0]",
7
+ "value": [
8
+ 50000.0
9
+ ],
10
+ "unit": "kg/m/s**2",
11
+ "unknown_units": false
12
+ },
13
+ {
14
+ "id": 2,
15
+ "name": "fs.Compressor-1_3.efficiency_isentropic[0.0]",
16
+ "value": [
17
+ 0.9
18
+ ],
19
+ "unit": "dimensionless",
20
+ "unknown_units": false
21
+ },
22
+ {
23
+ "id": 3,
24
+ "name": "fs.Compressor-1_3.control_volume.properties_in[0.0].pressure",
25
+ "value": [
26
+ 101325.0
27
+ ],
28
+ "unit": "Pa",
29
+ "unknown_units": false
30
+ },
31
+ {
32
+ "id": 4,
33
+ "name": "fs.Compressor-1_3.control_volume.properties_in[0.0].enth_mol",
34
+ "value": [
35
+ 5998.970433371996
36
+ ],
37
+ "unit": "J/mol",
38
+ "unknown_units": false
39
+ },
40
+ {
41
+ "id": 5,
42
+ "name": "fs.Compressor-1_3.control_volume.properties_in[0.0].flow_mol",
43
+ "value": [
44
+ 55.50847203605297
45
+ ],
46
+ "unit": "mol/s",
47
+ "unknown_units": false
48
+ },
49
+ {
50
+ "id": 6,
51
+ "name": "fs.Compressor-1_3.control_volume.properties_in[0.0].flow_mass",
52
+ "value": [
53
+ 1.0
54
+ ],
55
+ "unit": "kg/s",
56
+ "unknown_units": false
57
+ },
58
+ {
59
+ "id": 7,
60
+ "name": "fs.Compressor-1_3.control_volume.properties_out[0.0].enth_mol",
61
+ "value": [
62
+ 6000.0
63
+ ],
64
+ "unit": "J/mol",
65
+ "unknown_units": false
66
+ }
67
+ ]
68
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "id": 0,
3
+ "name": "specification_test",
4
+ "description": "tests that an expression can be evaluated",
5
+ "dynamic": false,
6
+ "property_packages": [],
7
+ "unit_models": [
8
+ {
9
+ "id": 3,
10
+ "type": "compressor",
11
+ "name": "Compressor1",
12
+ "args": {
13
+ "property_package": -1
14
+ },
15
+ "properties": {
16
+ "deltaP": { "data": [ { "id": 124, "value": 50000 } ], "unit": "Pa" },
17
+ "efficiency_isentropic": { "data": [ { "id": 125, "value": 0.9 } ], "unit": null }
18
+ },
19
+ "ports": {
20
+ "inlet": {
21
+ "id": 1,
22
+ "properties": {
23
+ "pressure": { "data": [ { "id": 126, "value": 101325 } ], "unit": "Pa" },
24
+ "enth_mol": { "data": [ { "id": 127, "value": 4000 } ], "unit": "J/mol" },
25
+ "flow_mol": { "data": [ { "id": 128, "value": 100 } ], "unit": "mol/s" }
26
+ }
27
+ },
28
+ "outlet": {
29
+ "id": 2,
30
+ "properties": {}
31
+ }
32
+ }
33
+ }
34
+ ],
35
+ "arcs": [],
36
+ "expressions": [
37
+ {
38
+ "id": 129,
39
+ "name": "Spec-1",
40
+ "expression": "id_130 * 10"
41
+ },
42
+ {
43
+ "id": 130,
44
+ "name": "Spec-2",
45
+ "expression": "id_125 * 2"
46
+ },
47
+ {
48
+ "id": 131,
49
+ "name": "Spec-3",
50
+ "expression": "id_130 * kg ^ 2"
51
+ },
52
+ {
53
+ "id": 132,
54
+ "name": "Try unit conversion",
55
+ "expression": "$ / id_131"
56
+ },
57
+ {
58
+ "id": 133,
59
+ "name": "Assert that we can use simple functions such as square root",
60
+ "expression": "sqrt(2)"
61
+ },
62
+ {
63
+ "id": 134,
64
+ "name": "Assert can add different units (value should be 51100 Pa)",
65
+ "expression": "id_124 + 100 * Pa + 1 * kPa"
66
+ }
67
+ ]
68
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "id": 0,
3
+ "properties": [
4
+ {
5
+ "id": 124,
6
+ "name": "fs.Compressor1_3.control_volume.deltaP[0.0]",
7
+ "value": [
8
+ 50000.0
9
+ ],
10
+ "unit": "kg/m/s**2",
11
+ "unknown_units": false
12
+ },
13
+ {
14
+ "id": 125,
15
+ "name": "fs.Compressor1_3.efficiency_isentropic[0.0]",
16
+ "value": [
17
+ 0.9
18
+ ],
19
+ "unit": "dimensionless",
20
+ "unknown_units": false
21
+ },
22
+ {
23
+ "id": 126,
24
+ "name": "fs.Compressor1_3.control_volume.properties_in[0.0].pressure",
25
+ "value": [
26
+ 101325.0
27
+ ],
28
+ "unit": "Pa",
29
+ "unknown_units": false
30
+ },
31
+ {
32
+ "id": 127,
33
+ "name": "fs.Compressor1_3.control_volume.properties_in[0.0].enth_mol",
34
+ "value": [
35
+ 4000.0
36
+ ],
37
+ "unit": "J/mol",
38
+ "unknown_units": false
39
+ },
40
+ {
41
+ "id": 128,
42
+ "name": "fs.Compressor1_3.control_volume.properties_in[0.0].flow_mol",
43
+ "value": [
44
+ 100.0
45
+ ],
46
+ "unit": "mol/s",
47
+ "unknown_units": false
48
+ },
49
+ {
50
+ "id": 130,
51
+ "name": "fs.Spec-2_130",
52
+ "value": [
53
+ 1.8
54
+ ],
55
+ "unit": "dimensionless",
56
+ "unknown_units": true
57
+ },
58
+ {
59
+ "id": 133,
60
+ "name": "fs.Assert that we can use simple functions such as square root_133",
61
+ "value": [
62
+ 1.4142135623730951
63
+ ],
64
+ "unit": "dimensionless",
65
+ "unknown_units": true
66
+ },
67
+ {
68
+ "id": 134,
69
+ "name": "fs.'Assert can add different units (value should be 51100 Pa)_134'",
70
+ "value": [
71
+ 51100.0
72
+ ],
73
+ "unit": "kg/m/s**2",
74
+ "unknown_units": true
75
+ },
76
+ {
77
+ "id": 129,
78
+ "name": "fs.Spec-1_129",
79
+ "value": [
80
+ 18.0
81
+ ],
82
+ "unit": "dimensionless",
83
+ "unknown_units": true
84
+ },
85
+ {
86
+ "id": 131,
87
+ "name": "fs.Spec-3_131",
88
+ "value": [
89
+ 1.8
90
+ ],
91
+ "unit": "kg**2",
92
+ "unknown_units": true
93
+ },
94
+ {
95
+ "id": 132,
96
+ "name": "fs.Try unit conversion_132",
97
+ "value": [
98
+ 0.5555555555555556
99
+ ],
100
+ "unit": "dollar/kg**2",
101
+ "unknown_units": true
102
+ }
103
+ ]
104
+ }