SOFTWARE PACKAGE OF FractalBranch&BoundMethod(FBBM)
Download FBBM software package（zip file）
Copyright © 2000, Yuichiro TERADA
1. | lamdes | Stacking sequence optimization with FBBM |
2. | lamparam | Calculation of lamination parameters |
3. | lamtrian | Draw fractal branches by Windows extended meta file format(Trianglar region) |
4. | lamtetra | Draw fractal branches by Windows extended meta file format(Tetrahedron region) |
5. | lamcand | Generate candidate points for DOE in lamination parameter space |
6. | rsbuilder | Create RSM |
7. | evalrs | Calculate RSM |
8. | subrs | Substitute in RSM |
*. | RS File | Format for RSM file |
lamdes
Outline
This software is designed for stacking sequence optimizations using FBBM. This program performs both FBBM and searching all branches. Laminates are limited to symmetric laminates and fiber angles are 0°,45°,90°,-45° Objective function must be given by a quadratic polynomial of lamination parameters.
Usage
(a) C:\> lamdes [options] n file1 file2 ... (b) C:\> lamdes [options] n0 n1 n2 n3 file1 file2 ... (c) C:\> lamdes [options] -b n0 n1 n2 file1 file2 ...
Arguments | |
---|---|
n | Half number of stacks |
n0, n1, n2, n3 | number of plies of 0°,45°,90°,-45°respectively (note n=n0+n1+n2+n3) |
file1, file2, ... | file name of RSM ． |
Options | |
---|---|
-r | Searching all branches（default is FBBM） |
-M | Maximize the RSM（Default） |
-m | Minimize the RSM |
-b | With balance of 45°plies and -45°plies |
In the case of (a), stacking sequence optimizations of a lamiante (half number of plies is n) is performed. Objective function must be written in the quadratic polynomial response surface. If you place more than two response surfaces, this program coducts multi-objective optimizations. Please note the number of n is half number of stacks here.
In the case of (b)(c), you can implement a constraint of number of each ply. This means you can optimize stacking sequence with a fixed in-plane lamination parameters. In the case of (b), you set number of 0°plies,45°plies,90°plies,-45°plies, but in the case of (c), as the balance rule is implemented (-b option), only three kinds of number of plies are given here: 0°plies,±45°plies,90°plies.
There are three kinds of response surfaces here.
- Quadratic polynomial of in-plane lamination parametersV_{i}
- Quadratic polynomial of out-of-plane lamination parameters W_{i}
- Quadratic polynomial of both of lamination parametersV_{i},W_{i}
In the first case, FBBM gives you a result. In this case, the FBBM excludes the difference of stacking sequences because the in-plane lamination parameter do not depend on the stacking sequences.
Examples
C:\> lamdes abc.rs | RS (given by abc.rs) is maximized with FBBM |
C:\> lamdes -m abc.rs > abc.txt | RS (given by abc.rs) is minimized with FBBM and filed out to abc.txt. |
C:\> lamdes -b aaa.rs bbb.rs | Multi-objective optimizations of aaa.rs and bbb.rs with FBBM with the balance rule. |
C:\> lamdes -b -r abc.rs > abc.txt | Maximize abc.rs with searching all brach method with the balance rule and the result is filed out to abc.txt. |
C:\> lamdes -rm aaa.rs bbb.rs | Minimize both of aaa.rs and bbb.rs with searching all branch method. |
lamparam
Outline
This program calculates lamination parameters from a stacking sequence. This program is limited for symmetric laminates.
Usage
C:\> lamparam sequence sequence ... Symmetric stacking sequence
Options | |
---|---|
-v | In-plane lamination paramters only |
-w | Out-of-plane lamination paramters only |
For the "sequence" ， you have to type like [0/45/90/-45]s．You can omit the last letter "s" and "[]". Fiber angles must be separated by the letter "/" or ",".
Examples
C:\> lamparam [0/45/90/-45]s | Calculate V and W of [0/45/90/-45]_{s} |
C:\> lamparam 0/45/90/-45 | Calculate V and W of [0/45/90/-45]_{s} |
C:\> lamparam 0,45,90,-45 | Calculate V and W of [0/45/90/-45]_{s} |
C:\> lamparam -v [0/45/90/-45]s | Calculate V of [0/45/90/-45]_{s} |
C:\> lamparam -w [0/45/90/-45]s | Calculate W of[0/45/90/-45]_{s} |
lamtrian
Outline
Draw a triangle fractal image on the out-of-plane lamination parameters. The image is filed out by a Windows exteded meta file （*.emf）format. ．
Usage
C:\> lamtrian [options] length metafile
Arguments | |
---|---|
length | Half number of stacks |
metafile | File name of output |
Options | |
---|---|
-v | Draw an image of V |
-w | Draw an image of W (Default) |
-p | Draw by dots without lines |
lamtetra
Outline
Draw a fractal image of tetrahedron by Windows extended meta file format.
Usage
C:\> lamtetra [options] length metafile [deg1 [deg2]]
Arguments | |
---|---|
length | Half number of stacks |
metafile | Output file name |
deg1 | Rotation angle around x （Default is 30°） |
deg2 | Rotation angle around z （Default is 120°） |
Options | |
---|---|
-v | In-plane lamination parameters |
-w | Out-of-plane lamination parameters（Default） |
-p | Draw by dots without lines |
lamcand
Outline
This program generates the candidate points for design of experiments for SAS JMP.
Usage
C:\> lamcand [options] n > filename
Arguments | |
---|---|
n | Half number of stacks |
filename | Output file |
Options | |
---|---|
-v | Output candidate points of in-plane lamination parameters |
-w | Output candidate points of out-of-plane lamination parameters |
-b | Implement the balance rule（V_{3},W_{3} are negrected) |
Examples
C:\> lamcand 8 > candidate.txt | All of sets of lamination parameters of laminates of n=8 are calculated [V_{1},V_{2},V_{3},W_{1},W_{2},W_{3}]. And ouput to candidate.txt that can be imported into JMP. |
C:\> lamcand -v 8 > candidate.txt | All sets of in-plane lamination parameters of laminates of n=8 are calculated [V_{1},V_{2},V_{3}] and output to candidate.txt |
C:\> lamcand -w 8 > candidate.txt | All sets of our-of-plane lamination parameters of laminates of n=8 are calculated [W_{1},W_{2},W_{3}] and file out to candidate.txt. |
C:\> lamcand -b 8 > candidate.txt | Same as the first with the balance rule [V_{1},V_{2},W_{1},W_{2}] |
C:\> lamcand -b -v 8 > candidate.txt | Same as the second case with the balance rule [V_{1},V_{2}] |
rsbuilder
Outline
This program gives a response surface of quadratic polynomial. The calculated RS is filed out according to the file format for "lamdes" that performs stacking sequence optimizations. This program does not give a coefficient of multiple determination. Number of variables must not exceed eight.
Usage
C:\> rsbuilder dim response-file > output-file
Arguments | |
---|---|
dim | Number of variables（smaller or equal to 8） |
response-file | Data file name |
output-file | Output file name |
Example
Let me show the example of the case for two variables
-1.000 1.000 2.0267 -0.875 0.750 2.83918 -0.500 0.000 3.80138 -0.375 -0.250 3.87511 0.000 -1.000 3.8231 0.125 -0.750 3.75566 -0.250 1.000 2.32651 0.000 1.000 2.297 0.500 0.000 3.37774 0.625 0.250 3.10101 0.750 1.000 1.95203 1.000 1.000 0.9459
The lefter two columns are variables （for example V_{1},V_{2}）, the rightest column is the response "y". In this case, the number of variables are two, you have to type as follows.（Data file name is "response.txt" here）
C:\> rsbuilder 2 response.txt > abc.rs
As a result, a response surface of quadratic polynomial is created, and saved in the file "abc.rs". The "abc.rs" file format is as follows.
# Wed Oct 25 17:11:22 2000 00000000 5.031723e+02 00000001 -3.533792e-01 00000002 -1.599960e+02 00000010 6.312827e+01 00000011 6.143953e+00 00000020 -2.232452e+02
evalrs
Outline
Calculate the response by substituting a set of lamination parameters.
Usage
C:\> evalrs rs-file v1 v2 v3 v4 w1 w2 w3 w4
Arguments | |
---|---|
rs-file | File name of RS |
v1, ..., w4 | Values of the each lamination parameter |
You have to input all values of the lamination parameters．
Example
C:\> evalrs abc.rs 0.1 0.2 0.3 0 0.4 0.5 0.6 0
This is a reponse for the case of V = (0.1, 0.2, 0.3), W = (0.4, 0.5, 0.6)
subrs
Outline
Create a new response surface by inserting a fixed value of some lamination parameters.．
Usage
C:\> subrs input-file varNo1 value1 varNo2 value2 ... > output-file
Arguments | |
---|---|
input-file | Source RS file |
varNoi | Number of variable to which you want to input |
valuei | varNoi fixed value |
output-file | a file name for a new RS |
Example
C:\> subrs abc.rs 1 12.34 | Calculate a new RS when 12.34 is input to x_{1} of the RS of abc.rs, and it is displaed |
C:\> subrs abc.rs 2 12.34 > xyz.rs | File out a new RS when 12.34 is input to x_{2} of the RS of abc.rs to xyz.rs |
File format of RS
In these programs, response surfaces are saved or loaded from files. The file format of the response surfaces are all the same for all programs. ．
Input and output of RS is defined in the progam header file "RsFile.h"
Example of the file format is explained here.
# Wed Oct 25 17:11:22 2000 00000000 5.031723e+02 00000001 -3.533792e-01 00000002 -1.599960e+02 00000010 6.312827e+01 00000011 6.143953e+00 00000020 -2.232452e+02
In the first line, the date when the file is created is mentioned after the letter "#". The line with the letter "#" is negrected as comments.
The lines under the second line are the data of the response surface of lamination parameters. The left column means the identification key number of lamination parameters and right column is the coefficient. ．
Variables included in the response surface are in-plane laminaiton parameters V_{1}, V_{2}, V_{3}, V_{4} and out-of-plane lamination parameters W_{1}, W_{2}, W_{3}, W_{4} Therefore, keys for identification of variables are expressed binaries of 16 digits. Correspondence of the digits is shown as follows.
00000001 → V_{1} | 00000010 → V_{2} | 00000100 → V_{3} | 00001000 → V_{4} |
00010000 → W_{1} | 00100000 → W_{2} | 01000000 → W_{3} | 10000000 → W_{4} |
The number of the each digit represent power of the variables.．
00000002 → V_{1}^{2} | 00000020 → V_{2}^{2} |
00000011 → V_{1}V_{2} | 01000020 → V_{2}^{2} W_{3} |
The example is shown as follows.
f = 5.031723e+02 - 3.533792e-01 V_{1} - 1.599960e+02 V_{1}^{2} + 6.312827e+01 V_{2} + 6.143953e+00 V_{1} V_{2} - 2.232452e+02 V_{2}^{2}