Skip to main content

Adaptive topology optimization of fail-safe trusses

Project description

LayOpt

pre-commit.ci status Actions Status Documentation Status

GitHub Discussion

Coverage

LayOpt is a Python package for topology optimisation of fail-safe trusses developed by the Integrated Civil and Infrastructure Research Centre at The University of Sheffield. For more detailed information about the software please see our website.

Installation

Virtual Environment

It is recommended that you use a Python Virtual Environment to install LayOpt. There are many options available but a good choice, used in the development of LayOpt, is uv. Create a directory for your work and after installing uv create a virtual environment.

# Create a directory
mkdir LayOpt
# Change directory
cd LayOpt
# Create a virtual Environment
uv venv

PyPI

Layopt is available on PyPI. Ideally you should use a Python Virtual Environment (see above).

# Plain virtual environment
pip install layopt
# uv virtual environment
uv pip install layopt

Pre-releases

If you wish to try pre-releases, denoted by suffixes of the form a# for alpha releases, b# for beta and rc# for release candidates you should include the specific version when calling pip. For example to install the 0.1.0a1 (first alpha release of version 0.1.0) you would use...

# Plain virtual environment
pip install layopt==0.1.0a1
# uv virtual environment
uv pip install layopt==0.1.0a1

GitHub

You can use pip to install the package directly from GitHub. This allows you to install a specific branch or commit to test out new functionality that is under development. In your Virtual Environment run...

# Install from HEAD of main branch
pip install git@https://github.com/ICAIR-Sheffield/LayOpt
# Install a specific <branch>
pip install git@https://github.com/ICAIR-Sheffield/LayOpt.git@<branch>

Development

Contributions are welcome. If you are considering contributing to the development of LayOpt and are not a collaborator of the repository then you should fork to your account first and then clone from there.

To find out how to contribute please see our Contributing page

Documentation

We use the Material for Mkdocs static site generator to build a website. This is deployed on GitHub Pages.

Citing

To cite this software please refer to the CITATION.cff included in this repository.

Publications

  • Fairclough H.E., He L., Asfaha T.B., Rigby S. (2023) Adaptive topology optimization of fail-safe truss structures Structural and Multidisciplinary Optimization 66(7)148 doi:10.1007/s00158-023-03585-x
  • He L., Gilbert M., Song X. (2019) A Python script for adaptive layout optimization of trusses Structural and Multidisciplinary Optimization 60(2) 835-847 doi:10.1007/s00158-019-02226-6

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

layopt-0.0.1a1.tar.gz (876.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

layopt-0.0.1a1-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file layopt-0.0.1a1.tar.gz.

File metadata

  • Download URL: layopt-0.0.1a1.tar.gz
  • Upload date:
  • Size: 876.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for layopt-0.0.1a1.tar.gz
Algorithm Hash digest
SHA256 23bcbf83feb208ac29e5a9e3fd1f875b977adb5bb56fc22706c9796b172f2cb8
MD5 cb1631e10d4c64f50447c08c0e86c6c4
BLAKE2b-256 16ed245db95e3f8c059de4c49e43be6426604b9ebdfcea7c51f79bbd7300431f

See more details on using hashes here.

Provenance

The following attestation bundles were made for layopt-0.0.1a1.tar.gz:

Publisher: pypi.yaml on ICAIR-Sheffield/LayOpt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file layopt-0.0.1a1-py3-none-any.whl.

File metadata

  • Download URL: layopt-0.0.1a1-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for layopt-0.0.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f0f32c1e5d4974ffa2a0dba37511d4f1958fd83a1f65f930bcf0a51b724bcbc
MD5 3b7ce3784d157f0a5825fc2504bcc99c
BLAKE2b-256 3b3396f577dbb4cba748dbd42c98acd060f5706b74c8c1c7dfe7d7179bf5a71b

See more details on using hashes here.

Provenance

The following attestation bundles were made for layopt-0.0.1a1-py3-none-any.whl:

Publisher: pypi.yaml on ICAIR-Sheffield/LayOpt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page