chemrust-scanner

Crates.iochemrust-scanner
lib.rschemrust-scanner
version0.2.3
sourcesrc
created_at2024-04-10 13:45:44.099841
updated_at2024-04-10 13:47:39.067625
descriptionThe core modules defining the flow and structs of data in computational chemistry routines.
homepage
repository
max_upload_size
id1203613
size77,409
Tony (TonyWu20)

documentation

README

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:

  1. A structure, in the .cell format.
  2. 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)
Commit count: 0

cargo fmt