2 releases
0.2.3 | Apr 10, 2024 |
---|---|
0.2.2 | Apr 10, 2024 |
#1366 in Data structures
78KB
2K
SLoC
Mounting site scanning module
This module serves for the scanning of all possible mounting site in a given structure with a specified bonding distance. The locations and coordination numbers of the sites will be reported.
Input
The input to the module includes:
- A structure, in the
.cell
format. - The desired bonding distance, in angstrom.
Output
A table of the xyz coordinates of the sites and coordination numbers.
Development
- Read-in a
cell
- Analyze the structure with kd-tree
- Search the space around each atom by a given bonding distance
- 3d geometry problem
- Representation of sphere-sphere intersection: the circular curve
- Solvation of the intersection of the curves: two-points
- Whole intersect determination workflow
- Build spheres for each coordinate points in kd-tree
- Iterate the sphere kd-tree, check intersections, build circles
- From the circles kd-tree, find intersection points between circles
- Each found point will be added into a vec with a counting index, if next found intersect point between circles repeats with the previously found one, add counting index.
- Summarize the number of spheres, circles, and points. Sphere-1 C.N., circle-2 C.N., points-at least 4
- Limit bondlength to 2 Å? Or the results will not be practical.
- Report in a more detailed and reasonable manner
- Package
Bug investigations
- Incorrect sphere intersections of circles (Fixed on May 2nd)
- Check if we need to consider more spheres/circles/points with equal distance/close distance, instead of finding just the nearest one to each coord. (Done on June 10th)
- Sphere stage: using 2 * desired bonding distance
- Circle stage: iterate through.
- Bondlength includes the atomic radius of elements: Use Materials Studio's bonding criteria to exclude impractical bonding possibilities. (Done on June 10th)
- Limit bondlength to 2-3 Å? Or determined by tolerance like Material Studios: ideal bondlength *min_tolerance < ideal bondlength < ideal bondlength *max_tolerance (Done on June 10th)
- A "blacklist" of elements could be necessary to avoid considering impractical bonding combos. (June 12th)
Dependencies
~9.5MB
~192K SLoC