Data Structures | Files | Typedefs | Functions

Vpbe class

The Poisson-Boltzmann master class. More...

Data Structures

struct  sVpbe
 Contains public data members for Vpbe class/module. More...

Files

file  vpbe.h
 

Contains declarations for class Vpbe.


file  vpbe.c
 

Class Vpbe methods.


Typedefs

typedef struct sVpbe Vpbe
 Declaration of the Vpbe class as the Vpbe structure.

Functions

VEXTERNC ValistVpbe_getValist (Vpbe *thee)
 Get atom list.
VEXTERNC VaccVpbe_getVacc (Vpbe *thee)
 Get accessibility oracle.
VEXTERNC double Vpbe_getBulkIonicStrength (Vpbe *thee)
 Get bulk ionic strength.
VEXTERNC double Vpbe_getMaxIonRadius (Vpbe *thee)
 Get maximum radius of ion species.
VEXTERNC double Vpbe_getTemperature (Vpbe *thee)
 Get temperature.
VEXTERNC double Vpbe_getSoluteDiel (Vpbe *thee)
 Get solute dielectric constant.
VEXTERNC double Vpbe_getGamma (Vpbe *thee)
 Get apolar coefficient.
VEXTERNC double Vpbe_getSoluteRadius (Vpbe *thee)
 Get sphere radius which bounds biomolecule.
VEXTERNC double Vpbe_getSoluteXlen (Vpbe *thee)
 Get length of solute in x dimension.
VEXTERNC double Vpbe_getSoluteYlen (Vpbe *thee)
 Get length of solute in y dimension.
VEXTERNC double Vpbe_getSoluteZlen (Vpbe *thee)
 Get length of solute in z dimension.
VEXTERNC double * Vpbe_getSoluteCenter (Vpbe *thee)
 Get coordinates of solute center.
VEXTERNC double Vpbe_getSoluteCharge (Vpbe *thee)
 Get total solute charge.
VEXTERNC double Vpbe_getSolventDiel (Vpbe *thee)
 Get solvent dielectric constant.
VEXTERNC double Vpbe_getSolventRadius (Vpbe *thee)
 Get solvent molecule radius.
VEXTERNC double Vpbe_getXkappa (Vpbe *thee)
 Get Debye-Huckel parameter.
VEXTERNC double Vpbe_getDeblen (Vpbe *thee)
 Get Debye-Huckel screening length.
VEXTERNC double Vpbe_getZkappa2 (Vpbe *thee)
 Get modified squared Debye-Huckel parameter.
VEXTERNC double Vpbe_getZmagic (Vpbe *thee)
 Get charge scaling factor.
VEXTERNC double Vpbe_getzmem (Vpbe *thee)
 Get z position of the membrane bottom.
VEXTERNC double Vpbe_getLmem (Vpbe *thee)
 Get length of the membrane (A)aauthor Michael Grabe.
VEXTERNC double Vpbe_getmembraneDiel (Vpbe *thee)
 Get membrane dielectric constant.
VEXTERNC double Vpbe_getmemv (Vpbe *thee)
 Get membrane potential (kT)
VEXTERNC VpbeVpbe_ctor (Valist *alist, int ionNum, double *ionConc, double *ionRadii, double *ionQ, double T, double soluteDiel, double solventDiel, double solventRadius, int focusFlag, double sdens, double z_mem, double L, double membraneDiel, double V)
 Construct Vpbe object.
VEXTERNC int Vpbe_ctor2 (Vpbe *thee, Valist *alist, int ionNum, double *ionConc, double *ionRadii, double *ionQ, double T, double soluteDiel, double solventDiel, double solventRadius, int focusFlag, double sdens, double z_mem, double L, double membraneDiel, double V)
 FORTRAN stub to construct Vpbe objct.
VEXTERNC int Vpbe_getIons (Vpbe *thee, int *nion, double ionConc[MAXION], double ionRadii[MAXION], double ionQ[MAXION])
 Get information about the counterion species present.
VEXTERNC void Vpbe_dtor (Vpbe **thee)
 Object destructor.
VEXTERNC void Vpbe_dtor2 (Vpbe *thee)
 FORTRAN stub object destructor.
VEXTERNC double Vpbe_getCoulombEnergy1 (Vpbe *thee)
 Calculate coulombic energy of set of charges.
VEXTERNC unsigned long int Vpbe_memChk (Vpbe *thee)
 Return the memory used by this structure (and its contents) in bytes.

Detailed Description

The Poisson-Boltzmann master class.

Contains objects and parameters used in every PBE calculation, regardless of method.


Function Documentation

VEXTERNC Vpbe* Vpbe_ctor ( Valist alist,
int  ionNum,
double *  ionConc,
double *  ionRadii,
double *  ionQ,
double  T,
double  soluteDiel,
double  solventDiel,
double  solventRadius,
int  focusFlag,
double  sdens,
double  z_mem,
double  L,
double  membraneDiel,
double  V 
)

Construct Vpbe object.

