Is your feature request related to a problem? Please describe.
ORCA can calculate rotational constants for a given structure. I would like to have this also implemented in the OPI Structure object as fallback option to easily do this for a bunch of Structure objects.
Describe the solution you'd like
What we need to do for the calculation is:
- Shift coordinates to the center of mass
- Build the inertia tensor (3×3 matrix)
- Diagonalize it → eigenvalues are the principal moments
- Convert to rotational constants
- For the center of mass we need to add the atomic masses to
element.py these should be the same as in ORCA. The resulting rotational constants should be the same as calculated in ORCA. Modified masses in the Structure class should be considered.
Describe alternatives you've considered
Get the rotational constants from ORCA via a getter. I would like to have both. The Python implementation would be for convenience / as a fallback
Is your feature request related to a problem? Please describe.
ORCA can calculate rotational constants for a given structure. I would like to have this also implemented in the OPI
Structureobject as fallback option to easily do this for a bunch ofStructureobjects.Describe the solution you'd like
What we need to do for the calculation is:
element.pythese should be the same as in ORCA. The resulting rotational constants should be the same as calculated in ORCA. Modified masses in theStructureclass should be considered.Describe alternatives you've considered
Get the rotational constants from ORCA via a getter. I would like to have both. The Python implementation would be for convenience / as a fallback