OSULaminates Help
Index
The following is an index to OSULaminates help information.
Click any topic to read that information. You can use the back arrow key
to return to previous location after following a link.
Introduction
OSULaminates does laminated plate theory analysis.
You create a laminate using graphic editing tools.
For each ply you can either choose ply properties or you can enter a fiber/matrix
pair along with a fiber volume fraction. If you enter a fiber and a matrix,
OSULaminates will use the Hashin micromechanics model
(concentric cylinders assemblage) to calculate the ply properties.
You can save laminates for reloading and reanalysis later.
OSULaminates comes with many predefined materials (plies, fibers, and matrices),
but you can edit those materials; you can change the properties,
add you own materials, or delete materials, as desired.
Once a laminate is done you can analyze the structure
for stiffness matrices, compliance matrices, or all possible engineering properties.
Additionally, you can apply any combination of stress or strain state
along with thermal and moisture change and evaluate the stresses and
strains on the full laminate and within each ply of the laminate.
After stresses and strains are calculated, you can plot the
stresses and strains within the laminate. To try out optimization methods, any
number of plies can be designed as having a variable angle. For such laminates, you can plot selected
engineering properties as a function of that variable angle.
OSULaminates finds mechanical properties, thermal expansion properties,
and moisture expansion properties. It does not attempt any failure predictions because,
in the author's opinion, laminate failure models based on stresses and strains
from laminate plate theory should not be used to predict failure.
They are numerous examples where they give poor predictions and some where they
make design predictions that are contrary to the optimal design.
A potential alternative failure analysis is to use fracture mechanics, but unfortunately,
fracture mechanics methods typically require custom analysis for each failure mode
and therefore cannot be part of generic laminate software.
| index |
Creating the Laminate
Basic Editing
You can create a laminate with any number of plies and each ply
can have any material, angle, and thickness. The basic process is
- Decide if you want a symmetric of unsymmetric laminate and choose
the "Symmetric" menu command to get it checked for a symmetric laminate
or unchecked for an unsymmetric laminate. For symmetric laminates,
you enter only the plies in the top half of the laminate (the bottom plies are
repeated in reverse order). For an unsymmetric laminate, you enter all the plies.
The symbol at the bottom of a
laminate indicates a symmetric or unsymmetric laminate
or
- Decide the total number of plies in the laminate and use
the "Set Number of Plies..." menu command to change it if needed.
Enter half the total number for symmetric laminates or the total
number of plies for unsymmetric laminates.
- Select material type for plies. Here you have two options:
- Ply Mode: To use this mode select any ply material from the "Plies" menu.
Each of these materials specify the full in-plane properties for
that ply material (see Customizing Material Properties for
methods to edit those ply properties and to add more ply materials to the menu).
- Fiber/Matrix Mode: To use this mode select a fiber material
from the top part of the "Phases" menu and a matrix material
from the bottom part of the "Phases" menu. The laminate analysis
will use those fiber and matrix properties and the specified fiber volume
fraction and calculate the in-plane ply properties using the most
advanced methods available (Hashin's consistent concentric cylinders model, see Z. Hashin and B. W. Rosen, "The Elastic Moduli of
Fiber-Reinforced Materials," Journal of Applied Mechanics,
31, 223-232 (1964), for mechanical properties and
Levin's method, see V. M. Levin, "On the Coefficients of Thermal
Expansion in Heterogeneous Materials," Mechanics of Solids,
2, 58-61 (1967), for thermal and moisture expansion coefficients)
(see Customizing Material Properties for methods
to edit fiber and matrix properties and to add more fibers and matrices to the menu).
- Select ply fiber angle by one of the methods below. The angle you choose will remain in effect until you change it.
- You can select angle (in degrees) by clicking on an angle icon in the tool bar:

- To use an angle not provided in an angle icon,
click on the "?" icon in that tool bar.
Clicking the "?" icon will let you enter any angle.
Angles are always in degrees.
- The three φ angle tools let you introduce plies with unknown or variable angles.

Whenever you select a command to analyze the laminate,
you will be asked to provide the value of φ to use for the
analysis and the designated plies will be set to +φ or -φ or a
function of φ (f(φ)) as assigned. More importantly, you can plot
any engineering property of the laminate as a function of φ from 0 to 90 degrees
to see how ply angle influences those properties.
When entering a function of φ (f(φ)) use "x" instead of "φ" in the function (for simplicity in typing). The function can use operators +, -, *, /, ^, and % along with functions cos, sin, tan, acos, asin, atan, sqrt, log, sign, abs, rand, log10, sinh, cosh, tanh (sign(arg) is 1 or zero depending on if the arg is positive or negative). When you use a function when plotting
engineering properties the φ from 0 to 90 degrees will be input to the function to find the angle used in the calculations.
- Select the lamina thickness using the "Set Lamina Thickness..." menu command. The thickness will remain in effect until you change it.
- If you are using the Fiber/Matrix mode, also choose the fiber volume fraction using the "Set Lamina Vf..." menu command. The volume fraction will remain in effect until you change it.
- Finally, click on plies to set them to have the currently preset properties.
To create plies with a new material, angle, thickness, or fiber volume fraction,
change those settings (as described above) and then click on new plies.
(Hint: to just change the angle to a value not available in a icon,
right click (or control click on Macs) on any ply. You can provide the
new angle to be used for that and subsequent plies). If you click on a ply
that already has a material, it will be replaced with the current material.
To make changes to several plies at once or to move plies around,
see the next section on selecting and editing plies.
Selecting and Editing Plies

