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

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

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
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.
Parameters:
alist Atom list
ionNum Number of counterion species
ionConc Array containing counterion species' concentrations (M)
ionRadii Array containing counterion species' radii (A)
ionQ Array containing counterion species' charges (e)
T temperature (K)
soluteDiel Solute dielectric constant
solventDiel Solvent dielectric constant
solventRadius Solvent radius
focusFlag 1 if Focusing operation, 0 otherwise
sdens Vacc sphere density
Returns:
Pointer to newly allocated Vpbe object

Referenced by initMG().

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
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.
Parameters:
thee Pointer to memory allocated for Vpbe object
alist Atom list
ionNum Number of counterion species
ionConc Array containing counterion species' concentrations (M)
ionRadii Array containing counterion species' radii (A)
ionQ Array containing counterion species' charges (e)
T temperature (K)
soluteDiel Solute dielectric constant
solventDiel Solvent dielectric constant
solventRadius Solvent radius
focusFlag 1 if Focusing operation, 0 otherwise
Bug:
The focusing flag is currently not used!!
Parameters:
sdens Vacc sphere density
Returns:
1 if successful, 0 otherwise

References sVpbe::acc, sVpbe::alist, sVpbe::bulkIonicStrength, sValist::center, sVpbe::clist, CLIST_AUTO_DOMAIN, sVpbe::deblen, sVpbe::ionConc, sVpbe::ionQ, sVpbe::ionRadii, sVpbe::ipkey, MAXION, sVpbe::maxIonRadius, sVpbe::numIon, sVpbe::paramFlag, sVpbe::smsize, sVpbe::smvolume, sVpbe::soluteCenter, sVpbe::soluteCharge, sVpbe::soluteDiel, sVpbe::soluteRadius, sVpbe::soluteXlen, sVpbe::soluteYlen, sVpbe::soluteZlen, sVpbe::solventDiel, sVpbe::solventRadius, sVpbe::T, Vacc_ctor(), Valist_getAtom(), Valist_getNumberAtoms(), Vatom_getCharge(), Vatom_getPosition(), Vatom_getRadius(), Vclist_ctor(), sVpbe::vmem, sVpbe::xkappa, sVpbe::zkappa2, and sVpbe::zmagic.

Here is the call graph for this function:

void Vpbe_dtor ( Vpbe **  thee  ) 

Object destructor.

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

References Vpbe_dtor2().

Referenced by initMG(), killFE(), and killMG().

Here is the call graph for this function:

void Vpbe_dtor2 ( Vpbe thee  ) 

FORTRAN stub object destructor.

Author:
Nathan Baker
Parameters:
thee Pointer to object to be destroyed

References sVpbe::acc, sVpbe::clist, Vacc_dtor(), Vclist_dtor(), and sVpbe::vmem.

Referenced by Vpbe_dtor().

Here is the call graph for this function:

double Vpbe_getBulkIonicStrength ( Vpbe thee  ) 

Get bulk ionic strength.

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

Referenced by fillcoCoefMap(), fillcoCoefMolIon(), fillcoCoefSpline(), fillcoCoefSpline3(), fillcoCoefSpline4(), Vfetk_ctor2(), Vfetk_energy(), Vpmg_ctor2(), Vpmg_energy(), Vpmg_fillco(), Vpmg_ibForce(), and Vpmg_qmEnergySMPBE().

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:
thee Vpbe object
Returns:
Coulombic energy in units of $k_B T$.

References Valist_getAtom(), Valist_getNumberAtoms(), Vatom_getCharge(), Vatom_getPosition(), Vpbe_getSoluteDiel(), Vpbe_getTemperature(), Vpbe_getValist(), Vunit_ec, Vunit_eps0, Vunit_kb, and Vunit_pi.

Here is the call graph for this function:

double Vpbe_getDeblen ( Vpbe thee  ) 

Get Debye-Huckel screening length.

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

Referenced by initMG().

double Vpbe_getGamma ( Vpbe thee  ) 

Get apolar coefficient.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Apolar coefficent (kJ/mol/A^2)
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:
thee Pointer to Vpbe object
nion Set to the number of counterion species
ionConc Array to store counterion species' concentrations (M)
ionRadii Array to store counterion species' radii (A)
ionQ Array to store counterion species' charges (e)
Returns:
Number of ions

References sVpbe::ionConc, sVpbe::ionQ, sVpbe::ionRadii, and sVpbe::numIon.

Referenced by Vfetk_ctor2(), Vpmg_ctor2(), Vpmg_ibForce(), and Vpmg_qmEnergySMPBE().

double Vpbe_getLmem ( Vpbe thee  ) 

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

Parameters:
thee Vpbe object
Returns:
Length of the membrane (A)

Referenced by bcCalc().

