COMPUTATIONAL GENERATION OF SHELLS WITH FREE FORM AND REGULAR POLYGONAL PLANTS

The shells are structures which resist mainly by the inherent properties of its forms when they are requested by several actions, enabling constructions extremely slender and different architecture. The property of resistance is even more evident when the shapes of the shells are optimized to obtain the structural behavior in membrane regime with bending stresses no or negligible However, design of free-form shells are complex due to the computational difficulties of its generation, since the three-dimensional structures with shapes optimized of shell cannot be represented by mathematical equations. This paper aims to present a computational approach to facilitate the generation of optimized shapes of shells through the development of a software generator of membranes with different polygonal plants. After the initial modeling of a flat mesh formed by triangular elements and automatically generated, the computational generation of the three-dimensional shapes is performed by means of Finite Element Method considering the membranes subjected to large displacements and large deformations. The software for meshing initial plan through a standard set was developed in C programming language, with capacity to generate information relating to Finite Element Method such as the coordinates and nodal incidence of triangular elements with six degrees of freedom per node. The structures in shell generated through flexible membranes are polygonal projection with a minimum of three sides, and its boundary conditions are the regions of the vertices that remain fixed after the application of the loadings. The various models of optimized shapes depend of the numbers of fixed supports, and are obtained by varying the intensity of the load actions on the membrane. Several models of shapes obtained are presented to corroborate the results obtained.


INTRODUCTION
The generation of optimized shapes of shell structures involves a very complicated mathematical analysis.A computational process to generate free-form shells through simulation of membranes by means of mathematical programming combined with the finite element technique is presented in the paper VIZOTTO [Automation in Construction, 2010].The computational model simulates automatically a flexible membrane, initially in the horizontal plane surface, with any shape and boundary conditions.
In this paper, is presented a computational approach to facilitate the generation of freeform shells with different regular polygonal plants through the development of a software generator of finite element meshes.After the initial modeling of a flat mesh formed by triangular elements and automatically generated, the shell structures obtained from flexible membranes are polygonal projection with a minimum of three sides, and its boundary conditions are the regions of the vertices that remain fixed after the application of the loadings in the structures.

DEVELOPMENT OF SOFTWARE TO GENERATION OF PLANE MESH OF FINITE ELEMENTS TO REGULAR POLYGONS
The idea of software developed in this paper to generate plan membrane is basically determine the mesh projection of any shell in the plane inscribed in a circle of radius predefined.The input of the software is the external radius, the internal radius, the number of divisions of the mesh and the number of fixed nodes for support.The external radius (R) is only one auxiliary parameter that must be greater than the internal radius that in fact is the effective radius of the structure, resulting in the rounded shape of the shell support.The structure span is determined by multiplying the effective radius (Ref) by two.The division of the mesh is established between supports and radially, the latter is limited by the difference between the external and effective radii.The software allows varying the width of the support with a fixed number of nodes which must always be odd to keep the structure symmetric.The work's challenge is create a mesh with the nodes' coordinates and the nodal incidence of elements to any type of polygonal projection in the plane through the same software.For this it is required finding a standard in the mesh to facilitate the implementation of the algorithm for software development.

Identifying the standard for generating of regular polygon
The search for a standard present in any polygon led to exploration of symmetry around a central point.As shown in Figure 1, fixed to the origin of the coordinate system, P1 (0,0) on the center.A next point is obtained at the end of the line segment R, P2 (R, 0), where R is the external radius of the polygon, i.e. the radius of the circle that circumscribing the polygon.The edge formed by the segment connecting the origin to one of the vertices of the polygon contained in X axis, ̅̅̅̅̅̅̅ is subjected to rotation through an angle  in a counterclockwise direction from the origin to determine another point P3 (Rcos, Rsin).The angle  can be expressed by the number of sides with: (1) where N is the number of polygon sides which can vary from 3 without the upper limit.When N is large,  approaches zero and thus can be obtained circular plant to generate domes.With three known points can define a triangle which is the standard basis for the construction of the remaining of polygon through rotations of the first triangle in a counterclockwise direction.Following this pattern, it is not necessary directly determine the coordinates of all mesh nodes, optimizing the computational process.Figure 1 illustrates the standard found in three polygons represented with three, four and five sides.

