Skip to main content

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")

Release files for hmpol 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hmpol 0.1.5
File Size Uploaded
hmpol-0.1.5.tar.gz 10.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hmpol 0.1.5
File Interpreter ABI Platform
hmpol-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / hmpol-0.1.5.tar.gz

Download URL hmpol-0.1.5.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4c8b3453463e4186a6f24835207c3db2d531345853f4a603cbb2c20e3ee599b1
BLAKE2b-256 checksum
How to use checksums
770f8b206849dd46291730c34e60d24f461dc64bc4e86ab4f6f031d9d3618cff
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / hmpol-0.1.5-py3-none-any.whl

Download URL hmpol-0.1.5-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
055d649fe1503922882c1fb01cbf41b6010f08ad7ebda2230d75e617554ba611
BLAKE2b-256 checksum
How to use checksums
a2e47aff61c0a9ef9406b9fffe6e4b15bad68a69fdea1da1bb745ee3e3f92093
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page