By Su Tian1, Xin Liu1, Haodong Du1, Wenbin Yu1

1. Purdue University



Published on


PreVABS is a pre-processing tool for VABS and SwiftComp. This tool is designed to reduce the workload of preparing input files of beam cross sections for VABS and SwiftComp, and to make the process automatic for the design and optimization purpose. Cross sections with general and airfoil shapes can be created. The mesh and visualization capabilities are based on Gmsh. Please note what you download in the supporting document is the preprocessor only. You need to request VABS from AnalySwift.

Source files and previous releases can also be found in the Github repository:


Version 1.3

  • 1.3.0 (02/25/2021)
    • Added a new capability to create base points using normalized parametric locations on a base line.
    • Added a new capability to assign local mesh size for filling components.


Version 1.2

  • 1.2.0 (11/09/2020)
    • Added a new capability to create layups from sublayups.
    • Added a new capability to create segments using normalized parametric locations on a base line.


Version 1.1

  • 1.1.1 (10/28/2020)
    • Fixed the problem of unable to read recover analysis result files on Linux.
    • Fixed a problem when the segment is too short while the laminate is too thick.
  • 1.1.0 (10/15/2020)
    • Added a new format for the input file. Now baselines and layups data are merged into the main input file, to reduce the number of input files needed.
    • Added a new material type 'lamina' accepting four numbers for elastic properties.
    • Added default small numbers for elastic properties for isotropic materials.
    • Updated the fill-type component for non-structural mass.


Version 1.0 (07/01/2019)

  • Added capability to create quadratic triangle elements. In the main input file, under the xml element '<general>', create a sub element '<element_type>' and set it to 'quadratic' or '2'. Default is 'linear'.
  • Added a new output file '*.txt' storing all running messages.
  • Changed one of the layup methods tag name from 'explict list' ('el') to 'layer list' ('ll').
  • Fixed the crashing issue caused by zero number of layers.
  • Fixed the bug that sectional loads were read and written to the distributed loads when doing recovery using VABS.
  • Fixed the bug that local lamina data does not overwrite global data.


Version 0.6 (07/01/2018)

  • Added xml elements in the main input file for various options of VABS/SwiftComp execution.
  • Added xml elements in the main input file for failure analysis of SwiftComp.
  • Added a '<basepoints>' element in the baseline file. Now for simple shapes, users do not need to use an extra basepoint file, which can still be included for long point list.
  • Added a material database file along with the executable. Now PreVABS will look for materials in this file by default.
  • Changed Gmsh library to dynamic/shared library.


Version 0.5 (01/31/2018)

  • Added the capability to create nose mass in an airfoil type cross section.
  • Added the post-processing function to visualize the recovered strains and stresses in Gmsh.


Version 0.4 (12/04/2017)

  • Added the capability to read stacking sequence code.
  • Added the parameter to set the number of straight lines to approximate an arc or circle.
  • Changed the Gmsh input file name to '~.msh', where '~' is the cross section name.


Version 0.3 (11/27/2017)

  • Updated the manual.
  • Changed the default behaviour of the command with input file specified only to preparing VABS input (without running VABS).
  • Changed the element tag '<origin>' to '<translate>'. Now the two numbers in this element moves base points and base lines, instead of the origin.
  • Changed the element tag '<rotation>' to '<rotate>'.
  • Changed the 'level' of a segment from an element to an attribute, with default 1.
  • Changed the 'layup_direction' of a segment from an element to an attribute of the layup, with default "right".
  • Changed the material type 'engineering constants' to 'orthotropic'.
  • Set the default element type as "quadratic".
  • Set the default mesh size to the smallest layer thickness.


Version 0.2 (11/14/2017)

Cite this work

Researchers should cite this work as follows:

  • Su Tian; Xin Liu; Haodong Du; Wenbin Yu (2017), "PreVABS,"

    BibTex | EndNote