Skip to main content

COMPAS CRA

build GitHub - License pip downloads PyPI - Python Version PyPI - Latest Release DOI

Coupled Rigid-Block Analysis (CRA) implementation using COMPAS framework.

developed with by Gene Ting-Chun Kao

Installation

pip install compas_cra

Nothing else is needed on Windows, macOS (Apple Silicon and Intel) or Linux: the wheels bundle a statically linked IPOPT 3.14.19 executable (Eclipse Public License 2.0, MUMPS linear solver, no HSL), built from source by packaging/. See packaging/README.md for how it is built and which licenses apply, and the installation docs for development installs.

To find out more about CRA, please refer to our paper in the CAD Computer-Aided Design journal: https://doi.org/10.1016/j.cad.2022.103216

Coupled Rigid-Block Analysis: Stability-Aware Design of Complex Discrete-Element Assemblies

image

Abstract

The rigid-block equilibrium (RBE) method uses a penalty formulation to measure structural infeasibility or to guide the design of stable discrete-element assemblies from unstable geometry. However, RBE is a purely force-based formulation, and it incorrectly describes stability when complex interface geometries are involved. To overcome this issue, this paper introduces the coupled rigid-block analysis (CRA) method, a more robust approach building upon RBE’s strengths. The CRA method combines equilibrium and kinematics in a penalty formulation in a nonlinear programming problem. An extensive benchmark campaign is used to show how CRA enables accurate modelling of complex three-dimensional discrete-element assemblies formed by rigid blocks. In addition, an interactive stability-aware design process to guide user design towards structurally-sound assemblies is proposed. Finally, the potential of our method for real-world problems are demonstrated by designing complex and scaffolding-free physical models.

Please cite our work if you use CRA in your research

Paper

@article{kao2022coupled,
    title     = {Coupled Rigid-Block Analysis: Stability-Aware Design of Complex Discrete-Element Assemblies},
    author    = {Kao, Gene Ting-Chun and Iannuzzo, Antonino and Thomaszewski, Bernhard and Coros, Stelian and Van Mele, Tom and Block, Philippe},
    journal   = {Computer-Aided Design},
    volume    = {146},
    pages     = {103216},
    year      = {2022},
    publisher = {Elsevier},
    doi       = {10.1016/j.cad.2022.103216},
    url       = {https://doi.org/10.1016/j.cad.2022.103216}
}

Software implementation

@misc{compas-cra,
    title  = {{COMPAS CRA}: Coupled Rigid-Block Analysis ({CRA}) for the {COMPAS} framework},
    author = {Kao, Gene Ting-Chun},
    note   = {https://github.com/BlockResearchGroup/compas\_cra},
    year   = {2020-2022},
    doi    = {10.5281/zenodo.7043135},
    url    = {https://doi.org/10.5281/zenodo.7043135},
}

Read the docs

https://blockresearchgroup.github.io/compas_cra

Examples to reproduce our paper results

See examples in docs or try them in docs/examples.

Download files

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

Source Distribution

compas_cra-0.6.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

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

compas_cra-0.6.0-py3-none-win_amd64.whl (13.6 MB view details)

Uploaded Python 3Windows x86-64

compas_cra-0.6.0-py3-none-manylinux_2_28_x86_64.whl (9.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

compas_cra-0.6.0-py3-none-manylinux_2_28_aarch64.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

compas_cra-0.6.0-py3-none-macosx_11_0_x86_64.whl (3.4 MB view details)

Uploaded Python 3macOS 11.0+ x86-64

compas_cra-0.6.0-py3-none-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file compas_cra-0.6.0.tar.gz.

File metadata

  • Download URL: compas_cra-0.6.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for compas_cra-0.6.0.tar.gz
Algorithm Hash digest
SHA256 58be291ca0de250acaf62e5b97e6935620c56b4427f235e4fe0ce3cebb3948f3
MD5 ec1e274d000514c186a73f7a9e8741f1
BLAKE2b-256 5be023a80fbe4699081a99b8627e5bf395c381e2f04995c48efd0b5094843c37

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_cra-0.6.0.tar.gz:

Publisher: wheels.yml on BlockResearchGroup/compas_cra

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

File details

Details for the file compas_cra-0.6.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: compas_cra-0.6.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 13.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for compas_cra-0.6.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7c0864f7a434d6cab325c3696ed01707716cd9864e44ad0a5cb65810c8627b77
MD5 0a9a0db1a5d2ac2eb29ff81c33fd9c5a
BLAKE2b-256 d5826481d49724538bdd52b34762c49f8161c7cbe3d1dfc83381bf6b480589af

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_cra-0.6.0-py3-none-win_amd64.whl:

Publisher: wheels.yml on BlockResearchGroup/compas_cra

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

File details

Details for the file compas_cra-0.6.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for compas_cra-0.6.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffdbbbddfc52e7dda0f4c20626fc847e8dd229015d695eb78b0a960146a4ff25
MD5 3a5d9fc96b6cd2951d11d311db0e3a36
BLAKE2b-256 9f9ec855e1702522607750c982c67410c15a90293c984210c96148fc5fa6bc98

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_cra-0.6.0-py3-none-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on BlockResearchGroup/compas_cra

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

File details

Details for the file compas_cra-0.6.0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for compas_cra-0.6.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f0316a6f95b46087028a2232cc1da73ebdf5f127e38764315e09f69fd6f42d1c
MD5 fcc8a8f16b08cada60e1178ee7178550
BLAKE2b-256 70346aa3bfdf1e1ce74a26a8d35ed948017378a7b64f1c4de6fb0996f2c38212

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_cra-0.6.0-py3-none-manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on BlockResearchGroup/compas_cra

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

File details

Details for the file compas_cra-0.6.0-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for compas_cra-0.6.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5cb7cda7a9bbee4cdc5b6c866ed5cb1fd4d8ccfc4fcd70991bd1fd6cf7db1cf8
MD5 2b5d9d21a8d60c5b598592808e27cc05
BLAKE2b-256 7dffb288a3081c29231eaa89339442a55708ac48353751c01e3c98a9b149450b

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_cra-0.6.0-py3-none-macosx_11_0_x86_64.whl:

Publisher: wheels.yml on BlockResearchGroup/compas_cra

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

File details

Details for the file compas_cra-0.6.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for compas_cra-0.6.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c36f0d7a1c3fa5c9434688c06ebb43e2d19a76c86bd771f42c73230e1d2f162e
MD5 30f9c642f844b5f5a99dd1610a668907
BLAKE2b-256 6f54b36e4fc97aefb0f0046e42304870071426dcfc8648214f8fdccbf1064b10

See more details on using hashes here.

Provenance

The following attestation bundles were made for compas_cra-0.6.0-py3-none-macosx_11_0_arm64.whl:

Publisher: wheels.yml on BlockResearchGroup/compas_cra

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

Release history Release notifications | RSS feed

0.8.0

26 files

This release

0.6.0 This release

6 files

0.4.0

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page