Releases: PCMSolver/pcmsolver
Fix the static library build
The bug introduced in the generation of the static library libpcm.a
is fixed in this minor release.
This commit fixes issues #34, #35 and #36 (on GitHub) and #60, #61 and #62 (on GitLab)
The fix consisted in subscribing all subclasses to the factory in a top-level convenience header that gets included into the Meddle.cpp
file.
Namespaces have finally been introduced into the project and some core abstract base classes have been renamed to signal their ABC status. Please see the change log for detailed information.
Read the change log for exhaustive information. Consult also the list of issues
Updating library-to-host output flushing mechanism and codebase maintenance
This release contains a number of fixes to the internal infrastructure. The Autocmake system was updated to its latest version. Some internal functions have been revamped. The Green's functions, boundary integral operators and solvers code have been extensively rewritten to simplify their structure.
BREAKING CHANGE
The output flushing from library to host was managed by a function called host_writer
with signature: void host_writer(const char * message, int message_length)
This has been changed with the current version without preserving backwards compatibility
From this version onwards, the output flushing function will have to be passed as a function pointer from the host to the library via the pcmsolver_new
function. Moreover, the expected signature for the passed function only needs one argument: typedef void (*HostWriter)(const char * message)
Read the change log for exhaustive information. Consult also the list of issues
Fix of a potential memory leak
This patch fixes a memory leak in the host-side input reading mechanism.
A new radii set derived from Allinger's MM3 parameter set
A new radii set derived from Allinger's MM3 parameter set was added. This set of radii is the one used by default in ADF for the COSMO implementation. They are obtained from the data reported in the original paper divided by 1.2
Read the change log for exhaustive information. Consult also the list of issues
Fix bug introduced for IEFPCM in previous release
The previous release had introduced a bug in the definition of the polarization weights calculated by the IEFSolver
object. This was problematic especially in response calculations and was not caught by the library own test suite.
Read the change log for exhaustive information. Consult also the list of issues
Performance improvements
A number of small bugs were fixed:
- Initialization of the explicit list of spheres when executing the standalone
run_pcm
executable. - Memory leak in
PEDRA
when a large number of spheres is given.
Performance improvements:
- A better log from the
PEDRA
cavity generator. - Faster
CPCMSolver
both in initialization and ASC computation. - Faster
IEFSolver
both in initialization and ASC computation.
Read the change log for exhaustive information. Consult also the list of issues
Patch Fortran bindings
An inconsistency in the types declared in the Fortran bindings was corrected.
Read the change log for exhaustive information. Consult also the list of issues
Various patches
A number of small modifications, both internal and at API level.
API modifications are non-breaking. Notice that minimum required version for CMake has been pushed up to 2.8.10
Read the change log for exhaustive information. Consult also the list of issues