MATLAB Examples

DOCUMENTATION Matlab_Abaqus_10_Bar_Truss


1. Introduction

Matlab_Abaqus_10_Bar_Truss is a Matlab source code which is used to find the optimum design of a 10-bar truss, described in section 2. It is developed by George Papazafeiropoulos ( in an effort to illustrate the process of coupling between Abaqus and Matlab, which can be made for any problem (involving optimization or not). It is written in MATLAB programming language and is available as source code distributed under a BSD-style license (see License.txt which is included in the package folder).

2. The 10-bar truss optimization problem

Matlab_Abaqus_10_Bar_Truss tries to solve the following problem:

Consider a 10 bar plane truss shown in the following figure with the following structural characteristics: Modulus of Elasticity E = 10,000 ksi, material weight rho = 0.1 lb/in^3, length L = 360 in, load P = 100 kip. The structural members are divided into 10 groups. The design variables are the cross section areas of each member group in the interval [0.1, 35] (in^2). The constraints are imposed on stresses and displacements. The maximum allowable displacement in the ±x and ±y directions for each node is d_max= 2 in, while the maximum allowable stress (absolute value) is sigma_allow= 25 ksi in tension or compression and the objective is to minimize the weight of the structure under the specified constraints.

3. Setup all files and folders

All files and folders of Matlab_Abaqus_10_Bar_Truss package have to be setup in the current folder of Matlab, which must be the Matlab_Abaqus_10_Bar_Truss folder. This folder should be placed in the Abaqus working directory to avoid confusion with the Abaqus files generated during the optimization process, although this is not mandatory. In any case, the files generated in Abaqus runs will be placed one level up (outside) from the source folder. This package was verified with Abaqus 6.13.

3.1. Find the directory containing this file

S = which('Documentation.m');
S = S(1:end-16);

3.2. Setup all files and folders inside the directory where Matlab_Abaqus_10_Bar_Truss is found


4. Package files

The files and folders used in this package are the following:

4.1. A folder named source which contains the functions used in the optimization process which finds the optiimum design of the 10-bar truss. A list of the functions used can be found here.

4.2. This script (Documentation.m).

4.3. The script "Truss10main.m" which when executed, the optimization problem is solved. The results of the solution can be seen here.

5. Supplementary files

Except for the source code files and folders used in this package other supplementary files and folders are provided, which are the following:

5.1. A folder named help which contains all the source codes which are published in the documentation.

5.2. A folder named html which contains all the html files of the documentation of this package, including the html file produced by publishing the optimization problem of this package.

5.3. A file named "License.txt" in which the BSD-style license associated with Matlab_Abaqus_10_Bar_Truss is stated.

5.4. A file named "Version History.txt" in which the history of the various versions of this package is presented.

6. Demonstration of the solution of the 10-bar truss problem

The following actions are taken to solve the 10-bar truss optimization problem:

6.1. Ensure that Abaqus has been installed and that the license server has started successfully.

6.2. Place the folder of the package in the Abaqus working directory (usually C:\Temp). Usually, this step is not necessary, since Abaqus can run from any directory. This action is suggested, however, to avoid confusion with the large number of files which are created in each Abaqus run.

6.3. Open the file named "Documentation.m" in Matlab and run it (press F5)

6.4. Type "web('Documentation.html')" in the Matlab command window (then enter) to view the documentation of this package.

6.5. Open the file named "Truss10main.m" in Matlab and run it. The optimization process will go on until it terminates. For more information about Abaqus please refer to the Abaqus Documentation.

Copyright (c) 2016 by George Papazafeiropoulos
Captain, Infrastructure Engineer, Hellenic Air Force
Civil Engineer, M.Sc., Ph.D. candidate, NTUA