The Vth Generation of The INDUCTION DESIGN
Form Generation + Structural Aptimization
KeiRiki-1 is the first open program in the INDUCTION DESIGN series.
It is one of the outgrowths of the WEB FRAME program.
WEB FRAME, which corresponds to INDUCTION DESIGN-III, was
a program for “form generation + selective evaluation”.
(In order to clarify the results of this processing, the
program does not include an evaluation process. The evaluation process is
being developed separately,
KeiRiki-2 is an advanced version of
It can treat structure with surface (;such
as glass, wall, etc.).
Wind load acting on the surface is
Definitions of “conditions” and
“aptimized (optimal)” 1*
The purpose of this program is twofold:
Given conditions can vary from case to case.
Of course it would be possible to select different
The meaning of “aptimized (optimal) structure” also
needs to be defined.
This program judges “optimal” according to the
standard of weight. That is, aptimized (optimal) was defined to be
“discovery of the structure for a generated form which, given a
specified load and specified materials, has the lowest total material
Other definitions of aptimized (optimal) are possible. One
could judge by the number of structural members, the number of member
types (fewer being better), the degree of sectional variation, and so
If these are the conditions to be solved, then a program
could be written to solve them.
Once again, the important thing is not what is chosen to
be aptimized (optimal). The goal is to prove the effectiveness of a
program in solving the conditions for the selected standard of [o|a]ptimization.
The KeiRiki-1 2)
program integrates two processes.
One is a “form generation program” and the other an “aptimization (optimization)” program.
Using KeiRiki-1, the designer can create an arbitrary
(within the permissible range of the program) overall form, subject that
form to arbitrary load conditions, and obtain a proposal for the aptimized
(optimal) structure under those load conditions.
The results are different for every iteration,
depending on the parameters specified for each process in the program.
In every case, the results emerge as solutions which solve the specified conditions, not simply as a number of different variations.
is a technical term in structural mechanics. However, in view of its
meaning, the term itself seems less than “optimal”. In structural
mechanics, “optimal” refers to a solution which, given selected
conditions, can be viewed as meeting the conditions to a higher degree
than other solutions. In other words, it refers to a relative and
is possible to have any number of good things, but it seems difficult to
call one of then “optimal” unless it is actually the best.
course technical terms are not required to mean what they mean in everyday
speech. But honoring everyday usage is still a desirable goal.
(Needless to say, these observations about the term “optimal” do not imply any reservations regarding the concept of optimization, or the quality of methods used to achieve it.)
term “KeiRiki” is made up of two parts.
first part, “kei” (also pronounced “katachi”), is the Japanese
word for “form”. Here it refers to the generation of form.
second part “riki” (also pronounced “chikara”) is the Japanese
word for “power”. Here it refers to “kozo-rikigaku”, or structural
Improved points from KeiRiki-1 to KeiRiki-2:
1- Treating the structure with surface
2- Keeping initial form in aptimizing (optimizing) process
4- Improved interface and some commands
Further explanation of KeiRiki-2 will be described later.
KeiRiki-1 : Parts of the program : A+B
part A : Form generating program
1 Specify the overall curved surface : Mode
First, specify the overall shape of the surface.
Three basic types are selectable -- flat surface, arched
curved surface, and arbitrary surface with the addition of torsion.
2 Generate the form : Gene-mize - Generate mode
Next, generate a net-like shape
on the surface.
The entire shape does not appear all at once; it grows in
(An automatic easy setting mode and a manual setting mode
The overall scale (size) is also decided at this stage.
As related above, this form generation program does not
incorporate any evaluation circuits.
It generates shapes exactly according to the input
parameters. Evaluation is left up to the designer.
(The Program of Flow with built-in evaluation
functions is being developed separately.)
part B : Structural aptimization (opti- ) program
3 Specify the load : Load Edit mode
The “dead load” and “wind load” applied to the
shape obtained from the generation program are set automatically.
Because this program envisages structures without
skins, the wind load is limited to the load applied to the net-like
structural members. The designer may additionally apply loads to arbitrary
This corresponds to design conditions such as locally
supported floors, additional skins, and so
(There is an easy mode which takes only vertical load into
account, and a manual mode which allows loads to be applied in any
4 Perform structural aptimization (optimization)
The type of structural members to use is selected here.
Depending on the overall size, the designer selects either
single or compound type, and selects from three member widths.
(Compound type refers to a parallel
arrangement of two identical members separated by an interval which remains
constant regardless of stress.)
there is an easy mode which automatically selects the appropriate members,
and a manual selection mode.)
The basic algorithm is to repeat the procedure “increase
the size of members subjected to greater stress than other members” until
a specified number of repetitions or an aperture ratio limit is reached.
Then, proceeding in reverse, decrease the size of members as long as a
stress limit is not exceeded (as long as the members are safe). Finally,
delete all members which are not connected to any other members.
The structure obtained in this way is an “aptimized
(Results vary depending on the algorithm, for example the
order of increase and decrease, so in this case “aptimized (optimized)”
does not refer to an absolute, unique solution.)
Judgment of the acceptability of structural members is
based on Japanese law, according to the Design Standard for Steel
Structures of the Architectural Institute of Japan.
program displays an overall shape every time it executes,
when the structural conditions are not met.
which do not meet the conditions are displayed in red,
it possible to adjust member size specifications
further repetitions of the optimization process.
of the program:
may be downloaded from this site and used free of charge. However, the
creation of derivative works, commercial use, and so on are prohibited
without the express written consent of the author. (Permission may be denied
in some cases.)
you release or publish the result ( ; design, research, thesis, program,
etc.) achieved by using this program or referring to this program, it is
necessary to describe clearly about it indicating the name of this program
and the authors.
program is intended for educational purposes only.
regarding use of program will not be answered.
Constructive suggestions and opinions will be accepted,
but may not be answered.
“KeiRiki-1w” is an open version of “KeiRiki-1”,
which was actually used in the design of “Shin-Minamata-Mon”. It shares
almost all of the functionality of the original version.
For other information about the program, please refer to
the README file.
KeiRiki program family:
“KeiRiki-1”: The program used in the design of
“KeiRiki-1-w”: The open version made available on
The author: Makoto
Sei Watanabe, Makoto Ohsaki, Takashi Chiba
(THE PROGRAM) IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM, OUT OF OR IN CONNECTION WITH
THE PROGRAM OR THE USE OF THE PROGRAM.
“KEIRIKI-2” (THE PROGRAM) IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM, OUT OF OR IN CONNECTION WITH THE PROGRAM OR THE USE OF THE PROGRAM.
Download "KeiRiki-2" ：800KB
Download "KeiRiki-1w" ：900KB
Descriptions of parameters and algorithms:
‘KeiRiki-1w’ generates a mesh-type
optimal structure for a given curved surface or a plane under specified
of generating process
Specify the type of the surface.
Generate a mesh under specified condition.
Assign nodal loads.
Select a list of members.
Carry out structural optimization.
Shape : curved
surface or a plane; arbitrary given under some restriction.
: a point located on the surface.
Member : a segment of a
line between two nodes.
Branching : the state where two members
grow from a node.
Evaded region : a region where no node or member can exist; arbitrary given.
A Shape Generating Program
1 Input variables
All the variables can be set by KeiRiki-1w.
Initial seed for random variables (arbitrary natural number). The shape can
be controlled by modifying Iran.
Upper bound for for the number of nodes Np (less than
4000). Since branching is done simultaneously at all the front nodes, the
generating process terminates if Np exceeds Npmax.
Also Np might be reduced by the postprocess of deleting
Nfp Number of initial front nodes at the lowest boundary.
Xfp Locations of the initial front nodes. Number of nodes is Nfp
and 0< Xfp<1.
L0 Standard length of members (preferably between 0.1 and 0.2).
Ratio of standard deviation of member length to L0 (preferably
Standard value of branching angle (preferably between 20 and 30 degrees).
Ratio of standard deviation of branching angleθ (preferably about 0.2).
Lmin Minimum value of member length (preferably between 0.1 and
0.2). The member shorter than Lmin is to be removed and nodes
connected by it are combined.
Minimum value of branching angle (preferably between 0.1 and 0.2). If the
angle is less than θmin, one of the branching members is to be
removed and the nodes generated by the members are combined.
Stype Surface type
Rx, Ry Center of evading region
Rr Radius of evading region
First generate the shape on the normalized
plane (0<x<1, 0<y<3), and map it on the surface or cube.
Assign Nfp front nodes on the lowest boundary. The coordinates
are denoted by (Xi,Yi)，(I=1,2,…,Nfp),
where the two end-points of the lowest boundary are (0,0) and (1,0).
Let the initial direction be θi=(0,1), (I=1,2,…,Nfp).
Generate branches (k=1,2) at all the front nodes as follows:
1) Generate uniform random number r between 0 and 1, and define the member
length Lk by
2) Generate uniform random number r, and define the member directionθk(k=1,2)
Locate a new node by moving from node i in the direction of θk
, and add a member to connect node I and the new node.
4) If the member intersects with the boundary of the evaded region where no
node or member can exist, add a new node at the intersection.
5) If the member intersects with an existing member, connect the node i with
one of the end node of the existing member that is farther than node i.
Hence, the member is added without increasing the number of nodes.
6) Let the new nodes be front nodes, where the generating directions are
defined by the directions of the new members.
Update the lists of members and nodes.
Go to 3 if the number of nodes is less than Npmax.
6. Carry out the following process until no short member of
1) Combine the two end nodes of the member whose length is less than L0 *Lmin.
2) Delete the shorter member of a branch whose angle is less than θ0*θmin.
3) Remove the floating nodes.
B Apti/Opti mizing Program
1 Input variables (opt.dat)
The variable that is NOT indicated by `INPUT
FROM KeiRiki-1w’ should be modified by directly editing `opt.dat.’
E, ν, ρ Elastic modulus, Poisson’s ratio, Weight density (Default
values for steel are given)
h Thickness of member; indicates the thickness of flange if Nplate
=2. (INPUT FROM KeiRiki-1w)
Upper-bound stress (Increase (decrease) if the optimal members are too thin
(thick); standard value of steel is given)
Sx, Sy, Sz Scale parameter for x- , y-,
z-directions. (INPUT FROM KeiRiki-1w)
Ncs Number of member widths given in `dv.dat’. (INPUT FROM
Stype Type of surface (1: Bezier or twisted Bezier, 0: Cube; DO
Nmax Number of maximum iterations (Decrease if computational
time is too much.)
Dmax Maximum ratio of the occupied area to the total surface
area (Decrease if computational
time is too much.)
IC Level of correction after optimization (0: none, 1: low, 2:high; DO NOT
Is Scaling parameter (1: automatic, 0: manual) (INPUT FROM
Nplate Number of flanges (1: single, 2: double) . Disabled if
Is=1. (INPUT FROM KeiRiki-1w)
Dplate Distance between flanges (1: single, 2: double) . Disabled if Is=1
or Nplate =1. (INPUT FROM KeiRiki-1w)
Set by KeiRiki-1w.
of member widths Wi (i=1,2, …, Ncs) for ranks 1,2, …, Ncs.
Wi (i=2, …, Ncs) if computation time for optimization is too
(decrease) Wi (i=2, …, Ncs) if there exist too many members
with largest (smallest) rank in the optimal solution.
NOT MODIFY W1.
Set by KeiRiki-1w.
Nload Number of loading sets.
Iload Set number.
Jmin, Jmax Lower and upper bounds of nodes to be
loaded by this set.
4. Px, Py, Pz Load vector.
Numerical output data
iterative steps of optimization: (result.dat)
4 Apti/Opti mization algorithm (increasing process)
A heuristic optimization method called `greedy method’ is used.
: Wind load
Apply 3.372 kN per m2 of member area in the y-direction, which is computer from the Japanese building code.
The loads are applied at the only vertical plane for a cube; the loads are given at all the nodes for a Bezier surface.
The self-weight of a member computed from the volume and weight density is applied in the vertical direction.
The allowable stress is defined along with the Japanese code for steel structures.
The stresses are computed at all the four corners of each member to find maximum absolute value of stress that is divided by the allowable stress to obtain the stress ratio.
Two load cases in positive and negative y-directions are considered for wind loads.
4. Let J denote the set of members that has a rank below the maximum value.
5. Terminate the process if the number of iterative steps exceeds Nmax or the ratio of the occupied area to the surface area reaches Dmax; otherwise go to Step 2.
Apti/Opti mization algorithm (decreasing process)
Iteratively remove a floating member, and a
cantilever-type member if no additional load is applied at the end of the
Units： `m’ for length, `kN’ for force.
The nodes at the ground level are
automatically fixed as supports.