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

Software Review: V-Lab

Dateline: 09/29/99

Introduction

Contents
Database
Material Lab
Laminate Lab
Bonded Joint Lab
User Labs
Conclusions
Side Articles
Installation
Lamina Analysis
Laminate Analysis
Bonded Joints

All composite engineers need software for laminate analysis. Even simple calculations can't be done on a hand calculator. My Software page lists many options.

Personally, I don't use any of those programs, and in fact I've never purchased a commercial composites program. The problem is that no one program can perform all necessary calculations, especially when you use non-standard or custom theories. So instead of buying a program, I've written my own modular system.

V-Lab is the first commercial program I've seen that is user expandable. The entire program is built around a Microsoft Access database, and calculations are performed within modules or Labs.

The program ships with three Labs that provide standard functionality: ply or material analysis; laminate analysis; and bonded joint analysis. A Developer's Kit provides database documentation and an API, allowing you to add your own Labs.

Database

Databases are central to the functioning of V-Lab. You can set up multiple databases, but you can only work with one at a time. Each database is structured in the same way. It is used to store both material properties (reinforcement, matrix, and composite lamina) and laminate definitions.

The databases use the Microsoft Jet engine. You can open the database in MS Access, but that's definitely something to avoid. The structure is very complex, and you could easily corrupt the database by making any manual changes. Get the Developer's Kit and use the API if you want to manipulate the database.

V-Lab ships with two databases. The Sample database has a small number of materials and laminates defined, mainly for use in demonstrating V-Labs features.

Of more use is the MIL-HDBK-17 database. I didn't have time to fully explore it, but it seems to contain all of the material data from MIL-HDBK-17. It ships as a read-only database, but you can include the data in new databases by selecting an option in the New Session dialog.

Material Lab

The Material Lab is your first interaction with the database. Here you define material properties. Although the database supports fiber and matrix materials, there are no micromechanics capabilities.

Lamina properties are temperature and moisture dependent. Properties can be defined at any number of temperatures and moisture levels. Later, if you enter a temperature or moisture condition during a calculation, the program will perform an interpolation to get properties at that condition.

The screen shot below shows the V-Lab window with the Material Lab open to a property definition page. Values can be directly edited in the grid control. Properties not shown in this view are shear strength, CTEs, and ultimate strains. The "Any/A" tab is used to select properties at different temperatures, if defined. The database does not seem to support moisture expansion coefficients.

Main V-Lab Window and Material Lab

(Click on any of the pictures in this article to see the full-size screen images.)

This view also shows some general features of the V-Lab interface. The program uses a Multiple Document Interface (MDI) design. The icon bar on the left shows available modules; click on them to open a Lab in the main window to the right.

Multiple Labs can be open at once. The overall program window can be resized, but individual Labs can only be minimized (the sample database has been minimized in this view).

Units can be switched between English and SI by clicking on the toolbar. Only one database can be open at a time; the database window shows only information like a description, the creator, the last modified date, etc.

All icons and toolbar buttons have a menu equivalent.

Various analyses can be performed on lamina materials. These are described in more detail in the Lamina Analysis side article.

Laminate Lab

Once you have some materials in your database, you can begin to analyze laminates. The Laminate Lab opens with a fairly standard layup definition view. Materials are selected from the database, and the stacking sequence (material, thickness, angle) are defined in a grid control.

The Laminate Lab can perform several types of analyses: stress/strain; moisture diffusion; free edge delamination; and plate with a hole. I will focus on the stress/strain analysis here. Details of the other analyses, as well as the layup definition, are covered in the Laminate Analysis side article.

The screen shot below shows the stress/strain view. In this case, I have defined stress and bending resultants, and the program calculates laminate strains. You can also specify strains and calculate stress resultants.

Laminate Stress/Strain Analysis

Stresses or strains are plotted as a function of through-thickness position. Each of the three components (1, 2, and 12) can be plotted.

The plot to the right of the stress distribution graph shows the failure envelope. Max stress, max strain, or Tsai-Wu can be selected. The red ball corresponds to the failure solution at the point indicated by the red line in the stress distribution plot.

The red line can be dragged to look at the failure solution at any point. If the ball moves inside the envelope (indicating no failure), it turns green. Unfortunately, there is no way to get a report of the maximum failure ratio: the only way to find out if your laminate fails is to drag the red line, and even then you only get a qualitative result.

