eeq_pbc
build_x_vector_crystal(crystal, cn, charge=0.0)
Build the X vector for EEQ charge calculation in periodic systems.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
crystal
|
The Crystal instance |
required | |
cn
|
ndarray
|
Array of coordination numbers for each atom |
required |
charge
|
float
|
Total charge of the system |
0.0
|
Returns:
| Type | Description |
|---|---|
|
np.ndarray: X vector for the EEQ calculation |
Source code in chmpy/crystal/eeq_pbc.py
calculate_coordination_numbers_crystal(crystal, cutoff=None)
Calculate coordination numbers for all atoms in a crystal using the EEQ method.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
crystal
|
The Crystal instance |
required | |
cutoff
|
float
|
Cutoff distance for neighbor search in Angstroms |
None
|
Returns:
| Type | Description |
|---|---|
|
np.ndarray: Array of coordination numbers for each atom |
Source code in chmpy/crystal/eeq_pbc.py
calculate_eeq_charges_crystal(crystal, charge=0.0, cutoff=12.0)
Calculate EEQ partial charges for a crystal structure.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
crystal
|
The Crystal instance |
required | |
charge
|
float
|
Total charge of the system |
0.0
|
cutoff
|
float
|
Cutoff distance for neighbor search in Angstroms |
12.0
|
Returns:
| Type | Description |
|---|---|
|
np.ndarray: Array of partial charges for each atom in the unit cell |
Source code in chmpy/crystal/eeq_pbc.py
find_neighbors_pbc(crystal, cutoff=6.0)
Find all neighbors within a cutoff distance considering periodic boundary conditions. This is based on the unit_cell_connectivity method but optimized for EEQ calculations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
crystal
|
The Crystal instance |
required | |
cutoff
|
float
|
Maximum distance to consider for neighbors in Angstroms |
6.0
|
Returns:
| Name | Type | Description |
|---|---|---|
list |
List of tuples (i, j, distance, cell_translation) for all neighbor pairs |