Example scripts for topology and geometry optimization of gridshells under self-weight loads
Supplementary codes for the paper "Topology and geometry optimization of grid-shells under self-weight loading"
Contents:
Square_examples.gh
A grasshopper file (for Rhino/Grasshopper) which solves the problem in Fig 9c of the paper.
Options within the file also allow solving of the examples throughout Sections 4.1, 4.2 and 4.3 of the paper.
Hole_example.gh
A grasshopper file (for Rhino/Grasshopper) which solves the problem in Section 4.4 of the paper.
vaultopt.py
A standalone Python file which can take its configuration from a txt file containing lists of nodes and elements, or can use Python to directly build the required lists. It contains configurations to obtain the solution of Fig 9c (from scratch) or can use the files described below to solve the problems in Sections 4.4 and 4.5.
Hole.txt
Nodes and elements for the example in in Section 4.4 of the paper. (For use with vaultopt.py)
Intersecting.txt
Nodes and elements for the example in in Section 4.5 of the paper. (For use with vaultopt.py)
The format of the input files (e.g. Hole.txt or Intersecting.txt) consists of 4 sections, in the following order:
1. Any number of header lines (no restrictions, but must not start the line with "[")
2. Any number of node definitions, each line enclosed in square brackets.
Data columns are separated by commas. Order of data is:
- x coordinate of point
- y coordinate of point
- Applied force in x direction
- Applied force in y direction
- Applied force in z direction
- Supported in x direction (0 = yes, 1 = no)
- Supported in y direction (0 = yes, 1 = no)
- Supported in z direction (0 = yes, 1 = no)
3. Any number of header lines (no restrictions, but must not start the line with "[")
4. Any number of element definitions, each line enclosed in square brackets.
Data columns are separated by commas. Order of data is:
- Index of start node
- Index of end node
- In-plane length of element
- Active in first iteration? ("True" or "False")
Rhino/Grasshopper files have been constructed in Rhino 8.7 and Grasshopper 1.0
Python files have been tested with Python 3.11
History
Ethics
- There is no personal data or any that requires ethical approval
Policy
- The data complies with the institution and funders' policies on access and sharing
Sharing and access restrictions
- The uploaded data can be shared openly
Data description
- The file formats are open or commonly used
Methodology, headings and units
- There is a file including methodology, headings and units, such as a readme.txt
- Headings and units are explained in the files
Responsibility
- The depositor is responsible for the content and sharing of the attached files