Add diagram workbench UI with Modelica DoF coaching and ISO glyphs.
Ship the Next.js cycle editor with CAD chrome, technical HX symbols, Fixed/Free boundary guidance, and secondary water/air pressure drop support in the solver stack. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
19
crates/cli/examples/_ui_repro_flooded_port.json
Normal file
19
crates/cli/examples/_ui_repro_flooded_port.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"schema_version": "2",
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"name": "Circuit 0",
|
||||
"components": [
|
||||
{"type": "FloodedEvaporator", "name": "evap", "ua": 8000.0, "secondary_fluid": "Water", "quality_control": false},
|
||||
{"type": "BrineSource", "name": "src", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.5},
|
||||
{"type": "BrineSink", "name": "sink", "fluid": "Water", "p_back_bar": 2.0}
|
||||
],
|
||||
"edges": [
|
||||
{"from": "src:outlet", "to": "evap:secondary_inlet"},
|
||||
{"from": "evap:secondary_outlet", "to": "sink:inlet"}
|
||||
]
|
||||
}],
|
||||
"solver": {"strategy": "newton", "max_iterations": 10, "tolerance": 1e-4}
|
||||
}
|
||||
@@ -1,94 +1,32 @@
|
||||
{
|
||||
"name": "BPHX Evaporator + Condenser — standalone runnable examples",
|
||||
"fluid": "R410A",
|
||||
"name": "BPHX Evaporator and Condenser Bounded Test",
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Evaporator circuit (R410A / Water)",
|
||||
"components": [
|
||||
{
|
||||
"type": "RefrigerantSource",
|
||||
"name": "ref_src_evap",
|
||||
"fluid": "R410A",
|
||||
"p_set_bar": 4.0,
|
||||
"quality": 0.2
|
||||
},
|
||||
{
|
||||
"type": "BphxEvaporator",
|
||||
"name": "evap",
|
||||
"refrigerant": "R410A",
|
||||
"secondary_fluid": "Water",
|
||||
"mode": "dx",
|
||||
"target_superheat_k": 5.0,
|
||||
"dh_m": 0.003,
|
||||
"area_m2": 0.5,
|
||||
"n_plates": 20,
|
||||
"hot_fluid": "Water",
|
||||
"hot_t_inlet_c": 12.0,
|
||||
"hot_pressure_bar": 2.0,
|
||||
"hot_mass_flow_kg_s": 0.5,
|
||||
"cold_fluid": "R410A",
|
||||
"cold_t_inlet_c": 2.0,
|
||||
"cold_pressure_bar": 4.0,
|
||||
"cold_mass_flow_kg_s": 0.1
|
||||
},
|
||||
{
|
||||
"type": "RefrigerantSink",
|
||||
"name": "ref_snk_evap",
|
||||
"fluid": "R410A",
|
||||
"p_back_bar": 4.0
|
||||
}
|
||||
{ "type": "RefrigerantSource", "name": "src", "fluid": "R134a", "p_set_bar": 5.0, "quality": 0.3 },
|
||||
{ "type": "BphxEvaporator", "name": "evap", "ua": 2000.0, "refrigerant": "R134a", "secondary_fluid": "Water", "secondary_inlet_temp_c": 12.0, "secondary_mass_flow_kg_s": 0.5, "secondary_cp_j_per_kgk": 4186.0 },
|
||||
{ "type": "RefrigerantSink", "name": "sink", "fluid": "R134a", "p_back_bar": 5.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "ref_src_evap:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "ref_snk_evap:inlet" }
|
||||
{ "from": "src:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "sink:inlet" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Condenser circuit (R410A / Water)",
|
||||
"components": [
|
||||
{
|
||||
"type": "RefrigerantSource",
|
||||
"name": "ref_src_cond",
|
||||
"fluid": "R410A",
|
||||
"p_set_bar": 18.0,
|
||||
"quality": 1.0
|
||||
},
|
||||
{
|
||||
"type": "BphxCondenser",
|
||||
"name": "cond",
|
||||
"refrigerant": "R410A",
|
||||
"secondary_fluid": "Water",
|
||||
"target_subcooling_k": 3.0,
|
||||
"dh_m": 0.003,
|
||||
"area_m2": 0.5,
|
||||
"n_plates": 20,
|
||||
"hot_fluid": "R410A",
|
||||
"hot_t_inlet_c": 45.0,
|
||||
"hot_pressure_bar": 18.0,
|
||||
"hot_mass_flow_kg_s": 0.1,
|
||||
"cold_fluid": "Water",
|
||||
"cold_t_inlet_c": 25.0,
|
||||
"cold_pressure_bar": 2.0,
|
||||
"cold_mass_flow_kg_s": 0.5
|
||||
},
|
||||
{
|
||||
"type": "RefrigerantSink",
|
||||
"name": "ref_snk_cond",
|
||||
"fluid": "R410A",
|
||||
"p_back_bar": 18.0
|
||||
}
|
||||
{ "type": "RefrigerantSource", "name": "src2", "fluid": "R134a", "p_set_bar": 15.0, "quality": 1.0 },
|
||||
{ "type": "BphxCondenser", "name": "cond", "ua": 2000.0, "refrigerant": "R134a", "secondary_fluid": "Water", "secondary_inlet_temp_c": 30.0, "secondary_mass_flow_kg_s": 0.4, "secondary_cp_j_per_kgk": 4186.0 },
|
||||
{ "type": "RefrigerantSink", "name": "sink2", "fluid": "R134a", "p_back_bar": 15.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "ref_src_cond:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "ref_snk_cond:inlet" }
|
||||
{ "from": "src2:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "sink2:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 50,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
"solver": { "strategy": "fallback", "max_iterations": 100, "tolerance": 1e-6 }
|
||||
}
|
||||
|
||||
30
crates/cli/examples/capillary_tube_r134a.json
Normal file
30
crates/cli/examples/capillary_tube_r134a.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schema_version": "1.0",
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Capillary smoke",
|
||||
"components": [
|
||||
{
|
||||
"type": "CapillaryTube",
|
||||
"name": "cap",
|
||||
"diameter_m": 0.0012,
|
||||
"length_m": 1.8,
|
||||
"n_segments": 24,
|
||||
"p_inlet_bar": 12.0,
|
||||
"h_inlet_kj_kg": 250.0,
|
||||
"p_outlet_bar": 3.5,
|
||||
"h_outlet_kj_kg": 250.0
|
||||
}
|
||||
],
|
||||
"edges": []
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 50,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
107
crates/cli/examples/chiller_aircooled_r134a.json
Normal file
107
crates/cli/examples/chiller_aircooled_r134a.json
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"name": "Air-Cooled Chiller R134a (4-Port Modelica Style)",
|
||||
"description": "Full emergent-pressure chiller. Condenser on air (AirSource→cond→AirSink), evaporator on chilled water (BrineSource→evap→BrineSink). MassFlowSource_T: Free P + Fixed ṁ/T; sinks Fixed P. secondary_humidity_ratio MUST match AirSource psychrometrics (W at T_dry, RH, P).",
|
||||
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Refrigerant + secondary loops",
|
||||
"components": [
|
||||
{
|
||||
"type": "IsentropicCompressor",
|
||||
"name": "comp",
|
||||
"isentropic_efficiency": 0.70,
|
||||
"t_cond_k": 318.15,
|
||||
"t_evap_k": 278.15,
|
||||
"superheat_k": 5.0,
|
||||
"emergent_pressure": true,
|
||||
"displacement_m3": 6.5e-5,
|
||||
"speed_hz": 50.0,
|
||||
"volumetric_efficiency": 0.92
|
||||
},
|
||||
{
|
||||
"type": "Condenser",
|
||||
"name": "cond",
|
||||
"ua": 2500.0,
|
||||
"emergent_pressure": true,
|
||||
"subcooling_k": 5.0,
|
||||
"secondary_fluid": "Air",
|
||||
"secondary_humidity_ratio": 0.01412,
|
||||
"dp_model": "isobaric",
|
||||
"secondary_rated_pressure_drop_pa": 150,
|
||||
"secondary_rated_m_flow_kg_s": 1.2
|
||||
},
|
||||
{
|
||||
"type": "IsenthalpicExpansionValve",
|
||||
"name": "exv",
|
||||
"t_evap_k": 278.15,
|
||||
"emergent_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "Evaporator",
|
||||
"name": "evap",
|
||||
"ua": 1468.0,
|
||||
"emergent_pressure": true,
|
||||
"secondary_fluid": "Water",
|
||||
"dp_model": "isobaric",
|
||||
"secondary_rated_pressure_drop_pa": 40000,
|
||||
"secondary_rated_m_flow_kg_s": 0.4778
|
||||
},
|
||||
{
|
||||
"type": "AirSource",
|
||||
"name": "cond_air_in",
|
||||
"p_set_bar": 1.01325,
|
||||
"t_dry_c": 35.0,
|
||||
"rh": 40.0,
|
||||
"m_flow_kg_s": 1.2,
|
||||
"fix_pressure": false,
|
||||
"fix_temperature": true,
|
||||
"fix_mass_flow": true
|
||||
},
|
||||
{
|
||||
"type": "AirSink",
|
||||
"name": "cond_air_out",
|
||||
"p_back_bar": 1.01325,
|
||||
"fix_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "evap_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 3.0,
|
||||
"t_set_c": 12.0,
|
||||
"m_flow_kg_s": 0.4778,
|
||||
"fix_pressure": false,
|
||||
"fix_temperature": true,
|
||||
"fix_mass_flow": true
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "evap_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 3.0,
|
||||
"fix_pressure": true
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_air_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_air_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 300,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
107
crates/cli/examples/chiller_flooded_4port_watercooled.json
Normal file
107
crates/cli/examples/chiller_flooded_4port_watercooled.json
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"name": "Water-cooled chiller with FloodedEvaporator (4-port, square DoF)",
|
||||
"description": "Honest machine topology: emergent refrigerant pressures + live secondary water loops. Flooded evaporator has NO quality_control residual (compressor suction). Budget target: n_eq = n_unk (19).",
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Refrigerant + secondary loops",
|
||||
"components": [
|
||||
{
|
||||
"type": "IsentropicCompressor",
|
||||
"name": "comp",
|
||||
"isentropic_efficiency": 0.70,
|
||||
"t_cond_k": 313.15,
|
||||
"t_evap_k": 278.15,
|
||||
"superheat_k": 5.0,
|
||||
"emergent_pressure": true,
|
||||
"displacement_m3": 5.0e-5,
|
||||
"speed_hz": 50.0,
|
||||
"volumetric_efficiency": 0.92
|
||||
},
|
||||
{
|
||||
"type": "Condenser",
|
||||
"name": "cond",
|
||||
"ua": 2200.0,
|
||||
"emergent_pressure": true,
|
||||
"subcooling_k": 5.0,
|
||||
"secondary_fluid": "Water",
|
||||
"dp_model": "msh",
|
||||
"tube_length_m": 6.0,
|
||||
"tube_diameter_m": 0.0095,
|
||||
"n_parallel_tubes": 2,
|
||||
"secondary_rated_pressure_drop_pa": 30000,
|
||||
"secondary_rated_m_flow_kg_s": 0.45
|
||||
},
|
||||
{
|
||||
"type": "IsenthalpicExpansionValve",
|
||||
"name": "exv",
|
||||
"t_evap_k": 278.15,
|
||||
"emergent_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap",
|
||||
"ua": 9000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "Water",
|
||||
"quality_control": false,
|
||||
"secondary_rated_pressure_drop_pa": 40000,
|
||||
"secondary_rated_m_flow_kg_s": 0.55
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "cond_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 2.0,
|
||||
"t_set_c": 30.0,
|
||||
"m_flow_kg_s": 0.45,
|
||||
"fix_pressure": false,
|
||||
"fix_temperature": true,
|
||||
"fix_mass_flow": true
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "cond_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 2.0,
|
||||
"fix_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "evap_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 3.0,
|
||||
"t_set_c": 12.0,
|
||||
"m_flow_kg_s": 0.55,
|
||||
"fix_pressure": false,
|
||||
"fix_temperature": true,
|
||||
"fix_mass_flow": true
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "evap_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 3.0,
|
||||
"fix_pressure": true
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 300,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
105
crates/cli/examples/chiller_flooded_delta_t_rating.json
Normal file
105
crates/cli/examples/chiller_flooded_delta_t_rating.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"name": "Water-cooled chiller — ΔT rating on evaporator loop",
|
||||
"description": "Evap loop: Free ṁ + Fixed T_out=7 °C (ΔT=−5 K from 12 °C). Cond loop keeps Fixed ṁ (stable anchor).",
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Refrigerant + secondary loops",
|
||||
"components": [
|
||||
{
|
||||
"type": "IsentropicCompressor",
|
||||
"name": "comp",
|
||||
"isentropic_efficiency": 0.70,
|
||||
"t_cond_k": 313.15,
|
||||
"t_evap_k": 278.15,
|
||||
"superheat_k": 5.0,
|
||||
"emergent_pressure": true,
|
||||
"displacement_m3": 5.0e-5,
|
||||
"speed_hz": 50.0,
|
||||
"volumetric_efficiency": 0.92
|
||||
},
|
||||
{
|
||||
"type": "Condenser",
|
||||
"name": "cond",
|
||||
"ua": 2200.0,
|
||||
"emergent_pressure": true,
|
||||
"subcooling_k": 5.0,
|
||||
"secondary_fluid": "Water",
|
||||
"dp_model": "msh",
|
||||
"tube_length_m": 6.0,
|
||||
"tube_diameter_m": 0.0095,
|
||||
"n_parallel_tubes": 2
|
||||
},
|
||||
{
|
||||
"type": "IsenthalpicExpansionValve",
|
||||
"name": "exv",
|
||||
"t_evap_k": 278.15,
|
||||
"emergent_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap",
|
||||
"ua": 9000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "Water",
|
||||
"quality_control": false
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "cond_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 2.0,
|
||||
"t_set_c": 30.0,
|
||||
"m_flow_kg_s": 0.45,
|
||||
"fix_pressure": false,
|
||||
"fix_temperature": true,
|
||||
"fix_mass_flow": true
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "cond_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 2.0,
|
||||
"fix_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "evap_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 3.0,
|
||||
"t_set_c": 12.0,
|
||||
"m_flow_kg_s": 0.55,
|
||||
"fix_pressure": false,
|
||||
"fix_temperature": true,
|
||||
"fix_mass_flow": false
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "evap_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 3.0,
|
||||
"t_set_c": 7.0,
|
||||
"fix_pressure": true,
|
||||
"fix_temperature": true
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 300,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
@@ -1,143 +0,0 @@
|
||||
{
|
||||
"name": "Chiller MCHX Condensers - Démonstration CLI",
|
||||
"description": "Démontre l'utilisation des MchxCondenserCoil (4 coils) et FloodedEvaporator dans le pipeline CLI. Utilise des Placeholder pour simuler compresseur et vanne. Topology linéaire pour compatibilité CLI graphe.",
|
||||
"fluid": "R134a",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "comp_0",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0a",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0b",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 0.8
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv_0",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap_0",
|
||||
"ua": 20000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "MEG",
|
||||
"target_quality": 0.7
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "comp_0:outlet",
|
||||
"to": "mchx_0a:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0a:outlet",
|
||||
"to": "mchx_0b:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0b:outlet",
|
||||
"to": "exv_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "exv_0:outlet",
|
||||
"to": "evap_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "evap_0:outlet",
|
||||
"to": "comp_0:inlet"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"components": [
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "comp_1",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_1a",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_1b",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 0.9
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv_1",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap_1",
|
||||
"ua": 20000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "MEG",
|
||||
"target_quality": 0.7
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "comp_1:outlet",
|
||||
"to": "mchx_1a:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_1a:outlet",
|
||||
"to": "mchx_1b:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_1b:outlet",
|
||||
"to": "exv_1:inlet"
|
||||
},
|
||||
{
|
||||
"from": "exv_1:outlet",
|
||||
"to": "evap_1:inlet"
|
||||
},
|
||||
{
|
||||
"from": "evap_1:outlet",
|
||||
"to": "comp_1:inlet"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 100,
|
||||
"tolerance": 1e-6
|
||||
},
|
||||
"metadata": {
|
||||
"note": "Demo MCHX 4 coils + FloodedEvap 2 circuits via CLI",
|
||||
"mchx_coil_0_fan": "100% (design point)",
|
||||
"mchx_coil_1_fan": "80% (anti-override actif)",
|
||||
"mchx_coil_2_fan": "100% (design point)",
|
||||
"mchx_coil_3_fan": "90%",
|
||||
"glycol_type": "MEG 35%",
|
||||
"t_air_celsius": 35.0
|
||||
}
|
||||
}
|
||||
57
crates/cli/examples/chiller_r134a_dual_circuit_staging.json
Normal file
57
crates/cli/examples/chiller_r134a_dual_circuit_staging.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Circuit A",
|
||||
"enabled": true,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp_a", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond_a", "ua": 766.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv_a", "t_evap_k": 278.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap_a", "ua": 1468.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "cond_water_in_a", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.3583 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out_a", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in_a", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out_a", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp_a:outlet", "to": "cond_a:inlet" },
|
||||
{ "from": "cond_a:outlet", "to": "exv_a:inlet" },
|
||||
{ "from": "exv_a:outlet", "to": "evap_a:inlet" },
|
||||
{ "from": "evap_a:outlet", "to": "comp_a:inlet" },
|
||||
{ "from": "cond_water_in_a:outlet", "to": "cond_a:secondary_inlet" },
|
||||
{ "from": "cond_a:secondary_outlet", "to": "cond_water_out_a:inlet" },
|
||||
{ "from": "evap_water_in_a:outlet", "to": "evap_a:secondary_inlet" },
|
||||
{ "from": "evap_a:secondary_outlet", "to": "evap_water_out_a:inlet" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Circuit B",
|
||||
"enabled": true,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp_b", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond_b", "ua": 766.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv_b", "t_evap_k": 278.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap_b", "ua": 1468.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "cond_water_in_b", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.3583 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out_b", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in_b", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out_b", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp_b:outlet", "to": "cond_b:inlet" },
|
||||
{ "from": "cond_b:outlet", "to": "exv_b:inlet" },
|
||||
{ "from": "exv_b:outlet", "to": "evap_b:inlet" },
|
||||
{ "from": "evap_b:outlet", "to": "comp_b:inlet" },
|
||||
{ "from": "cond_water_in_b:outlet", "to": "cond_b:secondary_inlet" },
|
||||
{ "from": "cond_b:secondary_outlet", "to": "cond_water_out_b:inlet" },
|
||||
{ "from": "evap_water_in_b:outlet", "to": "evap_b:secondary_inlet" },
|
||||
{ "from": "evap_b:secondary_outlet", "to": "evap_water_out_b:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
34
crates/cli/examples/chiller_r134a_emergent_pressure.json
Normal file
34
crates/cli/examples/chiller_r134a_emergent_pressure.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp",
|
||||
"isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0,
|
||||
"emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 766.0,
|
||||
"emergent_pressure": true, "subcooling_k": 5.0,
|
||||
"secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 278.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1468.0,
|
||||
"emergent_pressure": true,
|
||||
"secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "cond_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.3583 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
28
crates/cli/examples/chiller_r134a_exv_orifice.json
Normal file
28
crates/cli/examples/chiller_r134a_exv_orifice.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 766.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 278.15, "emergent_pressure": true, "orifice_kv": 2.0e-6, "orifice_opening_init": 0.5, "orifice_opening_min": 0.02, "orifice_opening_max": 1.0 },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1468.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "cond_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.3583 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
28
crates/cli/examples/chiller_r134a_flooded_headpressure.json
Normal file
28
crates/cli/examples/chiller_r134a_flooded_headpressure.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 2500.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Air", "secondary_humidity_ratio": 0.010, "flooded_head_pressure_target_c": 45.0 },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 278.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1468.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "AirSource", "name": "cond_air_in", "p_set_bar": 1.01325, "t_dry_c": 5.0, "rh": 50.0, "m_flow_kg_s": 0.6 },
|
||||
{ "type": "AirSink", "name": "cond_air_out", "p_back_bar": 1.01325 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_air_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_air_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
36
crates/cli/examples/chiller_r134a_liquid_injection.json
Normal file
36
crates/cli/examples/chiller_r134a_liquid_injection.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92, "liquid_injection": true },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 766.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 278.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1468.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "cond_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.3583 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"controls": [
|
||||
{
|
||||
"type": "SaturatedController", "id": "dgt_limiter",
|
||||
"measure": { "component": "comp", "output": "temperature" },
|
||||
"actuator": { "component": "comp", "factor": "injection", "initial": 0.15, "min": 0.0, "max": 0.3 },
|
||||
"target": 330.0, "gain": -0.5, "band": 5.0
|
||||
}
|
||||
],
|
||||
"solver": { "strategy": "newton", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
28
crates/cli/examples/chiller_r134a_slide_valve.json
Normal file
28
crates/cli/examples/chiller_r134a_slide_valve.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92, "slide_valve_sst_target_c": 3.0 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 766.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 278.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1468.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "cond_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.3583 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
36
crates/cli/examples/chiller_r134a_superheat_control.json
Normal file
36
crates/cli/examples/chiller_r134a_superheat_control.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 766.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 278.15, "emergent_pressure": true, "orifice_kv": 2.0e-6, "orifice_opening_init": 0.5, "orifice_opening_min": 0.02, "orifice_opening_max": 1.0 },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1468.0, "emergent_pressure": true, "superheat_regulated": true, "secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "cond_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.3583 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.4778 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"controls": [
|
||||
{
|
||||
"type": "SaturatedController", "id": "sh_control",
|
||||
"measure": { "component": "evap", "output": "superheat" },
|
||||
"actuator": { "component": "exv", "factor": "opening", "initial": 0.5, "min": 0.02, "max": 1.0 },
|
||||
"target": 5.0, "gain": -0.8, "band": 1.0, "alpha": 5e-2
|
||||
}
|
||||
],
|
||||
"solver": { "strategy": "newton", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
32
crates/cli/examples/chiller_r410a_bolt_nodes.json
Normal file
32
crates/cli/examples/chiller_r410a_bolt_nodes.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"fluid": "R410A",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 313.15, "t_evap_k": 276.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 5.0e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 2000.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "Anchor", "name": "anchor", "mode": "probe" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 276.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1800.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "HeatSource", "name": "heat_source", "q_w": 500.0 },
|
||||
{ "type": "BrineSource", "name": "cond_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.4 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.5 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "anchor:inlet" },
|
||||
{ "from": "anchor:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "heat_source:inlet" },
|
||||
{ "from": "heat_source:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
41
crates/cli/examples/chiller_r410a_coupled_water_loop.json
Normal file
41
crates/cli/examples/chiller_r410a_coupled_water_loop.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"fluid": "R410A",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 313.15, "t_evap_k": 276.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 5.0e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 2000.0, "emergent_pressure": true, "subcooling_k": 5.0 },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 276.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1800.0, "emergent_pressure": true, "secondary_fluid": "Water" },
|
||||
{ "type": "BrineSource", "name": "evap_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 12.0, "m_flow_kg_s": 0.5 },
|
||||
{ "type": "BrineSink", "name": "evap_water_out", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"components": [
|
||||
{ "type": "BrineSource", "name": "ws", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 30.0, "m_flow_kg_s": 0.9 },
|
||||
{ "type": "ThermalLoad", "name": "load", "design_mass_flow_kg_s": 0.9 },
|
||||
{ "type": "BrineSink", "name": "wsk", "fluid": "Water", "p_back_bar": 2.0 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "ws:outlet", "to": "load:inlet" },
|
||||
{ "from": "load:outlet", "to": "wsk:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"thermal_couplings": [
|
||||
{ "hot_circuit": 0, "hot_component": "cond", "cold_circuit": 1, "cold_component": "load", "ua": 2000.0, "efficiency": 1.0 }
|
||||
],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
{
|
||||
"name": "Chiller eau glacée R410A - Eurovent",
|
||||
"description": "Système complet de production d'eau glacée avec cycle R410A",
|
||||
|
||||
"fluid": "R410A",
|
||||
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Circuit réfrigérant R410A",
|
||||
"components": [
|
||||
{
|
||||
"type": "Compressor",
|
||||
"name": "comp",
|
||||
"fluid": "R410A",
|
||||
"speed_rpm": 2900,
|
||||
"displacement_m3": 0.000030,
|
||||
"efficiency": 0.85,
|
||||
"m1": 0.85, "m2": 2.5,
|
||||
"m3": 500, "m4": 1500, "m5": -2.5, "m6": 1.8,
|
||||
"m7": 600, "m8": 1600, "m9": -3.0, "m10": 2.0
|
||||
},
|
||||
{
|
||||
"type": "HeatExchanger",
|
||||
"name": "condenser",
|
||||
"ua": 5000,
|
||||
"hot_fluid": "R410A",
|
||||
"hot_t_inlet_c": 45,
|
||||
"hot_pressure_bar": 24,
|
||||
"hot_mass_flow_kg_s": 0.05,
|
||||
"cold_fluid": "Water",
|
||||
"cold_t_inlet_c": 30,
|
||||
"cold_pressure_bar": 1,
|
||||
"cold_mass_flow_kg_s": 0.4
|
||||
},
|
||||
{
|
||||
"type": "ExpansionValve",
|
||||
"name": "exv",
|
||||
"fluid": "R410A",
|
||||
"opening": 1.0
|
||||
},
|
||||
{
|
||||
"type": "Evaporator",
|
||||
"name": "evaporator",
|
||||
"ua": 6000,
|
||||
"t_sat_k": 275.15,
|
||||
"superheat_k": 5
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "condenser:inlet" },
|
||||
{ "from": "condenser:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evaporator:inlet" },
|
||||
{ "from": "evaporator:outlet", "to": "comp:inlet" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Circuit eau glacée",
|
||||
"components": [
|
||||
{
|
||||
"type": "Pump",
|
||||
"name": "pump"
|
||||
},
|
||||
{
|
||||
"type": "Pump",
|
||||
"name": "load"
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "pump:outlet", "to": "load:inlet" },
|
||||
{ "from": "load:outlet", "to": "pump:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"thermal_couplings": [
|
||||
{
|
||||
"hot_circuit": 0,
|
||||
"cold_circuit": 1,
|
||||
"ua": 6000,
|
||||
"efficiency": 0.95
|
||||
}
|
||||
],
|
||||
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 100,
|
||||
"tolerance": 1e-6
|
||||
},
|
||||
|
||||
"design_conditions": {
|
||||
"chilled_water_inlet_c": 12,
|
||||
"chilled_water_outlet_c": 7,
|
||||
"chilled_water_flow_kg_s": 0.5,
|
||||
"ambient_air_c": 35,
|
||||
"cooling_capacity_kw": 10.5,
|
||||
"cop_estimated": 3.5
|
||||
},
|
||||
|
||||
"metadata": {
|
||||
"author": "Entropyk",
|
||||
"version": "1.0",
|
||||
"application": "Water chiller for HVAC"
|
||||
}
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
{
|
||||
"name": "Chiller R410A - Minimal Working Example",
|
||||
"description": "Système chiller simplifié avec placeholders (comme eurovent.rs)",
|
||||
|
||||
"fluid": "R410A",
|
||||
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Circuit réfrigérant R410A",
|
||||
"components": [
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "comp",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "Condenser",
|
||||
"name": "cond",
|
||||
"ua": 5000
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv",
|
||||
"n_equations": 1
|
||||
},
|
||||
{
|
||||
"type": "Evaporator",
|
||||
"name": "evap",
|
||||
"ua": 6000,
|
||||
"t_sat_k": 275.15,
|
||||
"superheat_k": 5
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Circuit eau glacée",
|
||||
"components": [
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "pump",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "load",
|
||||
"n_equations": 1
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "pump:outlet", "to": "load:inlet" },
|
||||
{ "from": "load:outlet", "to": "pump:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"thermal_couplings": [
|
||||
{
|
||||
"hot_circuit": 0,
|
||||
"cold_circuit": 1,
|
||||
"ua": 6000,
|
||||
"efficiency": 0.95
|
||||
}
|
||||
],
|
||||
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 100,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
@@ -1,181 +0,0 @@
|
||||
{
|
||||
"name": "Chiller Air-Glycol 2 Circuits - Screw Economisé + MCHX",
|
||||
"description": "Machine frigorifique 2 circuits indépendants. R134a, condenseurs MCHX (4 coils, air 35°C), évaporateurs noyés (MEG 35%, 12→7°C), compresseurs vis économisés VFD.",
|
||||
"fluid": "R134a",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{
|
||||
"type": "ScrewEconomizerCompressor",
|
||||
"name": "screw_0",
|
||||
"fluid": "R134a",
|
||||
"nominal_frequency_hz": 50.0,
|
||||
"mechanical_efficiency": 0.92,
|
||||
"economizer_fraction": 0.12,
|
||||
"mf_a00": 1.20,
|
||||
"mf_a10": 0.003,
|
||||
"mf_a01": -0.002,
|
||||
"mf_a11": 0.00001,
|
||||
"pw_b00": 55000.0,
|
||||
"pw_b10": 200.0,
|
||||
"pw_b01": -300.0,
|
||||
"pw_b11": 0.5,
|
||||
"p_suction_bar": 3.2,
|
||||
"h_suction_kj_kg": 400.0,
|
||||
"p_discharge_bar": 12.8,
|
||||
"h_discharge_kj_kg": 440.0,
|
||||
"p_eco_bar": 6.4,
|
||||
"h_eco_kj_kg": 260.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0a",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0b",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv_0",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap_0",
|
||||
"ua": 20000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "MEG",
|
||||
"target_quality": 0.7
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "screw_0:outlet",
|
||||
"to": "mchx_0a:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0a:outlet",
|
||||
"to": "mchx_0b:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0b:outlet",
|
||||
"to": "exv_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "exv_0:outlet",
|
||||
"to": "evap_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "evap_0:outlet",
|
||||
"to": "screw_0:inlet"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"components": [
|
||||
{
|
||||
"type": "ScrewEconomizerCompressor",
|
||||
"name": "screw_1",
|
||||
"fluid": "R134a",
|
||||
"nominal_frequency_hz": 50.0,
|
||||
"mechanical_efficiency": 0.92,
|
||||
"economizer_fraction": 0.12,
|
||||
"mf_a00": 1.20,
|
||||
"mf_a10": 0.003,
|
||||
"mf_a01": -0.002,
|
||||
"mf_a11": 0.00001,
|
||||
"pw_b00": 55000.0,
|
||||
"pw_b10": 200.0,
|
||||
"pw_b01": -300.0,
|
||||
"pw_b11": 0.5,
|
||||
"p_suction_bar": 3.2,
|
||||
"h_suction_kj_kg": 400.0,
|
||||
"p_discharge_bar": 12.8,
|
||||
"h_discharge_kj_kg": 440.0,
|
||||
"p_eco_bar": 6.4,
|
||||
"h_eco_kj_kg": 260.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_1a",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_1b",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv_1",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap_1",
|
||||
"ua": 20000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "MEG",
|
||||
"target_quality": 0.7
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "screw_1:outlet",
|
||||
"to": "mchx_1a:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_1a:outlet",
|
||||
"to": "mchx_1b:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_1b:outlet",
|
||||
"to": "exv_1:inlet"
|
||||
},
|
||||
{
|
||||
"from": "exv_1:outlet",
|
||||
"to": "evap_1:inlet"
|
||||
},
|
||||
{
|
||||
"from": "evap_1:outlet",
|
||||
"to": "screw_1:inlet"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 150,
|
||||
"tolerance": 1e-6,
|
||||
"timeout_ms": 5000,
|
||||
"verbose": false
|
||||
},
|
||||
"metadata": {
|
||||
"refrigerant": "R134a",
|
||||
"application": "Air-cooled chiller",
|
||||
"glycol_type": "MEG 35%",
|
||||
"glycol_inlet_celsius": 12.0,
|
||||
"glycol_outlet_celsius": 7.0,
|
||||
"ambient_air_celsius": 35.0,
|
||||
"nominal_capacity_kw": 400.0,
|
||||
"n_coils": 4,
|
||||
"n_circuits": 2
|
||||
}
|
||||
}
|
||||
@@ -1,181 +0,0 @@
|
||||
{
|
||||
"name": "Chiller Air-Glycol - Screw MCHX Run (Compatible)",
|
||||
"description": "Simulation chiller 2 circuits avec ScrewEconomizerCompressor et MchxCondenserCoil. Les composants utilisent les n_equations compatibles avec le graphe (2 par arête).",
|
||||
"fluid": "R134a",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{
|
||||
"type": "ScrewEconomizerCompressor",
|
||||
"name": "screw_0",
|
||||
"fluid": "R134a",
|
||||
"nominal_frequency_hz": 50.0,
|
||||
"mechanical_efficiency": 0.92,
|
||||
"economizer_fraction": 0.12,
|
||||
"mf_a00": 1.20,
|
||||
"mf_a10": 0.003,
|
||||
"mf_a01": -0.002,
|
||||
"mf_a11": 0.00001,
|
||||
"pw_b00": 55000.0,
|
||||
"pw_b10": 200.0,
|
||||
"pw_b01": -300.0,
|
||||
"pw_b11": 0.5,
|
||||
"p_suction_bar": 3.2,
|
||||
"h_suction_kj_kg": 400.0,
|
||||
"p_discharge_bar": 12.8,
|
||||
"h_discharge_kj_kg": 440.0,
|
||||
"p_eco_bar": 6.4,
|
||||
"h_eco_kj_kg": 260.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0a",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0b",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv_0",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap_0",
|
||||
"ua": 20000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "MEG",
|
||||
"target_quality": 0.7
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "screw_0:outlet",
|
||||
"to": "mchx_0a:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0a:outlet",
|
||||
"to": "mchx_0b:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0b:outlet",
|
||||
"to": "exv_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "exv_0:outlet",
|
||||
"to": "evap_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "evap_0:outlet",
|
||||
"to": "screw_0:inlet"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"components": [
|
||||
{
|
||||
"type": "ScrewEconomizerCompressor",
|
||||
"name": "screw_1",
|
||||
"fluid": "R134a",
|
||||
"nominal_frequency_hz": 50.0,
|
||||
"mechanical_efficiency": 0.92,
|
||||
"economizer_fraction": 0.12,
|
||||
"mf_a00": 1.20,
|
||||
"mf_a10": 0.003,
|
||||
"mf_a01": -0.002,
|
||||
"mf_a11": 0.00001,
|
||||
"pw_b00": 55000.0,
|
||||
"pw_b10": 200.0,
|
||||
"pw_b01": -300.0,
|
||||
"pw_b11": 0.5,
|
||||
"p_suction_bar": 3.2,
|
||||
"h_suction_kj_kg": 400.0,
|
||||
"p_discharge_bar": 12.8,
|
||||
"h_discharge_kj_kg": 440.0,
|
||||
"p_eco_bar": 6.4,
|
||||
"h_eco_kj_kg": 260.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_1a",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_1b",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"n_air_exponent": 0.5,
|
||||
"air_inlet_temp_c": 35.0,
|
||||
"fan_speed": 1.0
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv_1",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap_1",
|
||||
"ua": 20000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "MEG",
|
||||
"target_quality": 0.7
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "screw_1:outlet",
|
||||
"to": "mchx_1a:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_1a:outlet",
|
||||
"to": "mchx_1b:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_1b:outlet",
|
||||
"to": "exv_1:inlet"
|
||||
},
|
||||
{
|
||||
"from": "exv_1:outlet",
|
||||
"to": "evap_1:inlet"
|
||||
},
|
||||
{
|
||||
"from": "evap_1:outlet",
|
||||
"to": "screw_1:inlet"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 200,
|
||||
"tolerance": 1e-4,
|
||||
"timeout_ms": 10000,
|
||||
"verbose": false
|
||||
},
|
||||
"metadata": {
|
||||
"refrigerant": "R134a",
|
||||
"application": "Air-cooled chiller, screw with economizer",
|
||||
"glycol_type": "MEG 35%",
|
||||
"glycol_inlet_celsius": 12.0,
|
||||
"glycol_outlet_celsius": 7.0,
|
||||
"ambient_air_celsius": 35.0,
|
||||
"n_coils": 4,
|
||||
"n_circuits": 2,
|
||||
"design_capacity_kw": 400
|
||||
}
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
{
|
||||
"name": "Chiller Screw Economisé MCHX - Validation",
|
||||
"description": "Fichier de validation pour tester le parsing du config sans lancer la simulation",
|
||||
"fluid": "R134a",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{
|
||||
"type": "ScrewEconomizerCompressor",
|
||||
"name": "screw_0"
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "splitter_0",
|
||||
"n_equations": 1
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0a",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"air_inlet_temp_c": 35.0
|
||||
},
|
||||
{
|
||||
"type": "MchxCondenserCoil",
|
||||
"name": "mchx_0b",
|
||||
"ua_nominal_kw_k": 15.0,
|
||||
"air_inlet_temp_c": 35.0
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "merger_0",
|
||||
"n_equations": 1
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv_0",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "FloodedEvaporator",
|
||||
"name": "evap_0",
|
||||
"ua": 20000.0,
|
||||
"refrigerant": "R134a",
|
||||
"secondary_fluid": "MEG",
|
||||
"target_quality": 0.7
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "screw_0:outlet",
|
||||
"to": "splitter_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "splitter_0:out_a",
|
||||
"to": "mchx_0a:inlet"
|
||||
},
|
||||
{
|
||||
"from": "splitter_0:out_b",
|
||||
"to": "mchx_0b:inlet"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0a:outlet",
|
||||
"to": "merger_0:in_a"
|
||||
},
|
||||
{
|
||||
"from": "mchx_0b:outlet",
|
||||
"to": "merger_0:in_b"
|
||||
},
|
||||
{
|
||||
"from": "merger_0:outlet",
|
||||
"to": "exv_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "exv_0:outlet",
|
||||
"to": "evap_0:inlet"
|
||||
},
|
||||
{
|
||||
"from": "evap_0:outlet",
|
||||
"to": "screw_0:inlet"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 100,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
93
crates/cli/examples/chiller_watercooled_r410a.json
Normal file
93
crates/cli/examples/chiller_watercooled_r410a.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"name": "Water-Cooled Chiller R410A (4-Port Modelica Style)",
|
||||
"description": "Full emergent-pressure chiller cycle with both heat exchangers on water loops. Condenser water: BrineSource(30C) → cond:secondary_inlet → cond:secondary_outlet → BrineSink. Chilled water: BrineSource(12C) → evap:secondary_inlet → evap:secondary_outlet → BrineSink. Secondary sides are real graph edges — the duty Q is solved from the live edge state.",
|
||||
|
||||
"fluid": "R410A",
|
||||
"fluid_backend": "CoolProp",
|
||||
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Refrigerant + secondary loops",
|
||||
"components": [
|
||||
{
|
||||
"type": "IsentropicCompressor",
|
||||
"name": "comp",
|
||||
"isentropic_efficiency": 0.70,
|
||||
"t_cond_k": 313.15,
|
||||
"t_evap_k": 276.15,
|
||||
"superheat_k": 5.0,
|
||||
"emergent_pressure": true,
|
||||
"displacement_m3": 5.0e-5,
|
||||
"speed_hz": 50.0,
|
||||
"volumetric_efficiency": 0.92
|
||||
},
|
||||
{
|
||||
"type": "Condenser",
|
||||
"name": "cond",
|
||||
"ua": 2000.0,
|
||||
"emergent_pressure": true,
|
||||
"subcooling_k": 5.0,
|
||||
"secondary_fluid": "Water"
|
||||
},
|
||||
{
|
||||
"type": "IsenthalpicExpansionValve",
|
||||
"name": "exv",
|
||||
"t_evap_k": 276.15,
|
||||
"emergent_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "Evaporator",
|
||||
"name": "evap",
|
||||
"ua": 1800.0,
|
||||
"emergent_pressure": true,
|
||||
"secondary_fluid": "Water"
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "cond_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 2.0,
|
||||
"t_set_c": 30.0,
|
||||
"m_flow_kg_s": 0.40
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "cond_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 2.0
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "evap_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 3.0,
|
||||
"t_set_c": 12.0,
|
||||
"m_flow_kg_s": 0.50
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "evap_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 3.0
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_water_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_water_out:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 300,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
{
|
||||
"name": "Pompe à chaleur air-eau R410A - A7/W35",
|
||||
"description": "Pompe à chaleur air-eau Eurovent A7/W35 avec R410A",
|
||||
|
||||
"fluid": "R410A",
|
||||
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Circuit réfrigérant R410A",
|
||||
"components": [
|
||||
{
|
||||
"type": "Compressor",
|
||||
"name": "comp",
|
||||
"fluid": "R410A",
|
||||
"speed_rpm": 2900,
|
||||
"displacement_m3": 0.000025,
|
||||
"efficiency": 0.82,
|
||||
"m1": 0.88, "m2": 2.2,
|
||||
"m3": 450, "m4": 1400, "m5": -2.0, "m6": 1.5,
|
||||
"m7": 550, "m8": 1500, "m9": -2.5, "m10": 1.8
|
||||
},
|
||||
{
|
||||
"type": "Condenser",
|
||||
"name": "condenser",
|
||||
"ua": 4500
|
||||
},
|
||||
{
|
||||
"type": "ExpansionValve",
|
||||
"name": "exv",
|
||||
"fluid": "R410A",
|
||||
"opening": 1.0
|
||||
},
|
||||
{
|
||||
"type": "HeatExchanger",
|
||||
"name": "evaporator",
|
||||
"ua": 6000,
|
||||
"hot_fluid": "Air",
|
||||
"hot_t_inlet_c": 7,
|
||||
"hot_pressure_bar": 1.01,
|
||||
"hot_mass_flow_kg_s": 0.8,
|
||||
"cold_fluid": "R410A",
|
||||
"cold_t_inlet_c": 0,
|
||||
"cold_pressure_bar": 7,
|
||||
"cold_mass_flow_kg_s": 0.04
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "condenser:inlet" },
|
||||
{ "from": "condenser:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evaporator:inlet" },
|
||||
{ "from": "evaporator:outlet", "to": "comp:inlet" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Circuit eau chauffage",
|
||||
"components": [
|
||||
{
|
||||
"type": "Pump",
|
||||
"name": "pump"
|
||||
},
|
||||
{
|
||||
"type": "Pump",
|
||||
"name": "radiators"
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "pump:outlet", "to": "radiators:inlet" },
|
||||
{ "from": "radiators:outlet", "to": "pump:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"thermal_couplings": [
|
||||
{
|
||||
"hot_circuit": 0,
|
||||
"cold_circuit": 1,
|
||||
"ua": 4500,
|
||||
"efficiency": 0.95
|
||||
}
|
||||
],
|
||||
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 100,
|
||||
"tolerance": 1e-6
|
||||
},
|
||||
|
||||
"design_conditions": {
|
||||
"source": "air_exterieur",
|
||||
"t_air_exterieur_c": 7,
|
||||
"t_evaporation_c": 0,
|
||||
"t_condensation_c": 50,
|
||||
"eau_chauffage_entree_c": 30,
|
||||
"eau_chauffage_sortie_c": 45,
|
||||
"debit_eau_kg_s": 0.3,
|
||||
"puissance_chauffage_kw": 10,
|
||||
"cop_estime": 3.2
|
||||
},
|
||||
|
||||
"metadata": {
|
||||
"application": "Heat pump for residential heating",
|
||||
"standard": "Eurovent A7/W35"
|
||||
}
|
||||
}
|
||||
93
crates/cli/examples/heatpump_airsource_r410a.json
Normal file
93
crates/cli/examples/heatpump_airsource_r410a.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"name": "Air-Source Heat Pump R410A (4-Port Modelica Style)",
|
||||
"description": "Heat pump cycle: evaporator absorbs heat from outside air (AirSource → evap:secondary_inlet → evap:secondary_outlet → AirSink), condenser delivers heat to a hot-water loop (BrineSource → cond:secondary_inlet → cond:secondary_outlet → BrineSink). Both secondary sides are real graph edges. Uses emergent-pressure mode for genuine ε-NTU coupling.",
|
||||
|
||||
"fluid": "R410A",
|
||||
"fluid_backend": "CoolProp",
|
||||
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Heat pump refrigerant + secondary loops",
|
||||
"components": [
|
||||
{
|
||||
"type": "IsentropicCompressor",
|
||||
"name": "comp",
|
||||
"isentropic_efficiency": 0.70,
|
||||
"t_cond_k": 323.15,
|
||||
"t_evap_k": 265.15,
|
||||
"superheat_k": 5.0,
|
||||
"emergent_pressure": true,
|
||||
"displacement_m3": 5.0e-5,
|
||||
"speed_hz": 50.0,
|
||||
"volumetric_efficiency": 0.90
|
||||
},
|
||||
{
|
||||
"type": "Condenser",
|
||||
"name": "cond",
|
||||
"ua": 2000.0,
|
||||
"emergent_pressure": true,
|
||||
"subcooling_k": 5.0,
|
||||
"secondary_fluid": "Water"
|
||||
},
|
||||
{
|
||||
"type": "IsenthalpicExpansionValve",
|
||||
"name": "exv",
|
||||
"t_evap_k": 265.15,
|
||||
"emergent_pressure": true
|
||||
},
|
||||
{
|
||||
"type": "Evaporator",
|
||||
"name": "evap",
|
||||
"ua": 1800.0,
|
||||
"emergent_pressure": true,
|
||||
"secondary_fluid": "Air",
|
||||
"secondary_humidity_ratio": 0.005
|
||||
},
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "cond_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 2.5,
|
||||
"t_set_c": 40.0,
|
||||
"m_flow_kg_s": 0.40
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "cond_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 2.5
|
||||
},
|
||||
{
|
||||
"type": "AirSource",
|
||||
"name": "evap_air_in",
|
||||
"p_set_bar": 1.01325,
|
||||
"t_dry_c": 7.0,
|
||||
"rh": 80.0,
|
||||
"m_flow_kg_s": 1.0
|
||||
},
|
||||
{
|
||||
"type": "AirSink",
|
||||
"name": "evap_air_out",
|
||||
"p_back_bar": 1.01325
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_air_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_air_out:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"solver": {
|
||||
"strategy": "fallback",
|
||||
"max_iterations": 300,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
28
crates/cli/examples/heatpump_r134a_fan_headpressure.json
Normal file
28
crates/cli/examples/heatpump_r134a_fan_headpressure.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"fluid": "R134a",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 318.15, "t_evap_k": 278.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 6.5e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 2500.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Air", "secondary_humidity_ratio": 0.010, "fan_head_pressure_target_c": 45.0 },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 278.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1468.0, "emergent_pressure": true, "secondary_fluid": "Air", "secondary_humidity_ratio": 0.010 },
|
||||
{ "type": "AirSource", "name": "cond_air_in", "p_set_bar": 1.01325, "t_dry_c": 35.0, "rh": 50.0, "m_flow_kg_s": 0.6 },
|
||||
{ "type": "AirSink", "name": "cond_air_out", "p_back_bar": 1.01325 },
|
||||
{ "type": "AirSource", "name": "evap_air_in", "p_set_bar": 1.01325, "t_dry_c": 7.0, "rh": 50.0, "m_flow_kg_s": 0.5 },
|
||||
{ "type": "AirSink", "name": "evap_air_out", "p_back_bar": 1.01325 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_air_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_air_out:inlet" },
|
||||
{ "from": "evap_air_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_air_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
30
crates/cli/examples/heatpump_r410a_reversing_valve.json
Normal file
30
crates/cli/examples/heatpump_r410a_reversing_valve.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"fluid": "R410A",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{ "type": "IsentropicCompressor", "name": "comp", "isentropic_efficiency": 0.70, "t_cond_k": 313.15, "t_evap_k": 276.15, "superheat_k": 5.0, "emergent_pressure": true, "displacement_m3": 5.0e-5, "speed_hz": 50.0, "volumetric_efficiency": 0.92 },
|
||||
{ "type": "ReversingValve", "name": "rv", "pressure_drop_kpa": 25.0, "pressure_drop_coeff": 5.0e5 },
|
||||
{ "type": "Condenser", "name": "cond", "ua": 2000.0, "emergent_pressure": true, "subcooling_k": 5.0, "secondary_fluid": "Water" },
|
||||
{ "type": "IsenthalpicExpansionValve", "name": "exv", "t_evap_k": 276.15, "emergent_pressure": true },
|
||||
{ "type": "Evaporator", "name": "evap", "ua": 1800.0, "emergent_pressure": true, "secondary_fluid": "Air", "secondary_humidity_ratio": 0.010 },
|
||||
{ "type": "BrineSource", "name": "cond_water_in", "fluid": "Water", "p_set_bar": 2.0, "t_set_c": 40.0, "m_flow_kg_s": 0.4 },
|
||||
{ "type": "BrineSink", "name": "cond_water_out", "fluid": "Water", "p_back_bar": 2.0 },
|
||||
{ "type": "AirSource", "name": "evap_air_in", "p_set_bar": 1.01325, "t_dry_c": 7.0, "rh": 50.0, "m_flow_kg_s": 0.5 },
|
||||
{ "type": "AirSink", "name": "evap_air_out", "p_back_bar": 1.01325 }
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "rv:inlet" },
|
||||
{ "from": "rv:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" },
|
||||
{ "from": "cond_water_in:outlet", "to": "cond:secondary_inlet" },
|
||||
{ "from": "cond:secondary_outlet", "to": "cond_water_out:inlet" },
|
||||
{ "from": "evap_air_in:outlet", "to": "evap:secondary_inlet" },
|
||||
{ "from": "evap:secondary_outlet", "to": "evap_air_out:inlet" }
|
||||
]
|
||||
}],
|
||||
"solver": { "strategy": "fallback", "max_iterations": 300, "tolerance": 1e-6 }
|
||||
}
|
||||
88
crates/cli/examples/hx_air_water_4port.json
Normal file
88
crates/cli/examples/hx_air_water_4port.json
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"name": "Four-Port Air-Water Heat Exchanger",
|
||||
"fluid": "Water",
|
||||
"fluid_backend": "CoolProp",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"components": [
|
||||
{
|
||||
"type": "BrineSource",
|
||||
"name": "hot_water_in",
|
||||
"fluid": "Water",
|
||||
"p_set_bar": 2.0,
|
||||
"t_set_c": 60.0,
|
||||
"m_flow_kg_s": 0.5
|
||||
},
|
||||
{
|
||||
"type": "HeatExchanger",
|
||||
"name": "hx",
|
||||
"ua": 3000.0,
|
||||
"hot_fluid_id": "Water",
|
||||
"cold_fluid_id": "Air",
|
||||
"cold_humidity_ratio": 0.010
|
||||
},
|
||||
{
|
||||
"type": "BrineSink",
|
||||
"name": "hot_water_out",
|
||||
"fluid": "Water",
|
||||
"p_back_bar": 2.0
|
||||
},
|
||||
{
|
||||
"type": "AirSource",
|
||||
"name": "cold_air_in",
|
||||
"p_set_bar": 1.01325,
|
||||
"t_dry_c": 20.0,
|
||||
"rh": 50.0,
|
||||
"m_flow_kg_s": 1.0
|
||||
},
|
||||
{
|
||||
"type": "Fan",
|
||||
"name": "supply_fan",
|
||||
"fluid": "Air",
|
||||
"speed_ratio": 1.0,
|
||||
"air_density_kg_per_m3": 1.204,
|
||||
"design_flow_m3_s": 0.83,
|
||||
"curve_p0": 250.0,
|
||||
"curve_p1": 0.0,
|
||||
"curve_p2": -20.0,
|
||||
"eff_e0": 0.65,
|
||||
"eff_e1": 0.0,
|
||||
"eff_e2": 0.0
|
||||
},
|
||||
{
|
||||
"type": "AirSink",
|
||||
"name": "cold_air_out",
|
||||
"p_back_bar": 1.01325
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"from": "hot_water_in:outlet",
|
||||
"to": "hx:hot_inlet"
|
||||
},
|
||||
{
|
||||
"from": "hx:hot_outlet",
|
||||
"to": "hot_water_out:inlet"
|
||||
},
|
||||
{
|
||||
"from": "cold_air_in:outlet",
|
||||
"to": "supply_fan:inlet"
|
||||
},
|
||||
{
|
||||
"from": "supply_fan:outlet",
|
||||
"to": "hx:cold_inlet"
|
||||
},
|
||||
{
|
||||
"from": "hx:cold_outlet",
|
||||
"to": "cold_air_out:inlet"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 300,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
10
crates/cli/examples/rate_chiller_iplv_ahri.json
Normal file
10
crates/cli/examples/rate_chiller_iplv_ahri.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"base_config": "chiller_r134a_emergent_pressure.json",
|
||||
"metric": "iplv",
|
||||
"points": [
|
||||
{ "load_fraction": 1.00, "condenser_secondary_inlet_c": 29.4, "compressor_speed_hz": 50.0 },
|
||||
{ "load_fraction": 0.75, "condenser_secondary_inlet_c": 23.9, "compressor_speed_hz": 38.0 },
|
||||
{ "load_fraction": 0.50, "condenser_secondary_inlet_c": 18.3, "compressor_speed_hz": 26.0 },
|
||||
{ "load_fraction": 0.25, "condenser_secondary_inlet_c": 18.3, "compressor_speed_hz": 14.0 }
|
||||
]
|
||||
}
|
||||
8
crates/cli/examples/scop_heatpump_r134a.json
Normal file
8
crates/cli/examples/scop_heatpump_r134a.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"base_config": "chiller_r134a_emergent_pressure.json",
|
||||
"design_load_w": 10000.0,
|
||||
"design_outdoor_c": -10.0,
|
||||
"threshold_outdoor_c": 16.0,
|
||||
"cd": 0.25,
|
||||
"backup_cop": 1.0
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"name": "Chiller R410A - Single Circuit (Working)",
|
||||
"description": "Circuit réfrigérant simple sans couplage thermique (fonctionne)",
|
||||
|
||||
"fluid": "R410A",
|
||||
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Circuit réfrigérant R410A",
|
||||
"components": [
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "comp",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "cond",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "exv",
|
||||
"n_equations": 2
|
||||
},
|
||||
{
|
||||
"type": "Placeholder",
|
||||
"name": "evap",
|
||||
"n_equations": 2
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "comp:outlet", "to": "cond:inlet" },
|
||||
{ "from": "cond:outlet", "to": "exv:inlet" },
|
||||
{ "from": "exv:outlet", "to": "evap:inlet" },
|
||||
{ "from": "evap:outlet", "to": "comp:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 100,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"name": "Water loop with two real pumps",
|
||||
"description": "Single circuit: two pumps in a loop (integration test for real Pump)",
|
||||
"fluid": "Water",
|
||||
"circuits": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Water loop",
|
||||
"components": [
|
||||
{
|
||||
"type": "Pump",
|
||||
"name": "pump1"
|
||||
},
|
||||
{
|
||||
"type": "Pump",
|
||||
"name": "pump2"
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{ "from": "pump1:outlet", "to": "pump2:inlet" },
|
||||
{ "from": "pump2:outlet", "to": "pump1:inlet" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"solver": {
|
||||
"strategy": "newton",
|
||||
"max_iterations": 200,
|
||||
"tolerance": 1e-6
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user