-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Algorithm for Calculating Angles in sp3d2 Hybridization #3
Comments
HI I WOULD LIKE TO WORK ON THIS ISSUE @TharunKumarrA |
yes, please. Assigned to @priyansh-narang2308 |
can you first propose an algorithm for this by referencing to the methods used in sp, sp2 and sp3? |
Yeahh Sorry for the Delay, |
Yeah sorry for the delayed reply. I'm kinda not well, so I'll discuss it tomorrow if it works |
So like should i start working on it ? or is there any deadline to submit? |
so the main issue is how you find the coordinates for the atoms - from the previous atoms coordinate position. So, you can think its as easy as finding the unit vector directions and then just multipying the bond length. That would work only for a standalone structure. If we have sp3d2 in a larger molecule or with double or triple bonds we need more than the unit vector directions, so do you have clarity of it? |
i partially agree with you proposed solution, yes we need 3 as our base, but the hard part is to find which atoms to go as base atoms |
So for complex molecules we can use the vector algebra to like find the position of all six atoms which are relatove to the center atom .this will use the bond orders and steric effects . we can calculate by finding the ligand positions by determining the unit vecttors |
Okay so I think you can start with the implementation 🫡 |
Can u pls tell the deadline to submit a PR for this issue🫡 |
It's Jan 2nd |
HEY @TharunKumarrA |
Can you show what exactly the issue is? |
Also can you just walk me through how you went about the logic? To find the positions in the 3d space. If you can attach a sample output in screen it would be nice. |
Yeahh so the i used a 3d cartesian system in the sp3d2 system. and the unit vectors along the six octahedral directions |
ohh okay I see, try to simplify the dimensionality for the functions. And regarding the error, for now the code base doesn't support ionic structures as they vary both in angle and shape from classical one. [Fe(Cl)6]3- this is a really complex molecule to implement with the current functions, so maybe try going for simpler ones. Hope I answered you queries! Sorry for responding late, I was not having my laptop yesterday @priyansh-narang2308 |
I would encourage you to use already available functions if needed such as the findcentralatoms() wherein there is logic to find the central atom of an hybridization using the hybridization of each atom in the molecule. And similar other helper functions too, if needed create any helper functions that you need such as finding normal to a plane or normalizing a direction vector to be a unit vector etc ... |
yeah so i used the helper functions
|
If it's working well make a pr ... sure, but in the pr I need you to add output screenshots (very helpful for my side) |
Description
Develop and implement an algorithm to calculate bond angles for sp3d2 (octahedral) hybridization. This is essential for the accurate representation of molecular geometries like SF₆.
Acceptance Criteria
Suggested Approach
getCoordinates()
logic inMolecule.js
.File Locations for Implementation
File:
/src/components/Molecule.js
getCoordinates(molecule)
function to handle sp3d2 hybridization bond angles.angles
mapping object.File:
/src/components/GraphADT.js
Molecule
class (if required) to store and retrieve calculated bond angles.File:
/src/components/EditMolecule.jsx
Code Changes
In
Molecule.js
Update the bond angle logic:
In
getCoordinates()
(Molecule.js)Add specific logic for sp3d2 hybridization:
The text was updated successfully, but these errors were encountered: