# Molecular Moments and Polarizabilities Calculator
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
![HMPOLImage](./img/HMpolImg.jpg)
## 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:**
```bash
pip install molecular-moments-polarizabilities-calculator
```
2. **Usage:**
```python
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
```python
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")
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/AnoopANair/the-hmpol-project.git",
"name": "hmpol",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Anoop Ajaya Kumar Nair",
"author_email": "mailanoopanair@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/77/0f/8b206849dd46291730c34e60d24f461dc64bc4e86ab4f6f031d9d3618cff/hmpol-0.1.5.tar.gz",
"platform": null,
"description": "# Molecular Moments and Polarizabilities Calculator\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n![HMPOLImage](./img/HMpolImg.jpg)\n## Overview\n\nThe 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. \n\n## Features\n\n### Moments Calculation\n- **Dipole Moment:** Measure of the separation of positive and negative charges within a molecule.\n- **Quadrupole Moment:** Describes the distribution of charge within a molecule in terms of quadrupole tensors.\n- **Octapole Moment:** Characterizes higher-order charge distributions beyond quadrupoles.\n- **Hexadecapole Moment:** Captures even higher-order charge distributions, providing a comprehensive view of molecular charge.\n\n### Polarizabilities Calculation\n- **Dipole-Dipole Polarizability:** Reflects the ability of a molecule to induce a dipole moment in an adjacent molecule.\n- **Dipole-Quadrupole Polarizability:** Measures the interaction between the dipole moment of one molecule and the quadrupole moment of another.\n- **Quadrupole-Quadrupole Polarizability:** Quantifies the influence of quadrupole moments on the polarization of adjacent molecules.\n\n## How to Use\n\n1. **Installation:**\n ```bash\n pip install molecular-moments-polarizabilities-calculator\n ```\n\n2. **Usage:**\n ```python\n from molecular_calculator import MolecularPropertiesCalculator\n\n # Create a molecule object\n molecule = MolecularPropertiesCalculator(molecule_structure)\n\n # Calculate moments\n dipole = molecule.calculate_dipole_moment()\n quadrupole = molecule.calculate_quadrupole_moment()\n octapole = molecule.calculate_octapole_moment()\n hexadecapole = molecule.calculate_hexadecapole_moment()\n\n # Calculate polarizabilities\n dipole_dipole_polarizability = molecule.calculate_dipole_dipole_polarizability()\n dipole_quadrupole_polarizability = molecule.calculate_dipole_quadrupole_polarizability()\n quadrupole_quadrupole_polarizability = molecule.calculate_quadrupole_quadrupole_polarizability()\n ```\n\n## Example\n\n```python\nfrom molecular_calculator import MolecularPropertiesCalculator\n\n# Define a water molecule\nwater_structure = {\n 'atoms': ['O', 'H', 'H'],\n 'coordinates': [\n [0.000, 0.000, 0.000],\n [0.758, 0.586, 0.000],\n [-0.758, 0.586, 0.000]\n ]\n}\n\n# Create a molecule object\nwater_molecule = MolecularPropertiesCalculator(water_structure)\n\n# Calculate moments\ndipole_moment = water_molecule.calculate_dipole_moment()\nquadrupole_moment = water_molecule.calculate_quadrupole_moment()\n\n# Calculate polarizabilities\ndipole_dipole_polarizability = water_molecule.calculate_dipole_dipole_polarizability()\ndipole_quadrupole_polarizability = water_molecule.calculate_dipole_quadrupole_polarizability()\n\nprint(f\"Dipole Moment: {dipole_moment} Debye\")\nprint(f\"Quadrupole Moment: {quadrupole_moment} Debye*angstrom\")\nprint(f\"Dipole-Dipole Polarizability: {dipole_dipole_polarizability} Debye^2\")\nprint(f\"Dipole-Quadrupole Polarizability: {dipole_quadrupole_polarizability} Debye^3*\u00c5^2\")\n",
"bugtrack_url": null,
"license": "",
"summary": "A package to calculate the moments and polarizabilities of molecules",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://gitlab.com/AnoopANair/the-hmpol-project.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a2e47aff61c0a9ef9406b9fffe6e4b15bad68a69fdea1da1bb745ee3e3f92093",
"md5": "72d7bdaa721078fffcd50ce386b500e2",
"sha256": "055d649fe1503922882c1fb01cbf41b6010f08ad7ebda2230d75e617554ba611"
},
"downloads": -1,
"filename": "hmpol-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "72d7bdaa721078fffcd50ce386b500e2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10583,
"upload_time": "2024-02-12T18:51:47",
"upload_time_iso_8601": "2024-02-12T18:51:47.239207Z",
"url": "https://files.pythonhosted.org/packages/a2/e4/7aff61c0a9ef9406b9fffe6e4b15bad68a69fdea1da1bb745ee3e3f92093/hmpol-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "770f8b206849dd46291730c34e60d24f461dc64bc4e86ab4f6f031d9d3618cff",
"md5": "004f39e740a3aaaf03ab5f97405423d6",
"sha256": "4c8b3453463e4186a6f24835207c3db2d531345853f4a603cbb2c20e3ee599b1"
},
"downloads": -1,
"filename": "hmpol-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "004f39e740a3aaaf03ab5f97405423d6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10174,
"upload_time": "2024-02-12T18:51:49",
"upload_time_iso_8601": "2024-02-12T18:51:49.037121Z",
"url": "https://files.pythonhosted.org/packages/77/0f/8b206849dd46291730c34e60d24f461dc64bc4e86ab4f6f031d9d3618cff/hmpol-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-12 18:51:49",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "AnoopANair",
"gitlab_project": "the-hmpol-project",
"lcname": "hmpol"
}