Bonded Joint Lab

This is an interesting set of calculations, which I don't think I've seen in another commercial program. Basically, it allows you to analyze a composite-to-metal or composite-to-composite bonded joint.

The joint geometry is a multiple-step lap bond. The program can handle symmetric, nonsymmetric, and single lap joints. After reading the Help file many times, though, I couldn't figure out how to do anything besides a symmetric joint.

You define joint problems by specifying the parent and patch materials, and then specifying the steps in terms of number of plies at each angle and the step length.

Results are given as axial and shear load resultants in each step. Unlike the laminate stress analysis, you get an actual number for the margin of safety, as well as a pointer to the critical step.

Details of a full analysis are shown in the Bonded Joint Analysis side article.

User Labs

To me, the most appealing feature of V-Lab is its expandability. The Developer's Kit wasn't ready for this review, but the publisher sent me a sample add-on Lab.

Installation of the Sample Lab was trivial. All I did was copy the Simplela.vlm file into the LabModules directory. The next time I started V-Lab, the Sample Lab icon appeared in the selection bar.

The Sample Lab simply shows the current units. It appears in an MDI window just like any other Lab, and it has typical GUI components.

Custom module calculations can be performed within a DLL, so you can use any language you are comfortable with for the numerical part of your program. The API gives you access to both the database and other Labs.

Let's say you want to write a shell buckling module. Your module can get the laminate definition from the database, and it can use the Laminate Lab API to calculate ABD matrices and other common properties.

The actual interface to V-Lab must be handled through C++. Now, I'm a pretty good Visual Basic programmer, and I used FORTRAN a lot during college, but I've rarely looked at C, much less C++. To me, the programming interface is rather daunting, and I'm afraid I would have to take a programming class before I could add my own modules. I can't show the source code here, but the cpp file for the Sample Lab takes up 7KB, or 235 lines of code.

The V-Lab developers might want to consider adding VBA in a future release. This is the same macro language used by MS Office and Visio applications. It is easy to use and powerful enough for most types of analyses. I have created some fairly complex analysis routines for use in conjunction with Excel, including a nonlinear discrete optimization program for laminate design.

Conclusions

The first thing that strikes me about V-Lab is its professionalism. The interface is well-designed (aside from the quirks mentioned in the side articles) and I was hard-pressed to find any bugs.

The materials database provides good functionality, especially in its handling of temperature- and moisture-dependent properties. The bundled Labs provide basic functionality, plus some advanced features like bonded joints.

However, there are some significant omissions from the Labs. Most noticeeable is the lack of any micromechanics capability, especially when the database supports constituent properties. I would also expect some basic structural modules (beams, plates, shells) in a program at this price range.

The module format makes it possible to add these capabilities. Because no additional modules--either from the publisher or from third parties--are available at this time, there is no way to know what their cost will be.

Pricing for the Developer's Kit has also not been determined. Because the kit is basically documentation and some header files, I would hope the publisher makes it available at minimal cost, or even includes it with the base program. If the program becomes popular, that would encourage users to create modules and make them available to others. The more modules there are, the more useful this program will be.

V-Lab definitely provides a good set of tools in its current form. However, there is one major problem with the Laminate Lab that significantly handicaps the program for practicing engineers. That problem is the lack of detailed stress reporting and margins.

When I'm preparing a report for a design review, I have to be able to give a numerical margin. I see no way to get that out of the current program short of writing a custom module. That may be fine for something like shell buckling, but it shouldn't be required for basic calculations like margins of safety.

Some of the calculations do provide margins (plate with a hole, bonded joints), so I tend to think this was an oversight. The developers have recognized the need for this calculation, and it may be distributed as a patch before the next upgrade.

V-Lab is a good program, and you'll get a lot of use out of its current modules. If you can live with qualitative failure results for basic stress analysis, then I can recommend this program. But if you need numerical margins, you will have to wait for the next update.

V-Lab is available from Technomic Publishing Company. This review covers version 2.0. The purchase price is $1500. A subscription service is available for an annual fee of $150. Subscribers get free downloads of upgrades and patches, plus a 10% discount on future modules.

Previous Features
Explore Composites / Plastics
About.com Special Features

10 Things You Can Do Today to Improve Your Credit

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

Holiday Central

What to eat, where to go, fun things to do and how to save money on the perfect gifts. More >

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

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

All rights reserved.