class `rocketcea.cea_obj.` `CEA_Obj`(propName='', oxName='', fuelName='', useFastLookup=0, makeOutput=0)

  RocketCEA wraps the NASA FORTRAN CEA code to calculate Isp, cstar, and Tcomb

  `estimate_Ambient_Isp`(Pc=100.0, MR=1.0, eps=40.0, Pamb=14.7)

        #: return the tuple (IspAmb, mode)
        #: Use throat gam to run ideal separation calculations.
        #: mode is a string containing, UnderExpanded, OverExpanded, or Separated
        #: MR is only used for ox/fuel combos.

  `getFrozen_IvacCstrTc`(Pc=100.0, MR=1.0, eps=40.0, frozenAtThroat=0)

        #: Return the tuple (IspFrozen, Cstar, Tcomb).
        #: MR is only used for ox/fuel combos.

  `getMRforER`(ERphi=None, ERr=None)

        #: return the value of mixture ratio that applies to the input equivalence ratio.
        #: Can be ERr or ERphi (valence basis and mass basis respectively)

  `get_Chamber_Cp`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return the heat capacity in the chamber.
        #: MR is only used for ox/fuel combos.

  `get_Chamber_Density`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return the density in the chamber.
        #: MR is only used for ox/fuel combos.

  `get_Chamber_H`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return the enthalpy in the chamber.
        #: MR is only used for ox/fuel combos.

  `get_Chamber_MolWt_gamma`(Pc=100.0, MR=1.0, eps=40.0)

        #: return the tuple (mw, gam) for the chamber
        #: MR is only used for ox/fuel combos.

  `get_Chamber_SonicVel`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return the sonic velocity in the chamber.
        #: MR is only used for ox/fuel combos.

  `get_Cstar`(Pc=100.0, MR=1.0)

        #: return Cstar.
        #: MR is only used for ox/fuel combos.

  `get_Densities`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return a list of densities at the chamber, throat and exit.
        #: MR is only used for ox/fuel combos.

  `get_Enthalpies`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return a list of enthalpies at the chamber, throat and exit.
        #: MR is only used for ox/fuel combos.

  `get_HeatCapacities`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return a list of heat capacities at the chamber, throat and exit.
        #: MR is only used for ox/fuel combos.

  `get_Isp`(Pc=100.0, MR=1.0, eps=40.0)

        #: return IspVac.
        #: MR is only used for ox/fuel combos.

  `get_IvacCstrTc`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return the tuple (IspVac, Cstar, Tcomb).
        #: MR is only used for ox/fuel combos.

  `get_IvacCstrTc_ChmMwGam`(Pc=100.0, MR=1.0, eps=40.0)

        #: return the tuple (IspVac, Cstar, Tcomb, mw, gam)
        #: mw and gam apply to chamber.
        #: MR is only used for ox/fuel combos.

  `get_IvacCstrTc_ThtMwGam`(Pc=100.0, MR=1.0, eps=40.0)

        #: return the tuple (IspVac, Cstar, Tcomb, mw, gam)
        #: mw and gam apply to throat.
        #: MR is only used for ox/fuel combos.

  `get_IvacCstrTc_exitMwGam`(Pc=100.0, MR=1.0, eps=40.0)

        #: return the tuple (IspVac, Cstar, Tcomb, mw, gam)
        #: mw and gam apply to nozzle exit.
        #: MR is only used for ox/fuel combos.

  `get_MachNumber`(Pc=100.0, MR=1.0, eps=40.0)

        #: return nozzle exit mach number.
        #: MR is only used for ox/fuel combos.

  `get_PcOvPe`(Pc=100.0, MR=1.0, eps=40.0)

        #: return Pc / Pexit.
        #: MR is only used for ox/fuel combos.

  `get_SonicVelocities`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return a list of sonic velocities at the chamber, throat and exit.
        #: MR is only used for ox/fuel combos.

  `get_Tcomb`(Pc=100.0, MR=1.0)

        #: return Tcomb.
        #: MR is only used for ox/fuel combos.

  `get_Temperatures`(Pc=100.0, MR=1.0, eps=40.0)

        #: Return a list of temperatures at the chamber, throat and exit.
        #: (Note Texit is equilibrium temperature NOT Frozen temperature)
        #: MR is only used for ox/fuel combos.

  `get_Throat_Isp`(Pc=100.0, MR=1.0)

        #: Return the IspVac for the throat.
        #: MR is only used for ox/fuel combos.

  `get_Throat_MolWt_gamma`(Pc=100.0, MR=1.0, eps=40.0)

        #: return the tuple (mw, gam) for the throat
        #: MR is only used for ox/fuel combos.

  `get_Throat_PcOvPe`(Pc=100.0, MR=1.0)

        #: return Pc/Pexit at throat.
        #: MR is only used for ox/fuel combos.

  `get_description`()

    Return a string description of the propellant(s). e.g. ‘LOX / MMH’

  `get_eps_at_PcOvPe`(Pc=100.0, MR=1.0, PcOvPe=1000.0)

        #: Given a Pc/Pexit, return the Area Ratio that applies.
        #: MR is only used for ox/fuel combos.

  `get_eqratio`(Pc=100.0, MR=1.0, eps=40.0)

    Returns BOTH ERr and ERphi (valence basis and mass basis respectively)

  `get_exit_MolWt_gamma`(Pc=100.0, MR=1.0, eps=40.0)

        #: return the tuple (mw, gam) for the nozzle exit
        #: MR is only used for ox/fuel combos.

  `get_full_cea_output`(Pc=100.0, MR=1.0, eps=40.0, frozen=0, frozenAtThroat=0, short_output=0, show_transport=1)

    Get the full output file created by CEA. Return as a string.

  `setupCards`(Pc=100.0, MR=1.0, eps=40.0, PcOvPe=None, frozen=0, ERphi=None, ERr=None, frozenAtThroat=0, short_output=0, show_transport=0)

    Set up card deck and call CEA FORTRAN code.:

        #: if PcOvPe has a value, use it instead of eps to run case
        #: ERphi = Equivalence ratios in terms of fuel-to-oxidant weight ratios.
        #: ERr = Chemical equivalence ratios in terms of valences.

