Skip to main content

PyMem3DG: Membrane Dynamics in 3D using Discrete Differential Geometry

Project description

Membrane Dynamics in 3D using Discrete Differential Geometry (Mem3DG)

Build Status PyPI

Mem3DG is a flexible software package to model the membrane and its dynamics using unstructured meshes. This work is currently under heavy development, please star this repository to follow along!

Acknowledging your use of Mem3DG

Mem3DG is developed by Cuncheng Zhu, Christopher T. Lee, with contributions from others. Development of Mem3DG is funded in part by AFOSR MURI FA9550-18-1-0051, and a Hartwell Foundation Postdoctoral Fellowship.

Installation

git submodule update --init --recursive
mkdir build
cd build
cmake -DBUILD_PYDDG=ON -DWITH_NETCDF=ON -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release

Source released can also be obtained from PyPi.

Building pymem3dg

The python library can be built using pip:

pip install . -v

Options can be passed to scikit-build by exporting environment variables.

export SKBUILD_CONFIGURE_OPTIONS="-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo"

Temporary notes for setting up netcdf (especially on windows...)

  1. Download vcpkg and follow the instructions to install

  2. Install 32 or 64 bit version of netcdf-c and netcdf-cxx4 libraries depending upon your configuration.

    vcpkg install netcdf-c:x64-windows netcdf-cxx4:x64-windows eigen3:x64-windows

    Remove the :x64-windows from the above string for the 32 bit libraries.

  3. Configure the vcpkg CMake toolchain vcpkg integrate install

  4. Copy and paste the -DCMAKE_TOOLCHAIN_File="..." string as an input into your CMake configuration.

  5. Build as normal

The toolchain options can be passed through setup.py accordingly:

  1. python setup.py build -- -DCMAKE_TOOLCHAIN_FILE="C:/Users/Kieran/vcpkg/scripts/buildsystems/vcpkg.cmake" -G "Visual Studio 16 2019" -T host=x64 -A x64 -- /m:6

Dependencies

Visualization

  • Optional trajectory visualization in Python uses Polyscope.
  • Optional trajectory reading in Python uses NetCDF4-python.

Project details


Download files

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

Source Distribution

pymem3dg-0.0.6rc2.tar.gz (31.7 MB view details)

Uploaded Source

File details

Details for the file pymem3dg-0.0.6rc2.tar.gz.

File metadata

  • Download URL: pymem3dg-0.0.6rc2.tar.gz
  • Upload date:
  • Size: 31.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for pymem3dg-0.0.6rc2.tar.gz
Algorithm Hash digest
SHA256 d991340b5bfc5fb61a219afdc4f9a3efdf2f336d57278f2e76a2fea7ced09434
MD5 5b8fe1d164c0a7af065413ff512fe518
BLAKE2b-256 3ffb7d3f87ded736e09c80922266a51578c637746323f6a487296aaf9dc30aef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page