IcanData
Class SubsliceItem

java.lang.Object
  extended by IcanData.SubsliceItem

public class SubsliceItem
extends java.lang.Object

Encapsulate the behavior of Ply Substructure Subslicing data. A slice may be subsliced so that any fiber (or particle) selected along the thickness is subsliced into smaller parts. The primary and secondary materials in a hybrid composite are subsliced separately. The number of subslices in the 1(X) and 2(Y) directions are specified separately. The 1(X) direction for fibers is along the fiber so that the breakdown of fiber/interphase/matrix does not change with distance and there is no implicit distance to subslice; however, the user may choose a number of subslices in the 1(X) direction for a distance equal to an input number of diameters. The analysis for subslicing is described further for fiber and particle subslicing.

Since:
1.0;
Version:
1.1.15;
Updated by Louis Handler on Dec 12, 2007, 13:04 EST (1.1.15).
Updated by Louis Handler on Jan 25, 2006, 08:40 EST (1.1.8).
Updated by Louis Handler on Oct 12, 2004, 09:38 EDT (1.0.7).
Updated by Louis Handler on Oct 22, 2002, 08:48 EDT.
Updated by Louis Handler on Oct 21, 2002, 16:13 EDT.
Updated by Louis Handler on Mar 28, 2000, 11:39 EST.
Updated by Louis Handler on Nov 12, 1999, 10:45 EST.
Updated by Louis Handler on Jul 12, 1999, 08:34 EDT.
Updated by Louis Handler on Jun 4, 1999, 09:19 EDT.
Author:
Louis Handler

Field Summary
private  int fiberOrParticle
          Either MaterialProperty.PROPERTY_TYPE_FIBER or MaterialProperty.PROPERTY_TYPE_PARTICLE: used to determine whether the analysis is 2D or 3D, respectively.
static int iFX
          Index of Fiber or Particle variables in X direction.
static int iFY
          Index of Fiber or Particle variables in Y direction.
static int iIX
          Index of Interphase variables in X direction.
static int iIY
          Index of Interphase variables in Y direction.
static int iMX
          Index of Matrix or Binder variables in X direction.
static int iMY
          Index of Matrix or Binder variables in Y direction.
private  int iPS
          0 for Primary, 1 for Secondary.
static int nset
          Number of Fiber or Particle, Interphase, and Matrix or Binder indices.
private  int[] nSubslices
          Breakdown of number of slices in subslicing by type.
private  int nSubsliceX
          Number of slices in 1(X) direction.
private  int nSubsliceY
          Number of slices in 2(Y) direction.
private  int nSubslicez
          Number of subslices for a single slice in the ply.
private  java.lang.String sID
          Slice identification of the form ply:box:slice where the middle number denotes which fiber or particle the slice is at or near.
 
Constructor Summary
SubsliceItem(java.lang.String sID, int iPS, int fiberOrParticle, int[] nSubslices)
          Constructor for Ply (laminate) subslice data.
 
Method Summary
 void changeDataUnits(int oldUnits, int nowUnits)
          Change the data from one system of units to another.
 java.lang.String formatSubsliceItem()
          Obtain printable strings containing Ply (laminate) data.
static java.lang.String getName()
          Get class name.
 int getPS()
          Return an integer indicating whether the subslicing is applicable to Primary or Secondary material data in a hybrid composite.
 java.lang.String getSliceID()
          Return Slice ID containing the slice to subslice in the form ply:box:slice.
 int[] getSubsliceData()
          Return numbers of slices of each type.
 int getTotalSlices()
          Return total number of subslices for a single fiber in the ply.
 int getType()
          Return type indicating fiber or particle in the slice.
static SubsliceItem parseSubsliceItem(java.lang.String thisLine, int offset)
          Parse a line of Subslice control data.
 void setSliceID(java.lang.String sID)
          Set Slice ID containing a positive integer or range of integers, indicating the applicable ply(s).
 void setSubsliceData(int[] pSubslices)
          Set numbers of subslices.
 void setSubsliceData(int iset, int pSubslices)
          Set numbers of slices of specified type.
 java.lang.String toString()
          Convert Ply (laminate) data item to a String for output.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

sID

private java.lang.String sID
Slice identification of the form ply:box:slice where the middle number denotes which fiber or particle the slice is at or near.


iPS

private int iPS
0 for Primary, 1 for Secondary.


fiberOrParticle

private int fiberOrParticle
Either MaterialProperty.PROPERTY_TYPE_FIBER or MaterialProperty.PROPERTY_TYPE_PARTICLE: used to determine whether the analysis is 2D or 3D, respectively.


nSubslicez

private int nSubslicez
Number of subslices for a single slice in the ply. Zero is used to indicate no subslicing. Any number above one may be adjusted so that there are an integral number of slices which are comprised entirely of matrix or binder; an integral number of slices comprised entirely of matrix or binder and interphase; an integral number of slices containing matrix or binder, interphase, and fibers or particles.


nSubsliceX

private int nSubsliceX
Number of slices in 1(X) direction.


nSubsliceY

private int nSubsliceY
Number of slices in 2(Y) direction.


iFX

public static final int iFX
Index of Fiber or Particle variables in X direction.

See Also:
Constant Field Values

iIX

public static final int iIX
Index of Interphase variables in X direction.

See Also:
Constant Field Values

iMX

public static final int iMX
Index of Matrix or Binder variables in X direction.

