Class RodAndTubeGrain

java.lang.Object
com.github.jbgust.jsrm.application.motor.grain.RodAndTubeGrain
All Implemented Interfaces:
GrainConfigutation

public class RodAndTubeGrain extends Object implements GrainConfigutation
  • Constructor Summary

    Constructors
    Constructor
    Description
    RodAndTubeGrain(double rodDiameter, double tubeOuterDiameter, double tubeInnerDiameter, int numberOfSegment, double length, GrainSurface endSurface)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    double
    getBurningArea(double burnProgression)
    Compute the burning area during burn
    double
    getGrainEndSurface(double burnProgression)
    Compute the end grain surface during burn
    double
    getGrainVolume(double burnProgression)
    Compute the grain volume during burn
    double
    getXincp(int numberOfPoints)
    This method should return the length that will be remove in each computation iteration ex : for hollow cylinder grain this will be : initial web thickness / numberOfPoints
    double
    Return the largest web thickness between rod and tube

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RodAndTubeGrain

      public RodAndTubeGrain(double rodDiameter, double tubeOuterDiameter, double tubeInnerDiameter, int numberOfSegment, double length, GrainSurface endSurface)
  • Method Details

    • getGrainEndSurface

      public double getGrainEndSurface(double burnProgression)
      Description copied from interface: GrainConfigutation
      Compute the end grain surface during burn
      Specified by:
      getGrainEndSurface in interface GrainConfigutation
      Parameters:
      burnProgression - (0 to 1, 0 = before burn start ; 1 = grain completly burn)
      Returns:
      the end grain surface in mm^2
    • getGrainVolume

      public double getGrainVolume(double burnProgression)
      Description copied from interface: GrainConfigutation
      Compute the grain volume during burn
      Specified by:
      getGrainVolume in interface GrainConfigutation
      Parameters:
      burnProgression - (0 to 1, 0 = before burn start ; 1 = grain completly burn)
      Returns:
      the grain volume in mm^3
    • getBurningArea

      public double getBurningArea(double burnProgression)
      Description copied from interface: GrainConfigutation
      Compute the burning area during burn
      Specified by:
      getBurningArea in interface GrainConfigutation
      Parameters:
      burnProgression - (0 to 1, 0 = before burn start ; 1 = grain completly burn)
      Returns:
      the burning area mm^2
    • getXincp

      public double getXincp(int numberOfPoints)
      Description copied from interface: GrainConfigutation
      This method should return the length that will be remove in each computation iteration ex : for hollow cylinder grain this will be : initial web thickness / numberOfPoints
      Specified by:
      getXincp in interface GrainConfigutation
      Parameters:
      numberOfPoints - the number of iteration during the computation
      Returns:
      xincp (cf. SRM_2014.xls)
    • webThickness

      public double webThickness()
      Return the largest web thickness between rod and tube
      Returns:
      the web thickness to find xincp
    • checkConfiguration

      public void checkConfiguration(SolidRocketMotor solidRocketMotor) throws InvalidMotorDesignException
      Specified by:
      checkConfiguration in interface GrainConfigutation
      Throws:
      InvalidMotorDesignException