25 Bar Truss Matlab Code
25 Bar Truss Matlab Code
DOCUMENTATION Matlab_Abaqus_25_Bar_Truss
Contents
1. Introduction
2. The 25-bar truss optimization problem
3. Setup all files and folders
4. Package files
5. Supplementary files
6. Demonstration of the solution of the 25-bar truss problem
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 ([email protected]) 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).
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
1 of 5 12/11/2019, 9:44
DOCUMENTATION Matlab_Abaqus_25_Bar_Truss file:///H:/Dropbox/Public/PUBLISHED MATLAB CODE/Matlab_Abaq...
2 of 5 12/11/2019, 9:44
DOCUMENTATION Matlab_Abaqus_25_Bar_Truss file:///H:/Dropbox/Public/PUBLISHED MATLAB CODE/Matlab_Abaq...
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
3 of 5 12/11/2019, 9:44
DOCUMENTATION Matlab_Abaqus_25_Bar_Truss file:///H:/Dropbox/Public/PUBLISHED MATLAB CODE/Matlab_Abaq...
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.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.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: [email protected]
Website: http://users.ntua.gr/gpapazaf/
4 of 5 12/11/2019, 9:44
DOCUMENTATION Matlab_Abaqus_25_Bar_Truss file:///H:/Dropbox/Public/PUBLISHED MATLAB CODE/Matlab_Abaq...
5 of 5 12/11/2019, 9:44