GunnsFluidSimpleRocket - nasa/gunns GitHub Wiki

GunnsFluidSimpleRocket

default_img

Background

This link is a simple model of a rocket engine, including a combustion chamber and de Laval nozzle. The purpose is to model total thrust, chamber pressure and combustion temperature, and flow rate.

This model has many simplifying assumptions:

  • Ideal Gas.
  • All flows are isentropic and in chemical equilibrium at all points.
  • Unless an optional combustion model is used, inlet conditions are always assumed constant at the reference configuration conditions.
  • Combustion is complete before entering the nozzle.
  • Adiabatic, no heat transfer with the rocket walls.
  • Backflow is not modeled; reverse pressure gradient will result in no flow.
  • Flow is assumed attached to the nozzle wall even under grossly over-expanded flow.

The combustion can be modeled in one of two ways:

  • It can use pre-set values of the product of combustion. It assumes that these are always the result of combustion, regardless of inlet conditions.
  • It can use a dynamic combustion model that calculates the products of combustion dynamically based on changing inlet conditions like fuel/oxidizer ratio, temperature, chamber pressure, and the presense of an inert purge gas. This option is more accurate but slower.

This link does not actually change the fluid temperature or mixture passing though it, because it assumes that the exiting fluid is thrown away to the ambient or Ground node. Calculation of the products of combustion are only used in the chamber temperature and thrust calculations internally, so we don't bother making the exhaust fluid reflect those properties in the network.

How To Use in GunnsDraw

The suggested connections and local network setup are shown in the picture below. Port 0 of the link attaches to the combustion chamber node, and Port 1 attaches to the exhaust node.

This rocket model will typically be used to model liquid rocket engines. Regardless of whether the real-world propellants would still be in the liquid or gas phases inside the combustion chamber, the link works best if the combustion chamber node is a gas node, and you provide for the phase-change from liquid to gas via GunnsFluidPhaseChangeConductor links for the injector plate or further upstream.

default_img

Port Connection Rules (These are limitations on the port connection to nodes that the link enforces in run-time):

  • Ports 0 and 1 cannot connect to the same non-Ground node.

Other Rules (These are extra rules you should always try to follow):

  • Do not mix fluid phases across the link. That is, both nodes should contain the same phase (gas or liquid, but gas is recommended), and not different phases.

Configuration Data Parameters:

  • throatArea (default = 0.0 m2, must be > 0): This is the cross-sectional area of the nozzle throat.
  • exitArea (default = 0.0 m2, must be >= throatArea): This is the cross-sectional area of the exit plane of the nozzle bell.
  • characteristicVelocity (default = 0.0 m/s, must be > 0): This is the reference characteristic velocity of the combustion.
  • combustionTemperature (default = 0.0 K, must be > 0): This is the reference adiabatic flame temperature of the combustion.
  • combustionGamma (default = 0.0, must be > 1): This is the reference adiabatic index (ratio of specific heats) of the products of combustion.
  • thrustTuning (default = 1.0, must be >= 0): This is an optional tuning factor that scales the thrust output of the model.
  • recombinationTuning (default = 0.0, must be (0-1)): This is an optional tuning factor that scales the amount of chemical recombination that occurs in the nozzle. This only applies when the optional combustion model is used (see combustType below). A value of 1 causes full recombination, where the fluid stays in perfect equilibrium as it expands & cools through the nozzle. This generally results in higher thrust. A value of 0 causes no recombination and the fluid is "frozen", i.e. remaining at the same mixture as the combustion output. Intermediate values can be used to scale this effect as desired.
  • needsIgnition (default = false): This sets whether the combustion needs an external ignition source to begin. True makes the model require the ignition flag to be set before combustion can begin. False makes the model ignore the ignition flag and begin combustion any time there is flow through the rocket -- this models a hypergolic reaction.
  • combustType (default = CombustFactory::NONE): This is the optional combustion model described above. NONE selects no combustion model, and the rocket always uses the constant reference combustion configuration values described above. Any other value enables the specified dynamic combustion model type (i.e. CH4).

Input Data Parameters:

  • malfBlockageFlag: The blockage malfunction is not implemented in this link, and this term has no effect.
  • malfBlockageValue: The blockage malfunction is not implemented in this link, and this term has no effect.
  • ignition (default = false): This sets the initial state of the ignition input flag.
  • combustion (default = false): This sets the initial state of whether combustion is occuring (True) or not (False). The combustion state can also change in run-time based on other model & flow conditions.

Common Problems

  • N/A

References

  • N/A
⚠️ **GitHub.com Fallback** ⚠️