py bindings for conmech: a C++ lib for 3D frame elastis deformation analysis.
Project description
conmech
conmech is an open-source library to provide efficient stiffness checkers for architectural construction sequencing. It’s written in C++11 and wrapped friendly with Python via pybind11.
Installation
pip install pyconmech
Demo
(A cool gif should come here :satisfied:)
For examples of interactive usage in python (analysis for complete or partial structure in a construction sequence), see stiffness_checker_test.ipynb.
Build from source
Build python bindings
Prerequisites
conmech depends on Eigen for linear algebra and rapidjson for json (de-)serialization, both of which are shipped with conmech.
The following dependencies come from pybind11 for building the python wrappers.
On Unix (Linux, OS X)
A compiler with C++11 support
CMake >= 2.8.12
On Windows
Visual Studio 2015 (required for all Python versions, see notes below)
CMake >= 3.1
conmech’s python bindings are built with a CMake-based build system via pybind11. It is recommended (especially for Windows users) to test the environment with the cmake_example for pybind11 before proceeding to build conmech.
Then, clone this repository and pip install. Note the --recursive option which is needed for cloning the submodules:
git clone --recursive https://github.com/yijiangh/conmech pip install ./conmech # try with '--user' if you encountered a sudo problem
Or for developers:
git clone --recursive https://github.com/yijiangh/conmech cd conmech python setup.py sdist pip install --verbose dist/*.tar.gz
With the setup.py file included in the base folder, the pip install command will invoke CMake and build the pybind11 module as specified in CMakeLists.txt.
Build C++ code
mkdir build cd build cmake .. make -j4 # Unix
Or on Windows, replace the last line with
cmake --build .
Changelog
0.2.0
Changed
The original stiffness_checker extension module is wrapper as _stiffness_checker. All the cpp modules are wrapper under a top-level python classes/functions, to give more flexibility.
- API change: stiffness_checker class is renamed to StiffnessChecker to conform
to the class naming convention. All other APIs within this class are left unchanged.
Delete radius entry from material_properties.
Added
documentation is hosted on readthedocs!
add grasshopper examples - parse/save files, karamba comparsion, solve/get result in GH via ghpython-remote
supports material / cross sectional properties for each element.
supports uniformly distributed load
0.1.0
Initial version
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.