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>
108 lines
3.3 KiB
JSON
108 lines
3.3 KiB
JSON
{
|
|
"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
|
|
}
|
|
}
|