MATLAB Examples

DOCUMENTATION Matlab_Abaqus_25_Bar_Truss

Contents

1. Introduction

Matlab_Abaqus_25_Bar_Truss is a Matlab source code which is used to find the optimum design of a 25-bar truss, described in section 2. It is developed by George Papazafeiropoulos (gpapazafeiropoulos@yahoo.gr) 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 25-bar truss optimization problem

Matlab_Abaqus_25_Bar_Truss tries to solve the following problem:

Consider a 25 bar space 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. The structural members are divided into 8 groups. The design variables are the cross section areas of each member group in the range [0.01, 5] (in^2). The constraints are imposed on stresses and displacements. The maximum allowable displacement in the ±x, ±y and ±z directions for each node is d_max= 0.35 in. Two load cases have been considered. The maximum and minimum allowable stress is shown in the following table. The objective is to minimize the weight of the structure under the specified constraints for both load cases simultaneously.

DESIGN VARIABLE MEMBER ALLOWABLE TENSION STRESS (ksi) ALLOWABLE COMPRESSION STRESS (ksi)
1 1 40 -35.092
2 2-5 40 -11.590
3 6-9 40 -17.305
4 10,11 40 -35.092
5 12,13 40 -35.092
6 14-17 40 -6.759
7 18-21 40 -6.759
8 22-25 40 -11.082

3. Setup all files and folders

All files and folders of Matlab_Abaqus_25_Bar_Truss package have to be setup in the current folder of Matlab, which must be the Matlab_Abaqus_25_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_25_Bar_Truss is found

addpath(genpath(S));

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 25-bar truss. A list of the functions used can be found here.

4.2. This script (Documentation.m).

4.3. The script "Truss25main.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_25_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 25-bar truss problem

The following actions are taken to solve the 25-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 "Truss25main.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
Email: gpapazafeiropoulos@yahoo.gr
Website: http://users.ntua.gr/gpapazaf/