1. Home
  2. Business & Finance
  3. Composites / Plastics

Software Review: CompositePro

Dateline: 01/19/98

Program Overview

CompositePro is one of the largest, most comprehensive laminate programs I have worked with. An exhaustive review of its features would take a long time, and probably bore you before I made it halfway through.

In the first part of this article, I will present a general overview of the program capabilities and features. This section isn't very detailed, but it should give you a good feel for the program. In the second part, I will describe in a fair amount of detail the steps I followed to solve a particular composites problem.

Program Capabilities

This is not one of those programs that simply allow you to calculate laminate properties and maybe stresses, strains, and failure criteria. In addition to those basic functions, it includes micromechanics, structures (plates, sandwich laminates, beams, and shells), and various utilities (including some for filament winding and fabrics).

The laminate features include just about everything you could want. Layups are entered in a tabular format, and special functions are available for creating symmetric laminates or rotating an entire laminate by some angle. Loads can be entered as stresses, strains, or stress resultants (bending loads can only be entered as moment resultants, not as curvatures). In addition to physical loads, you can enter uniform temperature and moisture changes.

Output consists of constitutive matrices (Q-bar, ABD, ABD-inverse) and engineering constants (both in-plane and flexural). Modulii and CTEs in the principal directions can be shown in a bar graph. A complete set of stress analysis results are available, including: mid-plane laminate strains; stresses and strains in laminate and ply coordinates, at ply top-, mid-, and bottom surfaces; first ply failure analysis; and progressive failure analysis. All stresses and strains can be plotted.

If you don't have lamina properties, you can calculate them using the micromechanics functions. Fiber and matrix properties can be stored just like lamina properties. You can calculate lamina properties for any combination of fiber and matrix, based on either weight or volume percent. Calculated lamina properties can then be added to the lamina database.

Most programs stop here, but ComPro lets you analyze some real structures. You can run calculations on simple plates, sandwich plates, shells, and beams. For each type of structure you define the geometry (for example, width and depth for plates). Laminate properties are taken from the laminate definition entered earlier. Analysis options include bending, stability (including local instabilities such as dimpling for sandwich plates), vibration, and torsion (beams only).

Finally ComPro provides some small but handy utility functions. These utilities allow you to convert between weight and volume fraction, calculate the thickness of helical wound composites, calculate the thickness of fabrics given areal weight, predict cure warpage, and build lamina properties from fabric definitions.

User Interface

ComPro is a stand-alone Windows program written in Visual Basic. I have installed and run it on both Windows 95 and NT 4.0 without any problems.

CompositePro
Interface

The program uses an MDI (Multiple Document Interface), which means that it consists of a main window with several sub-windows. Each menu command opens a new window within the main window. Although the main window can get cluttered, you can close sub-windows without losing data (though you may have to recalculate some numbers).

The multi-window interface is nice. It allows you to, for example, display global stresses and global strains side-by-side. Each window can be resized, but the individual controls on the windows remain fixed. You can minimize sub-windows (they appear as a miniature title bar at the bottom of the main window), or close by clicking on the Exit button or standard Windows "X" button in the title bar.

A toolbar gives you access to the most frequently used commands. Tooltips are not provided, and I tend not to use the buttons because I can never remember what all the icons means). However, most buttons simply call up a new window, so you can safely press them without worrying about losing data. Tooltips will be added to the next major upgrade.

The menu system is laid out nicely, with a menu for each category of analysis (Micro, Laminate, Plate, Sandwich, Tube/Beam, and Utilities), plus the usual File and Edit menus. Be careful before you issue the Exit command, though, because you won't be warned about any unsaved data.

The biggest feature missing from the program is online help. The closest thing to it is an online interactive demo. The demo runs you through each type of analysis, explaining how it works, and giving you a chance to play with the controls. You can use the demo to get help on a particular feature by switching to demo mode and selecting the menu command. To return to your analysis, exit the demo mode.

I really only have one gripe with the interface, and that is the method for entering data into the tables. I describe this in detail below, but basically the program forces you to switch too often between the mouse and the keyboard. You can easily move through the tables using the keyboard, but you have to switch to separate text box to enter data (and you can't tab to the data entry box). Allowing direct entry of data into the tables would solve this problem. This is on the list of improvements for the next major upgrade.

A Real Analysis

CompositePro is a very large program, and it takes a long time to explore all of its features. To put the program through its paces, I decided to use it to double-check a calculation from another program.

The calculation I need is the buckling load of a composite cylinder. On starting CompositePro, I dialog box appears asking for a layup. Because I have not defined any layups yet, I select New Layup.

Defining the Laminate
Laminate
Definition Window

This takes me to the Laminate definition window. Available materials are listed (they are called Lamina Types). I need IM7/977-2, which is not in the list. For now, I try typing it in.

At this point, it's not obvious how to get the Lamina Type into the laminate table. It's not automatically placed, and the name can't be dragged. When I try typing the name in the Edit box, and error message pops up and explains that I have to click on a Lamina Type, then double-click in the Lamina Type cell of the ply. Not exactly intuitive, but it works.

Thicknesses and angles, on the other hand, are typed directly into the Edit box. It would be nice to be able to enter them directly into the laminate table (this feature will be in the next version), or at least to have the Edit box automatically selected for editing. As it is, you have to select a table cell (using the arrow keys or the mouse), then double-click the cell or single-click the edit box to modify a property.

To add additional plies, you can select Insert Row/Column from the Edit menu, press Ctrl+I, or use the Symmetric or Repeat button. Because my cylinder is made of one material, I found it easiest to use the Repeat button and modify the ply angles.

The symmetric and repeat buttons both add plies to the end of the laminate. You select the plies you want to copy, then press one of the buttons. The plies are added to the end of the laminate, in the original order for Repeat or the reverse order for Symmetric. The symmetry or repeat is not "remembered." If you have a [+30/-30]S laminate and you change one of the 30s to a 25, the other 30s don't change.

Anyway, my laminate is [0/90/+45/-45]S, so I enter the first ply, duplicate it three times using the Repeat button, modify the angles, select all four plies, then press the Symmetric button. This gives me what I want.

I now try to exit the Laminate window, but I get an warning message telling me I haven't defined Lamina Type IM7/977-2. I can either select another lamina type or go to the Lamina menu and load another material.

Adding a Material
Lamina
Properties Window

There is no Lamina menu, so I go to the Laminate menu and select Edit Lamina Props. A table of exising materials appears. Pressing Ctrl+I inserts a new column, and I can enter the material properties. Entering is straightforward, but again I have to use both the mouse and the keyboard - I should be able to enter a property, hit return, and immediately be able to enter the next property (again, this will be in the next version).

I didn't enter CTEs or strengths because I didn't need them for this analysis. However, the only strength properties seemed to be ultimate strains, and I usually prefer to enter ultimate stresses. I didn't see a way to change the this option.

One thing to watch out for: New materials are not automatically saved by the program. To save a material, you must select its column in the Lamina Properties table, then select Save File (or Ctrl+S) from the File menu. Each material is saved in its own file. If you exit the Lamina Properties window, the material will still be available during the current session, but you will have to reenter the material properties if you exit the entire program.

After exiting the Properties window, the new material appeared in the Lamina Type list, and I was able to exit the Laminate window with no further editing.

With the laminate defined, examing the Q-bar, ABD, and ABD-inverse matrices, as well as the engineering constants, is simply a matter of displaying the appropriate windows. All of these numbers agreed with my other program.

Buckling Calculation
Shell
Cross-Section Window

The final step in this analysis is to calculate the buckling loads for the cylinder. Under the Tube/Beam window, I selected the Geometry option. I was shown a window with eight cross-section options. I selected Cylinder, then entered the radius. Section properties (inertias, etc.) could be examined in another window.

Cylinder
Stability Window

Once the geometry is defined, you can select one of the analysis options under the Tube/Beam menu. I selected Cylinder Stability to calculate buckling loads. You can either calculate buckling allowables for individual loads (axial compression, bending, external pressure, or torsion), or you can calculate the combined failure ratio for different combination of the individual loads.

Most buckling formulas are a function of the axial (m) and circumferential (n) buckle waves. The buckling formula must be minimized for integer values of m and n. Because the formulas are very complex, it is difficult to differentiate to find an analytical minimum.

The most common minimization approach, and the one used in this program, is to calculate the buckling load over a range of m and n, and then select the minimum from the list. The user supplies a maximum value for m and n; the program returns a buckling load and the values of m and n which minimize the buckling function.

The only drawback to this approach (aside from its inefficiency) is that the minimum found may be an artifice of the problem boundaries (the maximum m and n). If the critical values of m or n are equal to the maximum values, then the maximums should be increased and the calculation run again. When using ComPro, you won't receive a warning if the critical m or n is at the boundary, so you must check this condition yourself.

There are several formulas available for calculating the buckling allowables of composite cylinders. When the results of my ComPro run didn't match the results from my other programs, I contacted the author. Both of our programs use the same document (NASA SP-8007), but we use different formulas. I use a more conservative formula which includes a semi-empirical knockdown formula, but it doesn't allow for non-symmetric laminates. When I modified my program to use the more general formula, the results matched the ComPro calculations. Mr. Howell will be adding the alternate formula to future programs, giving the user a choice of which to use.

About the Author and Ordering

CompositePro is written and maintained by DeWayne Howell, owner and President of Peak Innovations. Mr. Howell, a graduate of the University of Cincinnati, has worked for NASA Langley, Hercules Aerospace (now Alliant Techsystems), and Advanced Composite Technology. In addition to running Peak, Mr. Howell does composites work for a major Colorado company.

Mr. Howell began converting his original composites program to Windows in 1995. At that time, there were no major composite programs available for Windows. In addition to marketing CompositePro, he uses the program in many of his current projects. The next major upgrade, scheduled for release in spring of 1998, will bring the program up to version 3.0. It runs under Windows 3.1x, 95, and NT; it requires a minimum of 4 MB of RAM.

CompositePro can be ordered from the Peak Innovations Web site. A trial version is available if you wish to evaluate it yourself. The full version is $395; a Lite version with only the micromechanics and laminate modules, plus the volume-weight fraction calculator, is available for $295.

Many other programs sell for much higher prices but have significantly fewer capabilities. The user interface design also shows that the author uses the program in real-world situations. At this price, you can't go wrong with CompositePro.

Previous Features
Explore Composites / Plastics
About.com Special Features

Start your new business on the right foot with these helpful tips. More >

Easy steps to take control of your credit card debt. More >

  1. Home
  2. Business & Finance
  3. Composites / Plastics

©2009 About.com, a part of The New York Times Company.

All rights reserved.