Click the "Arrow" icon (see above) in the tool bar to
enter the "Selection" mode. In this mode you can select plies
by clicking on them and they will become hilighted. To select
multiple plies, hold the shift key down and click on more plies.
Use the "Select All" menu command to select all plies.
Once some plies are selected, you can:
- Change all selected plies to a new material by selecting a material
from the "Plies" or "Phases" menus.
- Change angle, thickness, or fiber volume fraction of all selected
plies by using the corresponding Set command in the "Settings" menu.
- Cut, copy, paste, and delete plies using the commands in the
"Edit" menu. Once you cut or copy some plies, the three options to paste them back are to:
- Paste Over: Delete all currently selected plies and insert the most recently cut or copied plies.
- Paste Above: Paste the most recently cut or copied plies above the first currently selected ply.
- Paste Below: Paste the most recently cut or copied plies below the last currently selected ply.
Note that you have to be in Selection mode ("Arrow" tool selected) to use the cut, copy, paste, and delete commands.
Saving Laminates
You can save any laminate you create using the "Save" or "Save As..." commands. These laminates can then be reopened using the "Open..." command the next time you run OSULaminates. Laminates should be saved with the extension ".lam
".
A saved laminate will be self-contained file including all material information on its plies. If you edit the material properties in the "Plies" and "Phases" menus and delete or change materials that are in a saved laminate, those materials will be recovered when you reopen the laminate. In other words, when you reopen a laminate, it will look for all materials needed for the laminate in the "Plies" and "Phases" menus and respond as follows if anything has changed:
- If a material in the laminate is not in the current material menus (by exact name match),
OSULaminates will compare to properties of all materials:
- If a material with identical properties is found, the laminate will be converted to using the name currently in the material menus rather then the name in the saved laminate.
- If no material with matching properties is found, a new material will be added to the end of the current materials (a new ply, fiber, or matrix).
- If a material in a laminate matches the name of a current material,
but the properties do not match, the user is queried with two options:
- Change the laminate to now use the properties in the current material menus.
- Create a new material (by appending numbers to the name), add it to the material menus, and use that for the opened laminate (i.e., use the properties that were saved with the laminate).
| index |
Analyzing the Laminate
Once the Laminate is created, you analyze it using the commands in the "Calculations" menu. The calculations output will appear in the bottom half of the window. You can copy and paste text from the window or export the entire text to an RTF
file using the "Export Calculations..." menu command (note that RTF
stands for rich text format and can be opened by MS Word or other word-processing software and preserve the text styles in the window). To clear the text results at any time, use the "Clear Calculations" menu command.
Laminate Properties
The analysis commands are:
- Stiffness Matrices: Calculate the stiffness matrices from laminated plate theory as well as the vectors for finding in-plane and flex stresses due to thermal and moisture expansion. When output as unnormalized matrices, the stiffness equations give force resultant (N) and moment (M):
N = [A]ε + [B]κ + [Φ]dT + [Φm]c
M = [C]ε + [D]κ + [Ω]dT + [Ωm]c
in terms of in-plane strain (ε), plate curvature (κ), temperature change (dT), and moisture change (c),
where [A]
, [B]
, [C]
, and [D]
are the standard laminated plate theory matrices and [Φ], [Φm], [Ω], and [Ωm] vectors define the thermal and moisture expansion properties of the laminate.
When output as normalized matrices, the stiffness equations give in-plane stress (σ) and flex stress (σf):
σ = [A*]ε + [B*]εf + [Φ*]dT + [Φm*]c
σf = [C*]ε + [D*]εf + [Ω*]dT + [Ωm*]c
in terms of in-plane strain (ε), flex strain (εf), temperature change (dT), and moisture change (c).
- Compliance Matrices: Calculate the compliance matrices from laminated plate theory as well as the vectors for finding in-plane and flex strains due to thermal and moisture expansion. When output as unnormalized matrices, the compliance equations give in-plane strain (ε) and plate curvature (κ):
ε = [a]N + [b]M + [φ]dT + [φm]c
κ = [c]N + [d]M + [ω]dT + [ωm]c
in terms of force resultant (N), moment (M), temperature change (dT), and moisture change (c),
where [a]
, [b]
, [c]
, and [d]
are the standard laminated plate theory matrices and [φ], [φm], [ω], and [ωm] vectors define the thermal and moisture expansion properties of the laminate.
When output as normalized matrices, the compliance equations give in-plane strain (ε) and flex strain (εf):
ε = [a*]σ + [b*]σf + [φ*]dT + [φm*]c
εf = [c*]σ + [d*]σf + [ω*]dT + [ωm*]c
in terms of in-plane stress (σ), flex stress (σf), temperature change (dT), and moisture change (c).
- Engineering Properties: Calculate all in-plane and flexural moduli (E11, E22, G12, E11f, E22f, G12f), in-plane and flexural thermal expansions coefficients (α1, α2, α12, α1f, α2f, α12f), in-plane and flexural moisture expansion coefficients (β1, β2, β12, β1f, β2f, β12f), and all Poisson ratios and influence coefficients for the laminate. Besides the usual Poisson ratios for in-plane and flexural deformation of homogeneous materials (ν12, ν21, ν1f,2f, ν2f,1f), composites may have influence coefficients that couple in-plane normal strain to in-plane shear strain (η16, η61, η26, η62), couple normal flex strain to flex shear strain (η1f,6f, η6f,1f, η2f,6f, η6f,2f), couple flex strain to in-plane strain (ν1,1f, ν2,2f, η6,6f, ν1,2f, ν2,1f, η1,6f, η6,1f, η2,6f, η6,2f), and couple in-plane strain to flex strain (ν1f,1, ν2f,2, η6f,6, ν1f,2, ν2f,1, η1f,6, η6f,1, η2f,6, η6f,2). All these Poisson ratios and influence coefficients are calculated when appropriate. For symmetric laminates, many are zero and will therefore not be listed.
Different textbooks define Poisson ratios and influence coefficients differently. Here the Poisson ratios and influence coefficients are defined as
νi,j = -εj/εi and ηi,j = εj/εi
where i,j = (1,2,6,1f,2f,6f) and 6 and 6f are shear strains and "f" indicates a flexural strain. These equations mean to find the strain induced in the j direction when loaded only by a strain in the i direction. Not all combinations of i and j are possible. The Poisson ratios couple only normal strains (i.e., both i and j are 1, 2, 1f, or 2f). The influence coefficients are when either i or j correspond to a shear strain (i.e. 6 or 6f).
- Complete Analysis: Do all the above calculations (stiffness matrices, compliance matrices, and engineering properties) at once.
The results will appear in the text results. The current type of matrices and the units for all terms will be included in the output. You can use the Preferences to select the desired output units and to select if you prefer normalized or unnormalized matrices.
Note that many terms and Engineering properties are zero for symmetric laminates. When analyzing symmetric laminates, only the non-zero terms will be output.
Specific Laminate Stress/Strain State
You can calculate the result of any specific applied combination of stresses and strains on the global stresses and strains in the laminate as well as on the stresses and strains in each ply. To do this calculation, choose the "Specific Stress State..." command. You will get a dialog box with the following options:
σ1
, σ2
, σ12
, ε1
, ε2
, and ε12
: These quantities refer to in-plane stresses (σ
) and strains (ε
) where 1 and 2 refer to laminate coordinates (the 1 direction is parallel to fibers in plies with 0 degree fiber angle). For each component you can apply a stress or a strain (but not both). Choose the one you want to apply with the radio buttons and enter the values in the text field. Enter stress in the units specified in the dialog box; enter strain in percent strain.
σ1f
, σ2f
, σ12f
, ε1f
, ε2f
, and ε12f
: These quantities refer flexural stresses (σ
) and strains (ε
) in the laminate coordinates. Select values for these terms the same way in-plane values are selected.
dT
: Enter a constant temperature difference between the laminate temperature and the stress-free temperature (use the specified units). This option lets you calculate thermal expansion of the laminate, thermally-induced curvature of the laminate (if unsymmetric), and residual thermal stresses in the plies.
dc
: Enter moisture content change from stress-free moisture conditions in the laminate (as weight fraction change). This option lets you calculate moisture expansion of the laminate, moisture-induced curvature of the laminate (if unsymmetric), and residual moisture stresses in the plies.
- Ply Strains and Ply Stresses: Check these boxes to include a list of stresses and/or strains in each ply in the laminate in the output calculations. The table of stresses and strain will output them in the laminate axis system (1 and 2) and in the ply axis system (
x
and y
). In the ply-axis system, the fiber direction is in the x
direction while the y
direction is transverse to the plies. For symmetric laminates, the table will include results for both the top half and the bottom half of the laminate. When the applied stress or strain induces curvature, these two halves will have different ply stresses and strains.
Also decimal numbers entered above must use the US method of points (.) for the decimal rather than a comma.
After entering all options, click OK to calculate the stress state. After a specific stress state calculation is done, you can plot the ply stresses and strains.
| index |
Plotting Ply Stresses and Strains
After any specific stress state is analyzed, you can plot the ply stresses and strains by choosing the "Plot Ply Stress State..." command. After choosing the command, select any number of quantities to plot from the dialog box:
- Laminate Stresses (σ): ply stresses in the laminate coordinates. Here 1 direction is the fiber direction in 0 degree plies.
- Ply Stresses (σ): ply stresses rotated to the fiber direction in each ply. Here
x
direction is the fiber direction and y
is transverse to the fibers.
- Laminate Strains (ε): ply strains in the laminate coordinates. Here 1 direction is the fiber direction in 0 degree plies.
- Ply Strains (ε): ply strains rotated to the fiber direction in each ply. Here
x
direction is the fiber direction and y
is transverse to the fibers.
After clicking OK, all selected quantities will be output in a one or two plot windows (if both stress and strains are selected, they will be output in separate windows). The vertical y
axis in each plot will be position in the laminate. The horizontal x
axis will be the magnitude of the stress or strain. Plots in laminate coordinates will be solid lines while plots of ply stresses or strains will be dashed lines. Component 1 or x
will be black, 2 or y
will be blue, and shear 12 or xy
will be red. The dotted horizontal lines will indicate breaks between groups of plies with different angles. A dotted green line will be drawn at zero stress or strain.
Once the plot has done, you have many options to change it or save it:
- Click on any plot line to select it (indicated by circles). You can cut, copy, paste, or delete the line. Once cut or copied, you can paste into any other OSULaminates plot window or paste into any text-based software. When pasted into text-based software, the result will be a table of the plot data. When posted into spreadsheet software, the data will be in separate cells and you can replot there if desired.
- You can also click and drag any plot to any other plot window or to other software. When dragged to another plot window, the plot will appear in that window too. When dragged to other software, if that software accepts dropped text, it will be the same as copying and then pasting in the other software.
- Double click any plot line to open the inspector window where you can change many plot features (e.g., color, line thickness, and name). Note that the name of the plot also confirms what quantity is plotted by that data.
- Double click either axis label to change its text or font features in the inspector window.
- Double click either axis numbers to change the plot range or the font features for those labels.
- You can use icons in the tool bar (or commands in the "Edit" menu) to add plot annotations with text labels or shapes. Double click any annotation to edit it in the inspector. Click and drag an annotation to reposition it (click corners for shapes that can reorient, such as arrows).
- Choose "Save Plot Graphics..." menu command to save to
.ppltj
file that can be opened by "PublishPlot" on Mac or "PublishPlotJ."
- The "Export..." submenu lets you export as
jpg
, bmp
, or png
file (as specified by the extension you use in the file name or as png
if no extension is provided) or as pdf
(as specified by using separate menu command). The text option exports a tab-delimited text file of all plot data in the plot. This file can be opened in spread-sheet software.
- Choose "Import..." to import a tab-delimited set of data and plot the results. You can import an exported file to recover the previous plot.
- Choose" Close..." to close the plot window.
- Choose" Print..." to print the plot.
| index |
Plotting Engineering Properties
To try simple design calculations, you can plot the engineering properties as a function of one variable ply angle. The process is
- Create a laminate with any number of plies being assigned to the angle +φ, -φ or f(φ) (any function of φ) using the φ angle tools.
- Choose the "Plot Engineering Properties..." menu command. You will get a dialog box listing all possible engineering properties (for symmetric laminates, the coupling terms that are always zero will not be listed). Check all the ones you want to plot and click "OK". See above for list and definition of the engineering properties.
- A window will appear with all properties plotted as a function of the φ angle from 0 to 90 degrees (when using f(φ), it will be evaluated for φ from 0 to 90 degrees). You can double click on any plot line to open the plot inspector window; the property plotted in the clicked line will be shown in the name field. You can click and drag automatic labels for each plot. In addition, you have many for customizing of or saving the plot.
Customizing Material Properties
You can edit material properties right in OSULaminates or you can export material properties, bulk edit them in other software, and then re-import into OSULaminates. Editing in OSULaminates is usually easier. The bulk editing method is only needed for more advanced editing such as rearranging materials, inserting separators in the menu, or backing up your material options. Editing in OSULaminates is described first, followed by bulk editing methods. However you edit material properties, the changes you make are saved in the application preferences and will remain in effect for the next time you run OSULaminates.
Editing an Existing Material
To edit an existing material, select it from the "Plies" or "Phases" menu and then choose "Edit Checked Ply...", "Edit Checked Fiber...", or "Edit Checked Matrix..." as desired. A dialog box will open and you can double click any property on the right to change it. The name can be any text. The properties must be numbers and must use the US method of points (.) for the decimal rather than a comma. Click "OK" to save the changes.
The properties to enter depend on the material type as follows. For ply materials the properties are:
- Ex, Ey, Gxy: in-plane moduli in MPa (x is the fiber direction).
- nuxy: in-plane Poisson's ratio.
- alphax, alphay: in-plane thermal expansion coefficients in ppm/degree C (x is the fiber direction).
- betax, betay: in-plane thermal moisture coefficients in strain/wt fraction moisture (x is the fiber direction).
- csat: saturation moisture content as a weight fraction (only needed for moisture expansion properties).
- rho: density in g/cm3 (only needed for moisture expansion properties).
For fiber materials (assumed to be transversely isotropic with axial direction in the fiber direction) the properties are:
- EA, ET, GA: axial and transverse moduli in MPa.
- nuA, nuT: axial and transverse Poisson's ratios.
- alphaA, alphaT: axial and transverse thermal expansion coefficients in ppm/degree C.
- betaA, betaT: axial and transverse moisture coefficients in strain/wt fraction moisture.
- csat: saturation moisture content as a weight fraction (only needed for moisture expansion properties).
- rho: density in g/cm3 (only needed for moisture expansion properties).
For matrix materials (assumed to be isotropic) the properties are:
- E: modulus in MPa.
- nu: Poisson's ratio.
- alpha: thermal expansion coefficient in ppm/degree C.
- beta: moisture coefficient in strain/wt fraction moisture.
- csat: saturation moisture content as a weight fraction (only needed for moisture expansion properties).
- rho: density in g/cm3 (only needed for moisture expansion properties).
Adding a New Material
To add a new material choose "Add Ply...", "Add Fiber...", or "Add Matrix..." from the "Settings" menu as desired. A dialog box will open and you can double click any property (as described above) on the right to enter it. Click "OK" to add the material. Note that "Add Ply..." and "Add Fiber..." are the same menu command. The ply option appears when any ply is selected in the "Plies" menu and the fiber option appears when any fiber/matrix pair is selected in the "Phases" menu.
Deleting a Material
To delete an existing material, select it from the "Plies" or "Phases" menu and then choose "Delete Checked Ply...", "Delete Checked Fiber...", or "Delete Checked Matrix..." as desired. You cannot delete a material that is in use by a currently opened laminate (i.e., close the laminate first before deleting it) or if it is the last ply, fiber, or matrix material remaining (i.e., you cannot delete all materials of a particular type). If the deleted material is currently copied in the ply scrap book, that scrap will be emptied. You will have to copy new plies before pasting again.
Bulk Editing Material Data
Alternatively, you can bulk edit all ply and phase properties, delete plies or phases, add more plies and phases, and add menu separators in separate software. This editing process is as follows:
- Choose "Export Material Data..." menu command and save using any name with extension "
.txt
".
- Open the file in spreadsheet software (e.g., MS Excel) and edit the material properties (see next section for some editing details).
- Save the changed file, but be sure to save as a tab-delimited plain text file and not as an Excel or other spreadsheet software file.
- Choose "Import Material Data..." menu command in OSULaminates and select the edited file. The material properties in the edited file will replace all current materials in the "Plies" and "Phases" menus.
Editing the Properties in the Text File
The exported material data file is divided into sections for Plies, Fibers, and Matrices and they must remain as separate sections. You can edit a material in any section by changing the numbers in the columns. You can add new materials by inserting rows and entering all properties. You can insert blank lines within a section to create a dividing line in the corresponding menu in OSULaminates.
The first column for each material type is the name for the material and it must be a unique name to avoid conflicts with other materials. The column headers in each sections explain where to enter each of the required properties. Details on the properties needed for each material type are given above.
Backing Up and Restoring Material Properties
If you mess up material properties, you can restore to the default materials provided with OSULaminates by choosing the "Restore Default Materials" menu command in the "File" menu.
If you make many material changes and might want to restore to those settings, rather than the default settings, you can back up and then later restore for the exported material data file. The process is:
- When you have a good material data set, choose "Export Material Data..." menu command and save using any name with extension "
.txt
".
- Whenever you want to restore to those material properties, choose "Import Material Data..." menu command and select the file exported in step 1.
Because the import will replace all current materials in the "Plies" and "Phases" menus, if any of those materials have changes since the last export, you will be asked to confirm if you want to replace them. If you would like to preserve the current properties, you should cancel and export current properties before restoring to the previous set. If you no longer need the current ones, just proceed with the import.
| index |
Preferences
To set preferences for your copy of OSULaminates, choose the "Preferences..." menu command.
- Output Units: choose to have calculation output in metric or English units. The preferred units are also used for input units when entered a specific stress state. (Note: editing of material properties is always done in metric units, regardless of this setting).
- Matrix Output Style: choose to have stiffness and compliance matrices output as normalized matrices or as unnormalized matrices. The conversion between normalized and unnormalized matrices is done by realizing that σ = N/h, εf = hκ/2, and σf = 6M/h2, where h is the total laminate thickness. Substituting into the unnormalized equations, the normalized matrices are found to be [A*] = [A]/h, [B*] = 2[B]/h2, [C*] = 6[B]/h2, [D*] = 12[D]/h3, [Φ*] = [Φ]/h, [Φm*] = [Φm]/h, [Ω*] = [Ω]/h, and [Ωm*] = [Ωm]/h. For the compliance matrices [a*] = h[a], [b*] = h2[b]/2, [c*] = h2[b]T/2, [d*] = h3[d]/12, [φ*] = [φ], [φm*] = [φm], [ω*] = h[ω]/2, and [ωm*] = h[ωm]/2. For two laminates with identical plies but different ply thicknesses, the normalized matrices will be the same while the unnormalized matrices will change with thickness.
- Temperature Units: choose to have calculation output in Centigrade or Fahrenheit units. The preferred units are also used for input units when entered a specific stress state. (Note: editing of material properties is always done in Centigrade units, regardless of this setting).
Besides the above preference setting, all changes to material properties are also saved in the application preferences (and therefore persistent between runs). See the methods for editing of material properties to set material preferences.
| index |