Coordinates of nodal points
For determining the coordinates of the nodal points of the finite element mesh membrane in the xy plane it is necessary to know the discretization mesh pattern.Keeping the standard described above, divide the angle  in smaller equals angles  o .This operation is an angular division, and angle  o can be determined by: (2) where N a is a number of angular divisions.
Another division of mesh composition is the radial division represented by Nr, which divide the external radius, R in smaller parts of length, r o as following: (3) Other important information to determine the coordinates is the angle,  formed between the segment ( ̅̅̅̅̅̅̅̅̅ and the segment ̅̅̅̅̅̅̅̅̅ .Another way  is the complement of  and is written as: (4) From the information obtained in the equations 1-4 can be determined coordinates (x, y) of each nodal point of the mesh to the first triangle by intersections of lines.These lines are defined in two groups: the lines through the origin with slopes obtained with the  o increments, and the lines parallel to the segment ̅̅̅̅̅̅̅ , i.e. with slope  and linear coefficients defined from increments r o.The equations of these lines are expressed by: where, (7) (8) with j e k represented by positive integers.
Equating equations ( 5) and (6), has: As  is always different from zero, then its complement is always different from 90 ° (ninety degrees), so that the above equation ( 9) is satisfied.But the angle can be equal to 90° depending on the number of angular divisions, for this case, x i should receive the value 0 (zero).However this occurs only for the three-sided polygon, because it is the only case that the internal angle is greater than 90 °.Substituting the value obtained from (9) in (5) can be obtained values y i .The others ordered pairs for the first triangle are determined by varying e within the respective intervals.For all other points of the polygon, the coordinates are calculated by rotating the point with the same angle by  as shown in Figure 2. Generically,

(√ ) (√ )
Repeating this procedure for the number of faces of the polygon, for all points of the first triangle to determine coordinates of all the nodal points of the mesh of the polygon in the plane.Figures 3 and 4 illustrate the coordinates obtained for some polygons.

Automatic numbering of nodal points
The numbering of nodal points starts from the center to the edges in a counterclockwise direction starting at the edge coincident positive x-axis.The exception is the central nodal point will be the last in the numbering to facilitate the algorithm.The identification numbers of each point are saved in a matrix .The number of columns of the matrix is equal to the number of radial divisions and the number of rows is determined by the product of the angular division by the number of polygon sides, i.e. the matrix stores in the same line the numbers for all nodal points belonging the line segment with slope , with this, all the nodal points of the first triangle defined as standard base of the polygon are numbered and this process is repeated N times, until all points are numbered.Thus, the same sequence established for calculation of the coordinates is used for numbering of the nodal points so as to simplify the algorithm in software.Maintaining this sequence, determining the nodal incidence of the elements is facilitated, since the matrix of nodal numeration always present the same pattern independently of the type of polygon.The nodal numbering for a small polygon example is shown in Figure 5.The total number of nodal points of the mesh is calculated by: where, col and lin are respectively the numbers of columns and rows of the matrix of nodal numbering.Any nodal point of matrix can be determined from: with i and j represented by positive integers, such that:

Numbering of elements and nodal incidence
Triangular finite elements were adopted for the composition of the mesh.The numbering is done in pairs with the same sequence as the numbering of the nodal points, with the exception of the central elements that are numbered latter.The total number of mesh elements and the number of nodal points is determined by the number of surfaces and divisions radial and between supports and can be calculated by: The incidence is determined for each element in a counterclockwise direction, as well as the numbering of elements and in pairs.Using the matrix of the nodal points , to determine the incidence of each element, because, as explained above, the matrix will always have the same pattern independently of the polygon and this turns possible to develop only one algorithm capable of determining the incidence of the nodal elements of any configuration.These data are stored in an incidence matrix .The general form of is presented below: with .
The expressions 16 and 17 determine the three nodal points of each element in pairs with the exception of the central elements that have in common the last numbered point (NNOS) and are determined last.

Support constraints
Since the ultimate objective is to determine the deformed membrane in which are known the coordinates of nodal points and the incidence nodal of the elements, it is necessary to determine the nodal points of support, for not moving while load is applied on the membrane.
The supports are located at the vertices of the polygon; however it is not recommended that only one nodal point is set for support, because the region of support is related to stress concentration.To minimize this effect, the software allows to extend support, considering more than one nodal point fixed per support.This information is another input for the software.To maintain symmetry, it is recommended that the number of fixed points of support is an odd number so that it is regarded the vertex, and the ends immediately preceding and immediately following the edges in counterclockwise.The software finds the wanted nodal points through the matrix of the nodal points and applying restrictions of displacement in all three directions and leaving them free to rotate.

Mitigation of the vertices of the polygon
The polygons with less side, i.e., with the internal angles smaller, membranes exhibit unwanted shaped support in order to avoid this problem it is defined an effective radius (Ref) that turns rounded the vertex of the polygon.
A care must be taken in the radial division, for the program does not generate coordinates outside the effective radius.This care is the smallest division of R cannot be less than or equal to the difference between the rays, because then the software would generate an element outside the projection of the effective radius or with the null area.Then: The coordinates near the vertices are recalculated through the intersection of straight lines with slope with the circular curve of effective radius.Thus, if do not want to consider the effective radius, simply enter the software with external radius equals to effective.As the coordinates calculated on the basis in Ref are smaller than the calculated normally only for the vertices, the software compares the coordinates of Ref to the edge of the polygon with coordinates previously calculated as a function of R, and adopting the smaller in absolute value.Figure 6 shows the smoothing of vertices to plant a quadrangle and a pentagon respectively.

COMPUTATIONAL MODEL DEVELOPED BY VIZOTTO
After generation of the membrane polygonal shape in plan, is used in an integrated way the software developed by Vizotto [2010] for generating free-form shell.
The hypothesis adopted for the material is a linear stress-strain relationship and, with Young's modulus E and Poisson's ratio , the linear constitutive relationship is: with σ and ε vectors and D matrix for the plane state of stress given by:   The finite element adopted was the CST (Constant Strain Triangle), in which the hypothesis of strain and the stress constant are considered.The element was modified to enable displacements orthogonal to its plane, resulting in an element with nine degrees of freedom, three displacements by nodal point at the vertices of the triangle.The initial configuration of the element is represented in the xy plane of the tri-orthogonal system of reference adopted, which, after deformation, occupies a final equilibrium position in the Oxyz system.The nodal variables are the displacements of translation u k (k=1, …, 9) in x, y, and z directions, as shown in Figure .7.The interpolating functions from using the coordinates x and y for the displacement field on the domain of the element are given by: with expressions  k ,  k and  k (k=1, 2, 3) written as functions of the initial coordinates and displacements of the nodal points of the element.
In this computational model, can be considered the actions of self-weight, concentrated forces, uniformly and linearly distributed forces, and uniform pressure.It is also possible to impose known displacements to the membrane to obtain geometric shapes simply by distorting the initial configuration.
The concentrated forces can be applied on the nodal points in x, y and z directions.The simulation effect due to self-weight and forces uniformly distributed can be applied only on the element in a vertical line (direction of z-axis).The pressure forces always act perpendicularly to the element surface from initial configuration, in which loading begins to act, through to final equilibrium configuration.
As boundary conditions it is possible to impose any displacements (zero or nonzero) to the finite element nodal points.Thus, for a given nodal point, can be simulated from the full freedom of movement to a complete fixed support, and also impose prescribed displacements (nonzero) to provide various configurations for the equilibrium of structures.Considering the plane stress state for homogeneous and isotropic materials with quadratic strain definition of Green (in which large displacements and large strains in exact approach are assumed), the strain components can be written as: (26)  Defining V as the element undeformed volume and considering the element to have constant thickness, the potential strain energy (u) can be written as: The Gradient of potential strain energy, known as the internal forces vector, and the Hessian of potential strain energy, known as the stiffness matrix connected to the internal forces vector, can be computed with vector component derivatives helping in the calculation of the nodal displacements.Thus: (31) Under the principle of minimum total potential energy, steady equilibrium positions correspond to the local minimum points of the total potential energy function.By applying mathematical techniques to optimize nonlinear functions, it is possible to determine such local minimum points.
The model considered here presents two distinct situations.The first relates to structures with total potential energy known.The second relates to structures without total potential energy.
When the total potential energy function exists, the stable equilibrium configurations correspond to local minimum points of this function.It is advisable to use a quasi-Newtontype method to find these local minima.When the total potential energy function does not exist, it is advisable to use an incremental Newton-Raphson-type method to find nonlinear system solutions for equations given by the equilibrium equations: This process of optimized form finding results directly in numerical data derived from the generated shape, which can be further processed in a structural analysis.

RESULTS
The results obtained with the software developed are the finite element meshes of flat membranes for regular polygons.The software generator of membrane appears efficient to be able to generate any polygonal, however the description of the mesh should be improved so that elements close to the origin of the coordinate system are not adopted with flattened shapes.
Integration with the software developed by Vizotto for generating free-form shells enables the analysis of the membranes to generate the three-dimensional shapes.The proof of these results can be verified through the images of the membranes in the plan and its respective spatial form.Were generated membranes with plants triangular, quadrangle, pentagonal, hexagonal, heptagonal, octagonal, enneagonal, decagonal, hectagonal which are presented respectively in Figures 8-16

Figure 1 :
Figure 1: Outline of the pattern found in software development.

Figure 2 :
Figure 2: General scheme of rotation of the coordinates.

Figure 5 :
Figure 5: Numbering scheme for the nodal points to pentagonal plant.

Figure 6 :
Figure 6: Scheme of mitigated nodal coordinates of vertices (a) quadrangle and (b) pentagonal.

Figure 8 :
Figure 8: (a) Representation in the plane of the triangular membrane; (b) three dimensional view of the shell; (c) Front view of shell with triangular plant.

Figure 9 :
Figure 9: (a) Representation in the plane of the quadrangle membrane; (b) three dimensional view of the shell; (c) Front view of shell with quadrangle plant.

Figure 10 :
Figure 10: (a) Representation in the plane of the pentagonal membrane; (b) three dimensional view of the shell; (c) Front view of shell with pentagonal plant.

Figure 11 :
Figure 11: (a) Representation in the plane of the hexagonal membrane; (b) three dimensional view of the shell; (c) Front view of shell with hexagonal plant.

Figure 12 :
Figure 12: (a) Representation in the plane of the heptagonal membrane; (b) three dimensional view of the shell; (c) Front view of shell with heptagonal plant.

Figure 13 :
Figure 13: (a) Representation in the plane of the octagonal membrane; (b) three dimensional view of the shell; (c) Front view of shell with octagonal plant.

Figure 14 :
Figure 14: (a) Representation in the plane of the enneagonal membrane; (b) three dimensional view of the shell; (c) Front view of shell with enneagonal plant.

Figure 15 :
Figure 15: (a) Representation in the plane of the decagonal membrane; (b) three dimensional view of the shell; (c) Front view of shell with decagonal plant.

Figure 16 :
Figure 16: (a) Representation in the plane of the hectagonal membrane; (b) three dimensional view of the shell; (c) Front view of shell with hectagonal plant.