gcs-shape
gcs is a Python library for creating generalized cylindrical shells (GCS).
Science Score: 52.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 8 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
✓Institutional organization owner
Organization bu-shapelab has institutional domain (shape.bu.edu) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.1%) to scientific vocabulary
Keywords
Repository
gcs is a Python library for creating generalized cylindrical shells (GCS).
Basic Info
- Host: GitHub
- Owner: bu-shapelab
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://gcs-shape.readthedocs.org/
- Size: 13.2 MB
Statistics
- Stars: 10
- Watchers: 1
- Forks: 2
- Open Issues: 0
- Releases: 9
Topics
Metadata Files
README.md
gcs is a Python library for creating generalized cylindrical shells (GCS).

GCS are parameterized by 11 values:
| Syntax | Description |
| - | - |
| c4_base | The parameter controlling the size and shape of the base $4$-lobe feature. |
| c8_base | The parameter controlling the size and shape of the base $8$-lobe feature. |
| c4_top | The parameter controlling the size and shape of the top $4$-lobe feature. |
| c8_top | The parameter controlling the size and shape of the top $8$-lobe feature. |
| twist_linear | The rotation (rad) of the top. This creates a linear twist between the base and top. |
| twist_amplitude | The amplitude (rad) of the oscillating twist between the base and top. |
| twist_cycles | The number of cycles of the oscillating twist between the base and top. |
| perimeter_ratio | The ratio between the top and base perimeters. |
| height | The height (mm). |
| mass | The mass (g). |
| thickness | The wall thickness (mm). |
c4 and c8 Relationship
- Adopted from Overvelde and Bertoldi, 2014
twist_linear, twist_amplitude, and twist_cycles Relationship
Download
gcs requires Python version 3.8 (or higher). To install, run the command:
bash
pip install gcs-shape
Requirements
- bentley-ottmann (version: 7.3.0)
- mapbox_earcut (version: 1.0.0 or higher)
- numpy (version: 1.21.5 or higher)
- numpy-stl (version: 2.17.1 or higher)
- pandas (version: 1.4.1 or higher)
- scipy (version: 1.7.3 or higher)
Supported Operating Systems
gcs is operating system independent. The package has been tested on the following operating systems:
- MacOS Ventura 13.4.1
- Ubuntu 22.04
- Windows 10
Quickstart
```python import gcs
Create a generalized cylindrical shell
shape = gcs.GCS(c4base=0.3, c8base=-0.2, c4top=0.4, c8top=-0.3, twistlinear=2, twistamplitude=0.05, twistcycles=3, perimeterratio=1.5, height=20, mass=2.1, thickness=0.48)
Assert the shape is valid
print(shape.valid)
Save shape to STL file
gcs.io.save_mesh(file='shape.stl', shape=shape) ```
Contributing
The contribution guidelines can be found in CONTRIBUTING.md.
Maintainers
Citation
text
@article{Snapp:2024:SuperlativeMechanicalEnergy,
author={Snapp, Kelsey L. and Verdier, Benjamin and Gongora, Aldair E. and Silverman, Samuel and Adesiji, Adedire D. and Morgan, Elise F. and Lawton, Timothy J. and Whiting, Emily and Brown, Keith A.},
title={Superlative mechanical energy absorbing efficiency discovered through self-driving lab-human partnership},
journal={Nature Communications},
year={2024},
month={May},
day={21},
volume={15},
number={1},
pages={4290},
issn={2041-1723},
doi={10.1038/s41467-024-48534-4},
url={https://doi.org/10.1038/s41467-024-48534-4}
}
Owner
- Name: Shape Lab
- Login: bu-shapelab
- Kind: organization
- Website: https://shape.bu.edu
- Twitter: emilyjwhiting
- Repositories: 1
- Profile: https://github.com/bu-shapelab
Where Computation Meets Creativity
Citation (CITATION.bib)
@misc{Snapp2023,
title = {Autonomous Discovery of Tough Structures},
author = {Kelsey L. Snapp and Benjamin Verdier and
Aldair Gongora and Samuel Silverman and
Adedire D. Adesiji and Elise F. Morgan and
Timothy J. Lawton and Emily Whiting and
Keith A. Brown},
year={2023},
eprint={2308.02315},
archivePrefix={arXiv},
}
GitHub Events
Total
- Release event: 1
- Watch event: 4
- Push event: 1
- Pull request event: 2
- Fork event: 3
- Create event: 1
Last Year
- Release event: 1
- Watch event: 4
- Push event: 1
- Pull request event: 2
- Fork event: 3
- Create event: 1
Packages
- Total packages: 1
-
Total downloads:
- pypi 76 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 11
- Total maintainers: 1
pypi.org: gcs-shape
Generalized cylindrical shell library for Python.
- Homepage: https://github.com/bu-shapelab/gcs
- Documentation: https://gcs-shape.readthedocs.io/
- License: MIT
-
Latest release: 1.3.0
published about 1 year ago
Rankings
Maintainers (1)
Dependencies
- bentley-ottmann ==7.3.0
- numpy >=1.21.5
- numpy-stl >=2.17.1
- pandas >=1.4.1
- scipy >=1.7.3
- autopep8 1.6.0.*
- build 0.7.0.*
- mapbox_earcut 1.0.0.*
- matplotlib 3.5.1.*
- numpy 1.21.5.*
- numpy-stl 2.17.1.*
- numpydoc 1.5.0.*
- pandas 1.4.1.*
- pip 21.2.4.*
- pylint 2.12.2.*
- pytest 7.1.2.*
- python 3.9.12.*
- scipy 1.7.3.*
- sphinx 5.0.2.*
- twine 4.0.2.*