In these examples, we want to show how every function in the API works. If your program is written in Fortran, head over to fortran-example
If your program is written in C/C++, head over to C-example
Electrostatic potential vectors and the corresponding apparent surface charge vectors are handled internally as surface functions. The actual values are stored into Eigen vectors and saved into a map. The mapping is between the name of the surface function, given by the programmer writing the interface to the library, and the vector holding the values.
These are the contents of the pcmsolver.h
file defining the public API of the PCMSolver library. The Fortran bindings for the API are in the pcmsolver.F90
file. The indexing of symmetry operations and their mapping to a bitstring is explained in the following Table. This is important when passing symmetry information to the :cpppcmsolver_new
function.
Index zyx Generator Parity 0
000 E
1.0
1
001 Oyz
-1.0
2
010 Oxz
-1.0
3
011 C2z
1.0
4
100 Oxy
-1.0
5
101 C2y
1.0
6
110 C2x
1.0
7
111 i
-1.0
mock_pcmsolver.h
PCMInput
Meddle