BALL
1.4.79
|
#include <BALL/SOLVATION/poissonBoltzmann.h>
Classes | |
struct | Boundary |
struct | ChargeDistribution |
struct | Default |
struct | DielectricSmoothing |
struct | FastAtomStruct |
struct | Option |
Public Member Functions | |
Constructors and Destructors | |
FDPB () | |
FDPB (const FDPB &fdpb) | |
FDPB (System &system) | |
FDPB (Options &new_options) | |
FDPB (System &system, Options &new_options) | |
virtual | ~FDPB () |
void | destroy () |
void | destroyGrids () |
Setup methods | |
Using these methods, a FDPB object can be prepared for a calculation. | |
bool | setup (System &system) |
bool | setup (System &system, Options &options) |
bool | setupEpsGrid (System &system) |
bool | setupSASGrid (System &system) |
bool | setupAtomArray (System &system) |
bool | setupKappaGrid () |
bool | setupQGrid () |
bool | setupPhiGrid () |
bool | setupBoundary () |
Executing the calculation and retrieving the results | |
bool | solve () |
double | getEnergy () const |
double | getReactionFieldEnergy () const |
double | calculateReactionFieldEnergy () const |
Size | getNumberOfIterations () const |
Public Attributes | |
Options and results of the calculation | |
Options | options |
Options | results |
Grids and arrays | |
TRegularData3D< Vector3 > * | eps_grid |
TRegularData3D< float > * | kappa_grid |
TRegularData3D< float > * | q_grid |
TRegularData3D< float > * | phi_grid |
TRegularData3D< char > * | SAS_grid |
vector< FDPB::FastAtom > * | atom_array |
Protected Attributes | |
Vector3 | lower_ |
Vector3 | upper_ |
Vector3 | offset_ |
bool | use_offset_ |
float | spacing_ |
double | energy_ |
double | reaction_field_energy_ |
vector< Position > | boundary_points_ |
Size | number_of_iterations_ |
int | error_code_ |
Static Protected Attributes | |
static const char * | error_message_ [] |
Debugging | |
Index | getErrorCode () const |
static String | getErrorMessage (Index error_code) |
Finite Difference Poisson Boltzmann Solver.
Definition at line 36 of file poissonBoltzmann.h.
typedef struct FastAtomStruct BALL::FDPB::FastAtom |
Definition at line 635 of file poissonBoltzmann.h.
BALL::FDPB::FDPB | ( | System & | system | ) |
Constructor. Creates an instance of FDPB and calls setup(system). The options used are the default options.
BALL::FDPB::FDPB | ( | Options & | new_options | ) |
|
virtual |
Destructor.
double BALL::FDPB::calculateReactionFieldEnergy | ( | ) | const |
Calculate the reaction field energy.
void BALL::FDPB::destroy | ( | ) |
Frees all allocated memory and destroys the options and results.
void BALL::FDPB::destroyGrids | ( | ) |
Destroys all allocated grids and the atom array. This method reverts the FDPB object to the state it had prior to a call to setup. Especially it frees all memory intensive datastructures.
double BALL::FDPB::getEnergy | ( | ) | const |
Returns the energy of the last calculation. The total electrostatic energy of the FDPB object after the last iteration (even if no convergence was reached!) is returned in units of kJ/mol.
Index BALL::FDPB::getErrorCode | ( | ) | const |
Return the last error code. If a method fails, an internal error code is set in FDPB. This error code can be queried by calling this method. If no error occured it should return FDPB::ERROR__NONE.
Return the last error message.
Size BALL::FDPB::getNumberOfIterations | ( | ) | const |
Returns the number of iterations needed to converge. Returns the number of iterations taken in the last call to FDPB::solve(). If convergence could not be reached (i.e., the convergence criterions defined in options could not be met), -1 is returned.
double BALL::FDPB::getReactionFieldEnergy | ( | ) | const |
Return the reaction field energy.
General setup method. Setup calls (in this order!)
If any of theses method invocations fail, it terminates at this point and returns false.
system | the molecular system to be examined. |
Setup with assignment of options. This method copies the options given by options into the options variable of the FDPB object and invokes setup(system) afterwards.
options | the new options |
system | the molecular system to be evaluated |
Setup an compact datastructure containing all charged atoms. This method creates a dynamic array containing all charged atoms.
system | the system to be evaluated |
bool BALL::FDPB::setupBoundary | ( | ) |
Setup boundary conditions for the electrostatic potential.
Setup the dielectric grid. The Finite Difference Poisson Boltzmann Method is based on the assumption that one can determine which points on a given grid are inside a given solute (with low dielectric constant) and which points are outside (i.e., they are in the high dielectric constant solvent).
setupEpsGrid
creates a grid containing the dielectric constant between any two neighbouring grid points (i.e., it contains 3 N values). Points inside the molecule (i.i, inside the radius of any atom) are set to the solute dielectric constant, all other points are set to the solvent dielectric constant. system | the system to be evaluated |
bool BALL::FDPB::setupKappaGrid | ( | ) |
Setup the Debye Hueckel parameter grid.
bool BALL::FDPB::setupPhiGrid | ( | ) |
Setup electrostatic potential grid
bool BALL::FDPB::setupQGrid | ( | ) |
Setup charge grid.
Setup the ion accessible grid. Not yet implemented!
bool BALL::FDPB::solve | ( | ) |
Solves the linearized Poisson-Boltzmann equation.
vector<FDPB::FastAtom>* BALL::FDPB::atom_array |
An array containing a fast representation of all atoms in the system.
Definition at line 911 of file poissonBoltzmann.h.
|
protected |
Definition at line 934 of file poissonBoltzmann.h.
|
protected |
Definition at line 926 of file poissonBoltzmann.h.
TRegularData3D<Vector3>* BALL::FDPB::eps_grid |
The grid containing the spatial dependent dielectric constant. The (relative) dielectric constant is unitless.
Definition at line 876 of file poissonBoltzmann.h.
|
protected |
Definition at line 941 of file poissonBoltzmann.h.
|
staticprotected |
Definition at line 943 of file poissonBoltzmann.h.
TRegularData3D<float>* BALL::FDPB::kappa_grid |
The grid containing the modified Debye Hueckel parameter.
Definition at line 881 of file poissonBoltzmann.h.
|
protected |
Definition at line 917 of file poissonBoltzmann.h.
|
protected |
Definition at line 937 of file poissonBoltzmann.h.
|
protected |
Definition at line 919 of file poissonBoltzmann.h.
Options BALL::FDPB::options |
The options for the FDPB calculation.
Definition at line 861 of file poissonBoltzmann.h.
TRegularData3D<float>* BALL::FDPB::phi_grid |
The grid containing the electrostatic potential. Before a calculation this is grid is initialized with the boundary condition. After the calculation (i.e. after a call to solve()
) it contains the electrostatic potential in units of J/C resulting from the Poisson-Boltzmann equation).
Definition at line 902 of file poissonBoltzmann.h.
TRegularData3D<float>* BALL::FDPB::q_grid |
The grid containing the atom charges (distributed). Each atom's charge is distributed on the grid by setupQGrid, according to the charge distribution method specified in options.
Definition at line 891 of file poissonBoltzmann.h.
|
protected |
Definition at line 929 of file poissonBoltzmann.h.
Options BALL::FDPB::results |
The results of the last calculation.
Definition at line 865 of file poissonBoltzmann.h.
TRegularData3D<char>* BALL::FDPB::SAS_grid |
The grid describing the solvent accessible surface of the system.
Definition at line 906 of file poissonBoltzmann.h.
|
protected |
Definition at line 923 of file poissonBoltzmann.h.
|
protected |
Definition at line 918 of file poissonBoltzmann.h.
|
protected |
Definition at line 921 of file poissonBoltzmann.h.