double Vpbe_getMaxIonRadius ( Vpbe thee  ) 

Get maximum radius of ion species.

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

Referenced by fillcoCoefMolIon(), fillcoCoefSpline(), fillcoCoefSpline3(), fillcoCoefSpline4(), and Vpmg_ibForce().

double Vpbe_getmembraneDiel ( Vpbe thee  ) 

Get membrane dielectric constant.

Author:
Michael Grabe
Parameters:
thee Vpbe object
Returns:
Membrane dielectric constant

Referenced by bcCalc().

double Vpbe_getmemv ( Vpbe thee  ) 

Get membrane potential (kT).

Author:
Michael Grabe
Parameters:
thee Vpbe object

Referenced by bcCalc().

double* Vpbe_getSoluteCenter ( Vpbe thee  ) 

Get coordinates of solute center.

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

Referenced by focusFillBound().

double Vpbe_getSoluteCharge ( Vpbe thee  ) 

Get total solute charge.

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

Referenced by focusFillBound().

double Vpbe_getSoluteDiel ( Vpbe thee  ) 

Get solute dielectric constant.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Solute dielectric constant

Referenced by fillcoCoefMolDielNoSmooth(), fillcoCoefSpline(), fillcoCoefSpline3(), fillcoCoefSpline4(), Vpbe_getCoulombEnergy1(), Vpmg_dbForce(), Vpmg_fillArray(), Vpmg_fillco(), and Vpmg_polarizEnergy().

double Vpbe_getSoluteRadius ( Vpbe thee  ) 

Get sphere radius which bounds biomolecule.

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

Referenced by focusFillBound().

double Vpbe_getSoluteXlen ( Vpbe thee  ) 

Get length of solute in x dimension.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Length of solute in x dimension (A)
double Vpbe_getSoluteYlen ( Vpbe thee  ) 

Get length of solute in y dimension.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Length of solute in y dimension (A)
double Vpbe_getSoluteZlen ( Vpbe thee  ) 

Get length of solute in z dimension.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Length of solute in z dimension (A)
double Vpbe_getSolventDiel ( Vpbe thee  ) 

Get solvent dielectric constant.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Solvent dielectric constant

Referenced by bcCalc(), fillcoCoefMolDielNoSmooth(), fillcoCoefMolDielSmooth(), fillcoCoefSpline(), fillcoCoefSpline3(), fillcoCoefSpline4(), focusFillBound(), Vpmg_dbForce(), Vpmg_fillArray(), Vpmg_fillco(), Vpmg_polarizEnergy(), and Vpmg_solveLaplace().

double Vpbe_getSolventRadius ( Vpbe thee  ) 

Get solvent molecule radius.

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

Referenced by fillcoCoefMolDielNoSmooth(), and Vpmg_dbForce().

double Vpbe_getTemperature ( Vpbe thee  ) 

Get temperature.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Temperature (K)

Referenced by focusFillBound(), Vpbe_getCoulombEnergy1(), Vpmg_dbForce(), and Vpmg_polarizEnergy().

Vacc* Vpbe_getVacc ( Vpbe thee  ) 

Get accessibility oracle.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Pointer to internal Vacc object

Referenced by Vpmg_fillArray().

Valist* Vpbe_getValist ( Vpbe thee  ) 

Get atom list.

Author:
Nathan Baker
Parameters:
thee Vpbe object
Returns:
Pointer to internal Valist object

Referenced by Vfetk_getAtomColor(), Vfetk_loadMesh(), and Vpbe_getCoulombEnergy1().

double Vpbe_getXkappa ( Vpbe thee  ) 

Get Debye-Huckel parameter.

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

Referenced by bcCalc(), and focusFillBound().

double Vpbe_getZkappa2 ( Vpbe thee  ) 

Get modified squared Debye-Huckel parameter.

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

Referenced by Vfetk_ctor2(), Vpmg_ctor2(), Vpmg_ibForce(), Vpmg_qmEnergySMPBE(), and Vpmg_solve().

double Vpbe_getZmagic ( Vpbe thee  ) 

Get charge scaling factor.

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

Referenced by fillcoChargeMap(), fillcoChargeSpline1(), fillcoChargeSpline2(), fillcoPermanentMultipole(), Vfetk_PDE_delta(), Vfetk_PDE_Ju(), Vpmg_dbForce(), Vpmg_dielEnergy(), Vpmg_fillArray(), Vpmg_ibForce(), and Vpmg_qfEnergyVolume().

double Vpbe_getzmem ( Vpbe thee  ) 

Get z position of the membrane bottom.

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

Referenced by bcCalc().

unsigned long int Vpbe_memChk ( Vpbe thee  ) 

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

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

References sVpbe::acc, and Vacc_memChk().

Here is the call graph for this function:


Generated by  doxygen 1.6.2