Author:
Nathan Baker and Mike Holst and Michael Grabe
Note:
This is partially based on some of Mike Holst's PMG code. Here are a few of the original function comments: kappa is defined as follows:

\[ \kappa^2 = \frac{8 \pi N_A e_c^2 I_s}{1000 \epsilon_w k_B T} \]

where the units are esu*esu/erg/mol. To obtain $\AA^{-2}$, we multiply by $10^{-16}$. Thus, in $\AA^{-2}$, where $k_B$ and $e_c$ are in gaussian rather than mks units, the proper value for kappa is:

\[ \kappa^2 = \frac{8 \pi N_A e_c^2 I_s}{1000 \epsilon_w k_b T} \times 10^{-16} \]

and the factor of $10^{-16}$ results from converting cm^2 to angstroms^2, noting that the 1000 in the denominator has converted m^3 to cm^3, since the ionic strength $I_s$ is assumed to have been provided in moles per liter, which is moles per 1000 cm^3.
Returns:
Pointer to newly allocated Vpbe object
Parameters:
alistAtom list
ionNumNumber of counterion species
ionConcArray containing counterion concentrations (M)
ionRadiiArray containing counterion radii (A)
ionQArray containing counterion charges (e)
TTemperature for Boltzmann distribution (K)
soluteDielSolute internal dielectric constant
solventDielSolvent dielectric constant
solventRadiusSolvent probe radius for surfaces that use it (A)
focusFlag1 if focusing operation, 0 otherwise
sdensVacc sphere density
z_memMembrane location (A)
LMembrane thickness (A)
membraneDielMembrane dielectric constant
VTransmembrane potential (V)

Definition at line 239 of file vpbe.c.

VEXTERNC int Vpbe_ctor2 ( Vpbe thee,
Valist alist,
int  ionNum,
double *  ionConc,
double *  ionRadii,
double *  ionQ,
double  T,
double  soluteDiel,
double  solventDiel,
double  solventRadius,
int  focusFlag,
double  sdens,
double  z_mem,
double  L,
double  membraneDiel,
double  V 
)

FORTRAN stub to construct Vpbe objct.

Author:
Nathan Baker and Mike Holst and Michael Grabe
Note:
This is partially based on some of Mike Holst's PMG code. Here are a few of the original function comments: kappa is defined as follows:

\[ \kappa^2 = \frac{8 \pi N_A e_c^2 I_s}{1000 eps_w k_B T} \]

where the units are esu*esu/erg/mol. To obtain $\AA^{-2}$, we multiply by $10^{-16}$. Thus, in $\AA^{-2}$, where $k_B$ and $e_c$ are in gaussian rather than mks units, the proper value for kappa is:

\[ \kappa^2 = \frac{8 pi N_A e_c^2 I_s}{1000 eps_w k_b T} \times 10^{-16} \]

and the factor of $10^{-16}$ results from converting cm^2 to angstroms^2, noting that the 1000 in the denominator has converted m^3 to cm^3, since the ionic strength $I_s$ is assumed to have been provided in moles per liter, which is moles per 1000 cm^3.
Bug:
The focusing flag is currently not used!!
Returns:
1 if successful, 0 otherwise
Parameters:
theePointer to memory allocated for Vpbe object
alistAtom list
ionNumNumber of counterion species
ionConcArray containing counterion concentrations (M)
ionRadiiArray containing counterion radii (A)
ionQArray containing counterion charges (e)
TTemperature for Boltzmann distribution (K)
soluteDielSolute internal dielectric constant
solventDielSolvent dielectric constant
solventRadiusSolvent probe radius for surfaces that use it (A)
focusFlag1 if focusing operation, 0 otherwise
sdensVacc sphere density
z_memMembrane location (A)
LMembrane thickness (A)
membraneDielMembrane dielectric constant
VTransmembrane potential (V)

Definition at line 257 of file vpbe.c.

Here is the call graph for this function:

VEXTERNC void Vpbe_dtor ( Vpbe **  thee )

Object destructor.

Author:
Nathan Baker
Parameters:
theePointer to memory location of object to be destroyed

Definition at line 460 of file vpbe.c.

Here is the call graph for this function:

VEXTERNC void Vpbe_dtor2 ( Vpbe thee )

FORTRAN stub object destructor.

Author:
Nathan Baker
Parameters:
theePointer to object to be destroyed

Definition at line 468 of file vpbe.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC double Vpbe_getBulkIonicStrength ( Vpbe thee )

Get bulk ionic strength.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Bulk ionic strength (M)

Definition at line 77 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getCoulombEnergy1 ( Vpbe thee )

Calculate coulombic energy of set of charges.

Perform an inefficient double sum to calculate the Coulombic energy of a set of charges in a homogeneous dielectric (with permittivity equal to the protein interior) and zero ionic strength. Result is returned in units of k_B T. The sum can be restriction to charges present in simplices of specified color (pcolor); if (color == -1) no restrictions are used.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Coulombic energy in units of $k_B T$.

Definition at line 474 of file vpbe.c.

Here is the call graph for this function:

