Skip to main content

Pack water molecules into atomic systems for molecular simulations

Project description

Water Packer

Pack water molecules into atomic systems for molecular simulations. High-performance, O(1) collision detection using spatial hashing.

Solvated Periclase

Installation

pip install -e .

For hyobj support:

pip install -e ".[hyobj]"

Quick Start

from water_packer import WaterPacker
from ase.io import read

# Load a structure
mgo = read('periclase.cif')

# Create packer with custom distance constraints
packer = WaterPacker(
    min_distance=2.0,  # Default fallback distance
    pairwise_distances={('O', 'Mg'): 2.5},  # Species-specific
    water_density=1.0,  # g/cm³
    seed=42,  # For reproducibility
)

# Pack water
result = packer.pack(mgo)
print(f"Added {len(result) - len(mgo)} atoms")

Features

  • Multiple input formats: ASE Atoms, hyobj PeriodicSystem, or raw arrays
  • Species-specific distances: Different minimum distances per atom pair
  • Automatic density calculation: Computes number of waters from target density
  • Volume-aware packing: Accounts for substrate exclusion volume

API

WaterPacker

WaterPacker(
    min_distance=2.0,        # Default minimum distance (Å)
    pairwise_distances=None, # Species-specific: {('O', 'Mg'): 2.5}
    water_density=1.0,       # Target density (g/cm³)
    seed=None,               # Random seed
)

pack_water (convenience function)

from water_packer import pack_water

result = pack_water(system, n_waters=10, water_density=1.0)

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

water_packer-0.2.2.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

water_packer-0.2.2-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file water_packer-0.2.2.tar.gz.

File metadata

  • Download URL: water_packer-0.2.2.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for water_packer-0.2.2.tar.gz
Algorithm Hash digest
SHA256 e859ba1a6a06b5c699007d2a803dba4808aae6472d65e9e5a7fea894ae86cc01
MD5 04ed987dfa30f2b4565c1e05d2f3a8ac
BLAKE2b-256 b01743e136c5c979e22f56cb5e6b493914a3cb6bd821728e25753df8a3ae8f4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for water_packer-0.2.2.tar.gz:

Publisher: publish.yml on henriasv/water-packer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file water_packer-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: water_packer-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for water_packer-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c9f19499fc300a70c4ebc86103e79b57818f0a264aff0f39b2439d3c65b4f513
MD5 2d6ec76abe9fe100bb726e9371d2a4a7
BLAKE2b-256 cdceaa0470fd5f860cbc590c9880c5714392bcfcdf66aec14b2439bddc07574b

See more details on using hashes here.

Provenance

The following attestation bundles were made for water_packer-0.2.2-py3-none-any.whl:

Publisher: publish.yml on henriasv/water-packer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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