`rocketcea.cea_obj.` `add_new_card`(name, card_str, propD)

      #: Add or Replace a propellant.
      #: name = string name (e.g. oxName, fuelName or propName)
      #: card_str = a single multiline string containing CEA input card for new propellant
      #: propD = dictionary to receive new propellant (e.g. oxCards, fuelCards or propCards)

`rocketcea.cea_obj.` `add_new_fuel`(name, card_str)

  Add a new Fuel Card

`rocketcea.cea_obj.` `add_new_oxidizer`(name, card_str)

  Add a new Oxidizer Card

`rocketcea.cea_obj.` `add_new_propellant`(name, card_str)

  Add a new Propellant Card

`rocketcea.cea_obj.` `getCacheDict`()

  Returns internal cache of previously called calculations.

`rocketcea.cea_obj.` `print_py_cea_vars`()

  Print all the interface variables to the FORTRAN pyd file. Normally used for debugging or verifying FORTRAN internal values.

`rocketcea.cea_obj.` `set_py_cea_line`(N, line)

  make sure that trailing blanks are on added lines

Handle propellant blends. Make new input cards for various ox and fuel blends.

`rocketcea.blends.` `addFLOX_Blend`(oxName, cea_deck)

  Add new add FLOX oxidizer to the CEA_Obj.cea_deck FLOX70, for example, represents 70% F2 and 30% LOX

`rocketcea.blends.` `addHYD_AmmoniaBlend`(name, cea_deck)

  Add new N2H4 + undissociated Ammonia (UA) Blend to the CEA_Obj.cea_deck. Use name like “HYD30” to represent hydrazine with 30% dissociated ammonia.

`rocketcea.blends.` `addMMH_N2H4_Blend`(fuelName, cea_deck)

  Add new MMH + N2H4 Blend to the CEA_Obj.cea_deck Use name like M10 to represent 10% MMH and 90% N2H4

`rocketcea.blends.` `addMON_Blend`(oxName, cea_deck)

  Add new MON oxidizer Blend to the CEA_Obj.cea_deck MON15 and MON25 are in standard deck, however can make MON20, MON30 etc. “on-the-fly”

`rocketcea.blends.` `addPeroxideBlend`(oxName, cea_deck)

  Add new Peroxide Blend to the CEA_Obj.cea_deck. Use name like Peroxide95 to represent 95% Peroxide and 5% water.

`rocketcea.blends.` `all_in_dict`(nameL, D)

  If all members of nameL are keys in D, then return True, otherwise False.

`rocketcea.blends.` `getFloatTokenFromCards`(cardL, token='t(k)')

  Get the float value of the desired token. (e.g. ‘t(k)’ )

`rocketcea.blends.` `getFuelHfCalPerMole`(name)

  Get the fuel float value of the reference temperature ‘h,cal’

`rocketcea.blends.` `getFuelRefTempDegK`(name)

  Get the fuel float value of the reference temperature ‘t(k)’

