Skip to main content

A package to calculate the moments and polarizabilities of molecules

Project description

Molecular Moments and Polarizabilities Calculator

License

HMPOLImage

Overview

The Python code is designed for calculating higher-order moments and polarizabilities of small molecules. It is a versatile tool that provides insights into the molecular properties essential for understanding electronic structure and molecular interactions. The moments and polarizabilites so calculated are used as the parameter sets for the SCME code.

Features

Moments Calculation

  • Dipole Moment: Measure of the separation of positive and negative charges within a molecule.
  • Quadrupole Moment: Describes the distribution of charge within a molecule in terms of quadrupole tensors.
  • Octapole Moment: Characterizes higher-order charge distributions beyond quadrupoles.
  • Hexadecapole Moment: Captures even higher-order charge distributions, providing a comprehensive view of molecular charge.

Polarizabilities Calculation

  • Dipole-Dipole Polarizability: Reflects the ability of a molecule to induce a dipole moment in an adjacent molecule.
  • Dipole-Quadrupole Polarizability: Measures the interaction between the dipole moment of one molecule and the quadrupole moment of another.
  • Quadrupole-Quadrupole Polarizability: Quantifies the influence of quadrupole moments on the polarization of adjacent molecules.

How to Use

  1. Installation:

    pip install molecular-moments-polarizabilities-calculator
    
  2. Usage:

    from molecular_calculator import MolecularPropertiesCalculator
    
    # Create a molecule object
    molecule = MolecularPropertiesCalculator(molecule_structure)
    
    # Calculate moments
    dipole = molecule.calculate_dipole_moment()
    quadrupole = molecule.calculate_quadrupole_moment()
    octapole = molecule.calculate_octapole_moment()
    hexadecapole = molecule.calculate_hexadecapole_moment()
    
    # Calculate polarizabilities
    dipole_dipole_polarizability = molecule.calculate_dipole_dipole_polarizability()
    dipole_quadrupole_polarizability = molecule.calculate_dipole_quadrupole_polarizability()
    quadrupole_quadrupole_polarizability = molecule.calculate_quadrupole_quadrupole_polarizability()
    

Example

from molecular_calculator import MolecularPropertiesCalculator

# Define a water molecule
water_structure = {
    'atoms': ['O', 'H', 'H'],
    'coordinates': [
        [0.000, 0.000, 0.000],
        [0.758, 0.586, 0.000],
        [-0.758, 0.586, 0.000]
    ]
}

# Create a molecule object
water_molecule = MolecularPropertiesCalculator(water_structure)

# Calculate moments
dipole_moment = water_molecule.calculate_dipole_moment()
quadrupole_moment = water_molecule.calculate_quadrupole_moment()

# Calculate polarizabilities
dipole_dipole_polarizability = water_molecule.calculate_dipole_dipole_polarizability()
dipole_quadrupole_polarizability = water_molecule.calculate_dipole_quadrupole_polarizability()

print(f"Dipole Moment: {dipole_moment} Debye")
print(f"Quadrupole Moment: {quadrupole_moment} Debye*angstrom")
print(f"Dipole-Dipole Polarizability: {dipole_dipole_polarizability} Debye^2")
print(f"Dipole-Quadrupole Polarizability: {dipole_quadrupole_polarizability} Debye^3*Å^2")

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

hmpol-0.1.5.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

hmpol-0.1.5-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file hmpol-0.1.5.tar.gz.

File metadata

  • Download URL: hmpol-0.1.5.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for hmpol-0.1.5.tar.gz
Algorithm Hash digest
SHA256 4c8b3453463e4186a6f24835207c3db2d531345853f4a603cbb2c20e3ee599b1
MD5 004f39e740a3aaaf03ab5f97405423d6
BLAKE2b-256 770f8b206849dd46291730c34e60d24f461dc64bc4e86ab4f6f031d9d3618cff

See more details on using hashes here.

File details

Details for the file hmpol-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: hmpol-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for hmpol-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 055d649fe1503922882c1fb01cbf41b6010f08ad7ebda2230d75e617554ba611
MD5 72d7bdaa721078fffcd50ce386b500e2
BLAKE2b-256 a2e47aff61c0a9ef9406b9fffe6e4b15bad68a69fdea1da1bb745ee3e3f92093

See more details on using hashes here.

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