File: propellant_select.rst

package info (click to toggle)
rocketcea 1.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 39,944 kB
  • sloc: fortran: 23,152; python: 9,235; pascal: 370; makefile: 168; sh: 9
file content (295 lines) | stat: -rw-r--r-- 11,952 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
.. propellant_select

.. _`propellant_select_link`:

Propellant Selection
====================

Before looking at stage performance,
selecting a bipropellant combination for an application can have many considerations.::

    Historical Experience
    Stage/Vehicle Cost
    Propellant Cost
    Production Run Size
    Propellant Handling Requirements
    Propellant Production Sources
    Propellant Toxicity
    Hypergolicity
    Common Propellant Liquidus Range
    Propellant Vapor Pressure or Freezing Limits
    Stage Readiness Requirements
    Launch Hold-Time Limits
    Insulation Requirements
    Insulation Purge Requirements
    Cleanliness Requirements
    Material Compatibility Requirements
    Propellant Line Filling Procedures
    Propellant Line Velocity Limits
    Propellant Storage Life
    Storage Conditioning Requirements
    Propellant Venting
    Technology Readiness
    etc.

The list of candidate propellants can
usually be pruned down to just a few that satisfy the basic application requirements above.

For most applications, the performance goal is usually a combination of::

    Fit Into a Volume
    Weigh Less Than a Limit
    Deliver a Delta Velocity
    Deliver an Acceleration

The best way to evaluate performance differences
between propellants that survive the initial screening
is to have engineering teams generate
detailed designs for each of the propellants and pick the best detailed design.

In practice, that is rarely a viable option due to the cost and schedule of generating detailed designs.

Rough Screening
---------------

The most common tool for simplified performance screening is a chart of propellant
``density impulse`` (Isp * bulk propellant density).

It is very clear that high Isp is good and high density is good so it's natural to assume that
the linear combination of Isp and density must be good also.
Many companies publish charts of density impulse such as this
`TRW Propellant Performance Summary <./_static/TRW_Propellant_Performance_Summary.pdf>`_

The units of density impulse can vary between charts, however the choice of ``specific gravity``
for density and ``sec`` for Isp seems to keep numbers in more recognizable ranges.
Most charts use an X axis of ``Mixture Ratio`` and a combined Y axis of ``Isp`` and ``Density Impulse``.

The same information can also be displayed on a chart like the one below.
Here the X axis is ``Specific Gravity (g/ml)`` and the Y axis is ``Isp``.
On that chart, contours of ``Density Impulse`` can be shown.

The bipropellant Isp curves correspond to CEA equilibrium Isp vacuum at the given chamber pressure
and area ratio. 
Recall that real engine Isp will be derived from a curve between equilibrium and frozen as shown
in :ref:`LOX/LH2 Performance <engine_mr_loxlh2_link>`

.. image:: ./_static/example_scripts/basic_chart.png
    :width: 99%
    
`Click Image to View Fill Size`

The script that created this chart is.
    
.. code-block:: python

    from rocketcea.biprop_utils.rho_isp_plot_obj import RhoIspPlot
    rp = RhoIspPlot()
    rp.add_rho_isp_contours(label_frac_pos=0.4)
    rp.show()



Looking at the chart above, it says that if Isp is most important, 
then only use F2/H2 or perhaps LOX/LH2 if Fluorine is rejected.

If density impulse is most important, then only use N2F4/N2H4 or 
perhaps LOX/RP1 if LOX is the chosen oxidizer.

Stage Density
-------------

In order to help bring some order into the decision making process, it is possible to introduce
a new parameter called **Stage Density**.::

    Stage Density = (Stage Inert Mass) / (Stage Propellant Volume)
    
If we assume that **Stage inert mass only depends on tank volume**.
Then no matter which bipropellant combination we pour into the stage or in whatever mixture ratio we pour it,
all of the stage performance parameters can be calculated.

This allows us to take a reference stage design and evaluate its performance 
when using any propellant combination.

