Releases: ntBre/pbqff
v0.0.3
Summary
The only user-facing change in this release is that pbqff
now prints overtones and combination bands by default. These are printed in a style similar to the original SPECTRO program:
STATE NO. ENERGY (CM-1) ABOVE ZPT VIBRATIONAL STATE
1 6675.1485 0.0000 NON-DEG (Vs) : 0 0 0 0 0 0 0 0 0
2 9458.1843 2783.0358 NON-DEG (Vs) : 1 0 0 0 0 0 0 0 0
3 9438.4242 2763.2757 NON-DEG (Vs) : 0 1 0 0 0 0 0 0 0
4 8451.5310 1776.3826 NON-DEG (Vs) : 0 0 1 0 0 0 0 0 0
5 7852.9725 1177.8240 NON-DEG (Vs) : 0 0 0 1 0 0 0 0 0
6 7716.4126 1041.2641 NON-DEG (Vs) : 0 0 0 0 1 0 0 0 0
7 7635.1654 960.0169 NON-DEG (Vs) : 0 0 0 0 0 1 0 0 0
8 7595.7355 920.5870 NON-DEG (Vs) : 0 0 0 0 0 0 1 0 0
9 7602.4989 927.3504 NON-DEG (Vs) : 0 0 0 0 0 0 0 1 0
10 7581.2337 906.0852 NON-DEG (Vs) : 0 0 0 0 0 0 0 0 1
11 12220.3771 5545.2286 NON-DEG (Vs) : 2 0 0 0 0 0 0 0 0
12 12180.6655 5505.5170 NON-DEG (Vs) : 0 2 0 0 0 0 0 0 0
13 10248.0778 3572.9293 NON-DEG (Vs) : 0 0 2 0 0 0 0 0 0
14 9025.9906 2350.8421 NON-DEG (Vs) : 0 0 0 2 0 0 0 0 0
15 8750.2989 2075.1504 NON-DEG (Vs) : 0 0 0 0 2 0 0 0 0
16 8593.3929 1918.2444 NON-DEG (Vs) : 0 0 0 0 0 2 0 0 0
17 8513.7204 1838.5719 NON-DEG (Vs) : 0 0 0 0 0 0 2 0 0
18 8528.2211 1853.0726 NON-DEG (Vs) : 0 0 0 0 0 0 0 2 0
19 8488.2358 1813.0873 NON-DEG (Vs) : 0 0 0 0 0 0 0 0 2
20 12180.8188 5505.6704 NON-DEG (Vs) : 1 1 0 0 0 0 0 0 0
...
All of the fundamental frequencies are printed, followed by the first overtones, and then the two-quantum combination bands, with the trailing columns corresponding to the mode numbers of the involved modes. The last line is the ν1-ν2 combination band, for example.
Internally, there were many testing and CI updates to test that the new results are printed in the output and continue to be printed in the future. Several dependencies flagged out-of-date by dependabot were also updated to their newest versions. Finally, all of the nightly
features were removed from the dependency graph, so pbqff can be both built and tested on stable Rust 1.82.
What's Changed
Full Changelog: v0.0.2...v0.0.3
v0.0.2
This release contains one major and many minor fixes listed below, as well as a new documentation site thanks to GitHub pages. This is by far the most thorough pbqff documentation written thus far, and I intend for it to answer any question related to pbqff usage. So if you find something not covered by the page, please report it as a bug!
There is also an implementation of qffbuddy on the page that was much easier to build than the Python GUI version. I'm tentatively thinking the Python version may be deprecated in favor of the web-based version if people are happy with it.
Breaking Change
A refactor in the handling of queue templates in psqs means that every custom queue_template
now needs to specify a *_CMD
appropriate to the chemistry program being used. For example, a Molpro PBS queue template might look something like this:
queue_template = """
#!/bin/sh
#PBS -N {{.basename}}
#PBS -S /bin/bash
#PBS -j oe
#PBS -o {{.basename}}.out
#PBS -W umask=022
#PBS -l walltime=1000:00:00
#PBS -l ncpus=1
#PBS -l mem=8gb
#PBS -q workq
module load openpbs molpro
export WORKDIR=$PBS_O_WORKDIR
export TMPDIR=/tmp/$USER/$PBS_JOBID
cd $WORKDIR
mkdir -p $TMPDIR
trap 'rm -rf $TMPDIR' EXIT
export MOLPRO_CMD=\"molpro -t $NCPUS --no-xml-output\" # <- New!
"""
$MOLPRO_CMD
is used to invoke Molpro for each individual job. The corresponding commands for MOPAC, CFOUR, and DFTB+ are, predictably, MOPAC_CMD
, CFOUR_CMD
, and DFTB+_CMD
. These are used for all three queue types (PBS, Slurm, and Local), so you can actual configure the locations of these programs in the pbqff input file. I export
these in most of the examples, but they are only used within the same shell file, so it should be safe to use normal assignments too.
Minor changes
- Improved support for the C2h point group in spectro
- Improved handling of DFTB+ templates
- Fixed a bug where running multiple normal coordinate QFFs in the same directory could introduce file conflicts
- Fixed a bug where MOPAC geometries were truncated to 40 atoms
- Updated built-in queue templates for MCSR users
Initial release with binaries
Because of its use of nightly features, pbqff can be difficult to compile without a very recent Rust compiler (#282). This was a good excuse to figure out more about GitHub releases and find the action-gh-release action to automate uploading binaries. This release provides binaries for the x86_64-unknown-linux-musl
, aarch64-apple-darwin
, and x86_64-apple-darwin
targets.