Coupled Rigid-Block Analysis (CRA) implementation using COMPAS framework.
developed with ♥ by Gene Ting-Chun Kao
pip install compas_craNothing 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
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.
@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}
}@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},
}https://blockresearchgroup.github.io/compas_cra
See examples in docs or try them in docs/examples.
