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](tests/notebook_demo/demo.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.1.2
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.