VEXTERNC double Vpbe_getDeblen ( Vpbe thee )

Get Debye-Huckel screening length.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Debye-Huckel screening length (Å)

Definition at line 134 of file vpbe.c.

VEXTERNC double Vpbe_getGamma ( Vpbe thee )

Get apolar coefficient.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Apolar coefficent (kJ/mol/A^2)
VEXTERNC int Vpbe_getIons ( Vpbe thee,
int *  nion,
double  ionConc[MAXION],
double  ionRadii[MAXION],
double  ionQ[MAXION] 
)

Get information about the counterion species present.

Author:
Nathan Baker
Parameters:
theePointer to Vpbe object
nionSet to the number of counterion species
ionConcArray to store counterion species' concentrations (M)
ionRadiiArray to store counterion species' radii (A)
ionQArray to store counterion species' charges (e)
Returns:
Number of ions

Definition at line 528 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getLmem ( Vpbe thee )

Get length of the membrane (A)aauthor Michael Grabe.

Parameters:
theeVpbe object
Returns:
Length of the membrane (A)

Definition at line 202 of file vpbe.c.

VEXTERNC double Vpbe_getMaxIonRadius ( Vpbe thee )

Get maximum radius of ion species.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Maximum radius (A)

Definition at line 120 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getmembraneDiel ( Vpbe thee )

Get membrane dielectric constant.

Author:
Michael Grabe
Parameters:
theeVpbe object
Returns:
Membrane dielectric constant

Definition at line 214 of file vpbe.c.

VEXTERNC double Vpbe_getmemv ( Vpbe thee )

Get membrane potential (kT)

Author:
Michael Grabe
Parameters:
theeVpbe object

Definition at line 226 of file vpbe.c.

VEXTERNC double* Vpbe_getSoluteCenter ( Vpbe thee )

Get coordinates of solute center.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Pointer to 3*double array with solute center coordinates (A)

Definition at line 100 of file vpbe.c.

VEXTERNC double Vpbe_getSoluteCharge ( Vpbe thee )

Get total solute charge.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Total solute charge (e)

Definition at line 179 of file vpbe.c.

VEXTERNC double Vpbe_getSoluteDiel ( Vpbe thee )

Get solute dielectric constant.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Solute dielectric constant

Definition at line 92 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getSoluteRadius ( Vpbe thee )

Get sphere radius which bounds biomolecule.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Sphere radius which bounds biomolecule (A)

Definition at line 155 of file vpbe.c.

VEXTERNC double Vpbe_getSoluteXlen ( Vpbe thee )

Get length of solute in x dimension.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Length of solute in x dimension (A)

Definition at line 161 of file vpbe.c.

VEXTERNC double Vpbe_getSoluteYlen ( Vpbe thee )

Get length of solute in y dimension.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Length of solute in y dimension (A)

Definition at line 167 of file vpbe.c.

VEXTERNC double Vpbe_getSoluteZlen ( Vpbe thee )

Get length of solute in z dimension.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Length of solute in z dimension (A)

Definition at line 173 of file vpbe.c.

VEXTERNC double Vpbe_getSolventDiel ( Vpbe thee )

Get solvent dielectric constant.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Solvent dielectric constant

Definition at line 106 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getSolventRadius ( Vpbe thee )

Get solvent molecule radius.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Solvent molecule radius (A)

Definition at line 113 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getTemperature ( Vpbe thee )

Get temperature.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Temperature (K)

Definition at line 84 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC Vacc* Vpbe_getVacc ( Vpbe thee )

Get accessibility oracle.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Pointer to internal Vacc object

Definition at line 69 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC Valist* Vpbe_getValist ( Vpbe thee )

Get atom list.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Pointer to internal Valist object

Definition at line 62 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getXkappa ( Vpbe thee )

Get Debye-Huckel parameter.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Bulk Debye-Huckel parameter (Å)

Definition at line 127 of file vpbe.c.

VEXTERNC double Vpbe_getZkappa2 ( Vpbe thee )

Get modified squared Debye-Huckel parameter.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
Modified squared Debye-Huckel parameter ( $\AA^{-2}$)

Definition at line 141 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getZmagic ( Vpbe thee )

Get charge scaling factor.

Author:
Nathan Baker and Mike Holst
Parameters:
theeVpbe object
Returns:
Get factor for scaling charges (in e) to internal units

Definition at line 148 of file vpbe.c.

Here is the caller graph for this function:

VEXTERNC double Vpbe_getzmem ( Vpbe thee )

Get z position of the membrane bottom.

Author:
Michael Grabe
Parameters:
theeVpbe object
Returns:
z value of membrane (A)

Definition at line 190 of file vpbe.c.

VEXTERNC unsigned long int Vpbe_memChk ( Vpbe thee )

Return the memory used by this structure (and its contents) in bytes.

Author:
Nathan Baker
Parameters:
theeVpbe object
Returns:
The memory used by this structure and its contents in bytes

Definition at line 516 of file vpbe.c.

Here is the call graph for this function: