Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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


Download files

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

Files for pyconmech, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size pyconmech-0.2.0.tar.gz (1.3 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page