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.
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:
- Getting Started
- MembraneCurvature’s API Documentation
- MembraneCurvature
MembraneCurvature- Curvature
fourier_curvature()gaussian_curvature()gaussian_curvature_monge()mean_curvature()mean_curvature_monge()- Binning Surface
derive_surface()get_z_surface()normalized_grid()- Fourier Surface
fourier_mode_list()n_fourier_parameters()_compute_wavevector()_build_fourier_matrix()_solve_design_least_squares_svd()_unpack_coefficients()_fourier_fit_from_atoms()_harmonic_height_and_phi_derivatives()_eval_fourier_surface()_bin_centre_mesh()fourier_height_from_atoms()fourier_height_derivatives_from_atoms()- Fourier Validators
_coerce_positions()validate_positions()validate_positive_domain_widths()validate_positive_bin_counts()
- Algorithm
- Usage
- Visualization
- Tutorials
License
Source code included in this project is available under the GNU Public License v3 from github.com/MDAnalysis/membrane_curvature.