|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object IcanCompute.Impact
public class Impact
Computes the effects of the impact of a spherical projectile on a laminate. Implements: "Approximate Micromechanics Treatise of Composite Impact". Also see my analysis.
Field Summary | |
---|---|
private static ComputeIcanLayer[] |
cil
A reference to an array of Layer/Slice/Ply data is set/used. |
private static boolean |
debug
Reset to true to get extra print for debugging when executing as an application using main method below. |
private static double |
DTOR
The conversion factor to convert degrees to radians. |
private static double |
Ec33
Transverse modulus. |
private static double |
epsZero
Small number used to test the relative difference between two numbers. |
private static java.lang.String |
eventContact
Named event for Contact output at time = 0 and z = -Rp. |
private static java.lang.String |
eventCrushing
Named event for Crushing output at end of crushing because projectile either stops or starts pushing out material as a plug. |
private static java.lang.String |
eventDelamination
Named event for Suspected Delamination output. |
private static java.lang.String |
eventDelaminationBS
Named event for Delamination based on bending strength output. |
private static java.lang.String |
eventDelaminationIS
Named event for Delamination based on interply strength output. |
private static java.lang.String |
eventFiberBreak
Named event for Longitudinal fiber breakage based on bending strength output. |
private static java.lang.String |
eventHeader
Header for event data: event, time, location, force(s), energy, r, x. |
private static java.lang.String |
eventIndentation
Named event for Indentation output at z = 0. |
private static java.lang.String |
eventNothing
Named event for other output. |
private static java.lang.String |
eventSliding
Named event for Sliding output at end of projectile pushing out material as a plug. |
private static java.lang.String |
eventSlidingStart
Named event for Sliding Start output at place where Fc = Fp, material breaks, and projectile starts pushing out material as a plug. |
private static java.lang.String |
eventSpallation
Named event for Spallation output. |
private static java.lang.String |
eventTranSplit
Named event for Transverse splitting based on interply strength output. |
private static java.lang.String |
forceSpacer
Spacer for no pushing force or no crushing force. |
private static double |
Gcxy
Shear modulus. |
private static double |
Gczx
Shear modulus. |
private static double |
Gczy
Shear modulus. |
private static double |
HALF
The number one half. |
private static int |
iE33
E33 = Normal Moduli. |
private static int |
iS11F
Sc11F = Flexural strength. |
private static int |
iS22F
Sc22F = Flexural strength. |
private static int |
iS33C
Sc33C = Compressive strength. |
private static int |
iS33T
Sc33T = Tensile strength. |
private static int |
iSRZF
ScrzsF = Flexural strength. |
private static int |
iSRZS
Scrzs = Shear strength. |
private static int |
iSZX
Sczx = Shear strength. |
private static int |
iSZY
Sczy = Shear strength. |
private static int |
iVRZ
nuvRZ = Poisson's ratio. |
private static int |
kEnergy
Subscript for Impact output data: Energy. |
private static int |
kForce
Subscript for Impact output data: Force. |
private static int |
kLocz
Subscript for Impact output data: Location (z). |
private static int |
kSpeed
Subscript for Impact output data: Velocity. |
private static int |
kStress
Subscript for Impact output data: Stress (Z). |
private static int |
kTime
Subscript for Impact output data: Time. |
private static int |
lineCount
Number of lines printed on the page so far. |
private static int |
MAX_ERRORS_PRINTED
Maximum number of errors displayed of a single type. |
private static int |
maxLineCount
Maximum number of lines per page. |
private static int |
nImpactVariables
Number of subscripts for Impact output data. |
private static int |
nLayr
Number of layers/slices/plies. |
private static int |
nPrintErrorStrength
Number of errors computing strength. |
private static double |
nuvM
Poisson's ratio. |
private static double |
ONE
The number one. |
private static double |
PI
The number pi. |
private static boolean |
printFull
Full or summary print switch. |
private static double |
rhoc
Composite average material density. |
private static double |
Sc11F
Flexural strength. |
private static double |
Sc22F
Flexural strength. |
private static double |
Sc33C
Shear strength. |
private static double |
Sc33T
Tensile strength. |
private static double |
Scrzs
Shear strength. |
private static double |
ScrzsF
Flexural strength. |
private static double |
Sczx
Shear strength. |
private static double |
Sczy
Shear strength. |
private static double |
thick
Composite thickness. |
private static double |
TWO
The number two. |
private static double[] |
zEdge
Array of z locations for edges of Layer/Slice/Ply. |
Constructor Summary | |
---|---|
Impact()
|
Method Summary | |
---|---|
private static void |
bumpLines()
Increment line count and, if necessary, add form-feed. |
private static void |
bumpLines(int nl)
Increment line count and, if necessary, add form-feed. |
private static void |
bumpLinesWithHeader()
Increment line count and, if necessary, add form-feed and header. |
private static double |
computeBreakingForce(double z,
double Dp)
Compute breaking force using equation Fzp = PI * Dp * (thickness - z) * SRZS. |
private static double |
computeCrushingForce(double z,
double Rp)
Compute crushing force using equation Fz = Azc * S33C; where Azc is the cross-sectional area to be crushed. |
static java.lang.String |
getName()
Get class name. |
private static double |
getStoppingPoint(double dz,
double zLst,
double Fz,
double FzLst,
double Ez,
double EzLst)
Get stopping point where the velocity and residual energy goes to zero, assuming that the force, Fz, is linear with z. |
static double |
getVar(int iwh,
int iLayr)
Get Strength variable. |
static double[][] |
impact(double rhoP,
double Dp,
double frictionC,
double vo,
ComputeIcanLayer[] inCil,
double inRhoc,
double inThick,
double inGczx,
double inGczy,
double inGcxy,
double inEc33,
double[] outSlidingZ,
boolean inPrintFull)
Approximate Micromechanics equations for Composite Impact. |
static double[][] |
impact(double rhoP,
double Dp,
double frictionC,
double vo,
double[] outSlidingZ)
Approximate Micromechanics equations for Composite Impact. |
static void |
main(java.lang.String[] args)
Main for testing. |
static void |
reset()
Reinitialize first time switch so it prints a limited number of equivalent error messages. |
static void |
setVar(double inRhoc,
double inThick,
double inGczx,
double inGczy,
double inGcxy,
double inSczx,
double inSczy,
double inSc33C,
double inEc33,
double inSc33T,
double inSc22F,
double inSc11F,
double inScrzs,
double inScrzsF,
double innuvM)
Set variables for Impact computation. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static ComputeIcanLayer[] cil
private static double[] zEdge
private static int nLayr
private static double rhoc
private static double thick
private static double Gczx
private static double Gczy
private static double Gcxy
private static double Sczx
private static double Sczy
private static double Sc33C
private static double Ec33
private static double Sc33T
private static double Sc22F
private static double Sc11F
private static double Scrzs
private static double ScrzsF
private static double nuvM
private static boolean printFull
private static boolean debug
private static final int iSZX
private static final int iSZY
private static final int iS33T
private static final int iS33C
private static final int iS22F
private static final int iS11F
private static final int iSRZS
private static final int iSRZF
private static final int iE33
private static final int iVRZ
private static final double ONE
private static final double TWO
private static final double HALF
private static final double PI
private static final double DTOR
private static final double epsZero
private static final java.lang.String eventHeader
private static final int maxLineCount
private static int lineCount
private static final java.lang.String eventContact
private static final java.lang.String eventIndentation
private static final java.lang.String eventCrushing
private static final java.lang.String eventSlidingStart
private static final java.lang.String eventSliding
private static final java.lang.String eventNothing
private static final java.lang.String eventDelamination
private static final java.lang.String eventDelaminationIS
private static final java.lang.String eventDelaminationBS
private static final java.lang.String eventSpallation
private static final java.lang.String eventTranSplit
private static final java.lang.String eventFiberBreak
private static final java.lang.String forceSpacer
private static final int kTime
private static final int kLocz
private static final int kForce
private static final int kEnergy
private static final int kSpeed
private static final int kStress
private static final int nImpactVariables
private static int nPrintErrorStrength
MAX_ERRORS_PRINTED
private static final int MAX_ERRORS_PRINTED
Constructor Detail |
---|
public Impact()
Method Detail |
---|
public static double[][] impact(double rhoP, double Dp, double frictionC, double vo, ComputeIcanLayer[] inCil, double inRhoc, double inThick, double inGczx, double inGczy, double inGcxy, double inEc33, double[] outSlidingZ, boolean inPrintFull) throws java.lang.IllegalArgumentException
rhoP
- Projectile density.Dp
- Projectile diameter.frictionC
- Coefficient of sliding friction of cylindrical plug and hole.vo
- Projectile initial velocity.inCil
- A reference to an array of Layer/Slice/Ply ComputeIcanLayer data.inRhoc
- Composite material density.inThick
- Composite thickness.inGczx
- Shear modulus.inGczy
- Shear modulus.inGcxy
- Shear modulus.inEc33
- Transverse modulus.inPrintFull
- True, if print intermediate data as well as summary data;
false, if print summary data only.
java.lang.IllegalArgumentException
- Invalid input data.public static double[][] impact(double rhoP, double Dp, double frictionC, double vo, double[] outSlidingZ) throws java.lang.IllegalArgumentException
rhoP
- Projectile density.Dp
- Projectile diameter.frictionC
- Coefficient of sliding friction of cylindrical plug and hole.vo
- Projectile initial velocity.
java.lang.IllegalArgumentException
- Invalid input data.private static void bumpLinesWithHeader()
private static void bumpLines()
private static void bumpLines(int nl)
nl
- number of lines to add for this output.public static void setVar(double inRhoc, double inThick, double inGczx, double inGczy, double inGcxy, double inSczx, double inSczy, double inSc33C, double inEc33, double inSc33T, double inSc22F, double inSc11F, double inScrzs, double inScrzsF, double innuvM)
inRhoc
- Composite material density.inThick
- Composite thickness.inGczx
- Shear modulus.inGczy
- Shear modulus.inGcxy
- Shear modulus.inSczx
- Shear strength.inSczy
- Shear strength.inSc33C
- Shear strength.inEc33
- Transverse modulus.inSc33T
- Tensile strength.inSc22F
- Flexural strength.inSc11F
- Flexural strength.inScrzs
- Shear strength.inScrzsF
- Flexural strength.innuvM
- Poisson's ratio.private static double computeCrushingForce(double z, double Rp)
z
- Location in the Z direction of the center of the
projectile from the outer surface of the first layer
of the laminate.Rp
- Projectile radius.
private static double computeBreakingForce(double z, double Dp)
z
- Location in the Z direction of the center of the
projectile from the outer surface of the first layer
of the laminate.Dp
- Projectile diameter.
private static double getStoppingPoint(double dz, double zLst, double Fz, double FzLst, double Ez, double EzLst)
dz
- Increment between z and zLst. The z value is
(zLst + dz) at which Fz and Ez are computed.
Ez is computed to be less than or equal to zero.zLst
- Previous z value.Fz
- Force at z.FzLst
- Force at zLst.Ez
- Residual energy at z. This value is computed to be
less than or equal to zero.EzLst
- Residual energy at zLst.
public static double getVar(int iwh, int iLayr)
iwh
- Strength value selected.iLayr
- Layer/Slice/Ply subscript.
public static void main(java.lang.String[] args)
args
- Command line arguments not used.public static void reset()
public static java.lang.String getName()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |