The Vth Generation of The INDUCTION DESIGN
In the final analysis, design is the act of solving problems by formulating answers that are backed up by the designer’s intentions. The idea behind INDUCTION DESIGN is to make the process of problem solving more scientific (in the sense of verifiable).
When a coil is brought near a magnet, an electric current is generated. Instead of being supplied directly, the current is generated by variations in the magnetic field.
In design as well, instead of inscribing the final results directly on diagrams, it is possible to use programs that solve for specified conditions to "generate" designs that are "better".
From another viewpoint, the same method can also be called ALGORITHMIC DESIGN , when we place more weight on clarifying the procedures that lead to the solution.
In ALGORITHMIC DESIGN, a procedure is created by defining the value standards required in the design, assigning weights, and specifying the processing order, and then that procedure is used to carry out the design and obtain a better solution.
These two names for the same process emphasize different aspects of its character.
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.
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.
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.
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.
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: (about
‘KeiRiki-1w’ generates a mesh-type
optimal structure for a given curved surface or a plane under specified
of generating process
1. Specify the type of the surface.
2. Generate a mesh under specified condition.
3. Assign nodal loads.
4. Select a list of members.
5. 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.
Part A Shape Generating Program
1 Input variables
All the variables can be set by KeiRiki-1w.
Iran Initial seed for random variables (arbitrary natural number). The shape can
be controlled by modifying Iran.
Npmax 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
3. Nfp Number of initial front nodes at the lowest boundary.
4. 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
7. θ Standard value of branching angle (preferably between 20 and 30 degrees).
Δθ Ratio of standard deviation of branching angleθ (preferably about 0.2).
9. Lmin Minimum value of member length (preferably between 0.1 and
10. θmin 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.
11. Stype Surface type
12. Rx, Ry Center of evading region
13. 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.
1. 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).
2. Let the initial direction be θi=(0,1), (I=1,2,…,Nfp).
3. 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)
3) 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.
4. Update the lists of members and nodes.
5. 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.
Part 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.’
1. E, ν, ρ Elastic modulus, Poisson’s ratio, Weight density (Default
values for steel are given)
2. h Thickness of member; indicates the thickness of flange if Nplate =2. (INPUT FROM KeiRiki-1w)
3. σb Upper-bound stress (Increase (decrease) if the optimal members are too thin
(thick); standard value of steel is given)
4. 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
6. Stype Type of surface (1: Bezier or twisted Bezier, 0: Cube; DO
7. Nmax Number of maximum iterations (Decrease if computational
time is too much.)
8. Dmax Maximum ratio of the occupied area to the total surface
area (Decrease if computational
time is too much.)
9. IC Level of correction after optimization (0: none, 1: low, 2:high; DO NOT
10. 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)
12. 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.
1. Nload Number of loading sets.
2. Iload Set number.
3. 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)
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.