vacc.c File Reference

Class Vacc methods. More...

#include "apbscfg.h"
#include "apbs/vacc.h"
#include "apbs/apolparm.h"
#include "mc/mc.h"
Include dependency graph for vacc.c:

Functions

VPUBLIC unsigned long int Vacc_memChk (Vacc *thee)
 Get number of bytes in this object and its members.
VPRIVATE int ivdwAccExclus (Vacc *thee, double center[3], double radius, int atomID)
 Determines if a point is within the union of the spheres centered at the atomic centers with radii equal to the sum of their van der Waals radii and the probe radius. Does not include contributions from the specified atom.
VPUBLIC VaccVacc_ctor (Valist *alist, Vclist *clist, double surf_density)
 Construct the accessibility object.
VPRIVATE int Vacc_storeParms (Vacc *thee, Valist *alist, Vclist *clist, double surf_density)
VPRIVATE int Vacc_allocate (Vacc *thee)
VPUBLIC int Vacc_ctor2 (Vacc *thee, Valist *alist, Vclist *clist, double surf_density)
 FORTRAN stub to construct the accessibility object.
VPUBLIC void Vacc_dtor (Vacc **thee)
 Destroy object.
VPUBLIC void Vacc_dtor2 (Vacc *thee)
 FORTRAN stub to destroy object.
VPUBLIC void Vacc_splineAccGradAtomNorm (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by the accessibility value due to that atom at that point (see Vpmg_splineAccAtom).
VPUBLIC void Vacc_splineAccGradAtomUnnorm (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom (see Vpmg_splineAccAtom).
VPUBLIC double Vacc_splineAccAtom (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom)
 Report spline-based accessibility for a given atom.
VPRIVATE double splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, VclistCell *cell)
 Fast spline-based surface computation subroutine.
VPUBLIC double Vacc_splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad)
 Report spline-based accessibility.
VPUBLIC void Vacc_splineAccGrad (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, double *grad)
 Report gradient of spline-based accessibility.
VPUBLIC double Vacc_molAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility.
VPUBLIC double Vacc_fastMolAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility quickly.
VPUBLIC double Vacc_SASA (Vacc *thee, double radius)
 Build the solvent accessible surface (SAS) and calculate the solvent accessible surface area.
VPUBLIC double Vacc_totalSASA (Vacc *thee, double radius)
 Return the total solvent accessible surface area (SASA).
VPUBLIC double Vacc_atomSASA (Vacc *thee, double radius, Vatom *atom)
 Return the atomic solvent accessible surface area (SASA).
VPUBLIC VaccSurfVaccSurf_ctor (Vmem *mem, double probe_radius, int nsphere)
 Allocate and construct the surface object; do not assign surface points to positions.
VPUBLIC int VaccSurf_ctor2 (VaccSurf *thee, Vmem *mem, double probe_radius, int nsphere)
 Construct the surface object using previously allocated memory; do not assign surface points to positions.
VPUBLIC void VaccSurf_dtor (VaccSurf **thee)
 Destroy the surface object and free its memory.
VPUBLIC void VaccSurf_dtor2 (VaccSurf *thee)
 Destroy the surface object.
VPUBLIC VaccSurfVacc_atomSurf (Vacc *thee, Vatom *atom, VaccSurf *ref, double prad)
 Set up an array of points corresponding to the SAS due to a particular atom.
VPUBLIC VaccSurfVaccSurf_refSphere (Vmem *mem, int npts)
 Set up an array of points for a reference sphere of unit radius.
VPUBLIC VaccSurfVacc_atomSASPoints (Vacc *thee, double radius, Vatom *atom)
 Get the set of points for this atom's solvent-accessible surface.
