diff --git a/gitbook/.gitbook/assets/armadillo-blocks_viewer.png b/gitbook/.gitbook/assets/armadillo-blocks_viewer.png new file mode 100644 index 0000000..9f572f6 Binary files /dev/null and b/gitbook/.gitbook/assets/armadillo-blocks_viewer.png differ diff --git a/gitbook/.gitbook/assets/armadillo-connectivity_viewer.png b/gitbook/.gitbook/assets/armadillo-connectivity_viewer.png new file mode 100644 index 0000000..e2acd09 Binary files /dev/null and b/gitbook/.gitbook/assets/armadillo-connectivity_viewer.png differ diff --git a/gitbook/.gitbook/assets/armadillo-interfaces_viewer.png b/gitbook/.gitbook/assets/armadillo-interfaces_viewer.png new file mode 100644 index 0000000..fb24f58 Binary files /dev/null and b/gitbook/.gitbook/assets/armadillo-interfaces_viewer.png differ diff --git a/gitbook/.gitbook/assets/armadillo_breps_ghosted.png b/gitbook/.gitbook/assets/armadillo_breps_ghosted.png new file mode 100644 index 0000000..7a4387e Binary files /dev/null and b/gitbook/.gitbook/assets/armadillo_breps_ghosted.png differ diff --git a/gitbook/.gitbook/assets/compas-ui.gif b/gitbook/.gitbook/assets/compas-ui.gif new file mode 100644 index 0000000..ac1da5a Binary files /dev/null and b/gitbook/.gitbook/assets/compas-ui.gif differ diff --git a/gitbook/.gitbook/assets/image (1).png b/gitbook/.gitbook/assets/image (1).png new file mode 100644 index 0000000..e51d7e9 Binary files /dev/null and b/gitbook/.gitbook/assets/image (1).png differ diff --git a/gitbook/.gitbook/assets/image (10).png b/gitbook/.gitbook/assets/image (10).png new file mode 100644 index 0000000..d3d1e7e Binary files /dev/null and b/gitbook/.gitbook/assets/image (10).png differ diff --git a/gitbook/.gitbook/assets/image (11).png b/gitbook/.gitbook/assets/image (11).png new file mode 100644 index 0000000..33e68d9 Binary files /dev/null and b/gitbook/.gitbook/assets/image (11).png differ diff --git a/gitbook/.gitbook/assets/image (12).png b/gitbook/.gitbook/assets/image (12).png new file mode 100644 index 0000000..710cfe0 Binary files /dev/null and b/gitbook/.gitbook/assets/image (12).png differ diff --git a/gitbook/.gitbook/assets/image (13).png b/gitbook/.gitbook/assets/image (13).png new file mode 100644 index 0000000..b8c42c4 Binary files /dev/null and b/gitbook/.gitbook/assets/image (13).png differ diff --git a/gitbook/.gitbook/assets/image (14).png b/gitbook/.gitbook/assets/image (14).png new file mode 100644 index 0000000..2ab05a6 Binary files /dev/null and b/gitbook/.gitbook/assets/image (14).png differ diff --git a/gitbook/.gitbook/assets/image (15).png b/gitbook/.gitbook/assets/image (15).png new file mode 100644 index 0000000..9daadbc Binary files /dev/null and b/gitbook/.gitbook/assets/image (15).png differ diff --git a/gitbook/.gitbook/assets/image (16).png b/gitbook/.gitbook/assets/image (16).png new file mode 100644 index 0000000..de4301c Binary files /dev/null and b/gitbook/.gitbook/assets/image (16).png differ diff --git a/gitbook/.gitbook/assets/image (2).png b/gitbook/.gitbook/assets/image (2).png new file mode 100644 index 0000000..e639b49 Binary files /dev/null and b/gitbook/.gitbook/assets/image (2).png differ diff --git a/gitbook/.gitbook/assets/image (3).png b/gitbook/.gitbook/assets/image (3).png new file mode 100644 index 0000000..065bc77 Binary files /dev/null and b/gitbook/.gitbook/assets/image (3).png differ diff --git a/gitbook/.gitbook/assets/image (4).png b/gitbook/.gitbook/assets/image (4).png new file mode 100644 index 0000000..e639b49 Binary files /dev/null and b/gitbook/.gitbook/assets/image (4).png differ diff --git a/gitbook/.gitbook/assets/image (5).png b/gitbook/.gitbook/assets/image (5).png new file mode 100644 index 0000000..fb9f464 Binary files /dev/null and b/gitbook/.gitbook/assets/image (5).png differ diff --git a/gitbook/.gitbook/assets/image (6).png b/gitbook/.gitbook/assets/image (6).png new file mode 100644 index 0000000..1e7258c Binary files /dev/null and b/gitbook/.gitbook/assets/image (6).png differ diff --git a/gitbook/.gitbook/assets/image (7).png b/gitbook/.gitbook/assets/image (7).png new file mode 100644 index 0000000..18aee3d Binary files /dev/null and b/gitbook/.gitbook/assets/image (7).png differ diff --git a/gitbook/.gitbook/assets/image (8).png b/gitbook/.gitbook/assets/image (8).png new file mode 100644 index 0000000..c035f6a Binary files /dev/null and b/gitbook/.gitbook/assets/image (8).png differ diff --git a/gitbook/.gitbook/assets/image (9).png b/gitbook/.gitbook/assets/image (9).png new file mode 100644 index 0000000..de4301c Binary files /dev/null and b/gitbook/.gitbook/assets/image (9).png differ diff --git a/gitbook/.gitbook/assets/image.png b/gitbook/.gitbook/assets/image.png new file mode 100644 index 0000000..cbe9969 Binary files /dev/null and b/gitbook/.gitbook/assets/image.png differ diff --git a/gitbook/.gitbook/assets/try_crossvault_blocks-rhino.png b/gitbook/.gitbook/assets/try_crossvault_blocks-rhino.png new file mode 100644 index 0000000..6ebb750 Binary files /dev/null and b/gitbook/.gitbook/assets/try_crossvault_blocks-rhino.png differ diff --git a/gitbook/README.md b/gitbook/README.md new file mode 100644 index 0000000..ad051a9 --- /dev/null +++ b/gitbook/README.md @@ -0,0 +1,71 @@ +--- +description: Practical Assessment Tools for Historic Masonry Structures +--- + +# COMPAS Masonry + +{% hint style="warning" %} +Note that this website is under construction and will be updated frequently! +{% endhint %} + +[![DOI](https://zenodo.org/badge/458133035.svg)](https://zenodo.org/badge/latestdoi/458133035) + +**COMPAS Masonry** is a computational toolbox for the stability assessment of historic masonry structures under various loading conditions. + +The assessment and preservation of (historic) masonry structures is a complex engineering problem that requires specific analysis tools and collaboration between various experts to determine if a structure is still safe, especially after significant settlements or changing boundary conditions. + +COMPAS Masonry integrates different numerical analysis methods in a unified framework, offering a wide range of assessment options to both academic researchers and professional engineers. + +## Open source collaboration + +COMPAS Masonry is built on top of [COMPAS](https://compas.dev/), an open-source framework for research and collaboration in Architecture, Engineering, Fabrication, and Construction. + +Like COMPAS, COMPAS Masonry is entirely open source and free and based on peer-reviewed, state-of-the-art research. + +## AEC Software + +COMPAS Masonry is developed independently of CAD applications. As a result, it can be integrated with different CAD software. Currently, implementations are available for Rhino 6+ and Blender. + +

Compas TNO in Rhinoceros finding admissible stress states in vaulted masonry structures.

+ +Beyond CAD applications, COMPAS masonry user interface is also available through a standalone UI, enabling the structural analysis entirely from Python. + +![Equilibrium of two blocks computed with COMPAS RBE visualised in the Python Viewer](.gitbook/assets/compas-ui.gif) + +## Data structure + +COMPAS Masonry offers a data management structure which makes it easy to work with discrete masonry elements. + +From the point of view of geometry, having multiple discrete elements bring a layer of geometric complexity which is dealt with by the data structure developed. Furthermore, COMPAS Masonry enables data exchange between solvers and stores various masonry mechanics properties. + +## Working with real data + +Geometry acquisition is a big challenge when assessing masonry structures. This acquisition is usually the result of laser scan and photogrammetry processes, which are not directly integrated with the structural analysis. COMPAS Masonry has specific algorithms and routines that ease this conversion process and allows working with surveyed data such as point clouds. + +![Point Cloud Survey of the dome in the Santo Agostino Church, Anagni, Italy. Courtesy P. Fuentes and S. Guerra, 2019.](<.gitbook/assets/image (12).png>) + +## Parametric Geometries + +As an alternative to surveyed data, parametric geometry models are crucial for assessing existing structures or for more theoretical research studies on masonry. For this purpose, inside COMPAS Masonry, the parametric models for generating the most common historical structural typologies have been implemented. Staggered walls, rounded or pointed arches, pavilion and cross vaults, and domes can be quickly generated with a varying span, thickness, springing angles, and block dimensions. + +![Parametric Geometries created wth COMPAS masosnry correspsonding to commom masonry typologies.](https://lh5.googleusercontent.com/ilnXqOKT6xmuz\_Zc4v8bbHFbRNsKUeDNM6PJj1b3Wr\_PINhDyU\_Nd6tZzY3rVc\_xGPcHX-l-O9KwTrbY7zMf324J\_b61K7maa3yNsyfxlnhmg8r7t1DstoOAv7KLXB4kB4m2qW2d) + +## **State-of-the-art equilibrium solvers** + +Within the COMPAS Masonry project, a series of state-of-the-art equilibrium solvers has been developed and implemented. Among these solvers are Rigid-Block equilibrium (RBE), Coupled Rigid-Block Analysis (CRA), Piecewise-Rigid Displacement (PRD), and Thrust Network Analysis (TNA). + +![Extensions of COMPAS associated with COMPAS Masonry.](<.gitbook/assets/image (5).png>) + +These solvers are developed in separated sub-packages and integrated through COMPAS Masonry. For more information about each solver, visit our [solvers page](broken-reference). + +## Interface with professional software + +COMPAS masonry can provide an interface to professional software such as the Discrete Element Modelling software 3DEC by Itasca. 3DEC files with geometrical data and the analysis setup can be directly generated through COMPAS masonry. Moreover, after the analysis, 3DEC results can be post-processed using customised scripts and visualised together with the deformed geometry in the COMPAS viewer or other CAD software, plotting useful information for the structural assessment. + +

Collapse of pavillion vault after support displacements. (Dell'Endice et al., 2021)

+ +More details about the development of such application can be found in the [professional software page](broken-reference). + +## Funding + +The present work was supported by the SNSF - Swiss National Science Foundation. Project grant n 178953: “Practical Stability Assessment Strategies for Vaulted Unreinforced Masonry Structures”. More details about the research output of this project are available [here](additional-info/snsf-project.md). diff --git a/gitbook/SUMMARY.md b/gitbook/SUMMARY.md new file mode 100644 index 0000000..dd9647e --- /dev/null +++ b/gitbook/SUMMARY.md @@ -0,0 +1,36 @@ +# Table of contents + +* [COMPAS Masonry](README.md) + +## Quickstart + +* [Installation](quickstart/installation.md) +* [Tutorial](quickstart/tutorial.md) + +## Assemblies + +* [Dome](assemblies/dome.md) +* [Cross Vault](assemblies/cross-vault.md) +* [Pavilion Vault](assemblies/pavilion-vault.md) +* [Armadillo Vault](assemblies/armadillo-vault.md) +* [Striatus](assemblies/striatus.md) + +## Analysis Methods + +* [Rigid Block Equilibrium](analysis-methods/rigid-block-equilibrium.md) +* [Coupled Rigid Block Analysis](analysis-methods/coupled-rigid-block-analysis.md) +* [Piecewise Rigid Displacement](analysis-methods/piecewise-rigid-displacement.md) +* [Thrust Network Analysis](analysis-methods/thrust-network-analysis.md) +* [Discrete Element Method](analysis-methods/discrete-element-method.md) + +## Documentation + +* [User Guide](documentation/user-guide.md) +* [Developer Guide](documentation/developer-guide.md) + +## Additional Information + +* [SNSF Project](additional-info/snsf-project.md) +* [Publications](additional-info/publications.md) +* [Workshops](additional-info/workshops.md) +* [Presentations](additional-info/presentations.md) diff --git a/gitbook/additional-info/presentations.md b/gitbook/additional-info/presentations.md new file mode 100644 index 0000000..fc2f97d --- /dev/null +++ b/gitbook/additional-info/presentations.md @@ -0,0 +1,14 @@ +# Presentations + +A few selected workshops executed during the development of COMPAS Masonry are listed here. + +## Presentations in the Structural Analysis of Historic Structures conference (SAHC 2020/2021) + +Three papers using COMPAS Masonry were submited to the SAHC 2020/2021 conference which took place virtually in Barcelona. Some of the talks recorded are available here For the full access to the papers, please go to the [Publications](publications.md) page. + +{% embed url="https://www.youtube.com/watch?v=tdLhCW0VGHA" %} + + + +{% embed url="https://www.youtube.com/watch?v=qogBzw9oWGw" %} + diff --git a/gitbook/additional-info/publications.md b/gitbook/additional-info/publications.md new file mode 100644 index 0000000..6bc2407 --- /dev/null +++ b/gitbook/additional-info/publications.md @@ -0,0 +1,27 @@ +# Publications + +A list with the publications originated from the COMPAS Masonry project is available below. By following the specfied links the publications can be downloaded. + +### Publications + +1. Kao, G. T. C., Iannuzzo, A., Thomaszewski, B., Coros, S., Van Mele, T., & Block, P. (2022). Coupled Rigid-Block Analysis: Stability-Aware Design of Complex Discrete-Element Assemblies. Computer-Aided Design, 103216. \[[link](https://www.sciencedirect.com/science/article/pii/S0010448522000161)] +2. Maia Avelino, R., Van Mele, T., & Block P. (2022) Advances in Thrust Network Analysis: Constrained equilibrium assessment of masonry vaulted structures.Collection of papers - Edoardo Benvenuto Prize Fondazione Franzoni ETS. To be published. +3. Maia Avelino, R., Lee, J., Van Mele, T., & Block, P. (2021). An interactive implementation of algebraic graphic statics for geometry-based teaching and design of structures. In Proceedings of the International fib Symposium on the Conceptual Design of Structures (pp. 447-454). \[[link](https://www.block.arch.ethz.ch/brg/publications/1110)] +4. Maia Avelino, R. M., Iannuzzo, A., Van Mele, T., & Block, P. (2021). Assessing the safety of vaulted masonry structures using thrust network analysis. Computers & Structures, 257, 106647. \[[link](https://www.sciencedirect.com/science/article/pii/S0045794921001693)] +5. COMPAS Masonry: [https://blockresearchgroup.gitbook.io/compas-masonry/ ](https://blockresearchgroup.gitbook.io/compas-masonry/) +6. Iannuzzo, A., Dell’Endice, A., Maia Avelino, R., Kao, G. T. C., Van Mele, T., & Block, P. (2021). COMPAS masonry: a computational framework for practical assessment of unreinforced masonry structures. In Proceedings of the SAHC Symposium. \[[link](https://www.block.arch.ethz.ch/brg/publications/1001)] +7. Iannuzzo, A., Mele, T. V., & Block, P. (2021). Stability and load-bearing capacity assessment of a deformed multi-span masonry bridge using the PRD method. International Journal of Masonry Research and Innovation, 6(4), 422-445. \[[link](https://www.inderscienceonline.com/doi/abs/10.1504/IJMRI.2021.118842)] +8. Dell’Endice, A., Iannuzzo, A., Van Mele, T., & Block, P. (2021). Influence of settlements and geometrical imperfections on the internal stress state of masonry structures. In Proceedings of the SAHC symposium. \[[link](https://www.block.arch.ethz.ch/brg/publications/1030)] +9. Maia Avelino, R., Iannuzzo, A., Van Mele, T., & Block, P. (2021). New strategies to assess the safety of unreinforced masonry structures using thrust network analysis. In 12th International Conference on Structural Analysis of Historical Constructions (SAHC) (pp. 2124-2135). International Centre for Numerical Methods in Engineering (CIMNE). \[[link](https://www.block.arch.ethz.ch/brg/publications/1000)] +10. Kao, G. T. C., Iannuzzo, A., Coros, S., Van Mele, T., & Block, P. (2021). Understanding the rigid-block equilibrium method by way of mathematical programming. Proceedings of the Institution of Civil Engineers-Engineering and Computational Mechanics, 174(4), 178-192. \[[link](https://www.icevirtuallibrary.com/doi/abs/10.1680/jencm.20.00036)] +11. Maia Avelino, R., Iannuzzo, A., Van Mele, T., & Block, P. (2021). Parametric stability analysis of groin vaults. Applied Sciences, 11(8), 3560. \[[link](https://doi.org/10.3390/app11083560)] +12. Iannuzzo, A., Dell'Endice, A., Van Mele, T., & Block, P. (2021). Numerical limit analysis-based modelling of masonry structures subjected to large displacements. Computers & Structures, 242, 106372. \[[link](https://www.sciencedirect.com/science/article/pii/S0045794920301759)] +13. Dell'Endice, A., Iannuzzo, A., DeJong, M. J., Van Mele, T., & Block, P. (2021). Modelling imperfections in unreinforced masonry structures: Discrete Element simulations and scale model experiments of a pavilion vault. Engineering Structures, 228, 111499. \[[link](https://doi.org/10.1016/j.engstruct.2020.111499)] +14. Iannuzzo, A., Van Mele, T., & Block, P. (2020). Piecewise rigid displacement (PRD) method: a limit analysis-based approach to detect mechanisms and internal forces through two dual energy criteria. Mechanics Research Communications, 107, 103557. \[[link](https://doi.org/10.1016/j.mechrescom.2020.103557)] + +Papers in preparation or submitted for review: + +1. Dell’Endice A., DeJong M.J., Van Mele T., & Block P., Structural Analysis of Unreinforced Masonry Spiral Staircases using Discrete Element Modelling. _Submitted for review_ +2. Fugger R, Maia Avelino R, Iannuzzo A, de Felice G., & Block P. A new numerical limit analysis-based strategy to retrofit masonry curved structures with FRCM systems. _Submitted for review_ - ECCOMAS2022 Conference +3. Maia Avelino, R., Iannuzzo, A., Van Mele, T., & Block, P. (2022). An energy-based strategy to find internal stress states compatible with general boundary displacements in masonry structures. _In preparation_ + diff --git a/gitbook/additional-info/snsf-project.md b/gitbook/additional-info/snsf-project.md new file mode 100644 index 0000000..ffc1fd1 --- /dev/null +++ b/gitbook/additional-info/snsf-project.md @@ -0,0 +1,14 @@ +# SNSF Project + +In recent years, our (academic/theoretical) understanding of the behaviour of unreinforced masonry (URM) structures has improved significantly, and many advanced technological solutions for conservation have been developed. However, there is still a lack of appropriate methods and tools that can be used for the assessment of URM structures in every day practice. + +Therefore, since 2018, the Block Research Group has been working on “Practical Stability Assessment Strategies for Vaulted Unreinforced Masonry Structures” with support of the Swiss National Science Foundation (SNSF). The goal of this research project is to create tools suitable for everyday engineering practice and to develop appropriate analysis strategies for diverse contexts and circumstances related to the availability of time, budget and available data. + +The SNSF research results are made available to the scientific and professional community through **COMPAS Masonry**. COMPAS Masonry represents a unique computational framework as it provides a common data management system and connects different tools and methodologies altogether. Therefore, it allows to look at the same assessment problem from different perspectives and opens up the possibility to explore several mechanical scenarios comparing different methodological solutions. Nonetheless, as an open-source framework, it offers to the industry, academy and practitioners the unique opportunity to collaborate, participate in a positive loop, where everyone can contribute. + +It bundles different solvers that are built up over a common data management system, compas\_assembly, that provides a fast, direct and robust way to handle complex geometries both in terms of geometric data structures (via graph network theories) and material properties distributions. The main tools developed were **compas\_rbe**, **compas\_tno**, **compas\_prd**, **compas\_cra**, and **compas\_dem**. More information regarding each different solver can be found in the [solvers page](broken-reference). + +Beyond the computational developement and implementations of the different masonry solvers, the theoretical foundation developed during the project has been communicated though an extensive list of peer-reviewed and journal publications which are listed [here](snsf-project.md#publications). + +Additionally, the researchers of the project have participated in [workshops](workshops.md) and given [presentations](presentations.md) which are also available through the respective pages. + diff --git a/gitbook/additional-info/workshops.md b/gitbook/additional-info/workshops.md new file mode 100644 index 0000000..319a952 --- /dev/null +++ b/gitbook/additional-info/workshops.md @@ -0,0 +1,24 @@ +# Workshops + +A few selected workshops executed during the development of COMPAS Masonry are listed here. + +## International Summer School: Historic Masonry Structures (2019-2022) + +COMPAS Masonry has been used as a tool by the students of the Masonry Summer School since 2019 to perform structural calculations of historic masonry structure. In this immersive 2-weeks summer school international students visit a city in Europe and inspect a few selected monuments from the comunity such as churches, monasteries, etc. Students are divided in groups and at the end of the course each group must submit a document compiling geometric, architectural and structural features of the monument and, if necessary, suggest interventions. + +![Booklet of the International Summer School 2021. Source: hismass.org](<../.gitbook/assets/image (6).png>) + +For more info check the Summer School Webpage. + +* [https://www.himass.org](https://www.himass.org) + +## Discrete computational mechanics of Masonry Strutures 2021 (CISM course) + +COMPAS Masonry has been used as a tool studied in the Discrete computational mechanics of Masonry Strutures international APT course. This course was organised by the International Centre for Mechanical Sciences (CISM) that took place in 26-30 July 2021 in Udine, Italy. + +![Flyer of the discrete computational mechanics of masonry structures course. Source: CISM, 2021.](<../.gitbook/assets/image (13).png>) + +More Information about the course: + +* [https://www.cism.it/en/activities/courses/A2102/](https://www.cism.it/en/activities/courses/A2102/) + diff --git a/gitbook/analysis-methods/coupled-rigid-block-analysis.md b/gitbook/analysis-methods/coupled-rigid-block-analysis.md new file mode 100644 index 0000000..d4f037a --- /dev/null +++ b/gitbook/analysis-methods/coupled-rigid-block-analysis.md @@ -0,0 +1,17 @@ +# Coupled Rigid Block Analysis + +![](https://lh3.googleusercontent.com/zaPjTHQjzaR0BLMCb48Umn0ZjizBNgUw31csuJrYF37-PuV9WpsRUh-Xl6P5noQ7ZvhKof\_6jfeZK1JO8iPG8RSp8NgmGHpHmN3mGQbUM-vWT\_owq8kZI2QykuUdT\_PrSuTclKx\_) + +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. Coupled rigid-block analysis (CRA) method is a more robust approach that builds upon RBE’s strengths and overcomes the aforementioned issues. The CRA method combines equilibrium and kinematics in a penalty formulation in a nonlinear programming problem. CRA enables accurate modelling of complex three-dimensional discrete-element assemblies formed by rigid blocks. CRA’s accuracy is benchmarked against widely used software in engineering practice and demonstrated through physical models. + +## compas\_cra + +compas\_cra provides a base implementation of CRA. Additionally, _compas\_cra_ can also be applied to masonry with curved interfaces. + +{% embed url="https://blockresearchgroup.github.io/compas_cra" %} +compas\_cra docummentation +{% endembed %} + +{% embed url="https://github.com/BlockResearchGroup/compas_cra" %} +compas\_cra open-source repository +{% endembed %} diff --git a/gitbook/analysis-methods/discrete-element-method.md b/gitbook/analysis-methods/discrete-element-method.md new file mode 100644 index 0000000..2c6789e --- /dev/null +++ b/gitbook/analysis-methods/discrete-element-method.md @@ -0,0 +1,5 @@ +# Discrete Element Method + +![](../.gitbook/assets/image.png) + +Discrete Element Modelling (DEM) is a method able to analyse structures composed of multiple bodies. The motion of the blocks in the DEM method is described by Newton’s second law and solved numerically by the central difference method with respect to a scalar parameter (e.g. time). The position of the blocks during the calculation is updated step by step. Two different kinds of analyses are possible, static and dynamic, and both solved with explicit numerical algorithms. In DEM, the blocks can be considered rigid or deformable, and Mohr-Coulomb failure criteria can be used to model the joints. Moreover, the blocks can move and deform independently with respect to each other; they can get completely separate, and they can form new contacts with other blocks during the analysis. Since the blocks can be considered rigid and the contact interfaces with no tensile strength, this method is suitable for the investigation of the behaviour of unreinforced masonry structures. diff --git a/gitbook/analysis-methods/piecewise-rigid-displacement.md b/gitbook/analysis-methods/piecewise-rigid-displacement.md new file mode 100644 index 0000000..9db285d --- /dev/null +++ b/gitbook/analysis-methods/piecewise-rigid-displacement.md @@ -0,0 +1,13 @@ +# Piecewise Rigid Displacement + +![](<../.gitbook/assets/image (8).png>) + +The piecewise rigid displacement (PRD) method represents the extension of the Heyman model to continuum mechanics through the use of a normal, rigid, no-tension (NRNT) material. It couples the kinematic problem (KP) with the equilibrium problem (EP) using two dual, energy-based criteria. + +## Background + +In particular, the KP is solved by minimising the total potential energy that allows to find displacement and crack patterns compatible with external loads and non-homogeneous boundary conditions. Conversely, the EP is solved by minimising the complementary energy which allows defining internal stress states in equilibrium with external loads and compatible with displacement-like boundary conditions. Because of the no-sliding assumption, it can be proved that the two energy criteria are dual, meaning that the solution of one of these two problems can be directly defined from the solution of the dual problem. + +The PRD method frames the minimum of the potential energy in the space of the piecewise rigid displacement fields, while the minimum of the complementary energy in the space of singular stress fields. Additionally, it discretises both minima as two dual linear programming problems. + +Its use allows addressing different mechanical problems: equilibrium and stability of the reference configuration, effects of settlements, and mechanisms due to overloading (e.g. horizontal forces). Since the NRNT material represents the extension to continuum media of Heyman’s material model, the PRD method offers an extremely fast, limit analysis-based, displacement approach that allows simultaneously finding mechanisms and compatible internal forces for any boundary condition, loads and geometry. diff --git a/gitbook/analysis-methods/rigid-block-equilibrium.md b/gitbook/analysis-methods/rigid-block-equilibrium.md new file mode 100644 index 0000000..1dcea60 --- /dev/null +++ b/gitbook/analysis-methods/rigid-block-equilibrium.md @@ -0,0 +1,17 @@ +# Rigid Block Equilibrium + +![Interface forces of the RBE formulation.](https://lh4.googleusercontent.com/wx\_UoU3CDESLUk2ZnZFrhzb6Bj-4b\_fjQkIB0FJB7ZVk9iulaZrEcwywpyuVhVkzzXv8LM4oztAF1rEKCPyI2KfaeLt6pmD0nicL8yfLrRgUgZSKrZnCszc0AP-UwOZOz6YnVmlE) + +Rigid-Block Equilibrium (RBE) is a numerical approach that frames the equilibrium problem of rigid-block assemblies as an optimisation problem to compute possible internal and equilibrated singular stress states. The contact between blocks is considered to have a finite friction capacity, and the unilateral behaviour is modelled through a penalty formulation. In particular, the penalty formulation widens the standard admissible solution space of compressive-only forces by allowing for tensile forces to appear in potentially unstable regions. + +## compas\_rbe + +The RBE objective function minimises the interface forces, whereas the constraints are linear functions enforcing the static equilibrium of the whole assembly. _compas\_rbe_ provides a base implementation of RBE. In _compas\_rbe_, blocks are considered infinitely rigid and have infinite compressive strength. compas\_rbe provides the necessary contact forces (i.e. compression, tension and friction forces) for the assembly to be in equilibrium under given external loads. + +{% embed url="https://blockresearchgroup.github.io/compas_rbe/" %} +compas\_rbe docummentation +{% endembed %} + +{% embed url="https://github.com/BlockResearchGroup/compas_rbe" %} +compas\_rbe open-source repository +{% endembed %} diff --git a/gitbook/analysis-methods/thrust-network-analysis.md b/gitbook/analysis-methods/thrust-network-analysis.md new file mode 100644 index 0000000..22551d5 --- /dev/null +++ b/gitbook/analysis-methods/thrust-network-analysis.md @@ -0,0 +1,17 @@ +# Thrust Network Analysis + +![](https://lh6.googleusercontent.com/3G\_6NxBtFkwuiWoERvi1f6QwLE3vPhlesNQGpJkCLnVUXNB\_qM963jjXB4BYbexfk4l\_-UrmT76NYHO6r2lhomTJUq3MMXY83FlnU7wSZFW5PBv87Jyi9uVUtrV1VbuK\_YSIaamZ) + +Thrust Network Analysis (TNA) is an extension to 3D of the well-known graphic statics thrust line method. In TNA, the internal compressive forces in the structure are modelled as a discrete network. Unlike previous methods, TNA is not based on a specific discretisation and can be applied even if no block discretisation is known. If a compressive network is found within the structure's geometry, then the masonry structure is considered safe. + +## compas\_tno + +This admissible stress solution is searched through a nonlinear optimisation process using _compas\_tno_. The documentation and repository for the package are available in the links below: + +{% embed url="https://blockresearchgroup.github.io/compas_tno/" %} +compas\_tno documentation +{% endembed %} + +{% embed url="https://github.com/BlockResearchGroup/compas_tno" %} +compas\_tno open-source repository +{% endembed %} diff --git a/gitbook/assemblies/armadillo-vault.md b/gitbook/assemblies/armadillo-vault.md new file mode 100644 index 0000000..8abba6a --- /dev/null +++ b/gitbook/assemblies/armadillo-vault.md @@ -0,0 +1,59 @@ +# Armadillo Vault + +![Armadillo Vault, Venice, Italy, 2016 (Copyright photo: Iwan Baan)](https://block.arch.ethz.ch/brg/images/cache/beyond%20bending%204887\_1464606068\_1920x1080.jpg?1464606068) + +Comprised of 399 individually cut limestone pieces, unreinforced and assembled without mortar, the Armadillo Vault spans 16 m with a minimum thickness of only 5 cm. Its funicular geometry allows it to stand in pure compression, while tension ties equilibrate the form. Starting from the same structural and constructional principles as historic stone cathedrals, this sophisticated form emerged from novel computational graphic statics-based design and optimisation methods developed by the project team. + +## Block Model + +![](../.gitbook/assets/armadillo\_breps\_ghosted.png) + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("armadillo.json") + +artist = Artist(assembly) +artist.draw_blocks() + +``` + +## Connectivity Diagram + +![Connectivity diagram of the block model of the Armadillo Vault](../.gitbook/assets/armadillo-connectivity\_viewer.png) + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("armadillo.json") + +artist = Artist(assembly) +artist.draw_blocks(show_faces=False) +artist.draw_nodes() +artist.draw_edges() + +``` + +## Interfaces + +![Contact interfaces between the blocks of the Armadillo Vault.](../.gitbook/assets/armadillo-interfaces\_viewer.png) + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("armadillo.json") + +artist = Artist(assembly) +artist.draw_blocks(show_faces=False) +artist.draw_interfaces() + +``` + +## Equilibrium + +{% hint style="info" %} +Coming soon... +{% endhint %} diff --git a/gitbook/assemblies/cross-vault.md b/gitbook/assemblies/cross-vault.md new file mode 100644 index 0000000..5baf439 --- /dev/null +++ b/gitbook/assemblies/cross-vault.md @@ -0,0 +1,16 @@ +# Cross Vault + +## Block Model + +![Block model of a cross vault generated with a parametric template.](../.gitbook/assets/try\_crossvault\_blocks-rhino.png) + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("crossvault.json") + +artist = Artist(assembly) +artist.draw_blocks() + +``` diff --git a/gitbook/assemblies/dome.md b/gitbook/assemblies/dome.md new file mode 100644 index 0000000..191c1dc --- /dev/null +++ b/gitbook/assemblies/dome.md @@ -0,0 +1,14 @@ +# Dome + +## Block Model + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("crossvault.json") + +artist = Artist(assembly) +artist.draw_blocks() + +``` diff --git a/gitbook/assemblies/pavilion-vault.md b/gitbook/assemblies/pavilion-vault.md new file mode 100644 index 0000000..ca38611 --- /dev/null +++ b/gitbook/assemblies/pavilion-vault.md @@ -0,0 +1,16 @@ +# Pavilion Vault + +## Block Model + +![Block model of a cross vault generated with a parametric template.](../.gitbook/assets/try\_crossvault\_blocks-rhino.png) + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("crossvault.json") + +artist = Artist(assembly) +artist.draw_blocks() + +``` diff --git a/gitbook/assemblies/striatus.md b/gitbook/assemblies/striatus.md new file mode 100644 index 0000000..8cb9336 --- /dev/null +++ b/gitbook/assemblies/striatus.md @@ -0,0 +1,49 @@ +# Striatus + +![Striatus - 3D concrete printed masonry bridge, Venice, Italy, 2021.](https://block.arch.ethz.ch/brg/images/cache/striatus\_brg-zha\_%C2%A9naaro\_10\_16x9\_1626689552\_1920x1080.jpg?1626689552) + +Striatus is an arched, unreinforced masonry footbridge composed of 3D-printed concrete blocks assembled without mortar. Exhibited at the Giardini della Marinaressa during the Venice Architecture Biennale until November 2021, the 16x12-metre footbridge is the first of its kind, combining traditional techniques of master builders with advanced computational design, engineering and robotic manufacturing technologies. + +## Block Model + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("striatus.json") + +artist = Artist(assembly) +artist.draw_blocks() + +``` + +## Connectivity Diagram + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("striatus.json") + +# assembly_interfaces_numpy(assembly, tmax=0.02, amin=0.10) + +artist = Artist(assembly) +artist.draw_blocks(show_faces=False) +artist.draw_nodes() +artist.draw_edges() + +``` + +## Interfaces + +```python +import compas +from compas.artists import Artist + +assembly = compas.json_load("striatus.json") + +artist = Artist(assembly) +artist.draw_blocks(show_faces=False) +artist.draw_interfaces() + +``` diff --git a/gitbook/documentation/developer-guide.md b/gitbook/documentation/developer-guide.md new file mode 100644 index 0000000..53cf872 --- /dev/null +++ b/gitbook/documentation/developer-guide.md @@ -0,0 +1,5 @@ +# Developer Guide + +{% hint style="info" %} +Coming Soon... +{% endhint %} diff --git a/gitbook/documentation/user-guide.md b/gitbook/documentation/user-guide.md new file mode 100644 index 0000000..0c6fcdc --- /dev/null +++ b/gitbook/documentation/user-guide.md @@ -0,0 +1,5 @@ +# User Guide + +{% hint style="info" %} +Coming Soon... +{% endhint %} diff --git a/gitbook/quickstart/installation.md b/gitbook/quickstart/installation.md new file mode 100644 index 0000000..22b982c --- /dev/null +++ b/gitbook/quickstart/installation.md @@ -0,0 +1,35 @@ +# Installation + +{% hint style="info" %} +Currently, only a "developer installation" is available. A simpler procedure will be made available soon... +{% endhint %} + +## Dev Install + +The procedure for a "developer installation" consists of the following steps. + +### 1. Create Environment + +```bash +conda create -n masonry python=3.9 --yes +``` + +### 2. Install COMPAS packages + +```bash +conda activate masonry +conda install compas compas_view2 -c conda-forge --yes +pip install compas_cloud compas_ui compas_assembly compas_masonry +``` + +### 3. Install User Interface + +{% hint style="info" %} +Coming soon... +{% endhint %} + +### 4. Install Equilibrium Solvers + +{% hint style="info" %} +Coming soon... +{% endhint %} diff --git a/gitbook/quickstart/tutorial.md b/gitbook/quickstart/tutorial.md new file mode 100644 index 0000000..1efefb5 --- /dev/null +++ b/gitbook/quickstart/tutorial.md @@ -0,0 +1,5 @@ +# Tutorial + +{% hint style="info" %} +Coming Soon... +{% endhint %}