The quality of this assumption will certainly vary between propellant combinations.
The performance of some propellants will be helped and others will be hurt, however,
a review of any results can take those differences into account.

Volume Limit
------------

A common requirement on a stage is to meet a volume limit.
This is the easiest application of the stage density idea.
Using a fixed stage design with a fixed propellant volume, simply pour in that volume of various propellants
and evaluate their performance.

As an example, say that the first stage of the Saturn V was designed to have a maximum propellant volume
of 75500 cubic feet (its actual volume). For every point on the specific gravity vs Isp chart,
lines of constant stage delta velocity and stage gross liftoff weight
(GLOW) can be drawn by assuming that the inert mass of the stage does not change regardless of
the propellant used in the stage.

**Every point on the chart below has the same volume.**

Notice that for much of the chart, that the lines of constant density impulse closely match the lines of
constant delta v.  For these conditions, it looks like LOX/RP1 was a good choice for the Saturn V first stage.

.. image:: ./_static/example_scripts/rho_veh_stg1_vol.png
    :width: 99%
    
`Click Image to View Fill Size`

The script that created this chart is.
    
.. code-block:: python

    from rocketcea.biprop_utils.rho_isp_plot_obj import RhoIspPlot
    from rocketcea.biprop_utils.veh_stage_obj import ReferenceStage

    rp = RhoIspPlot(bipropL=[('LOX','LH2'), ('LOX','RP1')], Pc=1000., eps=16)

    stg_obj = ReferenceStage( WtPayload=1600000.0, volCuInRef=75500.0*1728, WtInertRef=300000.0,
                              Name='Saturn V 1st stg')
                              
    rp.add_rho_isp_contours(label_frac_pos=0.2)
    rp.add_stage_param_contours( stg_obj, set_param='VolPropellant', param_value=75500.0*1728,
                                 label_frac_posD={'GLOW':0.1, 'CubicFt':.4, 'MassFrac':.5},
                                 plot_param_valD={'DeltaV':[8000,10000,12000,14000,16000,18000], 
                                                  'MassFrac':[0.86,0.88,0.9,0.92,0.94,0.95],
                                                  'GLOW':[3e6, 4e6, 5e6, 6e6, 7e6, 8e6, 9e6]    },
                                 plot_paramL=['DeltaV','GLOW'], num_ticks=6)
    rp.show()


Delta V Requirement
-------------------

Another common requirement for a stage is to deliver a certain delta velocity.
the use of stage density in this scenario requires that a function for stage density be derived.
The chart below scales the actual Saturn V stage from an historical chart of stage density.
Another good approach is to estimate stage designs at points of interest on the chart and scale between them.

**Every point on the chart below delivers the same delta velocity.**

What this chart says is that a LOX/LH2 first stage would weigh a bit less than the existing LOX/RP1 stage,
but it would be twice the size.

It is interesting to note here also that the lines of density impulse and those of propellant volume
track closely together in an inverse relationship.


.. image:: ./_static/example_scripts/rho_veh_stg1_dv.png
    :width: 99%

    
`Click Image to View Fill Size`


The script that created this chart is.
    
.. code-block:: python

    from rocketcea.biprop_utils.rho_isp_plot_obj import RhoIspPlot
    from rocketcea.biprop_utils.veh_stage_obj import ReferenceStage

    rp = RhoIspPlot(bipropL=[('LOX','LH2'), ('LOX','RP1')], Pc=1000., eps=16)

    stg_obj = ReferenceStage( WtPayload=1600000.0, volCuInRef=75500.0*1728, WtInertRef=300000.0,
                              Name='Saturn V 1st stg')

    rp.add_rho_isp_contours(label_frac_pos=0.2)
    rp.add_stage_param_contours( stg_obj, set_param='DeltaV', param_value=12000,
                                 label_frac_posD={'GLOW':0.9, 'CubicFt':.4, 'MassFrac':.8},
                                 plot_param_valD={'GLOW':[6e6, 5.5e6, 5e6, 4.5e6],
                                                  'CubicFt':[60000, 70000, 90000, 110000, 13000]},
                                 plot_paramL=['GLOW','CubicFt'], num_ticks=6)
    rp.show()

Mass Limit
----------

A common requirement, especially for upper stages, is to minimize mass for a given delta v.
The volume is not as important since upper stages are the smallest stages already.
Using stage density to evaluate this situation again requires a function for stage density.
The stage density function can be a scaling of a single design point 
or the interpolation between various design points.

The chart below is an evaluation of the LOX/LH2 third stage of the Saturn V.

**Every point on the chart has the same initial mass.**
This means that the lower stages will deliver the same delta v for all points on the chart.

Given this, the chart shows that using LOX/LH2 for the third stage will deliver about 1000 ft/sec
more than a LOX/RP1 or a LOX/CH4 third stage.

Note that in this case of ``mass limit``, density impulse is a poor indicator of the best propellant combination.

.. image:: ./_static/example_scripts/rho_veh_stg3_glow.png
    :width: 99%
    
`Click Image to View Fill Size`

The script that created this chart is.
    
.. code-block:: python

    from rocketcea.biprop_utils.rho_isp_plot_obj import RhoIspPlot
    from rocketcea.biprop_utils.veh_stage_obj import ReferenceStage

    rp = RhoIspPlot(bipropL=[('LOX','LH2'), ('LOX','RP1'), ('LOX','CH4')], Pc=735., eps=27.5)

    stg_obj = ReferenceStage( WtPayload=260000.0, volCuInRef=11180*1728, WtInertRef=29300.0,
                              Name='Saturn V 3rd stg')

    rp.add_rho_isp_contours(label_frac_pos=0.2)
    rp.add_stage_param_contours( stg_obj, set_param='GLOW', param_value=524300.0,
                                 label_frac_posD={ 'CubicFt':.4, 'DeltaV':.5},
                                 plot_param_valD={ 'CubicFt':[4000, 6000, 8000, 10000, 12000],
                                                   'DeltaV' :[7000, 7500, 8000, 8500] },
                                 plot_paramL=['DeltaV','CubicFt'], num_ticks=6)
    rp.show()

Monopropellants
---------------

Screening with monopropellants can also be done using ``stage density``, however, some care must
be taken in the ``stage density function``.

Note also that monopropellants are only a single point on the specific gravity vs Isp curve.

The chart below compares different propellants being used in a divert vehicle.

**Every point on the chart has the same initial mass.**

Note that in this case with a ``mass limit``, but a much lower delta velocity requirement, 
that density impulse is a better indicator of performance than it was for the Saturn stage 3 case, 
but only by luck, not based on system requirements.

.. image:: ./_static/example_scripts/divert_veh.png
    :width: 99%
    
    
`Click Image to View Fill Size`

The script that created this chart is.
    
.. code-block:: python

    from rocketcea.biprop_utils.rho_isp_plot_obj import RhoIspPlot
    from rocketcea.biprop_utils.veh_stage_obj import ReferenceStage

    stg_obj = ReferenceStage(volCuInRef=441.0 , WtInertRef=20.0, WtPayload=30.0,
            Name='N2H4 DACS')
            
    rp = RhoIspPlot(bipropL=[('N2O4','MMH'), ('CLF5','N2H4')], 
                    monopropL=['HYD40', 'HAN315', 'HAN269'])


    rp.add_rho_isp_contours(label_frac_pos=0.2)
    rp.add_stage_param_contours( stg_obj, set_param='GLOW', param_value=64.0,
                                 label_frac_posD={'GLOW':0.9, 'VolPropellant':.4},
                                 plot_param_valD={'DeltaV':[1900, 2100, 2300, 2500, 2700, 2900, 3100, 3300], 
                                                  'MassFrac':[.44, .46, .48, .5, .52],
                                                  'VolPropellant':[350, 375, 400, 425, 450]},
                                 plot_paramL=['DeltaV','VolPropellant'], num_ticks=6)
    rp.show()