Sei sulla pagina 1di 15

BALLISTIC LIMIT

PREDICTOR(BLP)
User’s Guide
Introduction: BLP
Thank you for using this GUI.
Ballistic limit predictor(BLP) is a user-friendly interface developed on VBA
to determine the effects of ballistic impacts on composites. For a given set
of input conditions, BLP is able to determine whether the bullet is able to
traverse through the composite or not. It tells the user the residual
velocity, if any, of the outgoing projectile. It also calculates the percentage
penetration of the projectile into the target.
Image of GUI is present on next page.
Ballistic limit is a function of projectile parameters and composite
properties. BLP asks the user the following projectile inputs:
• Initial Velocity of the projectile
• Mass
• Diameter
• Nose shape (flat, sphere or cone)
• Angle of incidence
Composite inputs include
• Size of the composite specimen(in mm)
• Composite thickness
• Layer thickness
• Density of target substance
Based on these input values, it determines the ballistic limit velocity and
percentage penetration.
An input field for sheet name is also present. In this excel sheet, BLP
generates the data of amount of energy absorbed by different
mechanisms during impact in each time interval.
A progress bar is present at the bottom of the GUI which reflects
percentage penetration of projectile into the composite.
In BLP, total contact duration is divided into small time steps of 0.2
microseconds. This can be changed as per requirement by changing the
value of Constant dt in Userform2.
The back-end of BLP is made to calculate the ballistic limit velocities and
projectile penetration for 2D plain-weave E-glass/epoxy material. This can
be changed inside the code to predict it for any material by changing a few
expression as mentioned below.
Different composites have different values of elastic modulus, shear
modulus and Poisson ratios. These are then used to calculate wave
velocities in different directions. To change the value of these constants,
go to InitModuli() sub of InitCompositeConstants module. Here, change
the required values and those will be reflected everywhere.
Stress strain curves at high strain rates vary across composites which are
used to determine energy absorbed by compression in region 1,
Compression in region 2 and tensile deformation. These curves are then
integrated from initial strain (0 in most cases) to final strain in order to get
the energy per unit volume absorbed by the composite. This is multiplied
by the volume to get the desired energy.
These values of stress strain curves can be modified in Energy_2 class
which contains functions to determine the energies absorbed by various
mechanisms.
In Energy_Compression_Area1() public function of Energy_2 class, replace
the integralValue expression by integrated stress strain curve of the
required composite with limits of strain varying from 0 to x, where x is the
final strain. Plugging the value of strain, x in this expression gives us the
energy per unit volume. This energy can also be calculated by plugging in
the stress-strain curve as string in variable fx which is then integrated
using SimpsonIntegral() function of the Integration class. To calculate using
the second method, comment the first block and uncomment the second
and vice-versa for calculation using the first method.
Reference figure is given on the next page.
Similarly, integration of stress-strain curve (or stress-strain curve as a
string) has to be modified in Energy_Compression_Area2() and
Energy_TPY() by compressive and tensile integrated curves respectively.
For delamination and matrix cracking energy constants, changes have to
be made in InitMatrixCrackingAndDelaminationConstants() function of
InitCompositeConstants module.
Shear Plugging strength can be modified using InitShearPluggingStrength()
function of InitCompositeConstants module.
By doing modifications to above functions, ballistic limit velocities for
penetration percentage for various pairs can be calculated.
Modules
InitCompositeConstants
• InitModuli() :- to initialise the values of elastic modulus and shear
modulus of the composite
• CalculatePoissonRatio() :- to calculate values of Poisson ratios in all
directions using young's modulus and shear modulus
• InitMatrixCrackingAndDelaminationConstants() :- initialises the values
of matrix cracking and delamination constants for the composite
• InitShearPluggingStrength() :- initialises the values of Shear Plugging
constants for the composite
Modules
Module1
• progress() :- To update the progress bar in GUI(UserForm3) during
projectile penetration
• initVariablesFromUserInput() :- Sets the user given input in GUI to
variables in Userform2 for computation
• CreateHeaderSheet() :- To create a new Sheet and 1st row in it
containing headings of data to be generated
• sheetExists() :- Check if a sheet already exits by that name
FontChange
• Change() :- Designing the GUI on run-time by changing properties of
controls in UserForm
Class Modules
Energy_2
• Force_compressive() :- returns the compressive force for a given value of
stress
• Force_inertial() :- returns the inertial force for a given value of velocity
• Shear_plugging_energy() :- returns the energy absorbed by shear
plugging
• Delamination_energy()
• Matrix_cracking_energy()
• Energy_Compression_Area1()
• Energy_Compression_Area2()
• Energy_TPY()
Class Modules
Integration
• SimpsonIntegral() :- calculates the energy per unit volume by doing
integration using Simpson’s rule for integration
• FunctionResult() :- evaluates the expression by replacing xi variable in
string with x to be used for integration
UserForm
UserForm2
• Declare all the public variables to be used across modules and classes
• Initialise() :- to initialise variables either in this function or calling
modules; called by UserForm3
• Calculate_Strain_TPSY() :- used to calculate the tensile strain in primary
and secondary yarns; called by Analytical_computation()
• Analytical_computation() :- all the computation takes place in this
function; called by UserForm3. It calculates energies absorbed by
various mechanisms by calling functions of Energy_2 class. This function
also generates the data to be entered in the excel sheets
UserForm
UserForm3
• Used to create the GUI BLP which takes projectile and composite
properties as user inputs and tells how much the projectile has
penetrated into the composite and the residual velocity, if any. This calls
functions of Userform2 for computation.
Thank you.

Potrebbero piacerti anche