Skip to content

Releases: PCMSolver/pcmsolver

Fluctuating charges MM

30 Nov 20:26
v1.3.0
27fb35f
Compare
Choose a tag to compare

Added

  • An implementation of the fluctuating charge (FQ) molecular mechanics (MM) model.
  • A new API initialization function pcmsolver_new_read_host. This allows
    creating an uninitialized pcmsolver_context_t object: the initialization is
    deferred to a later point and orchestrated by the host program. The input
    options are then set via the other API functions:
    • pcmsolver_set_bool_option
    • pcmsolver_set_int_option
    • pcmsolver_set_double_option
    • pcmsolver_set_string_option
      A call to pcmsolver_refresh will trigger initialization of all internal
      objects managed through pcmsolver_context_t. Use this function when you want
      to manage input parsing on the host side, rather than use a dedicated input file
      for PCMSolver.
  • A pcmsolver_fill_pcminput function in the Fortran interface. This function
    simplifies the creation of the PCMInput object from Fortran.
  • A PCMSOLVER_WARNING macro to emit warning to users.

Changed

  • Use GitHub Actions instead of Travis for continuous integration.
  • Remove integration with Danger in CI.
  • A C++11-compliant compilers is required to compile the library.
  • The Fortran interface has been refactored to hide the transformation of
    strings from Fortran to C from the host program.
  • The check on the symmetric positive definiteness of the S matrix triggers a
    warning, not an error.
  • We switched back to using LU decomposition for CPCM.
  • For IEF, we switched to LU decomposition, instead of partially pivoted LU.
  • UFF radii are scaled by 1.1 by default.

Fixed

  • The printout of sphere centers and radii always uses Angstrom.

Prune list of cavity finite elements

14 Feb 15:04
ceeca60
Compare
Choose a tag to compare

This release implements pruning of cavity finite elements with area smaller than 10^-4 (see #178). This avoid numerical instabilities in the computation of the S matrix by collocation.

Read the change log for exhaustive information. Consult also the list of issues

Maintenance release

27 Jan 21:24
6a43953
Compare
Choose a tag to compare

This is maintenance release. Read the change log for exhaustive information. Consult also the list of issues

Fixing imports in getkw.py

02 May 15:06
fa7c826
Compare
Choose a tag to compare

This patch release fixes the import of the pyparsing module necessary in Getkw. Thanks @loriab for catching, reporting and fixing this (#164 and #165). It was sadly overlooked in the latest release.
The conf.py script has also been fixed and documentation builds on ReadTheDocs are now restored (#163)

Known bugs

The green_spherical_diffuse test fails when compiling the library with the Intel compilers. See issue #159 and pull request #138 for updates.

Read the change log for exhaustive information. Consult also the list of issues

One new Green's function and infrastructure updates

27 Apr 20:05
e1943b1
Compare
Choose a tag to compare

Notable changes in this release:

  • Added Green’s function for a spherical nanoparticle with real permittivity.
  • C++03 support is effectively deprecated in favor of C++11.
  • The Fortran API bindings file pcmsolver.f90 is now installed alongside the pcmsolver.h header file.
  • The minimum required version of CMake is now 3.3

Known bugs

The green_spherical_diffuse test fails when compiling the library with the Intel compilers. See issue #159 and pull request #138 for updates.

Read the change log for exhaustive information. Consult also the list of issues

Bug fixes in spherical diffuse interfaces

02 May 01:46
Compare
Choose a tag to compare

Some of the changes included in this release:

  • Use double logarithmic scale for the integration of spherical diffuse interfaces, allowing for Runge-Kutta 4 integrator.
  • A bug in the diffuse interface Green's function has been fixed.
  • The layout of the installation for the Python scripts has been changed, addressing issue #116.
  • The pcmsolver.py script/module was removed to address issues #111 and #112.

Read the change log for exhaustive information. Consult also the list of issues

Improvements to internals and bugfixes

20 Jan 13:02
8549bb1
Compare
Choose a tag to compare

This release sees a series of internal improvements to simplify input parsing and minimize the dependency on the Boost libraries.
Notable points:

  • An updated version of the pcmsolver_new API function has been introduced.
    The full name of the function is pcmsolver_new_v1112 (to avoid API breakage)
    and accepts as additional argument the name of the parsed input file
    generated by pcmsolver.py. This allows to decoupled parsing and writing out
    the parsed file, in case directory-specific operations have to be performed
    by the host program.
  • Moved python scripts from bin/ to bin/pcmsolver/ and introduced bin/pcmsolver/__init__.py.
  • The parse_pcm_input function returns the parsed input as a string without
    saving it to file. The old behavior can be recovered by setting the
    write_out argument to True.

Read the change log for exhaustive information. Consult also the list of issues

Minor fixes and additions

25 Oct 20:40
e8f787a
Compare
Choose a tag to compare

This release fixes:

  • A bug in the initialization of the restart cavity from old .npz files.
  • Parsing of the .pcm input file.
    This release adds:
  • A new input section: ChargeDistribution.
  • Possibility to compile with Ninja.

Target export and external dependencies update

27 Mar 10:55
5a5f9c3
Compare
Choose a tag to compare
  • The dependency on Zlib is now exported for the static library, fixing this problem in building Psi4 Thanks @loriab for the pull request.
  • The cloc.pl script, a dependency for building docs, has been updated.

CMake update, Python 3 compatibility and external dependencies update

16 Feb 19:05
5d7ac75
Compare
Choose a tag to compare
  • PCMSolver is now exported as a proper CMake target thanks to the work of @loriab.
  • The Python tools distributed with the library are Python 2 and Python 3 compatible.
  • Catch and Eigen have been updated to their latest versions.

Read the change log for exhaustive information. Consult also the list of issues