The University of Sheffield
Browse

Example scripts for topology and geometry optimization of gridshells under self-weight loads

software
posted on 2025-05-13, 13:30 authored by Helen FaircloughHelen Fairclough, Karol Bołbotowski, Linwei HeLinwei He, Andrew Liew, Matthew GilbertMatthew Gilbert

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

Usage metrics

    Department of Civil and Structural Engineering

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC