Skip to content

[WIP] TsLess cavity, take 3 #140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ src/pedra/*.F90 licensefile=.githooks/LICENSE-Fortran
src/pedra/*.f90 licensefile=.githooks/LICENSE-Fortran
src/pedra/pedra_dlapack.f90 !licensefile

# tsless
src/tsless/*.F90 licensefile=.githooks/LICENSE-Fortran
src/tsless/*.f90 licensefile=.githooks/LICENSE-Fortran

# solver
src/solver/*.hpp licensefile=.githooks/LICENSE-C++
src/solver/*.cpp licensefile=.githooks/LICENSE-C++
Expand Down Expand Up @@ -69,6 +73,7 @@ tests/iefpcm/*.cpp licensefile=.githooks/LICENSE-C++
tests/input/*.cpp licensefile=.githooks/LICENSE-C++
tests/numerical_quadrature/*.cpp licensefile=.githooks/LICENSE-C++
tests/utils/*.cpp licensefile=.githooks/LICENSE-C++
tests/tsless/*.cpp licensefile=.githooks/LICENSE-C++

# tools
doc/conf.py licensefile=.githooks/LICENSE-Python
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

### Added

- A new cavity generator using C. S. Pomelli's [TsLess algorithm](http://dx.doi.org/10.1002/jcc.20076)
- Green’s function for a spherical nanoparticle with **real** permittivity.
The Green's function is known in analytical form from the work of
Messina (J. Chem. Phys. 2002, 117 (24), 11062) and
Expand Down
5 changes: 3 additions & 2 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ name = "pypi"

[packages]

PyYAML = "*"
Pygments = "*"
Sphinx = "*"
breathe = "*"
docopt = "*"
fprettify = "*"
matplotlib = "*"
pyparsing = "*"
PyYAML = "*"
recommonmark = "*"
Sphinx = "*"
sphinx_rtd_theme = "*"
sphinxcontrib-bibtex = "*"
yapf = "*"
Expand Down
162 changes: 102 additions & 60 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ let
nixpkgs = (hostPkgs.fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs-channels";
rev = "nixos-unstable";
sha256 = "0im8l87nghsp4z7swidgg2qpx9mxidnc0zs7a86qvw8jh7b6sbv2";
rev = "nixos-18.03";
sha256 = "1qiihxa2qdrij735rglfrx24nhn72kby44lkm1dxph395qy8fg1h";
});
in
with import nixpkgs {
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Pygments
breathe
docopt
fprettify
matplotlib
pyparsing
pyyaml
Expand Down
10 changes: 6 additions & 4 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,28 @@ include_directories(
SYSTEM ${CMAKE_CURRENT_LIST_DIR}/utils/getkw
)

add_subdirectory(bi_operators)
add_subdirectory(cavity)
add_subdirectory(green)
add_subdirectory(interface)
add_subdirectory(metal)
add_subdirectory(bi_operators)
add_subdirectory(pedra)
add_subdirectory(solver)
add_subdirectory(tsless)
add_subdirectory(utils)

list(APPEND _objects
$<TARGET_OBJECTS:cavity>
$<$<BOOL:${ENABLE_Fortran_API}>:$<TARGET_OBJECTS:fortran_bindings>>
$<TARGET_OBJECTS:bi_operators>
$<TARGET_OBJECTS:cavity>
$<TARGET_OBJECTS:getkw>
$<TARGET_OBJECTS:green>
$<TARGET_OBJECTS:interface>
$<TARGET_OBJECTS:metal>
$<TARGET_OBJECTS:bi_operators>
$<TARGET_OBJECTS:pedra>
$<TARGET_OBJECTS:solver>
$<TARGET_OBJECTS:tsless>
$<TARGET_OBJECTS:utils>
$<TARGET_OBJECTS:getkw>
)

if(NOT STATIC_LIBRARY_ONLY)
Expand Down
2 changes: 2 additions & 0 deletions src/cavity/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Element.hpp
GePolCavity.hpp
ICavity.hpp
RestartCavity.hpp
TsLessCavity.hpp
)

# List of sources
Expand All @@ -14,6 +15,7 @@ Element.cpp
GePolCavity.cpp
ICavity.cpp
RestartCavity.cpp
TsLessCavity.cpp
)

add_library(cavity OBJECT ${sources_list} ${headers_list})
Expand Down
2 changes: 2 additions & 0 deletions src/cavity/Cavity.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include "GePolCavity.hpp"
#include "ICavity.hpp"
#include "RestartCavity.hpp"
#include "TsLessCavity.hpp"
#include "utils/Factory.hpp"

/*!
Expand All @@ -51,6 +52,7 @@ inline Factory<detail::CreateCavity> bootstrapFactory() {

factory_.subscribe("GEPOL", createGePolCavity);
factory_.subscribe("RESTART", createRestartCavity);
factory_.subscribe("TSLESS", createTsLessCavity);

return factory_;
}
Expand Down
10 changes: 10 additions & 0 deletions src/cavity/CavityData.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ struct CavityData {
double area;
/*! The radius of the spherical probe representing the solvent */
double probeRadius;
/*! The minimal distance between two sampling points on different spheres. Relevant
* for TsLessCavity */
double minDistance;
/*! The maximum derivative order to be used in the definition of the smoothing
* function. Relevant for TsLessCavity */
int derOrder;
/*! Triggers the addition of spheres not centered on atoms, relevant for
* GePolCavity */
double minimalRadius;
Expand All @@ -52,12 +58,16 @@ struct CavityData {
const Molecule & _molec,
double _area,
double _probeRadius,
double _minDistance,
int _derOrder,
double _minRadius,
const std::string & _fname)
: cavityType(type),
molecule(_molec),
area(_area),
probeRadius(_probeRadius),
minDistance(_minDistance),
derOrder(_derOrder),
minimalRadius(_minRadius),
filename(_fname) {}
};
Expand Down
Loading