physics.basic_orbital_capture¶
These two functions will return the radii of impact for a target object of mass M and radius R as well as it’s effective cross sectional area sigma. That is to say any projectile with velocity v passing within sigma, will impact the target object with mass M. The derivation of which is given at the bottom of this file.
The derivation shows that a projectile does not need to aim directly at the target body in order to hit it, as R_capture>R_target. Astronomers refer to the effective cross section for capture as sigma=π*R_capture**2.
This algorithm does not account for an N-body problem.
Functions¶
|
Input Param: |
|
Input Params: |
Module Contents¶
- physics.basic_orbital_capture.capture_area(capture_radius: float) float ¶
Input Param:¶
capture_radius: The radius of orbital capture and impact for a central body of mass M and a projectile moving towards it with velocity v
SI units: meters | m
Returns:¶
>>> capture_area(17209590691) 9.304455331329126e+20 >>> capture_area(-1) Traceback (most recent call last): ... ValueError: Cannot have a capture radius less than 0
Returned SI units:¶
meters*meters | m**2
- physics.basic_orbital_capture.capture_radii(target_body_radius: float, target_body_mass: float, projectile_velocity: float) float ¶
Input Params:¶
target_body_radius: Radius of the central body SI units: meters | m target_body_mass: Mass of the central body SI units: kilograms | kg projectile_velocity: Velocity of object moving toward central body
SI units: meters/second | m/s
Returns:¶
>>> capture_radii(6.957e8, 1.99e30, 25000.0) 17209590691.0 >>> capture_radii(-6.957e8, 1.99e30, 25000.0) Traceback (most recent call last): ... ValueError: Radius cannot be less than 0 >>> capture_radii(6.957e8, -1.99e30, 25000.0) Traceback (most recent call last): ... ValueError: Mass cannot be less than 0 >>> capture_radii(6.957e8, 1.99e30, c+1) Traceback (most recent call last): ... ValueError: Cannot go beyond speed of light
Returned SI units:¶
meters | m