#include <poissonBoltzmann.h>
Debugging | |
Index | getErrorCode () const |
Return the last error code. | |
String | getErrorMessage (Index error_code) |
Return the last error message. | |
Public Types | |
typedef FastAtomStruct | FastAtom |
enum | ErrorCode { ERROR__NONE = -1, ERROR__UNKNOWN = 0, ERROR__NOT_IMPLEMENTED = 1, ERROR__CANNOT_CREATE_ATOM_ARRAY, ERROR__CANNOT_CREATE_SAS_GRID, ERROR__CANNOT_CREATE_EPSILON_GRID, ERROR__CANNOT_CREATE_KAPPA_GRID, ERROR__CANNOT_CREATE_CHARGE_GRID, ERROR__CANNOT_CREATE_PHI_GRID, ERROR__SAS_GRID_REQUIRED, ERROR__EPSILON_GRID_REQUIRED, ERROR__ATOM_ARRAY_REQUIRED, ERROR__PHI_GRID_REQUIRED, ERROR__OUT_OF_MEMORY, ERROR__UNKNOWN_DIELECTRIC_SMOOTHING_METHOD, ERROR__UNKNOWN_CHARGE_DISTRIBUTION_METHOD, ERROR__UNKNOWN_BOUNDARY_CONDITION_TYPE, ERROR__NOT_A_VECTOR_IN_UPPER_LOWER, ERROR__ILLEGAL_VALUE_FOR_LOWER_UPPER, ERROR__SETUP_REQUIRED, NUMBER_OF_ERRORS } |
Error codes: these are the possible error codes that can be produced by FDPB. More... | |
Public Member Functions | |
Constructors and Destructors | |
FDPB () | |
Default constructor. | |
FDPB (const FDPB &fdpb) | |
Copy constructor. | |
FDPB (System &system) | |
Constructor. | |
FDPB (Options &new_options) | |
Constructor. | |
FDPB (System &system, Options &new_options) | |
Constructor. | |
virtual | ~FDPB () |
Destructor. | |
void | destroy () |
Frees all allocated memory and destroys the options and results. | |
void | destroyGrids () |
Destroys all allocated grids and the atom array. | |
Setup methods | |
Using these methods, a FDPB object can be prepared for a calculation.
| |
bool | setup (System &system) |
General setup method. | |
bool | setup (System &system, Options &options) |
Setup with assignment of options. | |
bool | setupEpsGrid (System &system) |
Setup the dielectric grid. | |
bool | setupSASGrid (System &system) |
Setup the ion accessible grid. | |
bool | setupAtomArray (System &system) |
Setup an compact datastructure containing all charged atoms. | |
bool | setupKappaGrid () |
Setup the Debye Hueckel parameter grid. | |
bool | setupQGrid () |
Setup charge grid. | |
bool | setupPhiGrid () |
Setup electrostatic potential grid. | |
bool | setupBoundary () |
Setup boundary conditions for the electrostatic potential. | |
Executing the calculation and retrieving the results | |
bool | solve () |
Solves the linearized Poisson-Boltzmann equation. | |
double | getEnergy () const |
Returns the energy of the last calculation. | |
double | getReactionFieldEnergy () const |
Return the reaction field energy. | |
double | calculateReactionFieldEnergy () const |
Calculate the reaction field energy. | |
Size | getNumberOfIterations () const |
Returns the number of iterations needed to converge. | |
Public Attributes | |
Options and results of the calculation | |
Options | options |
The options for the FDPB calculation. | |
Options | results |
The results of the last calculation. | |
Grids and arrays | |
TRegularData3D< Vector3 > * | eps_grid |
The grid containing the spatial dependent dielectric constant. | |
TRegularData3D< float > * | kappa_grid |
The grid containing the modified Debye Hueckel parameter. | |
TRegularData3D< float > * | q_grid |
The grid containing the atom charges (distributed). | |
TRegularData3D< float > * | phi_grid |
The grid containing the electrostatic potential. | |
TRegularData3D< char > * | SAS_grid |
The grid describing the solvent accessible surface of the system. | |
vector< FDPB::FastAtom > * | atom_array |
An array containing a fast representation of all atoms in the system. | |
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 | |
const char * | error_message_ [] |
|
Error codes: these are the possible error codes that can be produced by FDPB.
|
|
Default constructor. Creates an empty FDPB object. |
|
Copy constructor. Copies an existing FDPB object. |
|
Constructor. Creates an instance of FDPB and calls setup(system). The options used are the default options.
|
|
Constructor. Creates an instance of FDPB and assigns the given options to the FDPB object's options. |
|
Constructor. Creates an instance of FDPB and calls setup(system, options) |
|
Destructor.
|
|
Calculate the reaction field energy.
|
|
Frees all allocated memory and destroys the options and results.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Return the reaction field energy.
|
|
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.
|
|
General setup method. Setup calls (in this order!)
If any of theses method invocations fail, it terminates at this point and returns false.
|
|
Setup an compact datastructure containing all charged atoms. This method creates a dynamic array containing all charged atoms.
|
|
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).
|
|
Setup the Debye Hueckel parameter grid.
|
|
Setup charge grid.
|
|
Setup the ion accessible grid. Not yet implemented! |
|
Solves the linearized Poisson-Boltzmann equation.
|
|
An array containing a fast representation of all atoms in the system.
|
|
The grid containing the spatial dependent dielectric constant. The (relative) dielectric constant is unitless.
|
|
The grid containing the modified Debye Hueckel parameter.
|
|
The options for the FDPB calculation.
|
|
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
|
|
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.
|
|
The results of the last calculation.
|
|
The grid describing the solvent accessible surface of the system.
|