See Also:
Constant Field Values

iFY

public static final int iFY
Index of Fiber or Particle variables in Y direction.

See Also:
Constant Field Values

iIY

public static final int iIY
Index of Interphase variables in Y direction.

See Also:
Constant Field Values

iMY

public static final int iMY
Index of Matrix or Binder variables in Y direction.

See Also:
Constant Field Values

nset

public static final int nset
Number of Fiber or Particle, Interphase, and Matrix or Binder indices.

See Also:
Constant Field Values

nSubslices

private int[] nSubslices
Breakdown of number of slices in subslicing by type. For Fiber, the definition is:
  1. Number of subslices, in the 1(X) direction,
  2. Number of diameters to slice in the 1(X) direction,
  3. (unused),
  4. Number of subslices, in the 2(Y) direction, of fiber,
  5. Number of subslices, in the 2(Y) direction, of interphase, with matrix but no fiber or particle,
  6. Number of subslices, in the 2(Y) direction, of matrix, with no interphase or fiber or particle.
For Particle, the definition is:
  1. Number of subslices, in the 1(X) direction, of particle,
  2. Number of subslices, in the 1(X) direction, of interphase, with matrix but no particle,
  3. Number of subslices, in the 1(X) direction, of matrix, with no interphase or particle.
  4. Number of subslices, in the 2(Y) direction, of particle,
  5. Number of subslices, in the 2(Y) direction, of interphase, with matrix but no particle,
  6. Number of subslices, in the 2(Y) direction, of matrix, with no interphase or particle.

Constructor Detail

SubsliceItem

public SubsliceItem(java.lang.String sID,
                    int iPS,
                    int fiberOrParticle,
                    int[] nSubslices)
Constructor for Ply (laminate) subslice data.

Parameters:
sID - Slice identification of the form ply:box:slice where the middle number denotes which fiber or particle the slice is at or near.
iPS - 0 for Primary, 1 for Secondary.
fiberOrParticle - Either MaterialProperty.PROPERTY_TYPE_FIBER or MaterialProperty.PROPERTY_TYPE_PARTICLE: used to determine whether the analysis is 2D or 3D, respectively.
nSubslices - Breakdown of number of slices in subslicing by type.
Method Detail

toString

public java.lang.String toString()
Convert Ply (laminate) data item to a String for output.

Overrides:
toString in class java.lang.Object
Returns:
Ply (laminate) output string.

formatSubsliceItem

public java.lang.String formatSubsliceItem()
Obtain printable strings containing Ply (laminate) data.

Returns:
Array of strings containing Ply (laminate) data.

getSliceID

public java.lang.String getSliceID()
Return Slice ID containing the slice to subslice in the form ply:box:slice.

Returns:
Slice ID for the slice to be subsliced. In the form ply:box:slice.

getPS

public int getPS()
Return an integer indicating whether the subslicing is applicable to Primary or Secondary material data in a hybrid composite.

Returns:
0 for Primary; 1 for Secondary.

getType

public int getType()
Return type indicating fiber or particle in the slice.

Returns:
Either MaterialProperty.PROPERTY_TYPE_FIBER or MaterialProperty.PROPERTY_TYPE_PARTICLE: used to determine whether the analysis is 2D or 3D, respectively.

getSubsliceData

public int[] getSubsliceData()
Return numbers of slices of each type.

Returns:
Array containing number of slices of each type.

getTotalSlices

public int getTotalSlices()
Return total number of subslices for a single fiber in the ply.

Returns:
Total number of subslices for a single fiber in the ply.

setSliceID

public void setSliceID(java.lang.String sID)
Set Slice ID containing a positive integer or range of integers, indicating the applicable ply(s).

Parameters:
sID - Slice ID range from which plys may be selected. The Ply ID contains a positive integer or range of integers, separated by a dash (-), indicating the applicable ply(s). The range may be of the form: n1[-n2].

setSubsliceData

public void setSubsliceData(int[] pSubslices)
Set numbers of subslices.

Parameters:
pSubslices - Values to which items are set.

setSubsliceData

public void setSubsliceData(int iset,
                            int pSubslices)
Set numbers of slices of specified type.

Parameters:
iset - Subscript of type of slice to set. The values may be:
   No.   Mnemonic   Type of subslice
   ---   --------   ------------------------------------
   0     iFX        Fiber or particle in the X direction
   1     iIX        Interphase in the X direction
   2     iMX        Matrix in the X direction
   3     iFY        Fiber or particle in the Y direction
   4     iIY        Interphase in the Y direction
   5     iMY        Matrix in the Y direction
pSubslices - Value to which item is set.

parseSubsliceItem

public static SubsliceItem parseSubsliceItem(java.lang.String thisLine,
                                             int offset)
Parse a line of Subslice control data. Format is:
'SUBSLICE; sID; iPS; fiberOrParticle; nFX; nIX; nMX; nFY; nIY; nMY;'
where:

Parameters:
thisLine - The line to parse.
offset - The offset to a blank or semi-colon or other character indicating the end of the first field and the start of the second field.
Returns:
Ply data; null if error.

getName

public static java.lang.String getName()
Get class name.

Returns:
Class name.

changeDataUnits

public void changeDataUnits(int oldUnits,
                            int nowUnits)
Change the data from one system of units to another.

Parameters:
oldUnits - Previous system of units.
nowUnits - Current system of units.