Hi, I encountered some runaway instabilities when trying to design an engine with a proper gas generator. I managed to create a minimal model which seems to reproduce this problem.
r=0.02m, h=1m pipe quickly stabilizes at 54.5kg/s
r=0.02m, h=(0.6m + 0.4m) pipe with a r=0.02m, h=0.01m joint, instead of doing the same, quickly diverges to ~±2000kg/s, with the pressures around the middle of this pipe oscillating between -3GPa to 3GPa (±30000bar)
I’ve encountered this before already, assuming it’s caused by my incorrect impeller setup (causing counter-rotation before GG torque kicks in, and breaking stuff), but now I’m certain it’s a problem in the simulation.
I believe the expected result in this case would be for both flows to act pretty much in the same way, unless I’m misunderstanding what branches/nodes represent here.
this forum could use a better way to share the model .json files
{
"version": "0.3.0",
"name": "pipetest2",
"timestamp": 1766853459394,
"selected": [
{
"name": "100cm pipe",
"category": 2,
"type": "Branch",
"dimType": "Circle",
"dimA": 0.02,
"dimB": null,
"length": 1,
"volume": 0.0012566370614359172,
"node_i": "NodeInlet",
"node_j": "NodeOutlet1",
"roughness": 0.0000015,
"fittings": [],
"n": 1
}
],
"selectedLinks": [],
"dragging": null,
"model": {
"nodes": [
{
"name": "NodeInlet",
"category": 1,
"type": "NodeInlet",
"fluid": "RP1"
},
{
"name": "NodeInlet1",
"category": 1,
"type": "NodeInlet",
"fluid": "RP1"
},
{
"name": "Joint",
"category": 1,
"type": "NodeInternal",
"dimType": "Circle",
"dimA": 0.02,
"dimB": null,
"length": 0.01,
"volume": 0.000012566370614359173
},
{
"name": "NodeOutlet",
"category": 1,
"type": "NodeOutlet"
},
{
"name": "NodeOutlet1",
"category": 1,
"type": "NodeOutlet"
}
],
"branches": [
{
"name": "100cm pipe",
"category": 2,
"type": "Branch",
"dimType": "Circle",
"dimA": 0.02,
"dimB": null,
"length": 1,
"volume": 0.0012566370614359172,
"node_i": "NodeInlet",
"node_j": "NodeOutlet1",
"roughness": 0.0000015,
"fittings": [],
"n": 1
},
{
"name": "60cm pipe",
"category": 2,
"type": "Branch",
"dimType": "Circle",
"dimA": 0.02,
"dimB": null,
"length": 0.6,
"volume": 0.0007539822368615503,
"node_i": "NodeInlet1",
"node_j": "Joint",
"roughness": 0.0000015,
"fittings": [],
"n": 1
},
{
"name": "40cm pipe",
"category": 2,
"type": "Branch",
"dimType": "Circle",
"dimA": 0.02,
"dimB": null,
"length": 0.4,
"volume": 0.000502654824574367,
"node_i": "Joint",
"node_j": "NodeOutlet",
"roughness": 0.0000015,
"fittings": [],
"n": 1
}
],
"machineries": [],
"transmissions": [],
"solids": [],
"control_parameters": [
{
"name": "5bar",
"category": 6,
"type": "ControlParameter",
"component": "NodeInlet",
"component_category": 1,
"component_port": "cp",
"value": 500000
},
{
"name": "5 bar",
"category": 6,
"type": "ControlParameter",
"component": "NodeInlet1",
"component_category": 1,
"component_port": "cp",
"value": 500000
},
{
"name": "1bar",
"category": 6,
"type": "ControlParameter",
"component": "NodeOutlet1",
"component_category": 1,
"component_port": "cp",
"value": 100000
},
{
"name": "1 bar",
"category": 6,
"type": "ControlParameter",
"component": "NodeOutlet",
"component_category": 1,
"component_port": "cp",
"value": 100000
}
]
},
"modelPositions": {
"nodes": {
"NodeInlet": {
"x": -90,
"y": -150
},
"NodeInlet1": {
"x": 760,
"y": -150
},
"NodeOutlet": {
"x": 800,
"y": 130
},
"NodeOutlet1": {
"x": -50,
"y": 130
},
"Joint": {
"x": 760,
"y": -10
}
},
"branches": {
"100cm pipe": {
"x": -90,
"y": -10
},
"60cm pipe": {
"x": 760,
"y": -80
},
"40cm pipe": {
"x": 760,
"y": 60
}
},
"machineries": {},
"transmissions": {},
"solids": {},
"control_parameters": {
"5bar": {
"x": -270,
"y": -200
},
"5 bar": {
"x": 580,
"y": -200
},
"1bar": {
"x": -260,
"y": 130
},
"1 bar": {
"x": 590,
"y": 130
}
}
},
"charts": {
"currentResponsiveBreakpoint": "lg",
"currentNumCols": null,
"layouts": {
"lg": [
{
"i": "Chart 1",
"x": 2,
"y": 0,
"w": 3,
"h": 4,
"minW": 2,
"minH": 2
},
{
"i": "Chart 2",
"x": 6,
"y": 0,
"w": 3,
"h": 4,
"minW": 2,
"minH": 2
},
{
"i": "Chart 3",
"x": 9,
"y": 0,
"w": 3,
"h": 4,
"minW": 2,
"minH": 2
}
],
"md": [
{
"i": "Chart 1",
"x": 0,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 2",
"x": 2,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 3",
"x": 4,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
}
],
"sm": [
{
"i": "Chart 1",
"x": 0,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 2",
"x": 2,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 3",
"x": 4,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
}
],
"xs": [
{
"i": "Chart 1",
"x": 0,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 2",
"x": 2,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 3",
"x": 0,
"y": 2,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
}
],
"xxs": [
{
"i": "Chart 1",
"x": 0,
"y": 0,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 2",
"x": 0,
"y": 2,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
},
{
"i": "Chart 3",
"x": 0,
"y": 4,
"w": 2,
"h": 2,
"minW": 2,
"minH": 2
}
]
},
"chartInfos": {
"Chart 1": {
"title": "Chart 1",
"axes": {
"ṁ": {
"label": "ṁ",
"variableName": "ṁ",
"components": [
{
"name": "100cm pipe",
"category": 2,
"type": "Branch"
}
]
}
},
"isSelected": true
},
"Chart 2": {
"title": "Chart 2",
"axes": {
"ṁ": {
"label": "ṁ",
"variableName": "ṁ",
"components": [
{
"name": "60cm pipe",
"category": 2,
"type": "Branch"
}
]
}
},
"isSelected": false
},
"Chart 3": {
"title": "Chart 3",
"axes": {
"P": {
"label": "P",
"variableName": "P",
"components": [
{
"name": "Joint",
"category": 1,
"type": "NodeInternal"
}
]
}
},
"isSelected": false
}
},
"samplers": {}
},
"simulation": {
"simulationState": "ended",
"maxTime": 1,
"signature": {}
}
}
