Class HollowCylinderGrain

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

public class HollowCylinderGrain extends Object implements GrainConfigutation
  • Constructor Details

    • HollowCylinderGrain

      public HollowCylinderGrain(double outerDiameter, double coreDiameter, double segmentLength, int numberOfSegment, GrainSurface outerSurface, GrainSurface endsSurface, GrainSurface coreSurface)
      Create an Hollow cylindrical propellant grain
      Parameters:
      outerDiameter - outer grain diameter in millimeter
      coreDiameter - core grain diameter in millimeter
      segmentLength - the length of a segment gran in millimeter. Example : if using 4 grains of 34mm each, segmentLength is 34.
      numberOfSegment - the number of segment
      outerSurface - outer surface is exposed to combustion or inhibited
      endsSurface - end segments surface are exposed to combustion or inhibited
      coreSurface - core surface is exposed to combustion or inhibited
  • 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)
    • checkConfiguration

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