APBS  1.4.1
Vpbe class

The Poisson-Boltzmann master class. More...

Files

file  vpbe.c
 Class Vpbe methods.
 
file  vpbe.h
 Contains declarations for class Vpbe.
 

Data Structures

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

Typedefs

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

Functions

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

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 246 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 264 of file vpbe.c.

VEXTERNC void Vpbe_dtor ( Vpbe **  thee)

Object destructor.

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

Definition at line 467 of file vpbe.c.

VEXTERNC void Vpbe_dtor2 ( Vpbe thee)

FORTRAN stub object destructor.

Author
Nathan Baker
Parameters
theePointer to object to be destroyed

Definition at line 475 of file vpbe.c.

VEXTERNC double Vpbe_getBulkIonicStrength ( Vpbe thee)

Get bulk ionic strength.

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

Definition at line 84 of file vpbe.c.

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 481 of file vpbe.c.

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 141 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 535 of file vpbe.c.

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 209 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 127 of file vpbe.c.

VEXTERNC double Vpbe_getmembraneDiel ( Vpbe thee)

Get membrane dielectric constant.

Author
Michael Grabe
Parameters
theeVpbe object
Returns
Membrane dielectric constant

Definition at line 221 of file vpbe.c.

VEXTERNC double Vpbe_getmemv ( Vpbe thee)

Get membrane potential (kT)

Author
Michael Grabe
Parameters
theeVpbe object

Definition at line 233 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 107 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 186 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 99 of file vpbe.c.

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 162 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 168 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 174 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 180 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 113 of file vpbe.c.

VEXTERNC double Vpbe_getSolventRadius ( Vpbe thee)

Get solvent molecule radius.

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

Definition at line 120 of file vpbe.c.

VEXTERNC double Vpbe_getTemperature ( Vpbe thee)

Get temperature.

Author
Nathan Baker
Parameters
theeVpbe object
Returns
Temperature (K)

Definition at line 91 of file vpbe.c.

VEXTERNC Vacc* Vpbe_getVacc ( Vpbe thee)

Get accessibility oracle.

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

Definition at line 76 of file vpbe.c.

VEXTERNC Valist* Vpbe_getValist ( Vpbe thee)

Get atom list.

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

Definition at line 69 of file vpbe.c.

VEXTERNC double Vpbe_getXkappa ( Vpbe thee)

Get Debye-Huckel parameter.

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

Definition at line 134 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 148 of file vpbe.c.

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 155 of file vpbe.c.

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 197 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 523 of file vpbe.c.