Inconsistent/unrealistic engine performance at different ambient pressure levels

Hi, I’ve noticed that there’s seemingly no difference between running an engine at 1 bar or 0 bar in a couple of engines, with awkward arbitrary discontinuities at different pressure levels:

This is an extreme example, with ~585bar of chamber pressure, but at 40:1 expansion ratio, and ~1bar flow exit pressure, I’d expect the Isp to drop by at least 20-25s at 1bar. I’ll append the model in question at the end of this post.

In general, engines seem to vastly overperform at sea level. The built-in template of the Vulcain does:

  • Vacuum: 963.3kN, 428.5s
  • Sea level: 942.7kN, 419.4s

Where I’d expect this type of engine to hit <340s at sea level.


{
  "name": "RP1_gasgen",
  "timestamp": 1766920088923,
  "selected": [
    {
      "name": "NodeInlet1",
      "category": 1,
      "type": "NodeInlet",
      "fluid": "RP1"
    }
  ],
  "selectedLinks": [],
  "dragging": null,
  "model": {
    "nodes": [
      {
        "name": "NodeInlet",
        "category": 1,
        "type": "NodeInlet",
        "fluid": "LOX"
      },
      {
        "name": "NodeGasInlet",
        "category": 1,
        "type": "NodeGasInlet",
        "fluidGas": "LOX_LH2"
      },
      {
        "name": "NodeOutlet1",
        "category": 1,
        "type": "NodeOutlet"
      },
      {
        "name": "NodeGasInternal",
        "category": 1,
        "type": "NodeGasInternal",
        "dimType": "Rect",
        "dimA": 0.01,
        "dimB": 0.01,
        "length": 0.01,
        "volume": 0.0001
      },
      {
        "name": "LOXp",
        "category": 1,
        "type": "NodeInternal",
        "dimType": "Circle",
        "dimA": 0.02,
        "dimB": null,
        "length": 0.1,
        "volume": 0.00012566370614359174
      },
      {
        "name": "NodeInlet1",
        "category": 1,
        "type": "NodeInlet",
        "fluid": "RP1"
      },
      {
        "name": "RP1p",
        "category": 1,
        "type": "NodeInternal",
        "dimType": "Circle",
        "dimA": 0.1,
        "dimB": null,
        "length": 0.1,
        "volume": 0.0031415926535897937
      },
      {
        "name": "NodeGasGenerator",
        "category": 1,
        "type": "NodeGasGenerator",
        "dimType": "Circle",
        "dimA": 0.05,
        "dimB": null,
        "length": 0.1,
        "volume": 0.0007853981633974484,
        "fluidGas": "LOX_RP1"
      },
      {
        "name": "NodeOutlet",
        "category": 1,
        "type": "NodeOutlet"
      },
      {
        "name": "NodeGasInternal1",
        "category": 1,
        "type": "NodeGasInternal",
        "dimType": "Circle",
        "dimA": 0.05,
        "dimB": null,
        "length": 0.01,
        "volume": 0.00007853981633974484
      },
      {
        "name": "NodeGasInternal2",
        "category": 1,
        "type": "NodeGasInternal",
        "dimType": "Circle",
        "dimA": 0.05,
        "dimB": null,
        "length": 0.01,
        "volume": 0.00007853981633974484
      },
      {
        "name": "NodeInternal",
        "category": 1,
        "type": "NodeInternal",
        "dimType": "Circle",
        "dimA": 0.01,
        "dimB": null,
        "length": 0.05,
        "volume": 0.000015707963267948967
      },
      {
        "name": "NodeInternal1",
        "category": 1,
        "type": "NodeInternal",
        "dimType": "Circle",
        "dimA": 0.015,
        "dimB": null,
        "length": 0.05,
        "volume": 0.00003534291735288517
      }
    ],
    "branches": [
      {
        "name": "Branch",
        "category": 2,
        "type": "Branch",
        "dimType": "Circle",
        "dimA": 0.015,
        "dimB": null,
        "length": 0.5,
        "node_i": "NodeInternal1",
        "node_j": "LOXp",
        "n": 1,
        "roughness": 0.00000356,
        "volume": 0.0003534291735288517
      },
      {
        "name": "BranchGas",
        "category": 2,
        "type": "BranchGas",
        "dimType": "Rect",
        "dimA": 0.02,
        "dimB": 0.007,
        "length": 0.01,
        "node_i": "NodeGasInternal",
        "node_j": "NodeOutlet1",
        "n": 34,
        "roughness": 0.00000356
      },
      {
        "name": "BranchGas1",
        "category": 2,
        "type": "BranchGas",
        "dimType": "Rect",
        "dimA": 0.02,
        "dimB": 0.003,
        "length": 0.03,
        "node_i": "NodeGasInlet",
        "node_j": "NodeGasInternal",
        "n": 34,
        "roughness": 0.00000356
      },
      {
        "name": "LOX Injector",
        "category": 2,
        "type": "Branch",
        "dimType": "Circle",
        "dimA": 0.0087,
        "dimB": null,
        "length": 0.1,
        "volume": 0.00002377871479502114,
        "node_i": "LOXp",
        "node_j": "NodeGasGenerator",
        "roughness": 0.0000015,
        "fittings": [
          "Elbow180"
        ],
        "n": 1
      },
      {
        "name": "Branch2",
        "category": 2,
        "type": "Branch",
        "dimType": "Circle",
        "dimA": 0.01,
        "dimB": null,
        "length": 0.5,
        "volume": 0.00015707963267948965,
        "node_i": "NodeInternal",
        "node_j": "RP1p",
        "roughness": 0.00000356,
        "fittings": [],
        "n": 1
      },
      {
        "name": "RP1 Injector",
        "category": 2,
        "type": "Branch",
        "dimType": "Circle",
        "dimA": 0.00362,
        "dimB": null,
        "length": 0.1,
        "volume": 0.000004116868676970208,
        "node_i": "RP1p",
        "node_j": "NodeGasGenerator",
        "roughness": 0.0000015,
        "fittings": [],
        "n": 1
      },
      {
        "name": "Chamber",
        "category": 2,
        "type": "BranchGas",
        "dimType": "Circle",
        "dimA": 0.05,
        "dimB": null,
        "length": 0.1,
        "volume": 0.0007853981633974484,
        "node_i": "NodeGasGenerator",
        "node_j": "NodeGasInternal1",
        "roughness": 0.0000015,
        "fittings": [],
        "n": 1
      },
      {
        "name": "Throat",
        "category": 2,
        "type": "BranchGas",
        "dimType": "Circle",
        "dimA": 0.0315,
        "dimB": null,
        "length": 0.01,
        "volume": 0.00003117245310524472,
        "node_i": "NodeGasInternal1",
        "node_j": "NodeGasInternal2",
        "roughness": 0.0000015,
        "fittings": [],
        "n": 1
      },
      {
        "name": "BranchGas3",
        "category": 2,
        "type": "BranchGas",
        "dimType": "Circle",
        "dimA": 0.2,
        "dimB": null,
        "length": 0.5,
        "volume": 0.06283185307179587,
        "node_i": "NodeGasInternal2",
        "node_j": "NodeOutlet",
        "roughness": 0.0000015,
        "fittings": [],
        "n": 1
      },
      {
        "name": "BranchValve",
        "category": 2,
        "type": "BranchValve",
        "dimType": "Circle",
        "dimA": 0.01,
        "dimB": null,
        "length": 0.1,
        "volume": 0.000031415926535897935,
        "node_i": "NodeInlet1",
        "node_j": "NodeInternal",
        "roughness": 0.00000356,
        "n": 1,
        "fittings": []
      },
      {
        "name": "BranchValve1",
        "category": 2,
        "type": "BranchValve",
        "dimType": "Circle",
        "dimA": 0.015,
        "dimB": null,
        "length": 0.1,
        "volume": 0.00007068583470577034,
        "node_i": "NodeInlet",
        "node_j": "NodeInternal1",
        "roughness": 0.0000015,
        "n": 1,
        "fittings": []
      }
    ],
    "machineries": [
      {
        "name": "MachineryNonDynamic1",
        "category": 3,
        "type": "MachineryNonDynamic",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.0254,
        "rotorLength": 0.305,
        "rotorDensity": 8230,
        "shaft": "Shaft1"
      },
      {
        "name": "MachineryPump",
        "category": 3,
        "type": "MachineryPump",
        "branch": "Branch",
        "shaft": "Shaft",
        "r1": 0.05,
        "r2": 0.14,
        "b2": 0.005,
        "eRMS": 0.00000356,
        "betaB2": 0.6981317007977318
      },
      {
        "name": "MachineryTurbine",
        "category": 3,
        "type": "MachineryTurbine",
        "branch": "BranchGas",
        "shaft": "Shaft",
        "rTip": 0.16,
        "convergeBranch": "BranchGas1",
        "statorO": 0.0025,
        "statorA": 0.0065,
        "rotorH": 0.01,
        "beta": 1.1868238913561442,
        "rotorC": 0.03,
        "admissionRatio": 0.95,
        "alpha": 1.2217304763960306,
        "omega": 1400,
        "gamma": 1.4,
        "t": 1100,
        "rS": 2400,
        "rotorZ": 55,
        "statorZ": 42
      },
      {
        "name": "MachineryPump1",
        "category": 3,
        "type": "MachineryPump",
        "branch": "Branch2",
        "shaft": "Shaft3",
        "betaB2": 0.6981317007977318,
        "r1": 0.04,
        "r2": 0.12,
        "b2": 0.001,
        "eRMS": 0.00000356
      }
    ],
    "transmissions": [
      {
        "name": "Shaft",
        "category": 4,
        "type": "Shaft",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.0254,
        "rotorLength": 0.5,
        "rotorDensity": 8230,
        "gears": [
          "Gear2"
        ]
      },
      {
        "name": "Shaft1",
        "category": 4,
        "type": "Shaft",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.0254,
        "rotorLength": 0.305,
        "rotorDensity": 8230,
        "gears": [
          "Gear"
        ]
      },
      {
        "name": "Gear",
        "category": 4,
        "type": "Gear",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.04,
        "rotorLength": 0.0254,
        "rotorDensity": 8230,
        "gears": [
          "Gear1"
        ],
        "teeth": 16,
        "module": 5
      },
      {
        "name": "Gear1",
        "category": 4,
        "type": "Gear",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.08,
        "rotorLength": 0.0254,
        "rotorDensity": 8230,
        "gears": [],
        "teeth": 32,
        "module": 5
      },
      {
        "name": "Shaft2",
        "category": 4,
        "type": "Shaft",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.0254,
        "rotorLength": 0.305,
        "rotorDensity": 8230,
        "gears": [
          "Gear1"
        ]
      },
      {
        "name": "Gear2",
        "category": 4,
        "type": "Gear",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.15,
        "rotorLength": 0.02,
        "rotorDensity": 7800,
        "gears": [],
        "teeth": 60,
        "module": 5
      },
      {
        "name": "Gear3",
        "category": 4,
        "type": "Gear",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.105,
        "rotorLength": 0.02,
        "rotorDensity": 7800,
        "gears": [
          "Gear2"
        ],
        "teeth": 42,
        "module": 5
      },
      {
        "name": "Shaft3",
        "category": 4,
        "type": "Shaft",
        "rotorShape": "SolidCylinder",
        "rotorRadius": 0.02,
        "rotorLength": 0.5,
        "rotorDensity": 7800,
        "gears": [
          "Gear3"
        ]
      }
    ],
    "solids": [],
    "control_parameters": [
      {
        "name": "ControlParameter1",
        "category": 6,
        "type": "ControlParameter",
        "component": "MachineryNonDynamic1",
        "component_category": 3,
        "component_port": "c",
        "value": 1
      },
      {
        "name": "ControlParameter2",
        "category": 6,
        "type": "ControlParameter",
        "component": "NodeInlet",
        "component_category": 1,
        "component_port": "cp",
        "value": 300000
      },
      {
        "name": "GasPressureControl",
        "category": 6,
        "type": "ControlParameter",
        "component": "NodeGasInlet",
        "component_category": 1,
        "component_port": "cp",
        "value": 10001000
      },
      {
        "name": "OfRatioControl",
        "category": 6,
        "type": "ControlParameter",
        "component": "NodeGasInlet",
        "component_category": 1,
        "component_port": "cr",
        "value": 1
      },
      {
        "name": "TurbineExitPressureControl",
        "category": 6,
        "type": "ControlParameter",
        "component": "NodeOutlet1",
        "component_category": 1,
        "component_port": "cp",
        "value": 100000
      },
      {
        "name": "ControlParameter",
        "category": 6,
        "type": "ControlParameter",
        "component": "NodeInlet1",
        "component_category": 1,
        "component_port": "cp",
        "value": 300000
      },
      {
        "name": "ControlParameterTransition",
        "category": 6,
        "type": "ControlParameterTransition",
        "component": "BranchValve1",
        "component_category": 2,
        "component_port": "c",
        "startValue": 0.1,
        "endValue": 0.8,
        "midpoint": 0.5,
        "width": 0.1,
        "value": null
      },
      {
        "name": "ControlParameterTransition1",
        "category": 6,
        "type": "ControlParameterTransition",
        "component": "BranchValve",
        "component_category": 2,
        "component_port": "c",
        "startValue": 0.33,
        "endValue": 0.66,
        "midpoint": 0.35,
        "width": 0.05,
        "value": null
      },
      {
        "name": "ControlParameter4",
        "category": 6,
        "type": "ControlParameter",
        "component": "NodeOutlet",
        "component_category": 1,
        "component_port": "cp",
        "value": 100000
      }
    ]
  },
  "modelPositions": {
    "nodes": {
      "NodeInlet": {
        "x": -340,
        "y": -230
      },
      "NodeGasInlet": {
        "x": 250,
        "y": 280
      },
      "NodeOutlet1": {
        "x": 220,
        "y": 630
      },
      "NodeGasInternal": {
        "x": 220,
        "y": 430
      },
      "NodeInlet1": {
        "x": -710,
        "y": -230
      },
      "LOXp": {
        "x": -340,
        "y": 150
      },
      "RP1p": {
        "x": -710,
        "y": 150
      },
      "NodeGasGenerator": {
        "x": -520,
        "y": 370
      },
      "NodeOutlet": {
        "x": -560,
        "y": 910
      },
      "NodeGasInternal1": {
        "x": -520,
        "y": 550
      },
      "NodeGasInternal2": {
        "x": -520,
        "y": 730
      },
      "NodeInternal": {
        "x": -710,
        "y": -30
      },
      "NodeInternal1": {
        "x": -340,
        "y": -30
      }
    },
    "branches": {
      "Branch": {
        "x": -340,
        "y": 60
      },
      "BranchGas": {
        "x": 260,
        "y": 510
      },
      "BranchGas1": {
        "x": 200,
        "y": 350
      },
      "Branch2": {
        "x": -710,
        "y": 60
      },
      "LOX Injector": {
        "x": -340,
        "y": 240
      },
      "RP1 Injector": {
        "x": -710,
        "y": 240
      },
      "Chamber": {
        "x": -520,
        "y": 460
      },
      "BranchGas3": {
        "x": -520,
        "y": 820
      },
      "Throat": {
        "x": -520,
        "y": 640
      },
      "BranchValve": {
        "x": -710,
        "y": -120
      },
      "BranchValve1": {
        "x": -340,
        "y": -120
      }
    },
    "machineries": {
      "MachineryNonDynamic1": {
        "x": 520,
        "y": 60
      },
      "MachineryPump": {
        "x": -150,
        "y": 10
      },
      "MachineryTurbine": {
        "x": 480,
        "y": 350
      },
      "MachineryPump1": {
        "x": -520,
        "y": 10
      }
    },
    "transmissions": {
      "Shaft": {
        "x": 260,
        "y": 120
      },
      "Shaft1": {
        "x": 830,
        "y": 200
      },
      "Gear": {
        "x": 710,
        "y": 110
      },
      "Gear1": {
        "x": 1050,
        "y": 110
      },
      "Shaft2": {
        "x": 1180,
        "y": 200
      },
      "Gear2": {
        "x": 240,
        "y": -20
      },
      "Gear3": {
        "x": 40,
        "y": -20
      },
      "Shaft3": {
        "x": 40,
        "y": -70
      }
    },
    "solids": {},
    "control_parameters": {
      "ControlParameter1": {
        "x": 530,
        "y": -70
      },
      "ControlParameter2": {
        "x": -500,
        "y": -290
      },
      "OfRatioControl": {
        "x": 90,
        "y": 200
      },
      "GasPressureControl": {
        "x": 90,
        "y": 240
      },
      "TurbineExitPressureControl": {
        "x": -10,
        "y": 590
      },
      "ControlParameter": {
        "x": -870,
        "y": -290
      },
      "ControlParameterTransition": {
        "x": -530,
        "y": -170
      },
      "ControlParameterTransition1": {
        "x": -900,
        "y": -170
      },
      "ControlParameter4": {
        "x": -800,
        "y": 910
      }
    }
  },
  "charts": {
    "currentResponsiveBreakpoint": "sm",
    "currentNumCols": 6,
    "layouts": {
      "lg": [
        {
          "i": "Chart 1",
          "x": 0,
          "y": 0,
          "w": 4,
          "h": 3,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 2",
          "x": 4,
          "y": 0,
          "w": 2,
          "h": 3,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 3",
          "x": 6,
          "y": 0,
          "w": 2,
          "h": 3,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Thrust - BranchGas3",
          "x": 8,
          "y": 0,
          "w": 2,
          "h": 4,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 4",
          "x": 10,
          "y": 0,
          "w": 2,
          "h": 3,
          "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": 9999,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 3",
          "x": 2,
          "y": 0,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Thrust - BranchGas3",
          "x": 4,
          "y": 0,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 4",
          "x": 6,
          "y": 0,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        }
      ],
      "sm": [
        {
          "i": "Chart 1",
          "x": 0,
          "y": 0,
          "w": 4,
          "h": 3,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 2",
          "x": 4,
          "y": 0,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 3",
          "x": 4,
          "y": 2,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Thrust - BranchGas3",
          "x": 0,
          "y": 3,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 4",
          "x": 2,
          "y": 3,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        }
      ],
      "xs": [
        {
          "i": "Chart 1",
          "x": 0,
          "y": 0,
          "w": 4,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 2",
          "x": 2,
          "y": 9999,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 3",
          "x": 0,
          "y": 2,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Thrust - BranchGas3",
          "x": 2,
          "y": 2,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 4",
          "x": 0,
          "y": 4,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        }
      ],
      "xxs": [
        {
          "i": "Chart 1",
          "x": 0,
          "y": 9999,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 2",
          "x": 0,
          "y": 9999,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 3",
          "x": 0,
          "y": 0,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Thrust - BranchGas3",
          "x": 0,
          "y": 2,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        },
        {
          "i": "Chart 4",
          "x": 0,
          "y": 4,
          "w": 2,
          "h": 2,
          "minW": 2,
          "minH": 2
        }
      ]
    },
    "chartInfos": {
      "Chart 1": {
        "title": "Chart 1",
        "axes": {
          "ṁ": {
            "label": "ṁ",
            "variableName": "ṁ",
            "components": [
              {
                "name": "Branch",
                "category": 2,
                "type": "Branch"
              },
              {
                "name": "BranchGas",
                "category": 2,
                "type": "BranchGas"
              },
              {
                "name": "Branch2",
                "category": 2,
                "type": "Branch"
              }
            ]
          },
          "%": {
            "label": "%",
            "variableName": "%",
            "components": [
              {
                "name": "BranchValve",
                "category": 2,
                "type": "BranchValve"
              },
              {
                "name": "BranchValve1",
                "category": 2,
                "type": "BranchValve"
              }
            ]
          }
        },
        "isSelected": false
      },
      "Chart 2": {
        "title": "Chart 2",
        "axes": {
          "P": {
            "label": "P",
            "variableName": "P",
            "components": [
              {
                "name": "LOXp",
                "category": 1,
                "type": "NodeInternal"
              },
              {
                "name": "RP1p",
                "category": 1,
                "type": "NodeInternal"
              }
            ]
          }
        },
        "isSelected": false
      },
      "Chart 3": {
        "title": "Chart 3",
        "axes": {
          "P₀": {
            "label": "P₀",
            "variableName": "P₀",
            "components": [
              {
                "name": "Chamber",
                "category": 2,
                "type": "BranchGas"
              }
            ]
          },
          "T₀": {
            "label": "T₀",
            "variableName": "T₀",
            "components": [
              {
                "name": "Chamber",
                "category": 2,
                "type": "BranchGas"
              }
            ]
          },
          "ṁ": {
            "label": "ṁ",
            "variableName": "ṁ",
            "components": [
              {
                "name": "Throat",
                "category": 2,
                "type": "BranchGas"
              }
            ]
          }
        },
        "isSelected": false
      },
      "Chart 4": {
        "title": "Chart 4",
        "axes": {
          "M": {
            "label": "M",
            "variableName": "M",
            "components": [
              {
                "name": "Throat",
                "category": 2,
                "type": "BranchGas"
              },
              {
                "name": "BranchGas3",
                "category": 2,
                "type": "BranchGas"
              }
            ]
          }
        },
        "isSelected": true
      }
    },
    "samplers": {
      "Thrust - BranchGas3": {
        "title": "Thrust - BranchGas3",
        "branchName": "BranchGas3"
      }
    }
  },
  "simulation": {
    "simulationState": "ended",
    "currentTime": 0,
    "maxTime": 1,
    "signature": {}
  },
  "version": "0.3.0"
}

Thanks again! This is because of a hidden mechanic → Everytime the simulation is run, a new Ideal Truncated Nozzle using MOC is created which is optimized to the simulated pressures. This issue will be fixed when I introduce nozzles which we can “design” their geometry.