Welcome to MembraneCurvature’s Documentation

Minimum MDAnalysis version: 2.4.0

Last updated: Jun 03, 2026

The MDAnalysis MembraneCurvature tool module calculates the Gaussian and mean curvature from Molecular Dynamics (MD) simulations.

_images/PM_Membrane_EBO.png

MembraneCurvature derives 2D curvature profiles of a surface of reference. To suit the needs of your system, we offer flexible atom selection that will enable you to use the most convenient AtomGroup to extract curvature from your MD simulations!

This is an example on how to use MembraneCurvature:

import MDAnalysis as mda
from membrane_curvature.base import MembraneCurvature

u = mda.Universe(coordinates, trajectory)
mc = MembraneCurvature(u).run()

surface =  mc.results.average_z_surface
mean_curvature =  mc.results.average_mean_curvature
gaussian_curvature = mc.results.average_gaussian_curvature

You can find more details on how to use MembraneCurvature in the Usage page.

Features

MembraneCurvature allows you to:

  • Calculate mean and Gaussian curvature from MD simulations.

  • Derive 2D curvature profiles from atoms of reference with two different methods: binning or Fourier-based.

  • Get per-frame or averaged results for surface, mean and Gaussian curvature.

Why MembraneCurvature?

MembraneCurvature is a user-friendly, actively-maintained, well-documented tool in Python 3 to derive 2D maps of membrane curvature from MD Simulations, using the most recent version of MDAnalysis Are you interested in calculating mean and Gaussian curvature from MD simulations? This tool is for you!

Installation

MembraneCurvature is available via pip, conda, and uv. Please refer to the Installation section in the Getting Started page for detailed installation instructions.

Contents:

License

Source code included in this project is available under the GNU Public License v3 from github.com/MDAnalysis/membrane_curvature.

Indices and tables