Here I'll look at the energy profile when rotating around the C-C bond in ethane. There seem to be two approaches to do this using Firefly. The first is described at the Firefly website and involves using IFREEZ in the STATPT group.
However, this approach seems to require users to spell out the internal coordinates themselves. Instead, it's easier to have Firefly work out the coordinates itself. After some hacking based on examples in the docs (see links below), I came up with the following which appears to give the same results but I think is more generally useful:
$CONTRL RUNTYP=rsurface NZVAR=18 SCFTYP=RHF COORD=CART UNITS=BOHRNote: the IFDMOD=2 was added as suggested on the Firefly mailing list, as I originally got the error message "UNABLE TO PROJECT DLC!".
$SYSTEM TIMLIM=500 MEMORY=30000000 $END
$BASIS GBASIS=n31 ngauss=6 $END
! To scan along the torsion 6,2,1,4 from 0->120 in steps of 4
$zmat dlc=1 auto=1 ifzmat(1)=3,6,1,2,4 scan=.t. DLCTOL=1D-7 ORTTOL=1D-7
$surf ndisp1=31 disp1=4 orig1=0 reuse=.t. $end
C 6.0 0.0000000000 0.0000000000 -1.4550890105
C 6.0 0.0000000000 0.0000000000 1.4550890105
H 1.0 1.9475804164 0.0000000000 -2.1256947270
H 1.0 -0.9737902082 -1.6866541165 -2.1256947270
H 1.0 -0.9737902082 1.6866541165 -2.1256947270
H 1.0 -0.9737902082 -1.6866541165 2.1256947270
H 1.0 1.9475804164 0.0000000000 2.1256947270
H 1.0 -0.9737902082 1.6866541165 2.1256947270
Docs: [Overview] [Full list of options]
Notes to self:
(1) Firefly was run on Windows as follows:
set PATH=C:\Tools\firefly;%PATH%(2)For the actual system of interest, I found that the initial conversion of the 'displacement' from internal to cartesian coordinates failed to converge until I set the starting angle for the scan to close to the angle in the input data.
firefly -f > myoutputfile.txt
(3) The graph was created using the following Python code: