diff --git a/py_ballisticcalc/__init__.py b/py_ballisticcalc/__init__.py index 9720a8d..bdd4cad 100644 --- a/py_ballisticcalc/__init__.py +++ b/py_ballisticcalc/__init__.py @@ -205,7 +205,7 @@ def _load_mixed_units(): 'RangeError', ] -# __all__ += ["TableG%s" % n for n in (1, 7, 2, 5, 6, 8, 'I', 'S')] +# __all__ += ["TableG%s" % n for n in (1, 7, 2, 5, 6, 8, 'I', 'S', 'RA4')] __all__ += [ 'TableG1', 'TableG7', @@ -214,5 +214,6 @@ def _load_mixed_units(): 'TableG6', 'TableG8', 'TableGI', - 'TableGS' + 'TableGS', + 'TableRA4', ] diff --git a/py_ballisticcalc/drag_tables.py b/py_ballisticcalc/drag_tables.py index c8787eb..75d065d 100644 --- a/py_ballisticcalc/drag_tables.py +++ b/py_ballisticcalc/drag_tables.py @@ -671,10 +671,100 @@ {'Mach': 4.00, 'CD': 0.9280}, ] +TableRA4: List[DragTablePointDictType] = [ + {'Mach': 0.0, 'CD': 0.2283}, + {'Mach': 0.05, 'CD': 0.2283}, + {'Mach': 0.1, 'CD': 0.2282}, + {'Mach': 0.15, 'CD': 0.2281}, + {'Mach': 0.2, 'CD': 0.2281}, + {'Mach': 0.25, 'CD': 0.2281}, + {'Mach': 0.3, 'CD': 0.2281}, + {'Mach': 0.35, 'CD': 0.2281}, + {'Mach': 0.4, 'CD': 0.2281}, + {'Mach': 0.45, 'CD': 0.2281}, + {'Mach': 0.5, 'CD': 0.2281}, + {'Mach': 0.55, 'CD': 0.2281}, + {'Mach': 0.6, 'CD': 0.2281}, + {'Mach': 0.65, 'CD': 0.2281}, + {'Mach': 0.7, 'CD': 0.2288}, + {'Mach': 0.725, 'CD': 0.2296}, + {'Mach': 0.75, 'CD': 0.2307}, + {'Mach': 0.775, 'CD': 0.232}, + {'Mach': 0.8, 'CD': 0.2334}, + {'Mach': 0.825, 'CD': 0.2359}, + {'Mach': 0.85, 'CD': 0.2389}, + {'Mach': 0.875, 'CD': 0.248}, + {'Mach': 0.9, 'CD': 0.2604}, + {'Mach': 0.925, 'CD': 0.2819}, + {'Mach': 0.95, 'CD': 0.3111}, + {'Mach': 0.975, 'CD': 0.3496}, + {'Mach': 1.0, 'CD': 0.3975}, + {'Mach': 1.025, 'CD': 0.453}, + {'Mach': 1.05, 'CD': 0.501}, + {'Mach': 1.075, 'CD': 0.5476}, + {'Mach': 1.1, 'CD': 0.5719}, + {'Mach': 1.125, 'CD': 0.5895}, + {'Mach': 1.15, 'CD': 0.5943}, + {'Mach': 1.175, 'CD': 0.5933}, + {'Mach': 1.2, 'CD': 0.5881}, + {'Mach': 1.225, 'CD': 0.581}, + {'Mach': 1.25, 'CD': 0.5736}, + {'Mach': 1.275, 'CD': 0.569}, + {'Mach': 1.3, 'CD': 0.5651}, + {'Mach': 1.325, 'CD': 0.5629}, + {'Mach': 1.35, 'CD': 0.5609}, + {'Mach': 1.375, 'CD': 0.5591}, + {'Mach': 1.4, 'CD': 0.5575}, + {'Mach': 1.425, 'CD': 0.5558}, + {'Mach': 1.45, 'CD': 0.5543}, + {'Mach': 1.475, 'CD': 0.5527}, + {'Mach': 1.5, 'CD': 0.5513}, + {'Mach': 1.525, 'CD': 0.5499}, + {'Mach': 1.55, 'CD': 0.5485}, + {'Mach': 1.575, 'CD': 0.5472}, + {'Mach': 1.6, 'CD': 0.546}, + {'Mach': 1.625, 'CD': 0.5449}, + {'Mach': 1.65, 'CD': 0.5438}, + {'Mach': 1.675, 'CD': 0.5428}, + {'Mach': 1.7, 'CD': 0.5419}, + {'Mach': 1.725, 'CD': 0.541}, + {'Mach': 1.75, 'CD': 0.5401}, + {'Mach': 1.775, 'CD': 0.5393}, + {'Mach': 1.8, 'CD': 0.5385}, + {'Mach': 1.825, 'CD': 0.5377}, + {'Mach': 1.85, 'CD': 0.5369}, + {'Mach': 1.875, 'CD': 0.5361}, + {'Mach': 1.9, 'CD': 0.5354}, + {'Mach': 1.925, 'CD': 0.5346}, + {'Mach': 1.95, 'CD': 0.5338}, + {'Mach': 2.0, 'CD': 0.5323}, + {'Mach': 2.1, 'CD': 0.5294}, + {'Mach': 2.2, 'CD': 0.5267}, + {'Mach': 2.3, 'CD': 0.524}, + {'Mach': 2.4, 'CD': 0.5216}, + {'Mach': 2.5, 'CD': 0.5193}, + {'Mach': 2.6, 'CD': 0.517}, + {'Mach': 2.65, 'CD': 0.516}, + {'Mach': 2.7, 'CD': 0.5149}, + {'Mach': 2.8, 'CD': 0.5129}, + {'Mach': 2.9, 'CD': 0.5109}, + {'Mach': 3.0, 'CD': 0.5091}, + {'Mach': 3.1, 'CD': 0.5074}, + {'Mach': 3.2, 'CD': 0.5058}, + {'Mach': 3.3, 'CD': 0.5043}, + {'Mach': 3.4, 'CD': 0.5029}, + {'Mach': 3.5, 'CD': 0.5017}, + {'Mach': 3.6, 'CD': 0.5006}, + {'Mach': 3.7, 'CD': 0.4995}, + {'Mach': 3.8, 'CD': 0.4986}, + {'Mach': 3.9, 'CD': 0.4977}, + {'Mach': 4.0, 'CD': 0.4969}, +] + def get_drag_tables_names(): """Return a list of drag table names""" - return [f"TableG{n}" for n in (1, 7, 2, 5, 6, 8, 'I', 'S')] + return [f"TableG{n}" for n in (1, 7, 2, 5, 6, 8, 'I', 'S', 'RA4')] __all__ = ['get_drag_tables_names', 'DragTablePointDictType'] @@ -686,5 +776,6 @@ def get_drag_tables_names(): 'TableG6', 'TableG8', 'TableGI', - 'TableGS' + 'TableGS', + 'TableRA4' ]