RocketPy icon indicating copy to clipboard operation
RocketPy copied to clipboard

ENH: Support for solid motor designs without glued/bonded grains

Open MrGribel opened this issue 2 years ago • 0 comments

Description:

RocketPy currently assumes that the solid rocket motor design follows the BATES grain configuration, where the ends of each individual grain burn simultaneously as the core burns radially. In this configuration, assuming the grains positions remain fixed, the center of mass of the propellant does not change since the center of mass of each grain remains fixed.

However, there are many solid rocket motor designs that do not glue or bond the grains to the outer liner or casing. During flight, these unglued grains are pushed and shift their position towards the nozzle due to inertial forces, causing the center of mass position of the total propellant to change. This behavior can affect the stability of the rocket and is not currently contemplated in RocketPy.

To address this issue, I suggest adding an option inside the SolidMotor class for motor designs without glued/bonded grains. This would involve modeling the movement of unglued grains during flight and updating the center of mass position of the total propellant accordingly.

Additional context

Some research on the matter led me to:

  • There appears to be not much of an agreement between the instructions of the usual commercial APCP motors (from companies such as Aerotech, Cesaroni, Loki) regarding this matter. By reading a sample of different assembly instruction manuals, it seems that that the larger and more recent COTS designs are more likely to include a step to glue the grains to the liner (usually with epoxy or some other strong adhesive) - but many do not, and even mention that it is normal for the grains to "rattle" around inside the casing.
  • By asking in a group of amateurs who work mostly with rocket candy (KNSU/KNSB/KNDX) motors, there appears to not be much of a consensus either. Heard reports of teams which bond the grains with stuff such as RTV silicone, while others consider a 'snug fit' inside the casing to be good enough. In these cases, the motivation for bonding the grains seems more related to avoid spitting out casting tubes/inhibitors during the burn, rather than stability considerations.

Overall, I believe that this is an important new feature to be considered. It will enable RocketPy to provide more accurate simulations for a seemingly wide range of rockets that utilize freestanding grain motor designs.

MrGribel avatar Mar 12 '23 20:03 MrGribel