VPUBLIC void Vacc_splineAccGradAtomNorm4 (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by a 4th order accessibility value due to that atom at that point (see Vpmg_splineAccAtom).
VPUBLIC void Vacc_splineAccGradAtomNorm3 (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by a 3rd order accessibility value due to that atom at that point (see Vpmg_splineAccAtom).
VPUBLIC void Vacc_atomdSAV (Vacc *thee, double srad, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible volume.
VPUBLIC void Vacc_atomdSASA (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible area.
VPUBLIC void Vacc_totalAtomdSASA (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA)
 Testing purposes only.
VPUBLIC void Vacc_totalAtomdSAV (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA, Vclist *clist)
 Total solvent accessible volume.
VPUBLIC double Vacc_totalSAV (Vacc *thee, Vclist *clist, APOLparm *apolparm, double radius)
 Return the total solvent accessible volume (SAV).
VPUBLIC int Vacc_wcaEnergy (Vacc *acc, APOLparm *apolparm, Valist *alist, Vclist *clist)
 Return the WCA integral energy.
VPUBLIC int Vacc_wcaForceAtom (Vacc *thee, APOLparm *apolparm, Vclist *clist, Vatom *atom, double *force)
 Return the WCA integral force.

Detailed Description

Class Vacc methods.

Author:
Nathan Baker
Version:
Id
vacc.c 1367 2009-04-24 17:11:03Z sdg0919
Attention:
 *
 * APBS -- Adaptive Poisson-Boltzmann Solver
 *
 * Nathan A. Baker (baker@biochem.wustl.edu)
 * Dept. of Biochemistry and Molecular Biophysics
 * Center for Computational Biology
 * Washington University in St. Louis
 *
 * Additional contributing authors listed in the code documentation.
 *
 * Copyright (c) 2002-2009, Washington University in St. Louis.
 * Portions Copyright (c) 2002-2009.  Nathan A. Baker
 * Portions Copyright (c) 1999-2002.  The Regents of the University of California.
 * Portions Copyright (c) 1995.  Michael Holst
 *
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met: 
 *
 * -  Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer.  
 * 
 * - Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 * 
 * - Neither the name of Washington University in St. Louis nor the names of its
 * contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * 

Function Documentation

VPRIVATE int ivdwAccExclus ( Vacc thee,
double  center[3],
double  radius,
int  atomID 
)

Determines if a point is within the union of the spheres centered at the atomic centers with radii equal to the sum of their van der Waals radii and the probe radius. Does not include contributions from the specified atom.

Returns:
1 if accessible (outside the inflated van der Waals radius), 0 otherwise
Author:
Nathan Baker
Parameters:
center Accessibility object
radius Position to test
atomID Radius of probe ID of atom to ignore

References sVclistCell::atoms, sVacc::clist, sVatom::id, sVclistCell::natoms, sVatom::position, sVatom::radius, Vclist_getCell(), and Vclist_maxRadius().

Referenced by Vacc_atomSurf().

Here is the call graph for this function:

VPRIVATE double splineAcc ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
VclistCell cell 
)

Fast spline-based surface computation subroutine.

Returns:
Spline value
Author:
Todd Dolinsky and Nathan Baker
Parameters:
center Accessibility object
win Point at which the acc is to be evaluated
infrad Spline window
cell Radius to inflate atomic radius Cell of atom objects

References sVacc::atomFlags, sVclistCell::atoms, sVatom::id, sVclistCell::natoms, and Vacc_splineAccAtom().

Referenced by Vacc_splineAcc(), and Vacc_splineAccGrad().

Here is the call graph for this function:

VPRIVATE int Vacc_allocate ( Vacc thee  ) 

Allocate (and clear) space for storage

References sVacc::alist, sVacc::atomFlags, sVacc::mem, and Valist_getNumberAtoms().

Referenced by Vacc_ctor2().

Here is the call graph for this function:

VPRIVATE int Vacc_storeParms ( Vacc thee,
Valist alist,
Vclist clist,
double  surf_density 
)

Check and store parameters passed to constructor

References sVacc::alist, sVacc::clist, sVacc::mem, sVaccSurf::npts, sVacc::refSphere, sVacc::surf_density, VaccSurf_refSphere(), Valist_getAtom(), Valist_getNumberAtoms(), Vatom_getRadius(), and Vclist_maxRadius().

Referenced by Vacc_ctor2().

Here is the call graph for this function:


Generated by  doxygen 1.6.2