`rocketcea.blends.` `getOxHfCalPerMole`(name)

  Get the ox float value of the reference temperature ‘h,cal’

`rocketcea.blends.` `getOxRefTempDegK`(name)

  Get the oxidizer float value of the reference temperature ‘t(k)’

`rocketcea.blends.` `getPropHfCalPerMole`(name)

  Get the propellant float value of the reference temperature ‘h,cal’

`rocketcea.blends.` `getPropRefTempDegK`(name)

  Get the propellant float value of the reference temperature ‘t(k)’

`rocketcea.blends.` `get_propellant_name`(Name=None, PcentL=None)

      #: Return the name of the blend defined by "Name". (string or list of strings)
      #: Might be a defined blend such as MON25 or FLOX80.
      #: Might be in the library such as "MMH" or "CLF5"
      #: Might need to create a long name from percentages Name=["N2H4","NH3"], PcentL=[90,10]
      #:   (if new name, add card to oxCards, fuelCards or propCards)

`rocketcea.blends.` `giveCardMassPercent`(card, fuelPcent)

  set the value of mass percentage (wt%) on propellant card.

`rocketcea.blends.` `giveCardNewHfAndTref`(card, newHfCalPerMole, newTrefDegR)

  Change the values of “h,cal” and “t(k)” on propellant cards.

`rocketcea.blends.` `isAPeroxide_Blend`(name)

  check if name is for a blend of peroxide and water. Peroxide98 and Peroxide90 are in standard deck, however can make Peroxide95 etc. “on-the-fly”

`rocketcea.blends.` `isAnMMH_N2H4_Blend`(name)

  check if name is for a blend of MMH + N2H4 M20 is in standard deck, however can make M10, M30 etc. “on-the-fly”

`rocketcea.blends.` `isFLOX_Ox_Blend`(name)

  check for FLOX oxidizer (e.g. FLOX70 or FLOX82.5) No FLOX blends are in standard deck, however can make FLOX70, FLOX82.5 etc. “on-the-fly”

`rocketcea.blends.` `isMON_Ox_Blend`(name)

  check for MON oxidizer (MON1 to MON40) 48% is theoretical max MON15 and MON25 are in standard deck, however can make MON20, MON30 etc. “on-the-fly”

`rocketcea.blends.` `is_HYD_Ammonia_Blend`(name)

  check if name is for a blend of N2H4 and undissociated Ammonia (UA) HYD40 is in standard deck, however can make HYD30, HYD50 etc. “on-the-fly”

`rocketcea.blends.` `makeCardForNewTemperature`(ceaName='CH4', newTdegR=536.0, CpAve=0.791, MolWt=16.04)

  Create a new propellant card that reflects a change in temperature of the propellant from the original reference temperature on the original card to the new input value of temperature, newTdegR.

  CpAve = BTU/lbm degR

`rocketcea.blends.` `newFuelBlend`(fuelL=None, fuelPcentL=None)

  create fuel blends such as M20 given the fuel names and weight percentages. e.g. fuelL=[“MMH”,”N2H4”], fuelPcentL=[20,80]

`rocketcea.blends.` `newFuelWithNewState`(name, newHfCalPerMole, newTrefDegR)

  Take name as it exists in fuelCards and change Hf and Tref to be the input values newHfCalPerMole and newTrefDegR

`rocketcea.blends.` `newOxBlend`(oxL=None, oxPcentL=None)

  create ox blends such as MON25 given the oxidizer names and weight percentages. e.g. oxL=[“N2O4”,”N2O3”], oxPcentL=[36.67,63.33]

`rocketcea.blends.` `newOxWithNewState`(name, newHfCalPerMole, newTrefDegR)

  Take name as it exists in oxCards and change Hf and Tref to be the input values newHfCalPerMole and newTrefDegR

`rocketcea.blends.` `newPropWithNewState`(cardDict, name, newHfCalPerMole, newTrefDegR)

  Take name as it exists in fuelCards or oxCards and change Hf and Tref to be the input values newHfCalPerMole and newTrefDegR

`rocketcea.blends.` `renamePropIfNewHfOrTrefInName`(cardDict, name)

  Look for “h,cal OR “t(k)”” in name. If present, then create new modified name and create new card in cardDict if necessary

  for example to tweak LH2 run might look like: “LH2 h,cal=-2155.0 t(k)=21.0”

`rocketcea.blends.` `tightenUpEquals`(card)

  make sure there’s no spaces around equal signs.

`rocketcea.blends.` `turnCardsIntoTokenL`(cardL)

  turn the card list into one long list of tokens