Print transformed Cartesian coordinates by default.
Posted: 23 Sep 2014, 15:51
At the very begging of execution Dalton centers an input molecule at center of mass and rotates it so principal axes of inertia are along coordinate axes. Obviously, these transformed coordinates are very important since all the calculations are then done in this transformed coordinate system. I'm trying visualize the molecule from the output and suddenly I found that transformed Cartesian coordinates are not always printed out.
As far as I can tell the condition for them to be printed is given in DALTON/abacus/herrdn.F file at lines 4591-4598
and in my opinion this behavior is quite strange for few reasons out of which the following two are most important
And I understand that I could comment this IF conditional by myself to always print these Cartesian coordinates, but I would like it to be the default behaviour, because it makes writing visualization software much easier. Note that when I say by default here and in the title I mean already at the lowest possible print level.
As far as I can tell the condition for them to be printed is given in DALTON/abacus/herrdn.F file at lines 4591-4598
Code: Select all
IPTEST = MIN(NUCDEP/13,2)
C hjaaj: x,y,z normally only interesting for
C small molecules, otherwise just a lot of lines.
IF (QMMM .OR. PEQM) IPTEST = 0
IF ( IPREAD .GT. IPTEST ) THEN
CALL HEADER('Cartesian Coordinates (a.u.)',1)
WRITE (LUPRI,'(A,I5)')' Total number of coordinates:',NCOOR
END IF
- Consistency: the information to be printed should depend on print level only, there should be no difference due to the size of a molecule. Even the very artificiality of the condition in the code above involving some "magic numbers" proves this point.
- Usefulness: these coordinates are very interesting and important if you want to visualize a molecule in the coordinate system in which calculations are actually done.
And I understand that I could comment this IF conditional by myself to always print these Cartesian coordinates, but I would like it to be the default behaviour, because it makes writing visualization software much easier. Note that when I say by default here and in the title I mean already at the lowest possible print level.